[ Index ] |
|
Code source de Symfony 1.0.0 |
1 <?php 2 3 /* 4 * $Id: MSSQLTypes.php,v 1.8 2004/07/27 23:16:50 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 * MSSQL types / type map. 27 * 28 * @author Hans Lellelid <hans@xmpl.org> 29 * @version $Revision: 1.8 $ 30 * @package creole.drivers.mssql 31 */ 32 class MSSQLTypes extends CreoleTypes { 33 34 /** Map PostgreSQL native types to Creole (JDBC) types. */ 35 private static $typeMap = array ( 36 "binary" => CreoleTypes::BINARY, 37 "bit" => CreoleTypes::BOOLEAN, 38 "char" => CreoleTypes::CHAR, 39 "datetime" => CreoleTypes::TIMESTAMP, 40 "decimal() identity" => CreoleTypes::DECIMAL, 41 "decimal" => CreoleTypes::DECIMAL, 42 "image" => CreoleTypes::LONGVARBINARY, 43 "int" => CreoleTypes::INTEGER, 44 "int identity" => CreoleTypes::INTEGER, 45 "integer" => CreoleTypes::INTEGER, 46 "money" => CreoleTypes::DECIMAL, 47 "nchar" => CreoleTypes::CHAR, 48 "ntext" => CreoleTypes::LONGVARCHAR, 49 "numeric() identity" => CreoleTypes::NUMERIC, 50 "numeric" => CreoleTypes::NUMERIC, 51 "nvarchar" => CreoleTypes::VARCHAR, 52 "real" => CreoleTypes::REAL, 53 "float" => CreoleTypes::FLOAT, 54 "smalldatetime" => CreoleTypes::TIMESTAMP, 55 "smallint" => CreoleTypes::SMALLINT, 56 "smallint identity" => CreoleTypes::SMALLINT, 57 "smallmoney" => CreoleTypes::DECIMAL, 58 "sysname" => CreoleTypes::VARCHAR, 59 "text" => CreoleTypes::LONGVARCHAR, 60 "timestamp" => CreoleTypes::BINARY, 61 "tinyint identity" => CreoleTypes::TINYINT, 62 "tinyint" => CreoleTypes::TINYINT, 63 "uniqueidentifier" => CreoleTypes::CHAR, 64 "varbinary" => CreoleTypes::VARBINARY, 65 "varchar" => CreoleTypes::VARCHAR, 66 "uniqueidentifier" => CreoleTypes::CHAR, 67 // SQL Server 2000 only 68 "bigint identity" => CreoleTypes::BIGINT, 69 "bigint" => CreoleTypes::BIGINT, 70 "sql_variant" => CreoleTypes::VARCHAR, 71 ); 72 73 /** Reverse lookup map, created on demand. */ 74 private static $reverseMap = null; 75 76 public static function getType($mssqlType) 77 { 78 $t = strtolower($mssqlType); 79 if (isset(self::$typeMap[$t])) { 80 return self::$typeMap[$t]; 81 } else { 82 return CreoleTypes::OTHER; 83 } 84 } 85 86 public static function getNativeType($creoleType) 87 { 88 if (self::$reverseMap === null) { 89 self::$reverseMap = array_flip(self::$typeMap); 90 } 91 return @self::$reverseMap[$creoleType]; 92 } 93 94 }
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 |