[ Index ] |
|
Code source de Symfony 1.0.0 |
1 <?php 2 3 /* 4 * $Id: PgSQLTypes.php,v 1.8 2004/04/09 19:16:05 hlellelid Exp $ 5 * 6 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 7 * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 8 * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 9 * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 10 * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 11 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 12 * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 13 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 14 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 15 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 16 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 17 * 18 * This software consists of voluntary contributions made by many individuals 19 * and is licensed under the LGPL. For more information please see 20 * <http://creole.phpdb.org>. 21 */ 22 23 require_once 'creole/CreoleTypes.php'; 24 25 /** 26 * PostgreSQL types / type map. 27 * 28 * @author Hans Lellelid <hans@xmpl.org> 29 * @version $Revision: 1.8 $ 30 * @package creole.drivers.pgsql 31 */ 32 class PgSQLTypes extends CreoleTypes { 33 34 /** Map PostgreSQL native types to Creole (JDBC) types. */ 35 private static $typeMap = array ( 36 "int2" => CreoleTypes::SMALLINT, 37 "int4" => CreoleTypes::INTEGER, 38 "oid" => CreoleTypes::INTEGER, 39 "int8" => CreoleTypes::BIGINT, 40 "cash" => CreoleTypes::DOUBLE, 41 "money" => CreoleTypes::DOUBLE, 42 "numeric" => CreoleTypes::NUMERIC, 43 "float4" => CreoleTypes::REAL, 44 "float8" => CreoleTypes::DOUBLE, 45 "bpchar" => CreoleTypes::CHAR, 46 "char" => CreoleTypes::CHAR, 47 "char2" => CreoleTypes::CHAR, 48 "char4" => CreoleTypes::CHAR, 49 "char8" => CreoleTypes::CHAR, 50 "char16" => CreoleTypes::CHAR, 51 "varchar" => CreoleTypes::VARCHAR, 52 "text" => CreoleTypes::VARCHAR, 53 "name" => CreoleTypes::VARCHAR, 54 "filename" => CreoleTypes::VARCHAR, 55 "bytea" => CreoleTypes::BINARY, 56 "bool" => CreoleTypes::BOOLEAN, 57 "date" => CreoleTypes::DATE, 58 "time" => CreoleTypes::TIME, 59 "abstime" => CreoleTypes::TIMESTAMP, 60 "timestamp" => CreoleTypes::TIMESTAMP, 61 "timestamptz" => CreoleTypes::TIMESTAMP, 62 "_bool" => CreoleTypes::ARR, 63 "_char" => CreoleTypes::ARR, 64 "_int2" => CreoleTypes::ARR, 65 "_int4" => CreoleTypes::ARR, 66 "_text" => CreoleTypes::ARR, 67 "_oid" => CreoleTypes::ARR, 68 "_varchar" => CreoleTypes::ARR, 69 "_int8" => CreoleTypes::ARR, 70 "_float4" => CreoleTypes::ARR, 71 "_float8" => CreoleTypes::ARR, 72 "_abstime" => CreoleTypes::ARR, 73 "_date" => CreoleTypes::ARR, 74 "_time" => CreoleTypes::ARR, 75 "_timestamp" => CreoleTypes::ARR, 76 "_numeric" => CreoleTypes::ARR, 77 "_bytea" => CreoleTypes::ARR, 78 ); 79 80 /** Reverse lookup map, created on demand. */ 81 private static $reverseMap = null; 82 83 public static function getType($pgsqlType) 84 { 85 $t = strtolower($pgsqlType); 86 if (isset(self::$typeMap[$t])) { 87 return self::$typeMap[$t]; 88 } else { 89 return CreoleTypes::OTHER; 90 } 91 } 92 93 public static function getNativeType($creoleType) 94 { 95 if (self::$reverseMap === null) { 96 self::$reverseMap = array_flip(self::$typeMap); 97 } 98 return @self::$reverseMap[$creoleType]; 99 } 100 101 }
titre
Description
Corps
titre
Description
Corps
titre
Description
Corps
titre
Corps
Généré le : Fri Mar 16 22:42:14 2007 | par Balluche grâce à PHPXref 0.7 |