Mojo-Pg-Che
view release on metacpan or search on metacpan
t/03-query.t view on Meta::CPAN
use Mojo::Base -strict;
use Test::More;
plan skip_all => 'set env TEST_PG="dbname=<...>/<pg_user>/<passwd>" to enable this test' unless $ENV{TEST_PG};
my ($dsn, $user, $pw) = split m|[/]|, $ENV{TEST_PG};
use Mojo::Pg::Che;
use Scalar::Util 'refaddr';
my $class = 'Mojo::Pg::Che';
my $results_class = 'Mojo::Pg::Che::Results';
# 1
my $pg = $class->connect($dsn, $user, $pw, max_connections=>20, debug=>0,);
#~ $pg->pg->on(connection=>sub { my ($pg, $dbh) = @_; warn "Mojo::PG---connection ",$dbh; $dbh->do('set datestyle to "DMY, ISO";');});
$pg->on(connection=>sub { $_[1]->do('set datestyle to "DMY, ISO";'); });#warn "connection --- ", @_;
{
my $res = $pg->query('select now() as now',);
isa_ok($res, $results_class);
like($res->hash->{now}, qr/\d{4}-\d{2}-\d{2}/, 'now query ok');
for (11..17) {
my $res = $pg->query('select ?::date as d', undef, ("$_/06/2016"));
like($res->hash->{d}, qr/2016-06-$_/, 'date query ok');
}
};
{
my $sth = $pg->prepare('select ?::date as d');
my $dbh = $sth->{Database};
for (11..17) {
my $res = $pg->query($sth, undef, ("$_/06/2016"));
like($res->hash->{d}, qr/2016-06-$_/, 'date sth ok');
cmp_ok(refaddr($dbh), '==', refaddr($res->db->dbh), 'one dbh');
}
};
{# один sth Ð´Ð»Ñ Ð°ÑинÑ
Ñ+ÑинÑ
Ñ
my @results;
my $cb = sub {
my ($db, $err, $results) = @_;
die $err if $err;
push @results, $results;
};
my $sth = $pg->prepare('select ?::date as d');
#~ $pg->debug(1);
$pg->query($sth, undef, ("$_/06/2016"), $cb)
for (13..17);
Mojo::IOLoop->start unless Mojo::IOLoop->is_running;
like($_->hash->{d}, qr/2016-06-\d+/, 'date sth ok')
for @results;
#~ warn "\n -- sth pg_async_status=$sth->{pg_async_status}; $sth->{pg_async}", "dbh pg_async_status=", $sth->{Database}->{pg_async_status};
#~ warn "\n --- pool: ". @{$pg->{queue}};
$sth->{pg_async}=0;
my $res = $pg->select($sth, undef, ("22/12/2018"));
#~ warn %{$res->hash}, %{$res->hash};
like($res->hash->{d}, qr/2018-12-22/, 'date sth ok');
};
( run in 0.763 second using v1.01-cache-2.11-cpan-71847e10f99 )