Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
AnyEvent::DBD::Pg(3)  User Contributed Perl Documentation AnyEvent::DBD::Pg(3)

NAME
       AnyEvent::DBD::Pg - AnyEvent interface to DBD::Pg's async interface

SYNOPSIS
	       use AnyEvent::DBD::Pg;

	       my $adb = AnyEvent::DBD::Pg->new('dbi:Pg:dbname=test', user => 'pass', {
		       pg_enable_utf8 => 1,
		       pg_server_prepare => 0,
		       quote_char => '"',
		       name_sep	=> ".",
	       }, debug	=> 1);

	       $adb->queue_size( 4 );
	       $adb->debug( 1 );

	       $adb->connect;

	       $adb->selectcol_arrayref("select	pg_sleep( 0.1 ), 1", { Columns => [ 1 ]	}, sub {
		       my $rc =	shift or return	warn;
		       my $res = shift;
		       warn "Got <$adb->{qd}> =	$rc / @{$res}";
		       $adb->selectrow_hashref("select data,* from tx limit 2",	{}, sub	{
			       my $rc =	shift or return	warn;
			       warn "Got $adb->{qd} = $rc [@_]";
		       });
	       });

	       $adb->execute("update tx	set data = data;",sub {
		       my $rc =	shift or return	warn;
		       warn "Got exec: $rc";
		       #my $st = shift;
		       #$st->finish;
	       });

	       $adb->execute("select from 1",sub {
		       shift or	return warn;
		       warn "Got $adb->{qd} = @_";
	       });

	       $adb->selectrow_array("select pg_sleep( 0.1 ), 2", {}, sub {
		       shift or	return warn;
		       warn "Got $adb->{qd} = [@_]";
		       $adb->selectrow_hashref("select * from tx limit 1", {}, sub {
			       warn "Got $adb->{qd} = [@_]";
			       $adb->execute("select * from tx", sub {
				       my $rc =	shift or return	warn;
				       my $st =	shift;
				       while(my	$row = $st->fetchrow_hashref) {	warn "$row->{id}"; }
				       $st->finish;
				       exit;
			       });
		       });
	       });
	       AE::cv->recv;

METHODS
       connect()
	   Establish connection	to database

       selectrow_array(	$query,	[\%args], $cb->( $rc, ... ))
	   Execute PG_ASYNC prepare, than push result of "fetchrow_array" into
	   callback

       selectrow_arrayref( $query, [\%args], $cb->( $rc, \@row ))
	   Execute PG_ASYNC prepare, than push result of "fetchrow_arrayref"
	   into	callback

       selectrow_hashref( $query, [\%args], $cb->( $rc,	\%row ))
	   Execute PG_ASYNC prepare, than push result of "fetchrow_hashref"
	   into	callback

       selectall_arrayref( $query, [\%args], $cb->( $rc, \@rows	))
	   Execute PG_ASYNC prepare, than push result of "fetchall_arrayref"
	   into	callback

       selectall_hashref( $query, [\%args], $cb->( $rc,	\@rows ))
	   Execute PG_ASYNC prepare, than push result of "fetchall_hashref"
	   into	callback

       selectcol_arrayref( $query, { Columns =>	[...], ... }, $cb->( $rc,
       \@rows ))
	   Execute PG_ASYNC prepare, than push result of
	   "fetchall_hashref($args{Columns})" into callback

       execute(	$query,	[\%args], $cb->( $rc, $sth ))
	   Execute PG_ASYNC prepare, than invoke callback, pushing resulting
	   sth to it.

	   Please, note: result	already	passed as first	argument

AUTHOR
       Mons Anderson, "<mons@cpan.org>"

LICENSE	AND COPYRIGHT
       Copyright 2010 Mons Anderson.

       This program is free software; you can redistribute it and/or modify it
       under the terms of either: the GNU General Public License as published
       by the Free Software Foundation;	or the Artistic	License.

perl v5.32.0			  2010-11-30		  AnyEvent::DBD::Pg(3)

NAME | SYNOPSIS | METHODS | AUTHOR | LICENSE AND COPYRIGHT

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=AnyEvent::DBD::Pg&sektion=3&manpath=FreeBSD+12.2-RELEASE+and+Ports>

home | help