aboutsummaryrefslogtreecommitdiffstats
path: root/lib/arel/visitors/to_sql.rb
diff options
context:
space:
mode:
Diffstat (limited to 'lib/arel/visitors/to_sql.rb')
-rw-r--r--lib/arel/visitors/to_sql.rb12
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/arel/visitors/to_sql.rb b/lib/arel/visitors/to_sql.rb
index cb8df8329a..a350daa3da 100644
--- a/lib/arel/visitors/to_sql.rb
+++ b/lib/arel/visitors/to_sql.rb
@@ -370,11 +370,19 @@ key on UpdateManager using UpdateManager#key=
end
def visit_Arel_Nodes_In o
- "#{visit o.left} IN (#{visit o.right})"
+ if Array === o.right && o.right.empty?
+ '1=0'
+ else
+ "#{visit o.left} IN (#{visit o.right})"
+ end
end
def visit_Arel_Nodes_NotIn o
- "#{visit o.left} NOT IN (#{visit o.right})"
+ if Array === o.right && o.right.empty?
+ '1=1'
+ else
+ "#{visit o.left} NOT IN (#{visit o.right})"
+ end
end
def visit_Arel_Nodes_And o