From dba57f8d6e2b9d253337554311c79b13e80e58b8 Mon Sep 17 00:00:00 2001 From: Adrian Greeve Date: Mon, 14 Mar 2016 16:01:09 +0800 Subject: [PATCH] MDL-52619 lib: Update of ADODB to 5.20.3 --- lib/adodb/adodb-active-record.inc.php | 2 +- lib/adodb/adodb-active-recordx.inc.php | 2 +- lib/adodb/adodb-csvlib.inc.php | 2 +- lib/adodb/adodb-datadict.inc.php | 2 +- lib/adodb/adodb-error.inc.php | 2 +- lib/adodb/adodb-errorhandler.inc.php | 2 +- lib/adodb/adodb-errorpear.inc.php | 2 +- lib/adodb/adodb-exceptions.inc.php | 2 +- lib/adodb/adodb-iterator.inc.php | 2 +- lib/adodb/adodb-lib.inc.php | 2 +- lib/adodb/adodb-memcache.lib.inc.php | 2 +- lib/adodb/adodb-pager.inc.php | 2 +- lib/adodb/adodb-pear.inc.php | 2 +- lib/adodb/adodb-perf.inc.php | 2 +- lib/adodb/adodb-php4.inc.php | 2 +- lib/adodb/adodb-time.inc.php | 2 +- lib/adodb/adodb.inc.php | 4 ++-- lib/adodb/datadict/datadict-access.inc.php | 2 +- lib/adodb/datadict/datadict-db2.inc.php | 2 +- lib/adodb/datadict/datadict-firebird.inc.php | 2 +- lib/adodb/datadict/datadict-generic.inc.php | 2 +- lib/adodb/datadict/datadict-ibase.inc.php | 2 +- lib/adodb/datadict/datadict-informix.inc.php | 2 +- lib/adodb/datadict/datadict-mssql.inc.php | 2 +- .../datadict/datadict-mssqlnative.inc.php | 2 +- lib/adodb/datadict/datadict-mysql.inc.php | 2 +- lib/adodb/datadict/datadict-oci8.inc.php | 2 +- lib/adodb/datadict/datadict-postgres.inc.php | 2 +- lib/adodb/datadict/datadict-sapdb.inc.php | 2 +- lib/adodb/datadict/datadict-sqlite.inc.php | 2 +- lib/adodb/datadict/datadict-sybase.inc.php | 2 +- lib/adodb/drivers/adodb-access.inc.php | 2 +- lib/adodb/drivers/adodb-ado.inc.php | 2 +- lib/adodb/drivers/adodb-ado5.inc.php | 2 +- lib/adodb/drivers/adodb-ado_access.inc.php | 2 +- lib/adodb/drivers/adodb-ado_mssql.inc.php | 2 +- lib/adodb/drivers/adodb-borland_ibase.inc.php | 2 +- lib/adodb/drivers/adodb-csv.inc.php | 2 +- lib/adodb/drivers/adodb-db2.inc.php | 2 +- lib/adodb/drivers/adodb-db2oci.inc.php | 2 +- lib/adodb/drivers/adodb-db2ora.inc.php | 21 ++++++++++++++----- lib/adodb/drivers/adodb-fbsql.inc.php | 2 +- lib/adodb/drivers/adodb-firebird.inc.php | 2 +- lib/adodb/drivers/adodb-ibase.inc.php | 2 +- lib/adodb/drivers/adodb-informix.inc.php | 2 +- lib/adodb/drivers/adodb-informix72.inc.php | 12 ++++++++--- lib/adodb/drivers/adodb-ldap.inc.php | 2 +- lib/adodb/drivers/adodb-mssql.inc.php | 12 +++++++---- lib/adodb/drivers/adodb-mssql_n.inc.php | 5 ----- lib/adodb/drivers/adodb-mssqlnative.inc.php | 11 ++++++---- lib/adodb/drivers/adodb-mssqlpo.inc.php | 2 +- lib/adodb/drivers/adodb-mysql.inc.php | 3 ++- lib/adodb/drivers/adodb-mysqli.inc.php | 17 ++++++++++----- lib/adodb/drivers/adodb-mysqlpo.inc.php | 2 +- lib/adodb/drivers/adodb-mysqlt.inc.php | 7 +------ lib/adodb/drivers/adodb-netezza.inc.php | 2 +- lib/adodb/drivers/adodb-oci8.inc.php | 2 +- lib/adodb/drivers/adodb-oci805.inc.php | 2 +- lib/adodb/drivers/adodb-oci8po.inc.php | 2 +- lib/adodb/drivers/adodb-oci8quercus.inc.php | 2 +- lib/adodb/drivers/adodb-odbc.inc.php | 2 +- lib/adodb/drivers/adodb-odbc_db2.inc.php | 2 +- lib/adodb/drivers/adodb-odbc_mssql.inc.php | 2 +- lib/adodb/drivers/adodb-odbc_oracle.inc.php | 2 +- lib/adodb/drivers/adodb-odbtp.inc.php | 2 +- lib/adodb/drivers/adodb-odbtp_unicode.inc.php | 2 +- lib/adodb/drivers/adodb-oracle.inc.php | 2 +- lib/adodb/drivers/adodb-pdo.inc.php | 2 +- lib/adodb/drivers/adodb-pdo_mssql.inc.php | 2 +- lib/adodb/drivers/adodb-pdo_mysql.inc.php | 2 +- lib/adodb/drivers/adodb-pdo_oci.inc.php | 2 +- lib/adodb/drivers/adodb-pdo_pgsql.inc.php | 2 +- lib/adodb/drivers/adodb-pdo_sqlite.inc.php | 2 +- lib/adodb/drivers/adodb-postgres.inc.php | 2 +- lib/adodb/drivers/adodb-postgres64.inc.php | 2 +- lib/adodb/drivers/adodb-postgres7.inc.php | 2 +- lib/adodb/drivers/adodb-postgres8.inc.php | 2 +- lib/adodb/drivers/adodb-postgres9.inc.php | 2 +- lib/adodb/drivers/adodb-proxy.inc.php | 2 +- lib/adodb/drivers/adodb-sapdb.inc.php | 2 +- lib/adodb/drivers/adodb-sqlanywhere.inc.php | 2 +- lib/adodb/drivers/adodb-sqlite.inc.php | 2 +- lib/adodb/drivers/adodb-sqlite3.inc.php | 2 +- lib/adodb/drivers/adodb-sqlitepo.inc.php | 2 +- lib/adodb/drivers/adodb-sybase.inc.php | 2 +- lib/adodb/drivers/adodb-sybase_ase.inc.php | 2 +- lib/adodb/drivers/adodb-vfp.inc.php | 2 +- lib/adodb/perf/perf-db2.inc.php | 2 +- lib/adodb/perf/perf-informix.inc.php | 2 +- lib/adodb/perf/perf-mssql.inc.php | 2 +- lib/adodb/perf/perf-mssqlnative.inc.php | 2 +- lib/adodb/perf/perf-mysql.inc.php | 2 +- lib/adodb/perf/perf-oci8.inc.php | 2 +- lib/adodb/perf/perf-postgres.inc.php | 2 +- lib/adodb/pivottable.inc.php | 2 +- lib/adodb/readme_moodle.txt | 6 +++--- lib/adodb/rsfilter.inc.php | 2 +- lib/adodb/toexport.inc.php | 2 +- lib/adodb/tohtml.inc.php | 2 +- lib/thirdpartylibs.xml | 2 +- 100 files changed, 150 insertions(+), 128 deletions(-) diff --git a/lib/adodb/adodb-active-record.inc.php b/lib/adodb/adodb-active-record.inc.php index ad9533ce41a..2c4b87800c3 100644 --- a/lib/adodb/adodb-active-record.inc.php +++ b/lib/adodb/adodb-active-record.inc.php @@ -1,7 +1,7 @@ RecordCount() is used. diff --git a/lib/adodb/datadict/datadict-access.inc.php b/lib/adodb/datadict/datadict-access.inc.php index 5032498641e..0d2f36b2c78 100644 --- a/lib/adodb/datadict/datadict-access.inc.php +++ b/lib/adodb/datadict/datadict-access.inc.php @@ -1,7 +1,7 @@ $_COLONSZ) return $p; + global $_COLONARR, $_COLONSZ; + $v = (integer) substr($p[1], 1); + if ($v > $_COLONSZ) return $p[1]; $_COLONARR[] = $v; return '?'; } +/** + * smart remapping of :0, :1 bind vars to ? ? + * @param string $sql SQL statement + * @param array $arr parameters + * @return array + */ function _colonscope($sql,$arr) { global $_COLONARR,$_COLONSZ; @@ -38,7 +49,7 @@ global $_COLONARR,$_COLONSZ; $_COLONARR = array(); $_COLONSZ = sizeof($arr); - $sql2 = preg_replace_callback('/(:[0-9]+)/', create_function('$m', 'return _colontrack($m[0]);'), $sql); + $sql2 = preg_replace_callback('/(:[0-9]+)/', '_colontrack', $sql); if (empty($_COLONARR)) return array($sql,$arr); diff --git a/lib/adodb/drivers/adodb-fbsql.inc.php b/lib/adodb/drivers/adodb-fbsql.inc.php index 646eb5289e3..b28feb6cf54 100644 --- a/lib/adodb/drivers/adodb-fbsql.inc.php +++ b/lib/adodb/drivers/adodb-fbsql.inc.php @@ -1,6 +1,6 @@ lastQuery = false; - return ifx_close($this->_connectionID); + if($this->_connectionID) { + return ifx_close($this->_connectionID); + } + return true; } } @@ -490,7 +493,10 @@ class ADORecordset_informix72 extends ADORecordSet { is running. All associated result memory for the specified result identifier will automatically be freed. */ function _close() { - return ifx_free_result($this->_queryID); + if($this->_queryID) { + return ifx_free_result($this->_queryID); + } + return true; } } diff --git a/lib/adodb/drivers/adodb-ldap.inc.php b/lib/adodb/drivers/adodb-ldap.inc.php index 86c705d7e9f..2839441cea6 100644 --- a/lib/adodb/drivers/adodb-ldap.inc.php +++ b/lib/adodb/drivers/adodb-ldap.inc.php @@ -1,6 +1,6 @@ _queryID); - $this->_queryID = false; - return $rez; + if($this->_queryID) { + $rez = mssql_free_result($this->_queryID); + $this->_queryID = false; + return $rez; + } + return true; } + // mssql uses a default date like Dec 30 2000 12:00AM static function UnixDate($v) { diff --git a/lib/adodb/drivers/adodb-mssql_n.inc.php b/lib/adodb/drivers/adodb-mssql_n.inc.php index c9163b5fbd5..2bbac5b2892 100644 --- a/lib/adodb/drivers/adodb-mssql_n.inc.php +++ b/lib/adodb/drivers/adodb-mssql_n.inc.php @@ -53,11 +53,6 @@ include_once(ADODB_DIR.'/drivers/adodb-mssql.inc.php'); class ADODB_mssql_n extends ADODB_mssql { var $databaseType = "mssql_n"; - function ADODB_mssqlpo() - { - ADODB_mssql::ADODB_mssql(); - } - function _query($sql,$inputarr=false) { $sql = $this->_appendN($sql); diff --git a/lib/adodb/drivers/adodb-mssqlnative.inc.php b/lib/adodb/drivers/adodb-mssqlnative.inc.php index ae5a11217b2..5d6b02b66c3 100644 --- a/lib/adodb/drivers/adodb-mssqlnative.inc.php +++ b/lib/adodb/drivers/adodb-mssqlnative.inc.php @@ -1,6 +1,6 @@ _queryID); - $this->_queryID = false; - return $rez; + if($this->_queryID) { + $rez = sqlsrv_free_stmt($this->_queryID); + $this->_queryID = false; + return $rez; + } + return true; } // mssql uses a default date like Dec 30 2000 12:00AM diff --git a/lib/adodb/drivers/adodb-mssqlpo.inc.php b/lib/adodb/drivers/adodb-mssqlpo.inc.php index faf25fc910e..d73324446f2 100644 --- a/lib/adodb/drivers/adodb-mssqlpo.inc.php +++ b/lib/adodb/drivers/adodb-mssqlpo.inc.php @@ -1,6 +1,6 @@ fields = mysql_fetch_array($this->_queryID,$this->fetchMode)) { + $this->_updatefields(); $this->_currentRow += 1; return true; } diff --git a/lib/adodb/drivers/adodb-mysqli.inc.php b/lib/adodb/drivers/adodb-mysqli.inc.php index 37937a02ca4..a3b9ea8879b 100644 --- a/lib/adodb/drivers/adodb-mysqli.inc.php +++ b/lib/adodb/drivers/adodb-mysqli.inc.php @@ -1,6 +1,6 @@ _currentRow++; $this->fields = @mysqli_fetch_array($this->_queryID,$this->fetchMode); - if (is_array($this->fields)) return true; + if (is_array($this->fields)) { + $this->_updatefields(); + return true; + } $this->EOF = true; return false; } @@ -1050,11 +1053,15 @@ class ADORecordSet_mysqli extends ADORecordSet{ //if results are attached to this pointer from Stored Proceedure calls, the next standard query will die 2014 //only a problem with persistant connections - while (@mysqli_more_results($this->connection->_connectionID)) { - @mysqli_next_result($this->connection->_connectionID); + if($this->connection->_connectionID) { + while(mysqli_more_results($this->connection->_connectionID)){ + mysqli_next_result($this->connection->_connectionID); + } } - @mysqli_free_result($this->_queryID); + if($this->_queryID) { + mysqli_free_result($this->_queryID); + } $this->_queryID = false; } diff --git a/lib/adodb/drivers/adodb-mysqlpo.inc.php b/lib/adodb/drivers/adodb-mysqlpo.inc.php index 8078a521a5e..fe7ef11e54a 100644 --- a/lib/adodb/drivers/adodb-mysqlpo.inc.php +++ b/lib/adodb/drivers/adodb-mysqlpo.inc.php @@ -1,7 +1,7 @@ adodb AdoDB BSD/GPL - 5.20.1 + 5.20.3 2.1+