From 32b73a0b1dfcd33e07e7fd2b2cf2fd7d42cf48a0 Mon Sep 17 00:00:00 2001 From: wei <> Date: Thu, 12 Apr 2007 12:43:49 +0000 Subject: Add Sqlite driver. --- framework/Data/Common/Pgsql/TPgsqlTableColumn.php | 20 +++++++++++--------- 1 file changed, 11 insertions(+), 9 deletions(-) (limited to 'framework/Data/Common/Pgsql/TPgsqlTableColumn.php') diff --git a/framework/Data/Common/Pgsql/TPgsqlTableColumn.php b/framework/Data/Common/Pgsql/TPgsqlTableColumn.php index 66053a63..a00f4a8f 100644 --- a/framework/Data/Common/Pgsql/TPgsqlTableColumn.php +++ b/framework/Data/Common/Pgsql/TPgsqlTableColumn.php @@ -25,23 +25,25 @@ Prado::using('System.Data.Common.TDbTableColumn'); */ class TPgsqlTableColumn extends TDbTableColumn { + private static $types=array( + 'integer' => array('bit', 'bit varying', 'real', 'serial', 'int', 'integer'), + 'boolean' => array('boolean'), + 'float' => array('bigint', 'bigserial', 'double precision', 'money', 'numeric') + ); + /** * Overrides parent implementation, returns PHP type from the db type. * @return boolean derived PHP primitive type from the column db type. */ public function getPHPType() { - switch(strtolower($this->getDbType())) + $dbtype = strtolower($this->getDbType()); + foreach(self::$types as $type => $dbtypes) { - case 'bit': case 'bit varying': case 'real': case 'serial': case 'int': case 'integer': - return 'integer'; - case 'boolean': - return 'boolean'; - case 'bigint': case 'bigserial': case 'double precision': case 'money': case 'numeric': - return 'float'; - default: - return 'string'; + if(in_array($dbtype, $dbtypes)) + return $type; } + return 'string'; } } -- cgit v1.2.3