1 package dbixcsl_firebird_extra_tests;
10 q{DROP TRIGGER "Firebird_Loader_Test1_BI"},
11 q{DROP GENERATOR "Gen_Firebird_Loader_Test1_Id"},
14 q{"Firebird_Loader_Test1"}
18 my ($schema, $monikers, $classes) = @_;
20 my $dbh = $schema->storage->dbh;
22 # create a mixed case table
25 CREATE TABLE "Firebird_Loader_Test1" (
26 "Id" INTEGER NOT NULL PRIMARY KEY,
27 "Foo" INTEGER DEFAULT 42
31 CREATE GENERATOR "Gen_Firebird_Loader_Test1_Id"
34 CREATE TRIGGER "Firebird_Loader_Test1_BI" for "Firebird_Loader_Test1"
35 ACTIVE BEFORE INSERT POSITION 0
38 IF (NEW."Id" IS NULL) THEN
39 NEW."Id" = GEN_ID("Gen_Firebird_Loader_Test1_Id",1);
44 $schema->_loader->{unquoted_ddl} = 0;
45 $schema->_loader->_setup;
47 local $SIG{__WARN__} = sub {};
51 ok ((my $rsrc = eval { $schema->resultset('FirebirdLoaderTest1')->result_source }),
52 'got rsrc for mixed case table');
54 ok ((my $col_info = eval { $rsrc->column_info('Id') }),
55 'got column_info for column Id');
57 is $col_info->{accessor}, 'id', 'column Id has lowercase accessor "id"';
59 is $col_info->{is_auto_increment}, 1, 'is_auto_increment detected for mixed case trigger';
61 is $col_info->{sequence}, 'Gen_Firebird_Loader_Test1_Id', 'correct mixed case sequence name';
63 is eval { $rsrc->column_info('Foo')->{default_value} }, 42, 'default_value detected for mixed case column';