• Main Page
  • Data Structures
  • Files
  • File List

oracleTransaction.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * Oracle 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: oracleTransaction.php,v 1.4 2008-01-19 14:47:20-05 mt_jordan Exp $
00013  */
00014 
00015 class oracleTransaction
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 
00044     /**
00045      * Commit transaction
00046      *
00047      * @access public
00048      * @return bool
00049      */
00050     public function commit()
00051     {
00052         return oci_commit( $this->objConnection );
00053     }
00054 
00055     /**
00056      * Rollback transaction
00057      *
00058      * @access public
00059      * @param  str $savepoint
00060      * @return bool
00061      */
00062     public function rollback( $savepoint=false )
00063     {
00064         if ( !$savepoint )
00065         {
00066             return oci_rollback( $this->objConnection );
00067         }
00068         else
00069         {
00070             $objParse = oci_parse( $this->objConnection, 'ROLLBACK TO ' . $savepoint );
00071 
00072             if ( !$objParse )
00073             {
00074                 $objError = oci_error( $this->objConnection );
00075                 trigger_error( $objError['message'], E_USER_WARNING );
00076             }
00077 
00078             $objStmt = oci_execute( $objParse, OCI_DEFAULT );
00079 
00080             if ( !$objStmt )
00081             {
00082                 $objError = oci_error( $objParse );
00083                 trigger_error( $objError['message'], E_USER_WARNING );
00084             }
00085 
00086             return $objStmt;
00087         }
00088     }
00089 
00090     /**
00091      * Create rollback savepoint
00092      *
00093      * @access public
00094      * @param  str $savepoint
00095      * @return bool
00096      */
00097     public function savepoint( $savepoint )
00098     {
00099         $objParse = oci_parse( $this->objConnection, 'SAVEPOINT ' . $savepoint );
00100 
00101         if ( !$objParse )
00102         {
00103             $objError = oci_error( $this->objConnection );
00104             trigger_error( $objError['message'], E_USER_WARNING );
00105         }
00106 
00107         $objStmt = oci_execute( $objParse, OCI_DEFAULT );
00108 
00109         if ( !$objStmt )
00110         {
00111             $objError = oci_error( $this->objConnection );
00112             trigger_error( $objError['message'], E_USER_WARNING );
00113         }
00114 
00115         return $objStmt;
00116     }
00117 }
00118 
00119 ?>

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