summaryrefslogtreecommitdiff
path: root/framework/Data/ActiveRecord/TActiveRecordGateway.php
diff options
context:
space:
mode:
authorwei <>2007-05-08 00:26:41 +0000
committerwei <>2007-05-08 00:26:41 +0000
commit7ff413dbb8050c90b4d78bd999065d4e4673891a (patch)
tree7bfd803f490702f9a4cf3372e3737a618551879c /framework/Data/ActiveRecord/TActiveRecordGateway.php
parenteab6bb13b9efb3e1c6d725368368de4d74b00946 (diff)
minor changes
Diffstat (limited to 'framework/Data/ActiveRecord/TActiveRecordGateway.php')
-rw-r--r--framework/Data/ActiveRecord/TActiveRecordGateway.php19
1 files changed, 11 insertions, 8 deletions
diff --git a/framework/Data/ActiveRecord/TActiveRecordGateway.php b/framework/Data/ActiveRecord/TActiveRecordGateway.php
index 80ce40c0..e081e19c 100644
--- a/framework/Data/ActiveRecord/TActiveRecordGateway.php
+++ b/framework/Data/ActiveRecord/TActiveRecordGateway.php
@@ -93,21 +93,24 @@ class TActiveRecordGateway extends TComponent
$key = $connStr.$tableName;
if(!isset($this->_tables[$key]))
{
+ //call this first to ensure that unserializing the cache
+ //will find the correct driver dependent classes.
+ if(!isset($this->_meta[$connStr]))
+ {
+ Prado::using('System.Data.Common.TDbMetaData');
+ $this->_meta[$connStr] = TDbMetaData::getInstance($connection);
+ }
+
$tableInfo = null;
if(($cache=$this->getManager()->getCache())!==null)
$tableInfo = $cache->get($key);
- if($tableInfo===null)
+ if(empty($tableInfo))
{
- if(!isset($this->_meta[$connStr]))
- {
- Prado::using('System.Data.Common.TDbMetaData');
- $this->_meta[$connStr] = TDbMetaData::getInstance($connection);
- }
$tableInfo = $this->_meta[$connStr]->getTableInfo($tableName);
+ if($cache!==null)
+ $cache->set($key, $tableInfo);
}
$this->_tables[$key] = $tableInfo;
- if($cache!==null)
- $cache->set($key, $tableInfo);
}
return $this->_tables[$key];
}