aboutsummaryrefslogtreecommitdiffstats
path: root/activerecord
diff options
context:
space:
mode:
authorSean Griffin <sean@thoughtbot.com>2015-02-11 10:30:24 -0700
committerSean Griffin <sean@thoughtbot.com>2015-02-11 10:32:13 -0700
commitc9cc1f47adbfe6bcdca37fb1d1338999219c7b74 (patch)
treeedbaed0a2dcaed9268fcc516684b59a7f9dbceeb /activerecord
parentfcfca5c70023ab01388a87be49a4a33e29d6cd43 (diff)
downloadrails-c9cc1f47adbfe6bcdca37fb1d1338999219c7b74.tar.gz
rails-c9cc1f47adbfe6bcdca37fb1d1338999219c7b74.tar.bz2
rails-c9cc1f47adbfe6bcdca37fb1d1338999219c7b74.zip
Remove the SQLite3 Binary subclass
As far as I can tell, the original reason that this behavior was added has been sufficiently resolved elsewhere, as we no longer remove the encoding of strings coming out of the database.
Diffstat (limited to 'activerecord')
-rw-r--r--activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb18
-rw-r--r--activerecord/test/cases/types_test.rb10
2 files changed, 0 insertions, 28 deletions
diff --git a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
index edd060248f..400b586c95 100644
--- a/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
+++ b/activerecord/lib/active_record/connection_adapters/sqlite3_adapter.rb
@@ -41,15 +41,6 @@ module ActiveRecord
end
module ConnectionAdapters #:nodoc:
- class SQLite3Binary < Type::Binary # :nodoc:
- def cast_value(value)
- if value.encoding != Encoding::ASCII_8BIT
- value = value.force_encoding(Encoding::ASCII_8BIT)
- end
- value
- end
- end
-
# The SQLite3 adapter works SQLite 3.6.16 or newer
# with the sqlite3-ruby drivers (available as gem from https://rubygems.org/gems/sqlite3).
#
@@ -240,10 +231,6 @@ module ActiveRecord
end
end
- def type_classes_with_standard_constructor
- super.merge(binary: SQLite3Binary)
- end
-
def quote_string(s) #:nodoc:
@connection.class.quote(s)
end
@@ -493,11 +480,6 @@ module ActiveRecord
protected
- def initialize_type_map(m)
- super
- m.register_type(/binary/i, SQLite3Binary.new)
- end
-
def table_structure(table_name)
structure = exec_query("PRAGMA table_info(#{quote_table_name(table_name)})", 'SCHEMA').to_hash
raise(ActiveRecord::StatementInvalid, "Could not find table '#{table_name}'") if structure.empty?
diff --git a/activerecord/test/cases/types_test.rb b/activerecord/test/cases/types_test.rb
index d35d34ff2d..34b6f2e8a5 100644
--- a/activerecord/test/cases/types_test.rb
+++ b/activerecord/test/cases/types_test.rb
@@ -108,16 +108,6 @@ module ActiveRecord
assert_not_equal Type::Value.new(precision: 1), Type::Value.new(precision: 2)
end
- if current_adapter?(:SQLite3Adapter)
- def test_binary_encoding
- type = SQLite3Binary.new
- utf8_string = "a string".encode(Encoding::UTF_8)
- type_cast = type.type_cast_from_user(utf8_string)
-
- assert_equal Encoding::ASCII_8BIT, type_cast.encoding
- end
- end
-
def test_attributes_which_are_invalid_for_database_can_still_be_reassigned
type_which_cannot_go_to_the_database = Type::Value.new
def type_which_cannot_go_to_the_database.type_cast_for_database(*)