From 95b032891d6617525636cc7b680117dbb14afba7 Mon Sep 17 00:00:00 2001 From: "christophe.boulain" <> Date: Wed, 19 Jan 2011 14:56:01 +0000 Subject: Merge last changes on "Data" from trunk --- framework/Data/Common/Mssql/TMssqlMetaData.php | 4 +- framework/Data/Common/Mysql/TMysqlMetaData.php | 4 +- framework/Data/Common/Oracle/TOracleMetaData.php | 2 +- framework/Data/Common/Oracle/TOracleTableInfo.php | 3 +- framework/Data/Common/TDbCommandBuilder.php | 3 +- framework/Data/Common/TDbMetaData.php | 3 +- framework/Data/Common/TDbTableColumn.php | 3 +- framework/Data/Common/TDbTableInfo.php | 315 +++++++++++----------- 8 files changed, 171 insertions(+), 166 deletions(-) (limited to 'framework/Data/Common') diff --git a/framework/Data/Common/Mssql/TMssqlMetaData.php b/framework/Data/Common/Mssql/TMssqlMetaData.php index 8309e4ec..2751caf3 100644 --- a/framework/Data/Common/Mssql/TMssqlMetaData.php +++ b/framework/Data/Common/Mssql/TMssqlMetaData.php @@ -53,9 +53,9 @@ class TMssqlMetaData extends TDbMetaData AND t.table_name = :table EOD; if($schemaName!==null) - $sql .= ' AND t.schema_name = :schema'; + $sql .= ' AND t.table_schema = :schema'; if($catalogName!==null) - $sql .= ' AND t.catalog_name = :catalog'; + $sql .= ' AND t.table_catalog = :catalog'; $command = $this->getDbConnection()->createCommand($sql); $command->bindValue(':table', $tableName); diff --git a/framework/Data/Common/Mysql/TMysqlMetaData.php b/framework/Data/Common/Mysql/TMysqlMetaData.php index fad33cea..0e17f52c 100644 --- a/framework/Data/Common/Mysql/TMysqlMetaData.php +++ b/framework/Data/Common/Mysql/TMysqlMetaData.php @@ -263,7 +263,7 @@ class TMysqlMetaData extends TDbMetaData */ protected function getForeignConstraints($schemaName, $tableName) { - $andSchema = $schemaName !== null ? 'AND TABLE_SCHEMA = :schema' : ''; + $andSchema = $schemaName !== null ? 'AND TABLE_SCHEMA LIKE :schema' : ''; $sql = <<getDbConnection()->createCommand($sql); diff --git a/framework/Data/Common/Oracle/TOracleMetaData.php b/framework/Data/Common/Oracle/TOracleMetaData.php index 5fdf1d5c..ac119454 100644 --- a/framework/Data/Common/Oracle/TOracleMetaData.php +++ b/framework/Data/Common/Oracle/TOracleMetaData.php @@ -163,7 +163,7 @@ EOD; $command = $this->getDbConnection()->createCommand($sql); //$command->bindValue(':schema',$schemaName); //$command->bindValue(':table', $tableName); - return intval($command->queryScalar()) === 'VIEW'; + return intval($command->queryScalar() === 'VIEW'); } /** diff --git a/framework/Data/Common/Oracle/TOracleTableInfo.php b/framework/Data/Common/Oracle/TOracleTableInfo.php index c7d373b2..0a6238e0 100644 --- a/framework/Data/Common/Oracle/TOracleTableInfo.php +++ b/framework/Data/Common/Oracle/TOracleTableInfo.php @@ -5,7 +5,7 @@ * * @author Marcos Nobre * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2008 PradoSoft + * @copyright Copyright © 2005-2010 PradoSoft * @license http://www.pradosoft.com/license/ * @version $Id$ * @package System.Data.Common @@ -36,6 +36,7 @@ class TOracleTableInfo extends TComponent */ public function __construct($tableInfo=array(),$primary=array(),$foreign=array()) { + parent::__construct(); $this->_info=$tableInfo; $this->_primaryKeys=$primary; $this->_foreignKeys=$foreign; diff --git a/framework/Data/Common/TDbCommandBuilder.php b/framework/Data/Common/TDbCommandBuilder.php index 0dc13e7e..8619c435 100644 --- a/framework/Data/Common/TDbCommandBuilder.php +++ b/framework/Data/Common/TDbCommandBuilder.php @@ -4,7 +4,7 @@ * * @author Wei Zhuo * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2008 PradoSoft + * @copyright Copyright © 2005-2010 PradoSoft * @license http://www.pradosoft.com/license/ * @version $Id$ * @package System.Data.Common @@ -30,6 +30,7 @@ class TDbCommandBuilder extends TComponent */ public function __construct($connection=null, $tableInfo=null) { + parent::__construct(); $this->setDbConnection($connection); $this->setTableInfo($tableInfo); } diff --git a/framework/Data/Common/TDbMetaData.php b/framework/Data/Common/TDbMetaData.php index bcdf0e46..1a194056 100644 --- a/framework/Data/Common/TDbMetaData.php +++ b/framework/Data/Common/TDbMetaData.php @@ -4,7 +4,7 @@ * * @author Wei Zhuo * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2008 PradoSoft + * @copyright Copyright © 2005-2010 PradoSoft * @license http://www.pradosoft.com/license/ * @version $Id$ * @package System.Data.Common @@ -31,6 +31,7 @@ abstract class TDbMetaData extends TComponent */ public function __construct($conn) { + parent::__construct(); $this->_connection=$conn; } diff --git a/framework/Data/Common/TDbTableColumn.php b/framework/Data/Common/TDbTableColumn.php index 3bb9454b..84fa6c55 100644 --- a/framework/Data/Common/TDbTableColumn.php +++ b/framework/Data/Common/TDbTableColumn.php @@ -4,7 +4,7 @@ * * @author Wei Zhuo * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2008 PradoSoft + * @copyright Copyright © 2005-2010 PradoSoft * @license http://www.pradosoft.com/license/ * @version $Id$ * @package System.Data.Common @@ -30,6 +30,7 @@ class TDbTableColumn extends TComponent */ public function __construct($columnInfo) { + parent::__construct(); $this->_info=$columnInfo; } diff --git a/framework/Data/Common/TDbTableInfo.php b/framework/Data/Common/TDbTableInfo.php index 455dbc33..6cab9230 100644 --- a/framework/Data/Common/TDbTableInfo.php +++ b/framework/Data/Common/TDbTableInfo.php @@ -1,166 +1,167 @@ - * @link http://www.pradosoft.com/ - * @copyright Copyright © 2005-2008 PradoSoft - * @license http://www.pradosoft.com/license/ - * @version $Id$ - * @package System.Data.Common - */ - -/** - * TDbTableInfo class describes the meta data of a database table. - * - * @author Wei Zhuo - * @version $Id$ - * @package System.Data.Common - * @since 3.1 - */ -class TDbTableInfo extends TComponent -{ - private $_info=array(); - - private $_primaryKeys; - private $_foreignKeys; - - private $_columns; - +/** + * TDbTableInfo class file. + * + * @author Wei Zhuo + * @link http://www.pradosoft.com/ + * @copyright Copyright © 2005-2010 PradoSoft + * @license http://www.pradosoft.com/license/ + * @version $Id$ + * @package System.Data.Common + */ + +/** + * TDbTableInfo class describes the meta data of a database table. + * + * @author Wei Zhuo + * @version $Id$ + * @package System.Data.Common + * @since 3.1 + */ +class TDbTableInfo extends TComponent +{ + private $_info=array(); + + private $_primaryKeys; + private $_foreignKeys; + + private $_columns; + private $_lowercase; /** * @var null|array * @since 3.1.7 - */ - private $_names = null; - - /** - * Sets the database table meta data information. - * @param array table column information. - */ - public function __construct($tableInfo=array(),$primary=array(),$foreign=array()) - { - $this->_info=$tableInfo; - $this->_primaryKeys=$primary; - $this->_foreignKeys=$foreign; - $this->_columns=new TMap; - } - - /** - * @param TDbConnection database connection. - * @return TDbCommandBuilder new command builder - */ - public function createCommandBuilder($connection) - { - Prado::using('System.Data.Common.TDbCommandBuilder'); - return new TDbCommandBuilder($connection,$this); - } - - /** - * @param string information array key name - * @param mixed default value if information array value is null - * @return mixed information array value. - */ - protected function getInfo($name,$default=null) - { - return isset($this->_info[$name]) ? $this->_info[$name] : $default; - } - - /** - * @param string information array key name - * @param mixed new information array value. - */ - protected function setInfo($name,$value) - { - $this->_info[$name]=$value; - } - - /** - * @return string name of the table this column belongs to. - */ - public function getTableName() - { - return $this->getInfo('TableName'); - } - - /** - * @return string full name of the table, database dependent. - */ - public function getTableFullName() - { - return $this->getTableName(); - } - - /** - * @return boolean whether the table is a view, default is false. - */ - public function getIsView() - { - return $this->getInfo('IsView',false); - } - - /** - * @return TMap TDbTableColumn column meta data. - */ - public function getColumns() - { - return $this->_columns; - } - - /** - * @param string column id - * @return TDbTableColumn column information. - */ - public function getColumn($name) - { - if(($column = $this->_columns->itemAt($name))!==null) - return $column; - throw new TDbException('dbtableinfo_invalid_column_name', $name, $this->getTableFullName()); - } - - /** - * @param array list of column Id, empty to get all columns. - * @return array table column names (identifier quoted) - */ - public function getColumnNames() + */ + private $_names = null; + + /** + * Sets the database table meta data information. + * @param array table column information. + */ + public function __construct($tableInfo=array(),$primary=array(),$foreign=array()) + { + parent::__construct(); + $this->_info=$tableInfo; + $this->_primaryKeys=$primary; + $this->_foreignKeys=$foreign; + $this->_columns=new TMap; + } + + /** + * @param TDbConnection database connection. + * @return TDbCommandBuilder new command builder + */ + public function createCommandBuilder($connection) + { + Prado::using('System.Data.Common.TDbCommandBuilder'); + return new TDbCommandBuilder($connection,$this); + } + + /** + * @param string information array key name + * @param mixed default value if information array value is null + * @return mixed information array value. + */ + protected function getInfo($name,$default=null) + { + return isset($this->_info[$name]) ? $this->_info[$name] : $default; + } + + /** + * @param string information array key name + * @param mixed new information array value. + */ + protected function setInfo($name,$value) + { + $this->_info[$name]=$value; + } + + /** + * @return string name of the table this column belongs to. + */ + public function getTableName() + { + return $this->getInfo('TableName'); + } + + /** + * @return string full name of the table, database dependent. + */ + public function getTableFullName() + { + return $this->getTableName(); + } + + /** + * @return boolean whether the table is a view, default is false. + */ + public function getIsView() + { + return $this->getInfo('IsView',false); + } + + /** + * @return TMap TDbTableColumn column meta data. + */ + public function getColumns() + { + return $this->_columns; + } + + /** + * @param string column id + * @return TDbTableColumn column information. + */ + public function getColumn($name) + { + if(($column = $this->_columns->itemAt($name))!==null) + return $column; + throw new TDbException('dbtableinfo_invalid_column_name', $name, $this->getTableFullName()); + } + + /** + * @param array list of column Id, empty to get all columns. + * @return array table column names (identifier quoted) + */ + public function getColumnNames() { if($this->_names===null) - { - $this->_names=array(); - foreach($this->getColumns() as $column) + { + $this->_names=array(); + foreach($this->getColumns() as $column) $this->_names[] = $column->getColumnName(); - } - return $this->_names; - } - - /** - * @return string[] names of primary key columns. - */ - public function getPrimaryKeys() - { - return $this->_primaryKeys; - } - - /** - * @return array tuples of foreign table and column name. - */ - public function getForeignKeys() - { - return $this->_foreignKeys; - } - - /** - * @return array lowercased column key names mapped to normal column ids. - */ - public function getLowerCaseColumnNames() - { - if($this->_lowercase===null) - { - $this->_lowercase=array(); - foreach($this->getColumns()->getKeys() as $key) - $this->_lowercase[strtolower($key)] = $key; - } - return $this->_lowercase; - } -} \ No newline at end of file + } + return $this->_names; + } + + /** + * @return string[] names of primary key columns. + */ + public function getPrimaryKeys() + { + return $this->_primaryKeys; + } + + /** + * @return array tuples of foreign table and column name. + */ + public function getForeignKeys() + { + return $this->_foreignKeys; + } + + /** + * @return array lowercased column key names mapped to normal column ids. + */ + public function getLowerCaseColumnNames() + { + if($this->_lowercase===null) + { + $this->_lowercase=array(); + foreach($this->getColumns()->getKeys() as $key) + $this->_lowercase[strtolower($key)] = $key; + } + return $this->_lowercase; + } +} -- cgit v1.2.3