Small construct_finder_sql refactor to support plugins

Hi guys,

We don’t have functionality like (for example) lazy-loading of BLOB and TEXT columns in core, nor excluding things like search vector pseudo-columns. These have a pretty big impact on performance, especially when you look into the mysql internals.

Rather than add this functionality to core, I’d like to make a very small refactor to construct_finder_sql that moves the “"/"my_table.” default select strings out to a separate method, default_select, which can then be cleanly overriden in plugins without needing to copy in the entire construct_finder_sql method to the plugin.

Because it’s just a small extraction, it’s a pretty safe change. It changes only the defaults, all explicit select arguments & scopes still override it. Unless anyone can suggest a superior approach, could this please be considered for inclusion in 2.2?

Ticket: http://rails.lighthouseapp.com/projects/8994-ruby-on-rails/tickets/1371-small-construct_finder_sql-refactor-to-support-plugins

Patch: http://rails.lighthouseapp.com/attachments/62071/0001-moved-the-strings-out-of-construct_finder_sql-to-a.patch

Cheers,
Will