Path: | doc/release_notes/4.12.0.txt |
Last Update: | Sat Jun 02 02:04:22 +0000 2018 |
DB[:a].join(:b, :c=>:d). join(:e, :f=>:g) # SELECT * FROM a # INNER JOIN b ON (b.c = a.d) # INNER JOIN e ON (e.f = b.g) DB[:a].join(:b, {:c=>:d}, :reset_implicit_qualifier=>false). join(:e, :f=>:g) # SELECT * FROM a # INNER JOIN b ON (b.c = a.d) # INNER JOIN e ON (e.f = a.g)
DB[:a].cross_join(:b, :table_alias=>:c) # SELECT * FROM a CROSS JOIN b AS c
album.set_nested_attributes(:tracks, params[:track_attributes], :fields=>[:a, :b, :c])
This fixes issues when validations in the associated object require access to the current object, which may not yet be saved in the database.
This allows you to run migrations that add columns to tables while concurrently running an application that uses the prepared statements plugins. Note that many other schema modifications can cause issues when running migrations while concurrently running an application, but most of those are not specific to usage of prepared statements.
A similar fix was applied to the generalized prepared statements support as well.