File tree Expand file tree Collapse file tree 2 files changed +6
-12
lines changed Expand file tree Collapse file tree 2 files changed +6
-12
lines changed Original file line number Diff line number Diff line change @@ -628,13 +628,12 @@ def update_all(updates)
628
628
arel = eager_loading? ? apply_join_dependency . arel : build_arel ( c )
629
629
arel . source . left = table
630
630
631
- having_clause_ast = having_clause . ast unless having_clause . empty?
632
631
key = if model . composite_primary_key?
633
632
primary_key . map { |pk | table [ pk ] }
634
633
else
635
634
table [ primary_key ]
636
635
end
637
- stmt = arel . compile_update ( values , key , having_clause_ast )
636
+ stmt = arel . compile_update ( values , key )
638
637
c . update ( stmt , "#{ model } Update All" ) . tap { reset }
639
638
end
640
639
end
@@ -1044,13 +1043,12 @@ def delete_all
1044
1043
arel = eager_loading? ? apply_join_dependency . arel : build_arel ( c )
1045
1044
arel . source . left = table
1046
1045
1047
- having_clause_ast = having_clause . ast unless having_clause . empty?
1048
1046
key = if model . composite_primary_key?
1049
1047
primary_key . map { |pk | table [ pk ] }
1050
1048
else
1051
1049
table [ primary_key ]
1052
1050
end
1053
- stmt = arel . compile_delete ( key , having_clause_ast )
1051
+ stmt = arel . compile_delete ( key )
1054
1052
1055
1053
c . delete ( stmt , "#{ model } Delete All" ) . tap { reset }
1056
1054
end
Original file line number Diff line number Diff line change @@ -14,11 +14,7 @@ def create_insert
14
14
InsertManager . new
15
15
end
16
16
17
- def compile_update (
18
- values ,
19
- key = nil ,
20
- having_clause = nil
21
- )
17
+ def compile_update ( values , key = nil )
22
18
um = UpdateManager . new ( source )
23
19
um . set ( values )
24
20
um . take ( limit )
@@ -28,19 +24,19 @@ def compile_update(
28
24
um . key = key
29
25
30
26
um . ast . groups = @ctx . groups
31
- um . having ( having_clause ) unless having_clause . nil?
27
+ @ctx . havings . each { | h | um . having ( h ) }
32
28
um
33
29
end
34
30
35
- def compile_delete ( key = nil , having_clause = nil )
31
+ def compile_delete ( key = nil )
36
32
dm = DeleteManager . new ( source )
37
33
dm . take ( limit )
38
34
dm . offset ( offset )
39
35
dm . order ( *orders )
40
36
dm . wheres = constraints
41
37
dm . key = key
42
38
dm . ast . groups = @ctx . groups
43
- dm . having ( having_clause ) unless having_clause . nil?
39
+ @ctx . havings . each { | h | dm . having ( h ) }
44
40
dm
45
41
end
46
42
end
You can’t perform that action at this time.
0 commit comments