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

FreeBSD Manual Pages

  
 
  

home | help
POE::Component::LaDBI:UseruContributed Perl DPOE::Component::LaDBI::Request(3)

NAME
       POE::Component::LaDBI::Request -	Class to encapsulate LaDBI requests to
       be executed by POE::Component::LaDBI::Engine.

SYNOPSIS
       Excuse the vulgarities, I was tired and maybe even a little drunk ;).

	 use POE::Component::LaDBI::Request;

	 $dsn =	'dbi:Sybase:server=biteme;hostname=sybdb.biteme.com;database=biteme',
	 $user = 'pimple';
	 $passwd = 'oNMyaSS';

	 $req =	POE::Component::LaDBI::Request->new(Cmd	 => 'connect',
						    Data => [$dsn, $user, $passwd]);

	 $eng =	POE::Component::LaDBI::Engine->new();

	 $resp = $eng->request(	$req );

	 die "connect failed" unless $resp->code eq 'OK';

	 $dbh_id = $resp->handle_id;

	 $sql =	'SELECT	* FROM candidates WHERE	jaws = ? AND willingness = ?'

	 $req =	POE::Component::LaDBI::Request->new(Cmd	     =>	'prepare',
						    HandleId =>	$dbh_id	 ,
						    Data     =>	[$sql]	 );

	 $resp = $eng->request(	$req );

	 die "prepare failed" unless $resp->code eq 'OK';

	 $sth_id = $resp->handle_id;

	 $req =	POE::Component::LaDBI::Request->new(Cmd	     =>	'execute',
						    HandleId =>	$sth_id	 ,
						    Data     =>	['WEAK','HIGH']);

	 $resp = $eng->request(	$req );

	 die "execute failed" unless $resp->code eq 'OK';

	 $req =	POE::Component::LaDBI::Request->new(Cmd	     =>	'rows',
						    HandleId =>	$sth_id);

	 $resp = $eng->request(	$req );

	 die "rows failed" unless $resp->code eq 'OK';

	 $nr_rows = $resp->data();

	 $req =	POE::Component::LaDBI::Request->new(Cmd	     =>	'fetchrow',
						    HandleId =>	$sth_id);

	 for ($i=0; $i < $nr_rows; $i++) {

	    $resp = $eng->request( $resp );

	    die	"fetchrow failed" unless $resp->code eq	'OK';

	    $row = $resp->data();

	    print "row[$i]: ", join("\t", @$row), "\n";

	 }

DESCRIPTION
       "$req = POE::Component::LaDBI::Request->new()"
	   Upon	instantiation a	request	id is allocated	to represent this
	   request.  This cookie is available as "$req-"id>.

	   Args:

	   For the keys, capitalization	does not matter. Internally the	keys
	   are lowercased.

	   "Cmd"
	       Required.

	       The command to execute. Only a subset of	DBI basic commands
	       implemented.

	       The value must be in all	uppercase.

	       So far they are:

		  CONNECT	   ->	DBI->connect
		  DISCONNECT	   ->	$dbh->disconnect
		  PREPARE	   ->	$sth->prepare
		  FINISH	   ->	$sth->finish
		  EXECUTE	   ->	$sth->execute
		  ROWS		   ->	$sth->rows
		  FETCHROW	   ->	$sth->fetchrow
		  FETCHROW_HASH	   ->	$sth->fetchrow_hash
		  FETCHALL	   ->	$sth->fetchall
		  FETCHALL_HASH	   ->	$sth->fetchall_hash
		  PING		   ->	$dbh->ping
		  DO		   ->	$dbh->do
		  BEGIN_WORK	   ->	$dbh->begin_work
		  COMMIT	   ->	$dbh->commit
		  ROLLBACK	   ->	$dbh->rollback
		  SELECTALL	   ->	$dbh->selectall
		  SELECTALL_HASH   ->	$dbh->selectall_hash
		  SELECTCOL	   ->	$dbh->selectcol
		  SELECTROW	   ->	$dbh->selectrow
		  QUOTE		   ->	$dbh->quote

	   "HandleId"
	       For some	commands it is required. They are:

		  DISCONNECT
		  PREPARE
		  FINISH
		  EXECUTE
		  ROWS
		  FETCHROW
		  FETCHROW_HASH
		  FETCHALL
		  PING
		  DO
		  BEGIN_WORK
		  COMMIT
		  ROLLBACK
		  SELECTALL
		  SELECTALL_HASH
		  SELECTCOL
		  SELECTROW
		  QUOTE

	   "Data"
	       For some	commands it is required. They are:

		  CONNECT
		  PREPARE
		  DO
		  FETCHALL_HASH
		  SELECTALL
		  SELECTALL_HASH
		  SELECTCOL
		  SELECTROW
		  QUOTE

	       No Data field is	allowed	for:

		  DISCONNECT
		  ROWS
		  FETCHROW
		  FETCHROW_HASH
		  BEGIN_WORK
		  COMMIT
		  ROLLBACK

       "$req->cmd"
	   Set/Get accessor function.

       "$req->data"
	   Set/Get accessor function.

       "$req->handle_id"
	   Set/Get accessor function.

       "$req->id"
	   Get accessor	function.

   EXPORT
       None by default.

AUTHOR
       Sean Egan, <seanegan:bigfoot_com>

SEE ALSO
       perl, POE::Component::LaDBI::Response, POE::Component::LaDBI::Engine.

perl v5.32.0			  2004-03-21 POE::Component::LaDBI::Request(3)

NAME | SYNOPSIS | DESCRIPTION | AUTHOR | SEE ALSO

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

home | help