AnyEvent-DBD-Pg
view release on metacpan or search on metacpan
lib/AnyEvent/DBD/Pg.pm view on Meta::CPAN
package AnyEvent::DBD::Pg;
use 5.008008; # don't use old crap without utf8
use common::sense 3;m{
use strict;
use warnings;
}x;
use Scalar::Util 'weaken';
use Carp;
use DBI;
use DBD::Pg ':async';
use AE 5;
use Time::HiRes 'time';
=head1 NAME
AnyEvent::DBD::Pg - AnyEvent interface to DBD::Pg's async interface
lib/AnyEvent/DBD/Pg.pm view on Meta::CPAN
}
}
my $query = shift;
my $args = shift || {};
$args->{pg_async} = PG_ASYNC;
my $counter = ++$self->{querynum};
warn "prepare call <$query>( @_ ), async status = ".$self->{db}->{pg_async_status} if $self->{debug} > 2;
$self->{current} = [$query,@_];
$self->{current_start} = time();
weaken $self;
$self or return;
my ($st,$w,$t,$check);
my @watchers;
push @watchers, sub {
$self and $st or warn("no self"), @watchers = (), return 1;
#warn "check status=$self->{db}->{pg_async_status}\n";
if($self->{db}->{pg_async_status} and $st->pg_ready()) {
undef $w;
local $@;
my $res = $st->pg_result;
( run in 0.520 second using v1.01-cache-2.11-cpan-65fba6d93b7 )