From: stronk7 Date: Sun, 25 May 2008 17:14:21 +0000 (+0000) Subject: Moving emulate_bound_params() from adodb drivers to adodb_moodle_database. MDL-14984 X-Git-Url: http://git.mjollnir.org/gw?a=commitdiff_plain;h=8ee3065e389e303d9ee2149211400d570905547b;p=moodle.git Moving emulate_bound_params() from adodb drivers to adodb_moodle_database. MDL-14984 --- diff --git a/lib/dml/adodb_moodle_database.php b/lib/dml/adodb_moodle_database.php index 76548fa270..ff2b5532c3 100644 --- a/lib/dml/adodb_moodle_database.php +++ b/lib/dml/adodb_moodle_database.php @@ -495,4 +495,29 @@ abstract class adodb_moodle_database extends moodle_database { return true; } + /** + * Very ugly hack which emulates bound parameters in mssql queries + * where params not supported (UpdateBlob) :-( + */ + protected function emulate_bound_params($sql, array $params=null) { + if (empty($params)) { + return $sql; + } + /// ok, we have verified sql statement with ? and correct number of params + $return = strtok($sql, '?'); + foreach ($params as $param) { + if (is_bool($param)) { + $return .= (int)$param; + } else if (is_null($param)) { + $return .= 'NULL'; + } else if (is_numeric($param)) { + $return .= $param; + } else { + $param = $this->db->qstr($param); + $return .= "$param"; + } + $return .= strtok('?'); + } + return $return; + } } diff --git a/lib/dml/mssql_adodb_moodle_database.php b/lib/dml/mssql_adodb_moodle_database.php index b9055c8523..4ee0080885 100644 --- a/lib/dml/mssql_adodb_moodle_database.php +++ b/lib/dml/mssql_adodb_moodle_database.php @@ -297,31 +297,4 @@ class mssql_adodb_moodle_database extends adodb_moodle_database { return ($returnid ? $id : true); } - - /** - * Very ugly hack which emulates bound parameters in mssql queries - * where params not supported (UpdateBlob) :-( - */ - private function emulate_bound_params($sql, array $params=null) { - if (empty($params)) { - return $sql; - } - // ok, we have verified sql statement with ? and correct number of params - $return = strtok($sql, '?'); - foreach ($params as $param) { - if (is_bool($param)) { - $return .= (int)$param; - } else if (is_null($param)) { - $return .= 'NULL'; - } else if (is_numeric($param)) { - $return .= $param; - } else { - $param = $this->db->qstr($param); - $return .= "$param"; - } - $return .= strtok('?'); - } - return $return; - } - } diff --git a/lib/dml/oci8po_adodb_moodle_database.php b/lib/dml/oci8po_adodb_moodle_database.php index 06f9f75268..e2a9c0aa51 100644 --- a/lib/dml/oci8po_adodb_moodle_database.php +++ b/lib/dml/oci8po_adodb_moodle_database.php @@ -532,32 +532,6 @@ class oci8po_adodb_moodle_database extends adodb_moodle_database { return true; } - /** - * Very ugly hack which emulates bound parameters in mssql queries - * where params not supported (UpdateBlob) :-( - */ - private function emulate_bound_params($sql, array $params=null) { - if (empty($params)) { - return $sql; - } - // ok, we have verified sql statement with ? and correct number of params - $return = strtok($sql, '?'); - foreach ($params as $param) { - if (is_bool($param)) { - $return .= (int)$param; - } else if (is_null($param)) { - $return .= 'NULL'; - } else if (is_numeric($param)) { - $return .= $param; - } else { - $param = $this->db->qstr($param); - $return .= "$param"; - } - $return .= strtok('?'); - } - return $return; - } - /** * This function is used to convert all the Oracle 1-space defaults to the empty string * like a really DIRTY HACK to allow it to work better until all those NOT NULL DEFAULT '' diff --git a/lib/dml/postgres7_adodb_moodle_database.php b/lib/dml/postgres7_adodb_moodle_database.php index 92d544c157..ccabab6d07 100644 --- a/lib/dml/postgres7_adodb_moodle_database.php +++ b/lib/dml/postgres7_adodb_moodle_database.php @@ -424,30 +424,4 @@ class postgres7_adodb_moodle_database extends adodb_moodle_database { public function sql_cast_char2int($fieldname, $text=false) { return ' CAST(' . $fieldname . ' AS INT) '; } - - /** - * Very ugly hack which emulates bound parameters in pg queries - * where params not supported :-( - */ - private function emulate_bound_params($sql, array $params=null) { - if (empty($params)) { - return $sql; - } - // ok, we have verified sql statement with ? and correct number of params - $return = strtok($sql, '?'); - foreach ($params as $param) { - if (is_bool($param)) { - $return .= (int)$param; - } else if (is_null($param)) { - $return .= 'NULL'; - } else if (is_numeric($param)) { - $return .= $param; - } else { - $param = $this->db->qstr($param); - $return .= "$param"; - } - $return .= strtok('?'); - } - return $return; - } }