X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=t%2F73oracle.t;h=c81f0fb01e0bf132aceba7b067b20cb6f6aa6935;hb=4e803ec9430d2876f4e0e3345ce148a8b9b47c7f;hp=00139271529fa3fa68bed9bf42206eddaf6bb7ab;hpb=ba12b23f087c99f1e773551eb253ac8cf89febf8;p=dbsrgits%2FDBIx-Class.git diff --git a/t/73oracle.t b/t/73oracle.t index 0013927..c81f0fb 100644 --- a/t/73oracle.t +++ b/t/73oracle.t @@ -361,13 +361,13 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { ); $schema->resultset('Artist')->find({ name => 'cycle-root' }) - ->update({ parentid => \'artistid' }); + ->update({ parentid => { -ident => 'artistid' } }); # select the whole tree { my $rs = $schema->resultset('Artist')->search({}, { start_with => { name => 'root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, }); is_same_sql_bind ( @@ -409,7 +409,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { my $rs = $schema->resultset('Artist')->search({}, { start_with => { name => 'root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, order_siblings_by => { -desc => 'name' }, }); @@ -436,7 +436,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { { my $rs = $schema->resultset('Artist')->search({ parentid => undef }, { start_with => { name => 'root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, }); is_same_sql_bind ( @@ -469,7 +469,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { { join => 'cds', start_with => { 'me.name' => 'root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, } ); @@ -513,7 +513,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { { my $rs = $schema->resultset('Artist')->search({}, { start_with => { name => 'root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, order_by => { -asc => [ 'LEVEL', 'name' ] }, }); @@ -558,7 +558,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { my $rs = $schema->resultset('Artist')->search({}, { start_with => { name => 'root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, order_by => { -asc => 'name' }, rows => 2, }); @@ -615,7 +615,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { my $rs = $schema->resultset('Artist')->search({}, { select => ['count(rank)'], start_with => { name => 'root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, group_by => ['rank'], having => { 'count(rank)' => { '<', 2 } }, }); @@ -644,7 +644,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { { my $rs = $schema->resultset('Artist')->search({}, { start_with => { name => 'cycle-root' }, - connect_by => { parentid => { -prior => \ 'artistid' } }, + connect_by => { parentid => { -prior => { -ident => 'artistid' } } }, }); eval { $rs->get_column ('name')->all }; if ( $@ =~ /ORA-01436/ ){ # ORA-01436: CONNECT BY loop in user data @@ -663,7 +663,7 @@ if ( $schema->storage->isa('DBIx::Class::Storage::DBI::Oracle::Generic') ) { my $rs = $schema->resultset('Artist')->search({}, { start_with => { name => 'cycle-root' }, '+select' => [ \ 'CONNECT_BY_ISCYCLE' ], - connect_by_nocycle => { parentid => { -prior => \ 'artistid' } }, + connect_by_nocycle => { parentid => { -prior => { -ident => 'artistid' } } }, }); is_same_sql_bind ( @@ -707,11 +707,19 @@ my $schema2; # test sequence detection from a different schema SKIP: { +TODO: { skip ((join '', 'Set DBICTEST_ORA_EXTRAUSER_DSN, _USER and _PASS to a *DIFFERENT* Oracle user', ' to run the cross-schema autoincrement test.'), 1) unless $dsn2 && $user2 && $user2 ne $user; + # Oracle8i Reference Release 2 (8.1.6) + # http://download.oracle.com/docs/cd/A87860_01/doc/server.817/a76961/ch294.htm#993 + # Oracle Database Reference 10g Release 2 (10.2) + # http://download.oracle.com/docs/cd/B19306_01/server.102/b14237/statviews_2107.htm#sthref1297 + local $TODO = "On Oracle8i all_triggers view is empty, i don't yet know why..." + if $schema->storage->_server_info->{normalized_dbms_version} < 9; + $schema2 = DBICTest::Schema->connect($dsn2, $user2, $pass2); my $schema1_dbh = $schema->storage->dbh; @@ -755,7 +763,7 @@ SKIP: { is $rs->result_source->column_info('artistid')->{sequence}, qq[${schema_name}."ARTIST_PK_SEQ"], 'quoted sequence name correctly extracted'; -} +} } done_testing;