• Main Page
  • Data Structures
  • Files
  • File List

sqlite3Transaction.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * SQLite3 transaction class
00005  *
00006  * @package objSQL
00007  * @version 2.1.0
00008  * @author MT Jordan <mtjo62@gmail.com>
00009  * @link http://objsql.sourceforge.net
00010  * @copyright 2004-2010 openSource Partners
00011  * @license LGPL
00012  * @revision $Id: sqlite3Transaction.php,v 1.0 2010-06-01 10:28:58-05 mt_jordan Exp $
00013  */
00014 
00015 class sqlite3Transaction
00016 {
00017     /**********************************************
00018      * Internal variables
00019      *********************************************/
00020 
00021     /**
00022      * Database connection object
00023      *
00024      * @access private
00025      * @var    mixed
00026      */
00027     private $objConnection;
00028 
00029     /**********************************************
00030      * Class methods
00031      *********************************************/
00032             
00033     /**
00034      * Constructor
00035      *
00036      * @access public
00037      * @param  mixed $connection
00038      */
00039     public function __construct( $connection )
00040     {
00041         $this->objConnection = $connection;
00042 
00043         //turn off autocommit
00044         $this->objConnection->query( 'BEGIN' )
00045         or trigger_error( $this->objConnection->lastErrorMsg(), E_USER_WARNING );
00046     }
00047 
00048     /**
00049      * Commit transaction
00050      *
00051      * @access public
00052      * @return mixed
00053      */
00054     public function commit()
00055     {
00056         return $this->objConnection->query( 'COMMIT' )
00057         or trigger_error( $this->objConnection->lastErrorMsg(), E_USER_WARNING );
00058     }
00059 
00060     /**
00061      * Rollback transaction
00062      *
00063      * @access public
00064      * @return mixed
00065      */
00066     public function rollback( $savepoint=false )
00067     {
00068         if ( !$savepoint )
00069             return $this->objConnection->query( 'ROLLBACK' )
00070             or trigger_error( $this->objConnection->lastErrorMsg(), E_USER_WARNING );
00071         else
00072             return $this->objConnection->query( 'ROLLBACK TO ' . $savepoint )
00073             or trigger_error( $this->objConnection->lastErrorMsg(), E_USER_WARNING );
00074     }
00075 
00076     /**
00077      * Create rollback savepoint 
00078      *
00079      * @access public
00080      * @return mixed
00081      */
00082     public function savepoint( $savepoint ) 
00083     {
00084         return $this->objConnection->query( 'SAVEPOINT ' . $savepoint )
00085         or trigger_error( $this->objConnection->lastErrorMsg(), E_USER_WARNING );
00086     }
00087 }
00088 
00089 ?>

Generated on Sat Jul 10 2010 15:14:39 for objSQL 2.1.0 by  doxygen 1.7.1