From: <var...@us...> - 2017-10-03 16:33:59
|
Revision: 10037 http://sourceforge.net/p/phpwiki/code/10037 Author: vargenau Date: 2017-10-03 16:33:54 +0000 (Tue, 03 Oct 2017) Log Message: ----------- Update Adodb to version 5.20.9 Modified Paths: -------------- trunk/lib/WikiDB/adodb/adodb-active-record.inc.php trunk/lib/WikiDB/adodb/adodb-active-recordx.inc.php trunk/lib/WikiDB/adodb/adodb-csvlib.inc.php trunk/lib/WikiDB/adodb/adodb-datadict.inc.php trunk/lib/WikiDB/adodb/adodb-error.inc.php trunk/lib/WikiDB/adodb/adodb-errorhandler.inc.php trunk/lib/WikiDB/adodb/adodb-errorpear.inc.php trunk/lib/WikiDB/adodb/adodb-exceptions.inc.php trunk/lib/WikiDB/adodb/adodb-iterator.inc.php trunk/lib/WikiDB/adodb/adodb-lib.inc.php trunk/lib/WikiDB/adodb/adodb-memcache.lib.inc.php trunk/lib/WikiDB/adodb/adodb-pager.inc.php trunk/lib/WikiDB/adodb/adodb-pear.inc.php trunk/lib/WikiDB/adodb/adodb-perf.inc.php trunk/lib/WikiDB/adodb/adodb-php4.inc.php trunk/lib/WikiDB/adodb/adodb-time.inc.php trunk/lib/WikiDB/adodb/adodb.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-access.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-db2.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-firebird.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-generic.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-ibase.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-informix.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-mssql.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-mssqlnative.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-mysql.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-oci8.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-postgres.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-sapdb.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-sqlite.inc.php trunk/lib/WikiDB/adodb/datadict/datadict-sybase.inc.php trunk/lib/WikiDB/adodb/docs/changelog.md trunk/lib/WikiDB/adodb/drivers/adodb-access.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-ado.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-ado5.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-csv.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-db2.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-db2oci.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-db2ora.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-informix.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-mysqlpo.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-oci8quercus.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-odbc_db2.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-odbc_mssql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-odbc_oracle.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-odbtp.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-odbtp_unicode.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-oracle.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-pdo.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-pdo_mssql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-pdo_mysql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-pdo_oci.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-pdo_pgsql.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-pdo_sqlite.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-postgres.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-postgres64.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-postgres7.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-postgres8.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-postgres9.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-proxy.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-sapdb.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-sqlanywhere.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-sqlite.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-sqlite3.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-sqlitepo.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-sybase.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-sybase_ase.inc.php trunk/lib/WikiDB/adodb/drivers/adodb-vfp.inc.php trunk/lib/WikiDB/adodb/pear/Auth/Container/ADOdb.php trunk/lib/WikiDB/adodb/perf/perf-db2.inc.php trunk/lib/WikiDB/adodb/perf/perf-informix.inc.php trunk/lib/WikiDB/adodb/perf/perf-mssql.inc.php trunk/lib/WikiDB/adodb/perf/perf-mssqlnative.inc.php trunk/lib/WikiDB/adodb/perf/perf-mysql.inc.php trunk/lib/WikiDB/adodb/perf/perf-oci8.inc.php trunk/lib/WikiDB/adodb/perf/perf-postgres.inc.php trunk/lib/WikiDB/adodb/pivottable.inc.php trunk/lib/WikiDB/adodb/rsfilter.inc.php trunk/lib/WikiDB/adodb/server.php trunk/lib/WikiDB/adodb/session/adodb-compress-bzip2.php trunk/lib/WikiDB/adodb/session/adodb-compress-gzip.php trunk/lib/WikiDB/adodb/session/adodb-cryptsession.php trunk/lib/WikiDB/adodb/session/adodb-cryptsession2.php trunk/lib/WikiDB/adodb/session/adodb-encrypt-mcrypt.php trunk/lib/WikiDB/adodb/session/adodb-encrypt-md5.php trunk/lib/WikiDB/adodb/session/adodb-encrypt-secret.php trunk/lib/WikiDB/adodb/session/adodb-session-clob.php trunk/lib/WikiDB/adodb/session/adodb-session-clob2.php trunk/lib/WikiDB/adodb/session/adodb-session.php trunk/lib/WikiDB/adodb/session/adodb-session2.php trunk/lib/WikiDB/adodb/session/old/adodb-cryptsession.php trunk/lib/WikiDB/adodb/session/old/adodb-session-clob.php trunk/lib/WikiDB/adodb/session/old/adodb-session.php trunk/lib/WikiDB/adodb/toexport.inc.php trunk/lib/WikiDB/adodb/tohtml.inc.php trunk/pgsrc/ReleaseNotes Removed Paths: ------------- trunk/lib/WikiDB/adodb/0001-XML-add-support-for-DESCR-tags-for-tables-fields.patch trunk/lib/WikiDB/adodb/fix-202.php trunk/lib/WikiDB/adodb/fix-226.php trunk/lib/WikiDB/adodb/nbproject/ trunk/lib/WikiDB/adodb/pr265.php trunk/lib/WikiDB/adodb/test.xml Deleted: trunk/lib/WikiDB/adodb/0001-XML-add-support-for-DESCR-tags-for-tables-fields.patch =================================================================== --- trunk/lib/WikiDB/adodb/0001-XML-add-support-for-DESCR-tags-for-tables-fields.patch 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/0001-XML-add-support-for-DESCR-tags-for-tables-fields.patch 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,60 +0,0 @@ -From 9fbb2c7751c0fdb89062a87910730ea9ccb5d04c Mon Sep 17 00:00:00 2001 -From: peterdd <dd...@li...> -Date: Thu, 4 Aug 2016 04:10:12 +0200 -Subject: [PATCH] XML: add support for 'DESCR' tags for tables/fields - -Fixes #265 - -Signed-off-by: Damien Regad <dr...@ma...> - -Original commits squashed; commit message reworded; updated changelog. ---- - adodb-xmlschema03.inc.php | 12 ++++++++++++ - docs/changelog.md | 1 + - 2 files changed, 13 insertions(+) - -diff --git a/adodb-xmlschema03.inc.php b/adodb-xmlschema03.inc.php -index c1ecb88..794f5e2 100644 ---- a/adodb-xmlschema03.inc.php -+++ b/adodb-xmlschema03.inc.php -@@ -347,6 +347,14 @@ class dbTable extends dbObject { - */ - function _tag_cdata( &$parser, $cdata ) { - switch( $this->currentElement ) { -+ // Table or field comment -+ case 'DESCR': -+ if( isset( $this->current_field ) ) { -+ $this->addFieldOpt( $this->current_field, $this->currentElement, $cdata ); -+ } else { -+ $this->addTableComment( $cdata ); -+ } -+ break; - // Table/field constraint - case 'CONSTRAINT': - if( isset( $this->current_field ) ) { -@@ -511,6 +519,10 @@ class dbTable extends dbObject { - return $this->opts; - } - -+ function addTableComment( $opt ) { -+ $this->opts['comment'] = $opt; -+ return $this->opts; -+ } - - /** - * Generates the SQL that will create the table in the database -diff --git a/docs/changelog.md b/docs/changelog.md -index 742f4e4..1fe10f4 100644 ---- a/docs/changelog.md -+++ b/docs/changelog.md -@@ -44,6 +44,7 @@ Older changelogs: - - sqlite: Fix Metataypes mapping. #177 - - sqlite: driver did not support metaForeignKeys. #179 - - session: add 'httponly' flag to cookie. #190 -+- xml: add support for 'DESCR' tags for tables/fields. #265 - - ## 5.20.6 - 31-Aug-2016 - --- -2.7.4 - Modified: trunk/lib/WikiDB/adodb/adodb-active-record.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-active-record.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-active-record.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Latest version is available at http://adodb.sourceforge.net Modified: trunk/lib/WikiDB/adodb/adodb-active-recordx.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-active-recordx.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-active-recordx.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Latest version is available at http://adodb.sourceforge.net Modified: trunk/lib/WikiDB/adodb/adodb-csvlib.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-csvlib.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-csvlib.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -8,7 +8,7 @@ /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-datadict.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-datadict.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-datadict.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-error.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-error.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-error.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** - * @version v5.20.7 20-Sep-2016 + * @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-errorhandler.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-errorhandler.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-errorhandler.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** - * @version v5.20.7 20-Sep-2016 + * @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-errorpear.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-errorpear.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-errorpear.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** - * @version v5.20.7 20-Sep-2016 + * @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-exceptions.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-exceptions.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-exceptions.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - * @version v5.20.7 20-Sep-2016 + * @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-iterator.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-iterator.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-iterator.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-lib.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-lib.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-lib.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -6,7 +6,7 @@ $ADODB_INCLUDED_LIB = 1; /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-memcache.lib.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-memcache.lib.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-memcache.lib.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -11,7 +11,7 @@ /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-pager.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-pager.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-pager.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-pear.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-pear.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-pear.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** - * @version v5.20.7 20-Sep-2016 + * @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-perf.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-perf.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-perf.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-php4.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-php4.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-php4.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/adodb-time.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb-time.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb-time.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -3,7 +3,7 @@ ADOdb Date Library, part of the ADOdb abstraction library Download: http://adodb.sourceforge.net/#download -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Modified: trunk/lib/WikiDB/adodb/adodb.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/adodb.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/adodb.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -14,7 +14,7 @@ /** \mainpage - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community @@ -232,7 +232,7 @@ /** * ADODB version as a string. */ - $ADODB_vers = 'v5.20.7 20-Sep-2016'; + $ADODB_vers = 'v5.20.9 21-Dec-2016'; /** * Determines whether recordset->RecordCount() is used. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-access.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-access.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-access.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-db2.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-db2.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-db2.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-firebird.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-firebird.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-firebird.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-generic.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-generic.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-generic.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-ibase.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-ibase.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-ibase.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-informix.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-informix.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-informix.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-mssql.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-mssql.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-mssql.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-mssqlnative.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-mssqlnative.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-mssqlnative.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. @@ -146,20 +146,70 @@ return $sql; } - /* - function AlterColumnSQL($tabname, $flds, $tableflds='', $tableoptions='') + function DefaultConstraintname($tabname, $colname) { + $constraintname = false; + $rs = $this->connection->Execute( + "SELECT name FROM sys.default_constraints + WHERE object_name(parent_object_id) = '$tabname' + AND col_name(parent_object_id, parent_column_id) = '$colname'" + ); + if ( is_object($rs) ) { + $row = $rs->FetchRow(); + $constraintname = $row['name']; + } + return $constraintname; + } + + function AlterColumnSQL($tabname, $flds, $tableflds='',$tableoptions='') + { $tabname = $this->TableName ($tabname); $sql = array(); - list($lines,$pkey) = $this->_GenFields($flds); + + list($lines,$pkey,$idxs) = $this->_GenFields($flds); + $alter = 'ALTER TABLE ' . $tabname . $this->alterCol . ' '; foreach($lines as $v) { - $sql[] = "ALTER TABLE $tabname $this->alterCol $v"; + $not_null = false; + if ($not_null = preg_match('/NOT NULL/i',$v)) { + $v = preg_replace('/NOT NULL/i','',$v); + } + if (preg_match('/^([^ ]+) .*DEFAULT (\'[^\']+\'|\"[^\"]+\"|[^ ]+)/',$v,$matches)) { + list(,$colname,$default) = $matches; + $v = preg_replace('/^' . preg_quote($colname) . '\s/', '', $v); + $t = trim(str_replace('DEFAULT '.$default,'',$v)); + if ( $constraintname = $this->DefaultConstraintname($tabname,$colname) ) { + $sql[] = 'ALTER TABLE '.$tabname.' DROP CONSTRAINT '. $constraintname; + } + if ($not_null) { + $sql[] = $alter . $colname . ' ' . $t . ' NOT NULL'; + } else { + $sql[] = $alter . $colname . ' ' . $t ; + } + $sql[] = 'ALTER TABLE ' . $tabname + . ' ADD CONSTRAINT DF__' . $tabname . '__' . $colname . '__' . dechex(rand()) + . ' DEFAULT ' . $default . ' FOR ' . $colname; + } else { + $colname = strtok($v," "); + if ( $constraintname = $this->DefaultConstraintname($tabname,$colname) ) { + $sql[] = 'ALTER TABLE '.$tabname.' DROP CONSTRAINT '. $constraintname; + } + if ($not_null) { + $sql[] = $alter . $v . ' NOT NULL'; + } else { + $sql[] = $alter . $v; + } + } } - + if (is_array($idxs)) { + foreach($idxs as $idx => $idxdef) { + $sql_idxs = $this->CreateIndexSql($idx, $tabname, $idxdef['cols'], $idxdef['opts']); + $sql = array_merge($sql, $sql_idxs); + } + } return $sql; } - */ + /** * Drop a column, syntax is ALTER TABLE table DROP COLUMN column,column * @@ -176,10 +226,12 @@ if (!is_array($flds)) $flds = explode(',',$flds); $f = array(); - $s = 'ALTER TABLE ' . $tabname . ' DROP COLUMN '; + $s = 'ALTER TABLE ' . $tabname; foreach($flds as $v) { - //$f[] = "\n$this->dropCol ".$this->NameQuote($v); - $f[] = $this->NameQuote($v); + if ( $constraintname = $this->DefaultConstraintname($tabname,$v) ) { + $sql[] = 'ALTER TABLE ' . $tabname . ' DROP CONSTRAINT ' . $constraintname; + } + $f[] = ' DROP COLUMN ' . $this->NameQuote($v); } $s .= implode(', ',$f); $sql[] = $s; Modified: trunk/lib/WikiDB/adodb/datadict/datadict-mysql.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-mysql.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-mysql.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-oci8.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-oci8.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-oci8.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-postgres.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-postgres.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-postgres.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-sapdb.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-sapdb.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-sapdb.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-sqlite.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-sqlite.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-sqlite.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/datadict/datadict-sybase.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/datadict/datadict-sybase.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/datadict/datadict-sybase.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/docs/changelog.md =================================================================== --- trunk/lib/WikiDB/adodb/docs/changelog.md 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/docs/changelog.md 2017-10-03 16:33:54 UTC (rev 10037) @@ -5,6 +5,21 @@ [v3.x](changelog_v3.x.md), [v2.x](changelog_v2.x.md). +## 5.20.9 - 21-Dec-2016 + +- mssql: fix syntax error in version matching regex #305 + +## 5.20.8 - 17-Dec-2016 + +- mssql: support MSSQL Server 2016 and later #294 +- mssql: fix Find() returning no results. #298 +- mssql: fix Sequence name forced to 'adodbseq'. #295, #300 +- mssql: fix GenId() not returning next sequence value with SQL Server 2005/2008. #302 +- mssql: fix drop/alter column with existing default constraint. #290 +- mssql: fix PHP notice in MetaColumns(). #289 +- oci8po: fix inconsistent variable binding in SelectLimit() #288 +- oci8po: fix SelectLimit() with prepared statements #282 + ## 5.20.7 - 20-Sep-2016 - security: Fix SQL injection in PDO drivers qstr() method (CVE-2016-7405). #226 @@ -28,7 +43,7 @@ - xml: Fix PHP strict warning. #260 - xml: remove calls to 'unset($this)' (PHP 7.1 compatibility). #257 -## 5.20.4 - 30-Mar-2016 +## 5.20.4 - 31-Mar-2016 - adodb: Fix BulkBind() param count validation. #199 - mysqli: fix PHP warning in recordset destructor. #217 @@ -41,6 +56,7 @@ ## 5.20.2 - 27-Dec-2015 - adodb: Remove a couple leftover PHP 4.x constructors (PHP7 compatibility). #139 +- db2ora: Remove deprecated preg_replace '/e' flag (PHP7 compatibility). #168 - mysql: MoveNext() now respects ADODB_ASSOC_CASE. #167 - mssql, mysql, informix: Avoid PHP warning when closing recordset from destructor. #170 Modified: trunk/lib/WikiDB/adodb/drivers/adodb-access.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-access.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-access.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-ado.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-ado.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-ado.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-ado5.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-ado5.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-ado5.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-ado_access.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-ado_mssql.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-borland_ibase.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-csv.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-csv.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-csv.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-db2.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-db2.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-db2.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Modified: trunk/lib/WikiDB/adodb/drivers/adodb-db2oci.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-db2oci.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-db2oci.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-db2ora.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-db2ora.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-db2ora.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-fbsql.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-firebird.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-ibase.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-informix.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-informix.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-informix.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** -* @version v5.20.7 20-Sep-2016 +* @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-informix72.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim. All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-ldap.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-mssql.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-mssqlnative.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. @@ -125,6 +125,7 @@ var $_bindInputArray = true; var $_dropSeqSQL = "drop table %s"; var $connectionInfo = array(); + var $cachedSchemaFlush = false; var $sequences = false; var $mssql_version = ''; @@ -143,25 +144,22 @@ sqlsrv_configure('WarningsReturnAsErrors', 0); } } + + /** + * Initializes the SQL Server version. + * Dies if connected to a non-supported version (2000 and older) + */ function ServerVersion() { $data = $this->ServerInfo(); - if (preg_match('/^09/',$data['version'])){ - /* - * SQL Server 2005 - */ - $this->mssql_version = 9; - } elseif (preg_match('/^10/',$data['version'])){ - /* - * SQL Server 2008 - */ - $this->mssql_version = 10; - } elseif (preg_match('/^11/',$data['version'])){ - /* - * SQL Server 2012 - */ - $this->mssql_version = 11; - } else + preg_match('/^\d{2}/', $data['version'], $matches); + $version = (int)reset($matches); + + // We only support SQL Server 2005 and up + if($version < 9) { die("SQL SERVER VERSION {$data['version']} NOT SUPPORTED IN mssqlnative DRIVER"); + } + + $this->mssql_version = $version; } function ServerInfo() { @@ -211,10 +209,10 @@ switch($this->mssql_version){ case 9: case 10: - return $this->GenID2008(); + return $this->GenID2008($seq, $start); break; - case 11: - return $this->GenID2012(); + default: + return $this->GenID2012($seq, $start); break; } } @@ -221,16 +219,16 @@ function CreateSequence($seq='adodbseq',$start=1) { - if (!$this->mssql_vesion) + if (!$this->mssql_version) $this->ServerVersion(); switch($this->mssql_version){ case 9: case 10: - return $this->CreateSequence2008(); + return $this->CreateSequence2008($seq, $start); break; - case 11: - return $this->CreateSequence2012(); + default: + return $this->CreateSequence2012($seq, $start); break; } @@ -258,7 +256,7 @@ /** * Proper Sequences Only available to Server 2012 and up */ - function CreateSequence2012($seq='adodb',$start=1){ + function CreateSequence2012($seq='adodbseq',$start=1){ if (!$this->sequences){ $sql = "SELECT name FROM sys.sequences"; $this->sequences = $this->GetCol($sql); @@ -289,7 +287,7 @@ } $num = $this->GetOne("select id from $seq"); sqlsrv_commit($this->_connectionID); - return true; + return $num; } /** * Only available to Server 2012 and up @@ -313,7 +311,7 @@ } if (!is_array($this->sequences) || is_array($this->sequences) && !in_array($seq,$this->sequences)){ - $this->CreateSequence2012($seq='adodbseq',$start=1); + $this->CreateSequence2012($seq, $start); } $num = $this->GetOne("SELECT NEXT VALUE FOR $seq"); @@ -468,10 +466,9 @@ function ErrorNo() { - if ($this->_logsql && $this->_errorCode !== false) return $this->_errorCode; $err = sqlsrv_errors(SQLSRV_ERR_ALL); if($err[0]) return $err[0]['code']; - else return -1; + else return 0; } // returns true or false @@ -569,7 +566,7 @@ $insert = false; // handle native driver flaw for retrieving the last insert ID - if(preg_match('/^\W*insert\s(?:(?:(?:\'\')*\'[^\']+\'(?:\'\')*)|[^;\'])*;?$/i', $sql)) { + if(preg_match('/^\W*insert[\s\w()",.]+values\s*\((?:[^;\']|\'\'|(?:(?:\'\')*\'[^\']+\'(?:\'\')*))*;?$/i', $sql)) { $insert = true; $sql .= '; '.$this->identitySQL; // select scope_identity() } Modified: trunk/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-mssqlpo.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** -* @version v5.20.7 20-Sep-2016 +* @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-mysql.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-mysqli.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-mysqlpo.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-mysqlpo.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-mysqlpo.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-mysqlt.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-netezza.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Modified: trunk/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-oci8.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,7 +1,7 @@ <?php /* - @version v5.20.7 20-Sep-2016 + @version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim. All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community @@ -703,9 +703,19 @@ * This implementation does not appear to work with oracle 8.0.5 or earlier. * Comment out this function then, and the slower SelectLimit() in the base * class will be used. + * + * Note: FIRST_ROWS hinting is only used if $sql is a string; when + * processing a prepared statement's handle, no hinting is performed. */ function SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0) { + // Since the methods used to limit the number of returned rows rely + // on modifying the provided SQL query, we can't work with prepared + // statements so we just extract the SQL string. + if(is_array($sql)) { + $sql = $sql[0]; + } + // seems that oracle only supports 1 hint comment in 8i if ($this->firstrows) { if ($nrows > 500 && $nrows < 1000) { @@ -731,20 +741,13 @@ if ($offset > 0) { $nrows += $offset; } - //$inputarr['adodb_rownum'] = $nrows; - if ($this->databaseType == 'oci8po') { - $sql = "select * from (".$sql.") where rownum <= ?"; - } else { - $sql = "select * from (".$sql.") where rownum <= :adodb_offset"; - } + $sql = "select * from (".$sql.") where rownum <= :adodb_offset"; $inputarr['adodb_offset'] = $nrows; $nrows = -1; } // note that $nrows = 0 still has to work ==> no rows returned - $rs = ADOConnection::SelectLimit($sql,$nrows,$offset,$inputarr,$secs2cache); - return $rs; - + return ADOConnection::SelectLimit($sql, $nrows, $offset, $inputarr, $secs2cache); } else { // Algorithm by Tomas V V Cox, from PEAR DB oci8.php @@ -758,13 +761,19 @@ if (is_array($inputarr)) { foreach($inputarr as $k => $v) { + $i=0; + if ($this->databaseType == 'oci8po') { + $bv_name = ":".$i++; + } else { + $bv_name = ":".$k; + } if (is_array($v)) { // suggested by g.giunta@libero. if (sizeof($v) == 2) { - oci_bind_by_name($stmt,":$k",$inputarr[$k][0],$v[1]); + oci_bind_by_name($stmt,$bv_name,$inputarr[$k][0],$v[1]); } else { - oci_bind_by_name($stmt,":$k",$inputarr[$k][0],$v[1],$v[2]); + oci_bind_by_name($stmt,$bv_name,$inputarr[$k][0],$v[1],$v[2]); } } else { $len = -1; @@ -774,7 +783,7 @@ if (isset($bindarr)) { // is prepared sql, so no need to oci_bind_by_name again $bindarr[$k] = $v; } else { // dynamic sql, so rebind every time - oci_bind_by_name($stmt,":$k",$inputarr[$k],$len); + oci_bind_by_name($stmt,$bv_name,$inputarr[$k],$len); } } } @@ -801,24 +810,19 @@ } $offset += 1; // in Oracle rownum starts at 1 - if ($this->databaseType == 'oci8po') { - $sql = "SELECT $hint $fields FROM". - "(SELECT rownum as adodb_rownum, $fields FROM". - " ($sql) WHERE rownum <= ?". - ") WHERE adodb_rownum >= ?"; - } else { - $sql = "SELECT $hint $fields FROM". - "(SELECT rownum as adodb_rownum, $fields FROM". - " ($sql) WHERE rownum <= :adodb_nrows". - ") WHERE adodb_rownum >= :adodb_offset"; - } - $inputarr['adodb_nrows'] = $nrows; - $inputarr['adodb_offset'] = $offset; + $sql = "SELECT $hint $fields FROM". + "(SELECT rownum as adodb_rownum, $fields FROM". + " ($sql) WHERE rownum <= :adodb_nrows". + ") WHERE adodb_rownum >= :adodb_offset"; + $inputarr['adodb_nrows'] = $nrows; + $inputarr['adodb_offset'] = $offset; if ($secs2cache > 0) { $rs = $this->CacheExecute($secs2cache, $sql,$inputarr); } - else $rs = $this->Execute($sql,$inputarr); + else { + $rs = $this->Execute($sql, $inputarr); + } return $rs; } } Modified: trunk/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-oci805.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /** - * @version v5.20.7 20-Sep-2016 + * @version v5.20.9 21-Dec-2016 * @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. * @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community * Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-oci8po.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim. All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. @@ -56,6 +56,21 @@ return ADOConnection::Execute($sql,$inputarr); } + /** + * The optimizations performed by ADODB_oci8::SelectLimit() are not + * compatible with the oci8po driver, so we rely on the slower method + * from the base class. + * We can't properly handle prepared statements either due to preprocessing + * of query parameters, so we treat them as regular SQL statements. + */ + function SelectLimit($sql, $nrows=-1, $offset=-1, $inputarr=false, $secs2cache=0) + { + if(is_array($sql)) { +// $sql = $sql[0]; + } + return ADOConnection::SelectLimit($sql, $nrows, $offset, $inputarr, $secs2cache); + } + // emulate handling of parameters ? ?, replacing with :bind0 :bind1 function _query($sql,$inputarr=false) { @@ -74,11 +89,14 @@ $sql = str_replace($qmMatch, $qmReplace, $sql); } + // Replace parameters if any were found $sqlarr = explode('?',$sql); - $sql = $sqlarr[0]; + if(count($sqlarr) > 1) { + $sql = $sqlarr[0]; - foreach($inputarr as $k => $v) { - $sql .= ":$k" . $sqlarr[++$i]; + foreach ($inputarr as $k => $v) { + $sql .= ":$k" . $sqlarr[++$i]; + } } $sql = str_replace('-QUESTIONMARK-', '?', $sql); Modified: trunk/lib/WikiDB/adodb/drivers/adodb-oci8quercus.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-oci8quercus.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-oci8quercus.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim. All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-odbc.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-odbc_db2.inc.php =================================================================== --- trunk/lib/WikiDB/adodb/drivers/adodb-odbc_db2.inc.php 2017-10-02 18:02:02 UTC (rev 10036) +++ trunk/lib/WikiDB/adodb/drivers/adodb-odbc_db2.inc.php 2017-10-03 16:33:54 UTC (rev 10037) @@ -1,6 +1,6 @@ <?php /* -@version v5.20.7 20-Sep-2016 +@version v5.20.9 21-Dec-2016 @copyright (c) 2000-2013 John Lim (jlim#natsoft.com). All rights reserved. @copyright (c) 2014 Damien Regad, Mark Newnham and the ADOdb community Released under both BSD license and Lesser GPL library license. Modified: trunk/lib/WikiDB/adodb/drivers/adodb-odbc_mssql.inc.php =... [truncated message content] |