mirror of
https://github.com/rails/rails.git
synced 2022-11-09 12:12:34 -05:00
Fixed deep copy bug in SelectManager clone
This commit is contained in:
parent
3e3d4d1979
commit
a318d6f5a7
2 changed files with 15 additions and 0 deletions
|
@ -9,6 +9,11 @@ module Arel
|
||||||
from table
|
from table
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def initialize_copy other
|
||||||
|
super
|
||||||
|
@ctx = @ast.cores.last
|
||||||
|
end
|
||||||
|
|
||||||
def limit
|
def limit
|
||||||
@ast.limit && @ast.limit.expr
|
@ast.limit && @ast.limit.expr
|
||||||
end
|
end
|
||||||
|
|
|
@ -187,6 +187,16 @@ module Arel
|
||||||
m2.project "foo"
|
m2.project "foo"
|
||||||
mgr.to_sql.wont_equal m2.to_sql
|
mgr.to_sql.wont_equal m2.to_sql
|
||||||
end
|
end
|
||||||
|
|
||||||
|
it 'makes updates to the correct copy' do
|
||||||
|
table = Table.new :users, :engine => Table.engine, :as => 'foo'
|
||||||
|
mgr = table.from table
|
||||||
|
m2 = mgr.clone
|
||||||
|
m3 = m2.clone
|
||||||
|
m2.project "foo"
|
||||||
|
mgr.to_sql.wont_equal m2.to_sql
|
||||||
|
m3.to_sql.must_equal mgr.to_sql
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
describe 'initialize' do
|
describe 'initialize' do
|
||||||
|
|
Loading…
Reference in a new issue