X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F12pg_common.t;h=e70e91435d1b35e7834e0c48028d5b02ab5ceb6a;hb=701cd3e37c8b4119cf43454d22766c1196377a3c;hp=157decf2e26262b5bdbcab53da6e3439c4d77c17;hpb=df956aad09bce14245ebcbd13063ca2119b6c042;p=dbsrgits%2FDBIx-Class-Schema-Loader.git diff --git a/t/12pg_common.t b/t/12pg_common.t index 157decf..e70e914 100644 --- a/t/12pg_common.t +++ b/t/12pg_common.t @@ -11,70 +11,102 @@ my $password = $ENV{DBICTEST_PG_PASS} || ''; my $tester = dbixcsl_common_tests->new( vendor => 'Pg', auto_inc_pk => 'SERIAL NOT NULL PRIMARY KEY', - default_function => 'now()', dsn => $dsn, user => $user, password => $password, data_types => { - 'bigint' => { data_type => 'bigint' }, - 'int8' => { data_type => 'bigint' }, - 'bigserial' => { data_type => 'bigint', is_auto_increment => 1 }, - 'serial8' => { data_type => 'bigint', is_auto_increment => 1 }, - 'bit' => { data_type => 'bit' }, - 'boolean' => { data_type => 'boolean' }, - 'bool' => { data_type => 'boolean' }, - 'box' => { data_type => 'box' }, - 'bytea' => { data_type => 'bytea' }, - 'cidr' => { data_type => 'cidr' }, - 'circle' => { data_type => 'circle' }, - 'date' => { data_type => 'date' }, + # http://www.postgresql.org/docs/7.4/interactive/datatype.html + # + # Numeric Types + boolean => { data_type => 'boolean' }, + bool => { data_type => 'boolean' }, + 'bool default false' + => { data_type => 'boolean', default_value => \'false' }, + + bigint => { data_type => 'bigint' }, + int8 => { data_type => 'bigint' }, + bigserial => { data_type => 'bigint', is_auto_increment => 1 }, + serial8 => { data_type => 'bigint', is_auto_increment => 1 }, + integer => { data_type => 'integer' }, + int => { data_type => 'integer' }, + int4 => { data_type => 'integer' }, + serial => { data_type => 'integer', is_auto_increment => 1 }, + serial4 => { data_type => 'integer', is_auto_increment => 1 }, + smallint => { data_type => 'smallint' }, + int2 => { data_type => 'smallint' }, + + money => { data_type => 'money' }, + 'double precision' => { data_type => 'double precision' }, - 'float8' => { data_type => 'double precision' }, - 'inet' => { data_type => 'inet' }, - 'integer' => { data_type => 'integer' }, - 'int' => { data_type => 'integer' }, - 'int4' => { data_type => 'integer' }, - 'interval' => { data_type => 'interval' }, - 'interval(2)' => { size => 2, data_type => 'interval' }, - 'line' => { data_type => 'line' }, - 'lseg' => { data_type => 'lseg' }, - 'macaddr' => { data_type => 'macaddr' }, - 'money' => { data_type => 'money' }, - 'path' => { data_type => 'path' }, - 'point' => { data_type => 'point' }, - 'polygon' => { data_type => 'polygon' }, - 'real' => { data_type => 'real' }, - 'float4' => { data_type => 'real' }, - 'smallint' => { data_type => 'smallint' }, - 'int2' => { data_type => 'smallint' }, - 'serial' => { data_type => 'integer', is_auto_increment => 1 }, - 'serial4' => { data_type => 'integer', is_auto_increment => 1 }, - 'text' => { data_type => 'text' }, - 'time' => { data_type => 'time without time zone' }, - 'time(2)' => { size => 2, data_type => 'time without time zone' }, - 'time without time zone' => { data_type => 'time without time zone' }, - 'time(2) without time zone' => { size => 2, data_type => 'time without time zone' }, + float8 => { data_type => 'double precision' }, + real => { data_type => 'real' }, + float4 => { data_type => 'real' }, + 'float(24)' => { data_type => 'real' }, + 'float(25)' => { data_type => 'double precision' }, + 'float(53)' => { data_type => 'double precision' }, + float => { data_type => 'double precision' }, + + numeric => { data_type => 'numeric' }, + decimal => { data_type => 'numeric' }, + 'numeric(6,3)' => { data_type => 'numeric', size => [6,3] }, + 'decimal(6,3)' => { data_type => 'numeric', size => [6,3] }, + + # Bit String Types + 'bit varying(2)' => { data_type => 'varbit', size => 2 }, + 'varbit(2)' => { data_type => 'varbit', size => 2 }, + 'varbit' => { data_type => 'varbit' }, + bit => { data_type => 'bit', size => 1 }, + 'bit(3)' => { data_type => 'bit', size => 3 }, + + # Network Types + inet => { data_type => 'inet' }, + cidr => { data_type => 'cidr' }, + macaddr => { data_type => 'macaddr' }, + + # Geometric Types + point => { data_type => 'point' }, + line => { data_type => 'line' }, + lseg => { data_type => 'lseg' }, + box => { data_type => 'box' }, + path => { data_type => 'path' }, + polygon => { data_type => 'polygon' }, + circle => { data_type => 'circle' }, + + # Character Types + 'character varying(2)' => { data_type => 'varchar', size => 2 }, + 'varchar(2)' => { data_type => 'varchar', size => 2 }, + 'character(2)' => { data_type => 'char', size => 2 }, + 'char(2)' => { data_type => 'char', size => 2 }, + 'character' => { data_type => 'char', size => 1 }, + 'char' => { data_type => 'char', size => 1 }, + text => { data_type => 'text' }, + # varchar with no size has unlimited size, we rewrite to 'text' + varchar => { data_type => 'text', + original => { data_type => 'varchar' } }, + + # Datetime Types + date => { data_type => 'date' }, + interval => { data_type => 'interval' }, + 'interval(2)' => { data_type => 'interval', size => 2 }, + time => { data_type => 'time' }, + 'time(2)' => { data_type => 'time', size => 2 }, + 'time without time zone' => { data_type => 'time' }, + 'time(2) without time zone' => { data_type => 'time', size => 2 }, 'time with time zone' => { data_type => 'time with time zone' }, - 'time(2) with time zone' => { size => 2, data_type => 'time with time zone' }, - 'timestamp' => { data_type => 'timestamp without time zone' }, - 'timestamp(2)' => { size => 2, data_type => 'timestamp without time zone' }, - 'timestamp without time zone' => { data_type => 'timestamp without time zone' }, - 'timestamp(2) without time zone' => { size => 2, data_type => 'timestamp without time zone' }, + 'time(2) with time zone' => { data_type => 'time with time zone', size => 2 }, + timestamp => { data_type => 'timestamp' }, + 'timestamp default now()' + => { data_type => 'timestamp', default_value => \'current_timestamp', + original => { default_value => \'now()' } }, + 'timestamp(2)' => { data_type => 'timestamp', size => 2 }, + 'timestamp without time zone' => { data_type => 'timestamp' }, + 'timestamp(2) without time zone' => { data_type => 'timestamp', size => 2 }, + 'timestamp with time zone' => { data_type => 'timestamp with time zone' }, - 'timestamp(2) with time zone' => { size => 2, data_type => 'timestamp with time zone' }, - 'bit varying(2)' => { size => 2, data_type => 'bit varying' }, - 'varbit(2)' => { size => 2, data_type => 'bit varying' }, - 'character varying(2)' => { size => 2, data_type => 'character varying' }, - 'varchar(2)' => { size => 2, data_type => 'character varying' }, - 'character(2)' => { size => 2, data_type => 'character' }, - 'char(2)' => { size => 2, data_type => 'character' }, - 'numeric(6, 3)' => { size => [6,3], data_type => 'numeric' }, - 'decimal(6, 3)' => { size => [6,3], data_type => 'numeric' }, - 'numeric' => { data_type => 'numeric' }, - 'decimal' => { data_type => 'numeric' }, - 'float(24)' => { data_type => 'real' }, - 'float(53)' => { data_type => 'double precision' }, - 'float' => { data_type => 'double precision' }, + 'timestamp(2) with time zone' => { data_type => 'timestamp with time zone', size => 2 }, + + # Blob Types + bytea => { data_type => 'bytea' }, }, extra => { create => [ @@ -133,3 +165,4 @@ if( !$dsn || !$user ) { else { $tester->run_tests(); } +# vim:et sw=4 sts=4 tw=0: