00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023 require_once 'creole/CreoleTypes.php';
00024
00033 class OCI8Types extends CreoleTypes {
00034
00036 private static $typeMap = array(
00037 'char' => CreoleTypes::CHAR,
00038 'varchar2' => CreoleTypes::VARCHAR,
00039 'long' => CreoleTypes::LONGVARCHAR,
00040 'number' => CreoleTypes::NUMERIC,
00041 'float' => CreoleTypes::FLOAT,
00042 'integer' => CreoleTypes::INTEGER,
00043 'smallint' => CreoleTypes::SMALLINT,
00044 'double' => CreoleTypes::DOUBLE,
00045 'raw' => CreoleTypes::VARBINARY,
00046 'longraw' => CreoleTypes::LONGVARBINARY,
00047 'date' => CreoleTypes::TIMESTAMP,
00048 'blob' => CreoleTypes::BLOB,
00049 'clob' => CreoleTypes::CLOB,
00050 'varray' => CreoleTypes::ARR,
00051 );
00052
00054 private static $reverseMap = null;
00055
00062 public static function getType($nativeType)
00063 {
00064 $t = strtolower($nativeType);
00065 if (isset(self::$typeMap[$t])) {
00066 return self::$typeMap[$t];
00067 } else {
00068 return CreoleTypes::OTHER;
00069 }
00070 }
00071
00080 public static function getNativeType($creoleType)
00081 {
00082 if (self::$reverseMap === null) {
00083 self::$reverseMap = array_flip(self::$typeMap);
00084 }
00085 return @self::$reverseMap[$creoleType];
00086 }
00087
00088 }