Commit | Line | Data |
4cbddf8d |
1 | use strict; |
2 | use lib qw(t/lib); |
3 | use dbixcsl_common_tests; |
243c6ebc |
4 | use dbixcsl_firebird_extra_tests; |
4cbddf8d |
5 | |
6 | my $dsn = $ENV{DBICTEST_FIREBIRD_ODBC_DSN} || ''; |
7 | my $user = $ENV{DBICTEST_FIREBIRD_ODBC_USER} || ''; |
8 | my $password = $ENV{DBICTEST_FIREBIRD_ODBC_PASS} || ''; |
9 | |
10 | my $tester = dbixcsl_common_tests->new( |
11 | vendor => 'Firebird', |
12 | auto_inc_pk => 'INTEGER NOT NULL PRIMARY KEY', |
13 | auto_inc_cb => sub { |
14 | my ($table, $col) = @_; |
15 | return ( |
16 | qq{ CREATE GENERATOR gen_${table}_${col} }, |
17 | qq{ |
18 | CREATE TRIGGER ${table}_bi FOR $table |
19 | ACTIVE BEFORE INSERT POSITION 0 |
20 | AS |
21 | BEGIN |
22 | IF (NEW.$col IS NULL) THEN |
23 | NEW.$col = GEN_ID(gen_${table}_${col},1); |
24 | END |
25 | } |
26 | ); |
27 | }, |
28 | auto_inc_drop_cb => sub { |
29 | my ($table, $col) = @_; |
30 | return ( |
31 | qq{ DROP TRIGGER ${table}_bi }, |
32 | qq{ DROP GENERATOR gen_${table}_${col} }, |
33 | ); |
34 | }, |
35 | null => '', |
18e84656 |
36 | loader_options => { unquoted_ddl => 1 }, |
243c6ebc |
37 | extra => dbixcsl_firebird_extra_tests->extra, |
4cbddf8d |
38 | dsn => $dsn, |
39 | user => $user, |
40 | password => $password, |
41 | ); |
42 | |
43 | if( !$dsn ) { |
44 | $tester->skip_tests('You need to set the DBICTEST_FIREBIRD_ODBC_DSN, _USER, and _PASS environment variables'); |
45 | } |
46 | else { |
47 | $tester->run_tests(); |
48 | } |