3 use dbixcsl_common_tests;
6 use List::MoreUtils 'apply';
8 my $dsn = $ENV{DBICTEST_SYBASE_DSN} || '';
9 my $user = $ENV{DBICTEST_SYBASE_USER} || '';
10 my $password = $ENV{DBICTEST_SYBASE_PASS} || '';
12 my $tester = dbixcsl_common_tests->new(
14 auto_inc_pk => 'INTEGER IDENTITY NOT NULL PRIMARY KEY',
15 default_function => 'getdate()',
16 default_function_def => 'AS getdate()',
19 password => $password,
20 # Test data types, see http://ispirer.com/wiki/sqlways/sybase/data-types
22 'integer identity' => { data_type => 'integer', is_auto_increment => 1 },
23 'AS getdate()' => { data_type => undef, inflate_datetime => 1, default_value => \'getdate()' },
24 text => { data_type => 'text' },
25 unitext => { data_type => 'unitext' },
26 image => { data_type => 'image' },
27 bigint => { data_type => 'bigint' },
28 int => { data_type => 'integer' },
29 integer => { data_type => 'integer' },
30 smallint => { data_type => 'smallint' },
31 tinyint => { data_type => 'tinyint' },
32 date => { data_type => 'date' },
33 time => { data_type => 'time' },
34 datetime => { data_type => 'datetime' },
35 smalldatetime => { data_type => 'smalldatetime' },
36 money => { data_type => 'money' },
37 smallmoney => { data_type => 'smallmoney' },
38 timestamp => { data_type => 'timestamp', inflate_datetime => 0 },
39 bit => { data_type => 'bit' },
40 'char(2)' => { data_type => 'char', size => 2 },
41 'nchar(2)' => { data_type => 'nchar', size => 2 },
42 'unichar(2)' => { data_type => 'unichar', size => 2 },
43 'varchar(2)' => { data_type => 'varchar', size => 2 },
44 'nvarchar(2)' => { data_type => 'nvarchar', size => 2 },
45 'univarchar(2)' => { data_type => 'univarchar', size => 2 },
46 'binary(2)' => { data_type => 'binary', size => 2 },
47 'varbinary(2)' => { data_type => 'varbinary', size => 2 },
48 'double precision' => { data_type => 'double precision' },
49 real => { data_type => 'real' },
50 float => { data_type => 'double precision' },
51 'float(14)' => { data_type => 'real' },
52 'float(15)' => { data_type => 'real' },
53 'float(16)' => { data_type => 'double precision' },
54 'float(48)' => { data_type => 'double precision' },
55 'numeric(6,3)' => { data_type => 'numeric', size => [6,3] },
56 'decimal(6,3)' => { data_type => 'numeric', size => [6,3] },
57 numeric => { data_type => 'numeric' },
58 decimal => { data_type => 'numeric' },
62 if( !$dsn || !$user ) {
63 $tester->skip_tests('You need to set the DBICTEST_SYBASE_DSN, _USER, and _PASS environment variables');