[Rails] Rails 3.2/4 force prepared statements to be used
I've already asked about this on StackOverflow with no luck on answer - http://stackoverflow.com/questions/12617237/rails-3-2-force-prepared-statements/12617681
Simplified Case:
Hotel.find(1) - use prepared statement
# SELECT "hotels".* FROM "hotels" WHERE "hotels"."id" = $1 LIMIT 1 [["id", 1]]
Hotel.where(id: 1) - without prepared statement
# SELECT "hotels".* FROM "hotels" WHERE "hotels"."id" = 1
Hotel.where(Hotel.arel_table[:id].eq(1)) - without prepared statement
# SELECT "hotels".* FROM "hotels" WHERE "hotels"."id" = 1
Hotel.where('id = :id', id: 1) - without prepared statement
# SELECT "hotels".* FROM "hotels" WHERE (id = 1)
How to force rails to use prepared statements? May be not in all cases, but at least with arel_table.
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msg/rubyonrails-talk/-/ACgdfArFpZsJ.
For more options, visit https://groups.google.com/groups/opt_out.
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home