count vs size on ActiveRecord select queries
I stumbled on this bit of weirdness when using the SQL queryUser.select(:id, :name, :email).count
. It threw a PG::UndefinedFunction
error. Using User.select(:id, :name, :email).size
worked instead.Out of curiosity, I did some digging. According the the ActiveRecord docs,
not all valid select expressions are valid count expressions. TheI also stumbled on an issue on rails Github issues page about this, and a very helpful comment from rafaelfranca explained that I can also use
specifics differ between databases. In invalid cases, an error from
the database is thrown.
count(:all)
.