diff --git a/core/trunk/core/class/class_db.php b/core/trunk/core/class/class_db.php index 20c578076b23b3b9225f936586f231e2223a8d55..4ca127ab956b996acb67159f0c4e0f52fb211830 100644 --- a/core/trunk/core/class/class_db.php +++ b/core/trunk/core/class/class_db.php @@ -62,7 +62,7 @@ class dbquery extends functions * SQL link identifier * Integer */ - private $_sqlLink; // sql link identifier + public $_sqlLink; // sql link identifier /** @@ -319,6 +319,9 @@ class dbquery extends functions */ public function query($sqlQuery, $catchError = false, $noFilter = false) { + if (!$this->_sqlLink) { + $this->connect(); + } $canExecute = true; // if filter, we looking for ; or -- in the sql query if (!$noFilter) { @@ -351,7 +354,7 @@ class dbquery extends functions break; case 'POSTGRESQL' : - $this->query = @pg_query($sqlQuery); + $this->query = @pg_query($this->_sqlLink, $sqlQuery); break; case 'SQLSERVER' : @@ -407,7 +410,7 @@ class dbquery extends functions case 'SQLSERVER' : break; case 'POSTGRESQL' : - @pg_query('BEGIN'); + @pg_query($this->_sqlLink, 'BEGIN'); break; case 'ORACLE' : break; @@ -424,7 +427,7 @@ class dbquery extends functions case 'SQLSERVER' : break; case 'POSTGRESQL' : - @pg_query('ROLLBACK'); + @pg_query($this->_sqlLink, 'ROLLBACK'); break; case 'ORACLE' : break; @@ -441,7 +444,7 @@ class dbquery extends functions case 'SQLSERVER' : break; case 'POSTGRESQL' : - @pg_query('COMMIT'); + @pg_query($this->_sqlLink, 'COMMIT'); break; case 'ORACLE' : break; diff --git a/core/trunk/core/tests/class/DataAccessService_Database.php b/core/trunk/core/tests/class/DataAccessService_Database.php index 6037345fa9b20b1876f48e025a9b007c60b03e8e..6da9d2da790177dfd7124c99faf2e403ddd5d06c 100644 --- a/core/trunk/core/tests/class/DataAccessService_Database.php +++ b/core/trunk/core/tests/class/DataAccessService_Database.php @@ -363,6 +363,7 @@ class DataAccessService_Database public function updateData($objectElement, $dataObject) { + global $argv; $updateParts = array(); $tableExpression = $this->createFromExpression($objectElement); @@ -388,7 +389,11 @@ class DataAccessService_Database //echo "<pre>UPDATE QUERY = " . $updateQuery . "</pre>"; try { - //$this->databaseObject->connect(); + if (isset($argv) && count($argv) > 0) { + //no new database connection, maybe in transaction + } else { + $this->databaseObject->connect(); + } $result = $this->databaseObject->query( $updateQuery, $catchErrors=true