diff options
author | ctrlaltca@gmail.com <> | 2011-06-26 09:56:56 +0000 |
---|---|---|
committer | ctrlaltca@gmail.com <> | 2011-06-26 09:56:56 +0000 |
commit | 8dc9d4f7d49bcbeaf4998baf74a4f4459967c1f0 (patch) | |
tree | f2a1a3ddb20418e78e4f0b445866ac2605bff736 /framework/Data | |
parent | f5a87398433ebecefbc62d4fead8a178e32a1f26 (diff) |
applied serialization optimization patch (337)
Diffstat (limited to 'framework/Data')
-rw-r--r-- | framework/Data/ActiveRecord/TActiveRecord.php | 3 | ||||
-rw-r--r-- | framework/Data/SqlMap/Configuration/TParameterProperty.php | 12 | ||||
-rw-r--r-- | framework/Data/SqlMap/Configuration/TResultProperty.php | 16 | ||||
-rw-r--r-- | framework/Data/SqlMap/Configuration/TSqlMapStatement.php | 6 | ||||
-rw-r--r-- | framework/Data/TDbCommand.php | 3 | ||||
-rw-r--r-- | framework/Data/TDbConnection.php | 4 |
6 files changed, 38 insertions, 6 deletions
diff --git a/framework/Data/ActiveRecord/TActiveRecord.php b/framework/Data/ActiveRecord/TActiveRecord.php index 3bbc2dbc..6a709162 100644 --- a/framework/Data/ActiveRecord/TActiveRecord.php +++ b/framework/Data/ActiveRecord/TActiveRecord.php @@ -203,8 +203,7 @@ abstract class TActiveRecord extends TComponent */ public function __sleep() { - $this->_connection=null; - return array_keys(get_object_vars($this)); + return array_diff(parent::__sleep(),array("\0*\0_connection")); } /** diff --git a/framework/Data/SqlMap/Configuration/TParameterProperty.php b/framework/Data/SqlMap/Configuration/TParameterProperty.php index de879c4b..961bfecc 100644 --- a/framework/Data/SqlMap/Configuration/TParameterProperty.php +++ b/framework/Data/SqlMap/Configuration/TParameterProperty.php @@ -134,5 +134,17 @@ class TParameterProperty extends TComponent {
$this->_nullValue = $value;
}
+
+ public function __sleep()
+ {
+ $exprops = array(); $cn = 'TParameterProperty';
+ if ($this->_typeHandler===null) $exprops[] = "\0$cn\0_typeHandler";
+ if ($this->_type===null) $exprops[] = "\0$cn\0_type";
+ if ($this->_column===null) $exprops[] = "\0$cn\0_column";
+ if ($this->_dbType===null) $exprops[] = "\0$cn\0_dbType";
+ if ($this->_property===null) $exprops[] = "\0$cn\0_property";
+ if ($this->_nullValue===null) $exprops[] = "\0$cn\0_nullValue";
+ return array_diff(parent::__sleep(),$exprops);
+ }
}
diff --git a/framework/Data/SqlMap/Configuration/TResultProperty.php b/framework/Data/SqlMap/Configuration/TResultProperty.php index ce32a17d..8d146e66 100644 --- a/framework/Data/SqlMap/Configuration/TResultProperty.php +++ b/framework/Data/SqlMap/Configuration/TResultProperty.php @@ -324,5 +324,21 @@ class TResultProperty extends TComponent }
return $this->getPropertyValueType() == self::ARRAY_TYPE;
}
+
+ public function __sleep()
+ {
+ $exprops = array(); $cn = 'TResultProperty';
+ if ($this->_nullValue===null) $exprops[] = "\0$cn\0_nullValue";
+ if ($this->_propertyName===null) $exprops[] = "\0$cn\0_propertyNama";
+ if ($this->_columnName===null) $exprops[] = "\0$cn\0_columnName";
+ if ($this->_columnIndex==-1) $exprops[] = "\0$cn\0_columnIndex";
+ if ($this->_nestedResultMapName===null) $exprops[] = "\0$cn\0_nestedResultMapName";
+ if ($this->_nestedResultMap===null) $exprops[] = "\0$cn\0_nestedResultMap";
+ if ($this->_valueType===null) $exprops[] = "\0$cn\0_valueType";
+ if ($this->_typeHandler===null) $exprops[] = "\0$cn\0_typeHandler";
+ if ($this->_isLazyLoad===false) $exprops[] = "\0$cn\0_isLazyLoad";
+ if ($this->_select===null) $exprops[] = "\0$cn\0_select";
+ return array_diff(parent::__sleep(),$exprops);
+ }
}
diff --git a/framework/Data/SqlMap/Configuration/TSqlMapStatement.php b/framework/Data/SqlMap/Configuration/TSqlMapStatement.php index 0648d67c..3a62cbed 100644 --- a/framework/Data/SqlMap/Configuration/TSqlMapStatement.php +++ b/framework/Data/SqlMap/Configuration/TSqlMapStatement.php @@ -292,6 +292,12 @@ class TSqlMapStatement extends TComponent if(strlen($type= $this->getResultClass()) > 0)
return $this->createInstanceOf($registry,$type,$row);
}
+
+ public function __sleep()
+ {
+ return array_diff(parent::__sleep(),array("\0TSqlMapStatement\0_resultMap"));
+ }
+
}
/**
diff --git a/framework/Data/TDbCommand.php b/framework/Data/TDbCommand.php index 606099d4..937a44ff 100644 --- a/framework/Data/TDbCommand.php +++ b/framework/Data/TDbCommand.php @@ -58,8 +58,7 @@ class TDbCommand extends TComponent */
public function __sleep()
{
- $this->_statement=null;
- return array_keys(get_object_vars($this));
+ return array_diff(parent::__sleep(),array("\0TDbCommand\0_statement"));
}
/**
diff --git a/framework/Data/TDbConnection.php b/framework/Data/TDbConnection.php index 01cacce2..69420ea1 100644 --- a/framework/Data/TDbConnection.php +++ b/framework/Data/TDbConnection.php @@ -130,8 +130,8 @@ class TDbConnection extends TComponent */
public function __sleep()
{
- $this->close();
- return array_keys(get_object_vars($this));
+// $this->close(); - DO NOT CLOSE the current connection as serializing doesn't neccessarily mean we don't this connection anymore in the current session
+ return array_diff(parent::__sleep(),array("\0TDbConnection\0_pdo","\0TDbConnection\0_active"));
}
/**
|