• Main Page
  • Data Structures
  • Files
  • File List

ingresSequence.php

Go to the documentation of this file.
00001 <?php
00002 
00003 /**
00004  * Ingres 2006 sequence 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: ingresSequence.php,v 1.5 2008-01-19 23:43:23-05 mt_jordan Exp $
00013  */
00014 
00015 class ingresSequence
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      * Sequence maximum value
00031      *
00032      * @access private
00033      * @var    int
00034      */
00035     private $objMax;
00036 
00037     /**
00038      * Sequence name
00039      *
00040      * @access private
00041      * @var    str
00042      */
00043     private $objSequence;
00044 
00045     /**********************************************
00046      * Class methods
00047      *********************************************/
00048 
00049     /**
00050      * Constructor
00051      *
00052      * @access public
00053      * @param  str   $sequence
00054      * @param  int   $objMax
00055      * @param  mixed $connection
00056      */
00057     public function __construct( $sequence, $objMax, $connection )
00058     {
00059         $this->objConnection = $connection;
00060         $this->objMax        = $objMax;
00061         $this->objSequence   = $sequence;
00062     }
00063 
00064     /**
00065      * Return named sequence property
00066      *
00067      * @access public
00068      * @return str
00069      */
00070     public function getSequence()
00071     {
00072         return $this->objSequence . '.NEXTVAL';
00073     }
00074 
00075     /**
00076      * Create sequence object
00077      *
00078      * @access public
00079      * @return bool
00080      */
00081     public function setSequence()
00082     {
00083         //make sure $this->objMax is an unsigned int > 0
00084         $objMax = ( is_numeric( $this->objMax ) && $this->objMax > 0 ) ? 'MAXVALUE ' . ( int )$this->objMax : 'NOMAXVALUE';
00085         $objSeq = 'CREATE SEQUENCE ' . $this->objSequence . ' AS INTEGER START WITH 1 INCREMENT BY 1 ' . $objMax . ' MINVALUE 1';
00086 
00087         return ingres_query( $objSeq, $this->objConnection )
00088         or trigger_error( ingres_error( $this->objConnection ), E_USER_WARNING );
00089     }
00090 }
00091 
00092 ?>

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