use Test::Exception;
use Test::More;
-
+use DBIx::Class::Optional::Dependencies ();
use lib qw(t/lib);
+use DBICTest::RunMode;
use DBIC::SqlMakerTest;
use DBIx::Class::SQLMaker::LimitDialects;
$ENV{NLS_COMP} = "BINARY";
$ENV{NLS_LANG} = "AMERICAN";
-plan skip_all => 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('test_rdbms_oracle')
- unless DBIx::Class::Optional::Dependencies->req_ok_for ('test_rdbms_oracle');
-
my ($dsn, $user, $pass) = @ENV{map { "DBICTEST_ORA_${_}" } qw/DSN USER PASS/};
plan skip_all => 'Set $ENV{DBICTEST_ORA_DSN}, _USER and _PASS to run this test.'
unless ($dsn && $user && $pass);
+plan skip_all => 'Test needs ' . DBIx::Class::Optional::Dependencies->req_missing_for ('rdbms_oracle')
+ unless DBIx::Class::Optional::Dependencies->req_ok_for ('rdbms_oracle');
+
use DBICTest::Schema::Artist;
BEGIN {
DBICTest::Schema::Artist->add_column('parentid');
);
}
+use DBICTest;
use DBICTest::Schema;
my $schema = DBICTest::Schema->connect($dsn, $user, $pass);
is_same_sql_bind (
$rs->as_query,
'(
- SELECT artistid, name, rank, charfield, parentid
+ SELECT me.artistid, me.name, me.rank, me.charfield, me.parentid
FROM (
SELECT me.artistid, me.name, me.rank, me.charfield, me.parentid
FROM artist me
'(
SELECT COUNT( * )
FROM (
- SELECT artistid
+ SELECT me.artistid
FROM (
- SELECT artistid, ROWNUM rownum__index
- FROM (
- SELECT me.artistid
- FROM artist me
- START WITH name = ?
- CONNECT BY parentid = PRIOR artistid
- ) me
+ SELECT me.artistid
+ FROM artist me
+ START WITH name = ?
+ CONNECT BY parentid = PRIOR artistid
) me
- WHERE rownum__index BETWEEN ? AND ?
+ WHERE ROWNUM <= ?
) me
)',
[
[ { 'sqlt_datatype' => 'varchar', 'dbic_colname' => 'name', 'sqlt_size' => 100 }
=> 'root'],
- [ $ROWS => 1 ],
- [ $TOTAL => 2 ],
+ [ $ROWS => 2 ],
],
);
# clean up our mess
END {
- eval {
- my $dbh = $schema->storage->dbh;
- $dbh->do("DROP SEQUENCE artist_pk_seq");
- $dbh->do("DROP SEQUENCE cd_seq");
- $dbh->do("DROP SEQUENCE track_seq");
- $dbh->do("DROP TABLE artist");
- $dbh->do("DROP TABLE track");
- $dbh->do("DROP TABLE cd");
+ if ($schema and my $dbh = $schema->storage->dbh) {
+ eval { $dbh->do($_) } for (
+ 'DROP SEQUENCE artist_pk_seq',
+ 'DROP SEQUENCE cd_seq',
+ 'DROP SEQUENCE track_seq',
+ 'DROP TABLE artist',
+ 'DROP TABLE track',
+ 'DROP TABLE cd',
+ );
};
+ undef $schema;
}