use_mars =>
{ opts => { on_connect_call => 'use_mars' } },
use_dynamic_cursors =>
- { opts => { on_connect_call => 'use_dynamic_cursors' }, required => 1 },
+ { opts => { on_connect_call => 'use_dynamic_cursors' },
+ required => $schema->storage->_using_freetds ? 0 : 1,
+ },
use_server_cursors =>
{ opts => { on_connect_call => 'use_server_cursors' } },
NO_OPTION =>
is_deeply \@result, \@map, "multiple active statements in $opts_name";
$artist_rs->delete;
+
+ is($artist_rs->count, 0, '$dbh still viable');
}
# Test populate
);
}
- {
- my $book_owner_ids = $schema->resultset ('BooksInLibrary')->search ({}, {
- rows => 6,
- offset => 2,
- join => 'owner',
- distinct => 1,
- order_by => 'owner.name',
- unsafe_subselect_ok => 1
- })->get_column ('owner');
-
- my @ids = $book_owner_ids->all;
-
- is (@ids, 6, 'Limit works');
-
- my $book_owners = $schema->resultset ('Owners')->search ({
- id => { -in => $book_owner_ids->as_query }
- });
-
- TODO: {
- local $TODO = "Correlated limited IN subqueries will probably never preserve order";
-
- is_deeply (
- [ map { $_->id } ($book_owners->all) ],
- [ $book_owner_ids->all ],
- "$test_type: Sort is preserved across IN subqueries",
- );
- }
- }
-
# still even with lost order of IN, we should be getting correct
# sets
{
TODO: {
my $freetds_and_dynamic_cursors = 1
if $opts_name eq 'use_dynamic_cursors' &&
- $schema->storage->using_freetds;
+ $schema->storage->_using_freetds;
local $TODO =
'these tests fail on freetds with dynamic cursors for some reason'