[ Index ]
 

Code source de Symfony 1.0.0

Accédez au Source d'autres logiciels libresSoutenez Angelica Josefina !

title

Body

[fermer]

/lib/vendor/creole/drivers/mssql/ -> MSSQLTypes.php (source)

   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  }


Généré le : Fri Mar 16 22:42:14 2007 par Balluche grâce à PHPXref 0.7