OCI8Types.php

Go to the documentation of this file.
00001 <?php 00002 00003 /* 00004 * $Id: OCI8Types.php,v 1.1 2004/04/28 19:35:47 micha Exp $ 00005 * 00006 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 00007 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 00008 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 00009 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 00010 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 00011 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 00012 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 00013 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 00014 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 00015 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 00016 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 00017 * 00018 * This software consists of voluntary contributions made by many individuals 00019 * and is licensed under the LGPL. For more information please see 00020 * <http://creole.phpdb.org>. 00021 */ 00022 00023 require_once 'creole/CreoleTypes.php'; 00024 00034 class OCI8Types extends CreoleTypes 00035 { 00037 var $typeMap = null; 00038 00040 var $reverseMap = null; 00041 00049 function getType($nativeType) 00050 { 00051 $self =& PgSQLTypes::getInstance(); 00052 $t = strtolower($nativeType); 00053 if (isset($self->typeMap[$t])) { 00054 return $self->typeMap[$t]; 00055 } else { 00056 return CreoleTypes::OTHER(); 00057 } 00058 } 00059 00069 function getNativeType($creoleType) 00070 { 00071 $self =& PgSQLTypes::getInstance(); 00072 if ($self->reverseMap === null) { 00073 $self->reverseMap = array_flip($self->typeMap); 00074 } 00075 return @$self->reverseMap[$creoleType]; 00076 } 00077 00078 /* 00079 * @access private 00080 */ 00081 function & getInstance() 00082 { 00083 static $instance; 00084 00085 if ($instance === null) 00086 { 00087 $instance = new OCI8Types(); 00088 $instance->typeMap = array 00089 ( 00090 'char' => CreoleTypes::CHAR(), 00091 'varchar2' => CreoleTypes::VARCHAR(), 00092 'long' => CreoleTypes::LONGVARCHAR(), 00093 'number' => CreoleTypes::NUMERIC(), 00094 'float' => CreoleTypes::FLOAT(), 00095 'integer' => CreoleTypes::INTEGER(), 00096 'smallint' => CreoleTypes::SMALLINT(), 00097 'double' => CreoleTypes::DOUBLE(), 00098 'raw' => CreoleTypes::VARBINARY(), 00099 'longraw' => CreoleTypes::LONGVARBINARY(), 00100 'date' => CreoleTypes::TIMESTAMP(), 00101 'blob' => CreoleTypes::BLOB(), 00102 'clob' => CreoleTypes::CLOB(), 00103 'varray' => CreoleTypes::ARR(), 00104 ); 00105 } 00106 00107 return $instance; 00108 } 00109 }

This file is part of the Creole[php4] library.


Copyright © 2004 Hans Lellelid  
Creole[php4] CVS