From e4f9c142f17ac6e016bef072ef899e71843d670c Mon Sep 17 00:00:00 2001 From: skodak Date: Mon, 27 Oct 2008 11:43:17 +0000 Subject: [PATCH] MDL-17020 dml: native pgsql driver - more resource freeing --- lib/dml/pgsql_native_moodle_database.php | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/lib/dml/pgsql_native_moodle_database.php b/lib/dml/pgsql_native_moodle_database.php index 6a3ee824974..d3e1626b0fe 100644 --- a/lib/dml/pgsql_native_moodle_database.php +++ b/lib/dml/pgsql_native_moodle_database.php @@ -365,6 +365,8 @@ class pgsql_native_moodle_database extends moodle_database { $this->columns[$table][$info->name] = new database_column_info($info); } + pg_free_result($result); + return $this->columns[$table]; } @@ -437,7 +439,7 @@ class pgsql_native_moodle_database extends moodle_database { $this->report_error($sql); return false; } - // no need to free result, we do not expect any here + pg_free_result($result); return true; } @@ -465,7 +467,7 @@ class pgsql_native_moodle_database extends moodle_database { return false; } - + pg_free_result($result); return true; } @@ -652,8 +654,8 @@ class pgsql_native_moodle_database extends moodle_database { if ($returning !== "") { $row = pg_fetch_assoc($result); $params['id'] = reset($row); - pg_free_result($result); } + pg_free_result($result); if (!$returnid) { return true; @@ -726,7 +728,10 @@ class pgsql_native_moodle_database extends moodle_database { $this->writes++; $value = pg_escape_bytea($this->pgsql, $value); $sql = "UPDATE {$this->prefix}$table SET $key = '$value'::bytea WHERE id = $id"; - pg_query($this->pgsql, $sql); + $result = pg_query($this->pgsql, $sql); + if ($result !== false) { + pg_free_result($result); + } } return ($returnid ? $id : true); @@ -803,6 +808,7 @@ class pgsql_native_moodle_database extends moodle_database { return false; } + pg_free_result($result); return true; } @@ -882,6 +888,7 @@ class pgsql_native_moodle_database extends moodle_database { $this->report_error($sql, $params); return false; } + pg_free_result($result); return true; } @@ -910,6 +917,7 @@ class pgsql_native_moodle_database extends moodle_database { $this->report_error($sql, $params); return false; } + pg_free_result($result); return true; }