Permalink
Browse files

Merge pull request #7545 from senny/7518_postgres_type_detection

postgres, map scaled intervals to string datatype
  • Loading branch information...
2 parents ec39055 + 319482d commit f41dba27a411fe3e2ddeb8d9ab6856dbb23acd02 @tenderlove tenderlove committed Sep 7, 2012
@@ -181,7 +181,7 @@ def simplified_type(field_type)
# Date/time types
when /^timestamp with(?:out)? time zone$/
:datetime
- when 'interval'
+ when /^interval(?:|\(\d+\))$/
:string
# Geometric types
when /^(?:point|line|lseg|box|"?path"?|polygon|circle)$/
@@ -51,7 +51,7 @@ def setup
@connection.execute("INSERT INTO postgresql_numbers (single, double) VALUES (123.456, 123456.789)")
@first_number = PostgresqlNumber.find(1)
- @connection.execute("INSERT INTO postgresql_times (time_interval) VALUES ('1 year 2 days ago')")
+ @connection.execute("INSERT INTO postgresql_times (time_interval, scaled_time_interval) VALUES ('1 year 2 days ago', '3 weeks ago')")
@first_time = PostgresqlTime.find(1)
@connection.execute("INSERT INTO postgresql_network_addresses (cidr_address, inet_address, mac_address) VALUES('192.168.0/24', '172.16.1.254/32', '01:23:45:67:89:0a')")
@@ -89,6 +89,7 @@ def test_data_type_of_number_types
def test_data_type_of_time_types
assert_equal :string, @first_time.column_for_attribute(:time_interval).type
+ assert_equal :string, @first_time.column_for_attribute(:scaled_time_interval).type
end
def test_data_type_of_network_address_types
@@ -142,6 +143,7 @@ def test_number_values
def test_time_values
assert_equal '-1 years -2 days', @first_time.time_interval
+ assert_equal '-21 days', @first_time.scaled_time_interval
end
def test_network_address_values_ipaddr
@@ -109,7 +109,8 @@
execute <<_SQL
CREATE TABLE postgresql_times (
id SERIAL PRIMARY KEY,
- time_interval INTERVAL
+ time_interval INTERVAL,
+ scaled_time_interval INTERVAL(6)
);
_SQL

0 comments on commit f41dba2

Please sign in to comment.