Skip to content

Commit

Permalink
postgres, map scaled intervals to string datatype (rails#7518)
Browse files Browse the repository at this point in the history
  • Loading branch information
Yves Senn committed Sep 6, 2012
1 parent e8c9f05 commit 319482d
Show file tree
Hide file tree
Showing 3 changed files with 6 additions and 3 deletions.
Expand Up @@ -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)$/
Expand Down
4 changes: 3 additions & 1 deletion activerecord/test/cases/adapters/postgresql/datatype_test.rb
Expand Up @@ -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')")
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
3 changes: 2 additions & 1 deletion activerecord/test/schema/postgresql_specific_schema.rb
Expand Up @@ -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

Expand Down

0 comments on commit 319482d

Please sign in to comment.