
use strict;
use warnings;

use AnyEvent;
use AnyEvent::DBI;
my $dbh = AnyEvent::DBI->new(
    "DBI:SQLite:dbname=test.db", "", ""
);

my @table_schema = (
<<END
CREATE TABLE test1 (
  id INTEGER PRIMARY KEY  ,
  name varchar(255) NOT NULL
)
END
,
<<END,
CREATE TABLE test2 (
  id INTEGER PRIMARY KEY  ,
  name varchar(255) NOT NULL
)
END
);

my $done = AnyEvent->condvar;
run_bundle( @table_schema, sub {
    $done->send;
} );

$done->recv;

sub run_bundle {
    my $cb = pop;
    my $query = shift;
    my @rest = @_;

    print STDERR "Executing SQL:\n$query\n";

    return $cb->() unless $query;

    $dbh->exec( $query, sub {
        use Data::Dumper;
        print Dumper( [@_, $@] );
        run_bundle( @rest, $cb );
    });
}
