提交 09206716 编写于 作者: R Rafael Mendonça França

Merge pull request #16074 from sgrif/sg-remove-text-predicate

Remove the `text?` predicate from the type objects
......@@ -8,10 +8,6 @@ class SpecializedString < Type::String # :nodoc:
def initialize(type)
@type = type
end
def text?
false
end
end
end
end
......
......@@ -5,10 +5,6 @@ def type
:string
end
def text?
true
end
def changed_in_place?(raw_old_value, new_value)
if new_value.is_a?(::String)
raw_old_value != new_value
......
......@@ -50,10 +50,6 @@ def type_cast_for_schema(value) # :nodoc:
# These predicates are not documented, as I need to look further into
# their use, and see if they can be removed entirely.
def text? # :nodoc:
false
end
def number? # :nodoc:
false
end
......
......@@ -61,9 +61,11 @@ def build_relation(klass, table, attribute, value) #:nodoc:
column = klass.columns_hash[attribute_name]
value = klass.connection.type_cast(value, column)
value = value.to_s[0, column.limit] if value && column.limit && column.text?
if value.is_a?(String) && column.limit
value = value.to_s[0, column.limit]
end
if !options[:case_sensitive] && value && column.text?
if !options[:case_sensitive] && value.is_a?(String)
# will use SQL LOWER function before comparison, unless it detects a case insensitive collation
klass.connection.case_insensitive_comparison(table, attribute, column, value)
else
......
......@@ -38,7 +38,6 @@ def test_column
assert_equal :string, @column.type
assert_equal "character varying", @column.sql_type
assert @column.array
assert_not @column.text?
assert_not @column.number?
assert_not @column.binary?
......
......@@ -26,7 +26,6 @@ def test_bit_string_column
column = PostgresqlBitString.columns_hash["a_bit"]
assert_equal :bit, column.type
assert_equal "bit(8)", column.sql_type
assert_not column.text?
assert_not column.number?
assert_not column.binary?
assert_not column.array
......@@ -36,7 +35,6 @@ def test_bit_string_varying_column
column = PostgresqlBitString.columns_hash["a_bit_varying"]
assert_equal :bit_varying, column.type
assert_equal "bit varying(4)", column.sql_type
assert_not column.text?
assert_not column.number?
assert_not column.binary?
assert_not column.array
......
......@@ -35,7 +35,6 @@ def test_column
column = Citext.columns_hash['cival']
assert_equal :citext, column.type
assert_equal 'citext', column.sql_type
assert_not column.text?
assert_not column.number?
assert_not column.binary?
assert_not column.array
......
......@@ -51,7 +51,6 @@ def test_column
assert_nil column.type
assert_equal "full_address", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......@@ -113,7 +112,6 @@ def test_column
assert_equal :full_address, column.type
assert_equal "full_address", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -30,7 +30,6 @@ def test_column
assert_equal :decimal, column.type
assert_equal "custom_money", column.sql_type
assert column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -34,7 +34,6 @@ def test_column
assert_equal :enum, column.type
assert_equal "mood", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -9,7 +9,6 @@ def test_tsvector_column
assert_equal :tsvector, column.type
assert_equal "tsvector", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -28,7 +28,6 @@ def test_column
column = PostgresqlPoint.columns_hash["x"]
assert_equal :point, column.type
assert_equal "point", column.sql_type
assert_not column.text?
assert_not column.number?
assert_not column.binary?
assert_not column.array
......
......@@ -56,7 +56,6 @@ def test_column
assert_equal :hstore, @column.type
assert_equal "hstore", @column.sql_type
assert_not @column.number?
assert_not @column.text?
assert_not @column.binary?
assert_not @column.array
end
......
......@@ -35,7 +35,6 @@ def test_column
assert_equal :json, column.type
assert_equal "json", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -31,7 +31,6 @@ def test_column
assert_equal :ltree, column.type
assert_equal "ltree", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -26,7 +26,6 @@ def test_column
assert_equal "money", column.sql_type
assert_equal 2, column.scale
assert column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -10,7 +10,6 @@ def test_cidr_column
assert_equal :cidr, column.type
assert_equal "cidr", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......@@ -20,7 +19,6 @@ def test_inet_column
assert_equal :inet, column.type
assert_equal "inet", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......@@ -30,7 +28,6 @@ def test_macaddr_column
assert_equal :macaddr, column.type
assert_equal "macaddr", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
......@@ -51,7 +51,6 @@ def test_data_type_of_uuid_types
assert_equal :uuid, column.type
assert_equal "uuid", column.sql_type
assert_not column.number?
assert_not column.text?
assert_not column.binary?
assert_not column.array
end
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册