Skip to content

Commit a1afe1a

Browse files
committed
Do not evaluate equality operator for numbers.
Expression type int is invalid for COLLATE clause UniquenessValidationTest#test_validate_case_insensitive_uniqueness UniquenessValidationTest#test_validate_uniqueness_on_existing_relation: UniquenessValidationTest#test_validate_uniqueness_with_non_standard_table_names: UniquenessValidationTest#test_validate_uniqueness_with_object_arg: EnumTest#test_0031_validate uniqueness: 62 failures, 43 errors, 2 skips
1 parent 89211bf commit a1afe1a

File tree

1 file changed

+5
-2
lines changed

1 file changed

+5
-2
lines changed

lib/arel/visitors/sqlserver.rb

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,11 @@ def visit_Arel_Nodes_BindParam o, collector
1818

1919
def visit_Arel_Nodes_Bin o, collector
2020
visit o.expr, collector
21-
collector << ActiveRecord::ConnectionAdapters::SQLServerAdapter.cs_equality_operator
22-
collector << SPACE
21+
if o.expr.val.is_a? Numeric
22+
collector
23+
else
24+
collector << " #{ActiveRecord::ConnectionAdapters::SQLServerAdapter.cs_equality_operator} "
25+
end
2326
end
2427

2528
def visit_Arel_Nodes_Lock o, collector

0 commit comments

Comments
 (0)