[ 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/pgsql/ -> PgSQLTypes.php (source)

   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  }


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