diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/arel/nodes/insert_statement.rb | 6 | ||||
-rw-r--r-- | lib/arel/nodes/select_statement.rb | 5 | ||||
-rw-r--r-- | lib/arel/nodes/update_statement.rb | 6 |
3 files changed, 17 insertions, 0 deletions
diff --git a/lib/arel/nodes/insert_statement.rb b/lib/arel/nodes/insert_statement.rb index ed601aa841..8c6e1234d0 100644 --- a/lib/arel/nodes/insert_statement.rb +++ b/lib/arel/nodes/insert_statement.rb @@ -8,6 +8,12 @@ module Arel @columns = [] @values = [] end + + def initialize_copy other + super + @columns = @columns.map { |o| o.clone } + @values = @values.map { |o| o.clone } + end end end end diff --git a/lib/arel/nodes/select_statement.rb b/lib/arel/nodes/select_statement.rb index 122f6275fe..50fef776f6 100644 --- a/lib/arel/nodes/select_statement.rb +++ b/lib/arel/nodes/select_statement.rb @@ -8,6 +8,11 @@ module Arel @cores = cores @limit = nil end + + def initialize_copy other + super + @cores = @cores.map { |o| o.clone } + end end end end diff --git a/lib/arel/nodes/update_statement.rb b/lib/arel/nodes/update_statement.rb index 9f069cddb3..27e3e4e6ac 100644 --- a/lib/arel/nodes/update_statement.rb +++ b/lib/arel/nodes/update_statement.rb @@ -8,6 +8,12 @@ module Arel @wheres = [] @values = [] end + + def initialize_copy other + super + @wheres = @wheres.map { |o| o.clone } + @values = @values.map { |o| o.clone } + end end end end |