use strict;
-use warnings;
+use warnings;
use Test::More;
use Test::Exception;
' as well as following schemas: \'testschema\',\'anothertestschema\'!)'
unless ($dsn && $user);
+DBICTest::Schema->load_classes( 'Casecheck', 'ArrayTest' );
-plan tests => 42;
+# make sure sqlt_type overrides work (::Storage::DBI::Pg does this)
+{
+ my $schema = DBICTest::Schema->connect($dsn, $user, $pass);
-DBICTest::Schema->load_classes( 'Casecheck', 'ArrayTest' );
-my $schema = DBICTest::Schema->connect($dsn, $user, $pass,);
+ ok (!$schema->storage->_dbh, 'definitely not connected');
+ is ($schema->storage->sqlt_type, 'PostgreSQL', 'sqlt_type correct pre-connection');
+}
+my $schema = DBICTest::Schema->connect($dsn, $user, $pass);
# Check that datetime_parser returns correctly before we explicitly connect.
SKIP: {
eval { require DateTime::Format::Pg };
$schema->source("SequenceTest")->name("testschema.sequence_test");
{
local $SIG{__WARN__} = sub {};
- _cleanup ($dbh);
+ _cleanup ($schema);
my $artist_table_def = <<EOS;
(
is($unq_new && $unq_new->artistid, 1, "and got correct artistid");
+ #test with anothertestschema
+ $schema->source('Artist')->name('anothertestschema.artist');
+ my $another_new = $schema->resultset('Artist')->create({ name => 'ribasushi'});
+ is( $another_new->artistid,1, 'got correct artistid for yetanotherschema');
+
+ #test with yetanothertestschema
+ $schema->source('Artist')->name('yetanothertestschema.artist');
+ my $yetanother_new = $schema->resultset('Artist')->create({ name => 'ribasushi'});
+ is( $yetanother_new->artistid,1, 'got correct artistid for yetanotherschema');
+ is( $yetanother_new->artistid,1, 'got correct artistid for yetanotherschema');
+
$schema->source("Artist")->name($artist_name_save);
}
is($st->pkid1, 55, "Oracle Auto-PK without trigger: First primary key set manually");
sub _cleanup {
- my $dbh = shift or return;
+ my $schema = shift or return;
+ local $SIG{__WARN__} = sub {};
for my $stat (
- 'DROP TABLE testschema.artist',
- 'DROP TABLE testschema.casecheck',
- 'DROP TABLE testschema.sequence_test',
- 'DROP TABLE testschema.array_test',
+ 'DROP SCHEMA testschema CASCADE',
+ 'DROP SCHEMA anothertestschema CASCADE',
+ 'DROP SCHEMA yetanothertestschema CASCADE',
'DROP SEQUENCE pkid1_seq',
'DROP SEQUENCE pkid2_seq',
'DROP SEQUENCE nonpkid_seq',
- 'DROP SCHEMA testschema',
- 'DROP TABLE anothertestschema.artist',
- 'DROP SCHEMA anothertestschema',
- 'DROP TABLE yetanothertestschema.artist',
- 'DROP SCHEMA yetanothertestschema',
) {
- eval { $dbh->do ($stat) };
+ eval { $schema->storage->_do_query ($stat) };
}
}
-END { _cleanup($dbh) }
+done_testing;
+
+END { _cleanup($schema) }