<?php /** * Index file for Extended PGsql class. * * @package General * @version $Rev: 6 $ * @copyright $Date: 2011-07-20 23:25:21 -0400 (Wed, 20 Jul 2011) $ * @author $Author: unreal4u $ * @license BSD License */
// Non-direct access protection $proc = TRUE;
// Including our config and class include('config.php'); include('extended_pgsql.class.php');
echo '<pre>'; $dbLink = new extended_pgsql();
echo 'Short version: '.$dbLink->version(TRUE).'<br />'; echo 'Long version: '.$dbLink->version().'<br />';
// Beginning a transaction, this one should fail to complete and it should do a rollback! $dbLink->begin_transaction(); $dbLink->query('DROP TABLE IF EXISTS t'); $dbLink->query('CREATE TABLE t(i serial primary key);'); $dbLink->query('INSERT INTO t VALUES (?)',1); $dbLink->query('INSERT INTO t VALUES (?)',1); $dbLink->end_transaction();
// Beginning a second, totally different transaction. This one should be ok. $dbLink->begin_transaction(); $dbLink->query('DROP TABLE IF EXISTS x'); $dbLink->query('CREATE TABLE x(i serial primary key)'); // If we want the last insert id, we should use native PostGreSQL function "RETURNING" $id = $dbLink->insert_id('INSERT INTO x VALUES (?) RETURNING i',1); $dbLink->query('INSERT INTO x VALUES (?)',2); $dbLink->end_transaction();
// If machines are still machines, this should return an error (due to the fail on the first transaction) $aRes = $dbLink->query('SELECT * FROM t');
// And this should be ok. Note we enabled the cache. // NOTE: First time this runs, we generate the cache file. // Next time within DB_CACHE_EXPIRE's time, we should read THAT file instead of doing the actual query. $dbLink->cache_query = TRUE; $bRes = $dbLink->query('SELECT * FROM x');
// Let's see what is in our first query: echo '<br />t is:<br />'; var_dump($aRes); // BOOLEAN FALSE because there was an error in the query ()
// Let's see what we have in our second query: echo '<br />x is:<br />'; var_dump($bRes);
// Do we have any errors from the previous queries? echo '<br />Errors:<br />'; print_r($dbLink->errors);
// The other array, LiveStats which contains a lot of useful debug info print_r($dbLink->LiveStats);
// Destroying the object. unset($dbLink); echo '</pre>';
|