Mojo-SQLite

 view release on metacpan or  search on metacpan

t/results.t  view on Meta::CPAN

      my $tx = $db->begin;
      $db->query("insert into results_test (name) values ('tx3')");
      $db->query("insert into results_test (name) values ('tx3')");
      $db->query('does_not_exist');
      $tx->commit;
    };
    like $@, qr/does_not_exist/, 'right error';
    is_deeply $db->query('select * from results_test where name = ?', 'tx3')
      ->hashes->to_array, [], 'no results';
    {
      my $timeout = $db->dbh->sqlite_busy_timeout // 0;
      $db->dbh->sqlite_busy_timeout(100);
      my $tx;
      eval {
        $tx = $db->begin('immediate');
        $db->begin('immediate');
      };
      ok $@, 'transaction failed';
      ok $db->dbh->err, 'database error code retained';
      $db->dbh->sqlite_busy_timeout($timeout);
    }
  };

  subtest 'Issue #2' => sub {
    my $results1 = $db->query('select 1 as one');
    is_deeply $results1->hashes, [{one => 1}], 'right structure';
    my $results2 = $db->query('select 1 as one');
    undef $results1;
    is_deeply $results2->hashes, [{one => 1}], 'right structure';
  }



( run in 2.500 seconds using v1.01-cache-2.11-cpan-600a1bdf6e4 )