aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb
diff options
context:
space:
mode:
authorRyuta Kamizono <kamipo@gmail.com>2016-04-14 21:45:41 +0900
committerRyuta Kamizono <kamipo@gmail.com>2016-04-15 03:45:02 +0900
commit73af7945d534f866b2a11624be36d905fdc92b51 (patch)
tree9b02bdbd9259b86b35685a4ac2f6d1cf77071b20 /activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb
parent4769fc4b4d5af7a8e93cc497d744151086aa5034 (diff)
downloadrails-73af7945d534f866b2a11624be36d905fdc92b51.tar.gz
rails-73af7945d534f866b2a11624be36d905fdc92b51.tar.bz2
rails-73af7945d534f866b2a11624be36d905fdc92b51.zip
Should keep quoting behaivor of a time column value in sqlite3 adapter
Follow up to #24542. In MySQL and PostgreSQL, a time column value is saved as ignored the date part of it. But in SQLite3, a time column value is saved as a string. We should keep previous quoting behavior in sqlite3 adapter. ``` sqlite> CREATE TABLE "foos" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "start" time(0), "finish" time(4)); sqlite> INSERT INTO "foos" ("start", "finish") VALUES ('2000-01-01 12:30:00', '2000-01-01 12:30:00.999900'); sqlite> SELECT "foos".* FROM "foos"; 1|2000-01-01 12:30:00|2000-01-01 12:30:00.999900 sqlite> SELECT "foos".* FROM "foos" WHERE "foos"."start" = '2000-01-01 12:30:00' LIMIT 1; 1|2000-01-01 12:30:00|2000-01-01 12:30:00.999900 sqlite> SELECT "foos".* FROM "foos" WHERE "foos"."start" = '12:30:00' LIMIT 1; sqlite> ```
Diffstat (limited to 'activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb b/activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb
index d3a91f73c8..d5a181d3e2 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite3/quoting.rb
@@ -14,6 +14,10 @@ module ActiveRecord
@quoted_column_names[name] ||= %Q("#{super.gsub('"', '""')}")
end
+ def quoted_time(value)
+ quoted_date(value)
+ end
+
private
def _quote(value)