aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYong Guo <guoyong206@gmail.com>2016-03-01 13:21:47 -0800
committerYong Guo <guoyong206@gmail.com>2016-03-01 13:21:47 -0800
commitc693cdae0860654e28f46c9af797212b68bef5bd (patch)
tree2505e00eec77791284eba661814b6bdb4a7ea64e
parentd72cf2972efc0d5cfe72bb7c009b2e76111b766e (diff)
downloadrails-c693cdae0860654e28f46c9af797212b68bef5bd.tar.gz
rails-c693cdae0860654e28f46c9af797212b68bef5bd.tar.bz2
rails-c693cdae0860654e28f46c9af797212b68bef5bd.zip
Fix issue #415 - Should Arel::Nodes::True.new() be 1 in sqlite3?
-rw-r--r--lib/arel/visitors/sqlite.rb9
-rw-r--r--test/visitors/test_sqlite.rb7
2 files changed, 16 insertions, 0 deletions
diff --git a/lib/arel/visitors/sqlite.rb b/lib/arel/visitors/sqlite.rb
index ff6fc1fea4..165e9cb6db 100644
--- a/lib/arel/visitors/sqlite.rb
+++ b/lib/arel/visitors/sqlite.rb
@@ -12,6 +12,15 @@ module Arel
o.limit = Arel::Nodes::Limit.new(-1) if o.offset && !o.limit
super
end
+
+ def visit_Arel_Nodes_True o, collector
+ collector << "1"
+ end
+
+ def visit_Arel_Nodes_False o, collector
+ collector << "0"
+ end
+
end
end
end
diff --git a/test/visitors/test_sqlite.rb b/test/visitors/test_sqlite.rb
index 8fb8e76095..a9f3501f20 100644
--- a/test/visitors/test_sqlite.rb
+++ b/test/visitors/test_sqlite.rb
@@ -18,6 +18,13 @@ module Arel
node = Nodes::Lock.new(Arel.sql('FOR UPDATE'))
assert_equal '', @visitor.accept(node, Collectors::SQLString.new).value
end
+
+ it 'does not support boolean' do
+ node = Nodes::True.new()
+ assert_equal '1', @visitor.accept(node, Collectors::SQLString.new).value
+ node = Nodes::False.new()
+ assert_equal '0', @visitor.accept(node, Collectors::SQLString.new).value
+ end
end
end
end