• Main Page
  • Data Structures
  • Files
  • File List

sybaseTransaction.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * Sybase ASE 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: sybaseTransaction.php,v 1.4 2008-01-16 23:17:04-05 mt_jordan Exp $
00013  */
00014 
00015 class sybaseTransaction
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         sybase_query( 'BEGIN TRANSACTION', $this->objConnection )
00045         or trigger_error( sybase_get_last_message(), E_USER_WARNING );
00046     }
00047 
00048     /**
00049      * Commit transaction
00050      *
00051      * @access public
00052      * @return bool
00053      */
00054     public function commit()
00055     {
00056         return sybase_query( 'COMMIT TRANSACTION', $this->objConnection )
00057         or trigger_error( sybase_get_last_message(), E_USER_WARNING );
00058     }
00059 
00060     /**
00061      * Rollback transaction
00062      *
00063      * @access public
00064      * @param  str $savepoint
00065      * @return bool
00066      */
00067     public function rollback( $savepoint=false )
00068     {
00069         if ( !$savepoint )
00070             return sybase_query( 'ROLLBACK TRANSACTION', $this->objConnection )
00071             or trigger_error( sybase_get_last_message(), E_USER_WARNING );
00072         else
00073             return sybase_query( 'ROLLBACK TRANSACTION ' . $savepoint, $this->objConnection )
00074             or trigger_error( sybase_get_last_message(), E_USER_WARNING );
00075     }
00076 
00077     /**
00078      * Create rollback savepoint
00079      *
00080      * @access public
00081      * @param  str $savepoint
00082      * @return bool
00083      */
00084     public function savepoint( $savepoint )
00085     {
00086         return sybase_query( 'SAVE TRANSACTION ' . $savepoint, $this->objConnection )
00087         or trigger_error( sybase_get_last_message(), E_USER_WARNING );
00088     }
00089 }
00090 
00091 ?>

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