Merge branch 'w13_MDL-38671_m25_adodb' of git://github.com/skodak/moodle
authorEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 26 Mar 2013 15:07:12 +0000 (16:07 +0100)
committerEloy Lafuente (stronk7) <stronk7@moodle.org>
Tue, 26 Mar 2013 15:07:12 +0000 (16:07 +0100)
79 files changed:
lib/adodb/adodb-active-record.inc.php
lib/adodb/adodb-csvlib.inc.php
lib/adodb/adodb-datadict.inc.php
lib/adodb/adodb-error.inc.php
lib/adodb/adodb-errorhandler.inc.php
lib/adodb/adodb-errorpear.inc.php
lib/adodb/adodb-exceptions.inc.php
lib/adodb/adodb-iterator.inc.php
lib/adodb/adodb-lib.inc.php
lib/adodb/adodb-memcache.lib.inc.php
lib/adodb/adodb-pager.inc.php
lib/adodb/adodb-pear.inc.php
lib/adodb/adodb-perf.inc.php
lib/adodb/adodb-php4.inc.php
lib/adodb/adodb.inc.php
lib/adodb/drivers/adodb-access.inc.php
lib/adodb/drivers/adodb-ado.inc.php
lib/adodb/drivers/adodb-ado5.inc.php
lib/adodb/drivers/adodb-ado_access.inc.php
lib/adodb/drivers/adodb-ado_mssql.inc.php
lib/adodb/drivers/adodb-borland_ibase.inc.php
lib/adodb/drivers/adodb-csv.inc.php
lib/adodb/drivers/adodb-db2.inc.php
lib/adodb/drivers/adodb-db2oci.inc.php
lib/adodb/drivers/adodb-db2ora.inc.php
lib/adodb/drivers/adodb-fbsql.inc.php
lib/adodb/drivers/adodb-firebird.inc.php
lib/adodb/drivers/adodb-ibase.inc.php
lib/adodb/drivers/adodb-informix.inc.php
lib/adodb/drivers/adodb-informix72.inc.php
lib/adodb/drivers/adodb-ldap.inc.php
lib/adodb/drivers/adodb-mssql.inc.php
lib/adodb/drivers/adodb-mssqlnative.inc.php
lib/adodb/drivers/adodb-mssqlpo.inc.php
lib/adodb/drivers/adodb-mysql.inc.php
lib/adodb/drivers/adodb-mysqli.inc.php
lib/adodb/drivers/adodb-mysqlpo.inc.php
lib/adodb/drivers/adodb-mysqlt.inc.php
lib/adodb/drivers/adodb-netezza.inc.php
lib/adodb/drivers/adodb-oci8.inc.php
lib/adodb/drivers/adodb-oci805.inc.php
lib/adodb/drivers/adodb-oci8po.inc.php
lib/adodb/drivers/adodb-odbc.inc.php
lib/adodb/drivers/adodb-odbc_db2.inc.php
lib/adodb/drivers/adodb-odbc_mssql.inc.php
lib/adodb/drivers/adodb-odbc_oracle.inc.php
lib/adodb/drivers/adodb-odbtp.inc.php
lib/adodb/drivers/adodb-odbtp_unicode.inc.php
lib/adodb/drivers/adodb-oracle.inc.php
lib/adodb/drivers/adodb-pdo.inc.php
lib/adodb/drivers/adodb-pdo_mssql.inc.php
lib/adodb/drivers/adodb-pdo_mysql.inc.php
lib/adodb/drivers/adodb-pdo_oci.inc.php
lib/adodb/drivers/adodb-pdo_pgsql.inc.php
lib/adodb/drivers/adodb-pdo_sqlite.inc.php
lib/adodb/drivers/adodb-postgres.inc.php
lib/adodb/drivers/adodb-postgres64.inc.php
lib/adodb/drivers/adodb-postgres7.inc.php
lib/adodb/drivers/adodb-postgres8.inc.php
lib/adodb/drivers/adodb-postgres9.inc.php [new file with mode: 0644]
lib/adodb/drivers/adodb-proxy.inc.php
lib/adodb/drivers/adodb-sapdb.inc.php
lib/adodb/drivers/adodb-sqlanywhere.inc.php
lib/adodb/drivers/adodb-sqlite.inc.php
lib/adodb/drivers/adodb-sqlite3.inc.php
lib/adodb/drivers/adodb-sqlitepo.inc.php
lib/adodb/drivers/adodb-sybase.inc.php
lib/adodb/drivers/adodb-sybase_ase.inc.php
lib/adodb/drivers/adodb-vfp.inc.php
lib/adodb/lang/adodb-en.inc.php
lib/adodb/perf/perf-db2.inc.php
lib/adodb/perf/perf-informix.inc.php
lib/adodb/perf/perf-mssql.inc.php
lib/adodb/perf/perf-mssqlnative.inc.php
lib/adodb/perf/perf-mysql.inc.php
lib/adodb/perf/perf-oci8.inc.php
lib/adodb/perf/perf-postgres.inc.php
lib/adodb/readme_moodle.txt
lib/thirdpartylibs.xml

index 9ea8175..ad5d0b9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
 
-@version V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+@version V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Latest version is available at http://adodb.sourceforge.net
  
   Released under both BSD license and Lesser GPL library license. 
index 4165715..26618ab 100644 (file)
@@ -8,7 +8,7 @@ $ADODB_INCLUDED_CSV = 1;
 
 /* 
 
-  V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index 45dab49..3820d7d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 9de38b9..67c16d6 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ * @version V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
@@ -41,6 +41,9 @@ if (!defined("DB_ERROR_SYNTAX")) {
        define("DB_ERROR_EXTENSION_NOT_FOUND",-25);
        define("DB_ERROR_NOSUCHDB",           -25);
        define("DB_ERROR_ACCESS_VIOLATION",   -26);
+       define("DB_ERROR_DEADLOCK",           -27);
+       define("DB_ERROR_STATEMENT_TIMEOUT",  -28);
+       define("DB_ERROR_SERIALIZATION_FAILURE", -29);
 }
 
 function adodb_errormsg($value)
@@ -91,16 +94,19 @@ function adodb_error($provider,$dbType,$errno)
 function adodb_error_pg($errormsg)
 {
        if (is_numeric($errormsg)) return (integer) $errormsg;
+       // Postgres has no lock-wait timeout.  The best we could do would be to set a statement timeout.
     static $error_regexps = array(
             '/(Table does not exist\.|Relation [\"\'].*[\"\'] does not exist|sequence does not exist|class ".+" not found)$/i' => DB_ERROR_NOSUCHTABLE,
-            '/Relation [\"\'].*[\"\'] already exists|Cannot insert a duplicate key into (a )?unique index.*/i'      => DB_ERROR_ALREADY_EXISTS,
-            '/divide by zero$/i'                     => DB_ERROR_DIVZERO,
+            '/Relation [\"\'].*[\"\'] already exists|Cannot insert a duplicate key into (a )?unique index.*|duplicate key.*violates unique constraint/i'     => DB_ERROR_ALREADY_EXISTS,
+            '/database ".+" does not exist$/i'       => DB_ERROR_NOSUCHDB,
+            '/(divide|division) by zero$/i'          => DB_ERROR_DIVZERO,
             '/pg_atoi: error in .*: can\'t parse /i' => DB_ERROR_INVALID_NUMBER,
             '/ttribute [\"\'].*[\"\'] not found|Relation [\"\'].*[\"\'] does not have attribute [\"\'].*[\"\']/i' => DB_ERROR_NOSUCHFIELD,
-            '/parser: parse error at or near \"/i'   => DB_ERROR_SYNTAX,
+            '/(parser: parse|syntax) error at or near \"/i'   => DB_ERROR_SYNTAX,
             '/referential integrity violation/i'     => DB_ERROR_CONSTRAINT,
-                       '/Relation [\"\'].*[\"\'] already exists|Cannot insert a duplicate key into (a )?unique index.*|duplicate key.*violates unique constraint/i'     
-                                => DB_ERROR_ALREADY_EXISTS
+            '/deadlock detected$/i'                  => DB_ERROR_DEADLOCK,
+            '/canceling statement due to statement timeout$/i' => DB_ERROR_STATEMENT_TIMEOUT,
+            '/could not serialize access due to/i'   => DB_ERROR_SERIALIZATION_FAILURE
         );
        reset($error_regexps);
     while (list($regexp,$code) = each($error_regexps)) {
index 948c7c4..7099f03 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ * @version V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  * Released under both BSD license and Lesser GPL library license.
  * Whenever there is any discrepancy between the two licenses,
  * the BSD license will take precedence.
index aec991f..8340a84 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ * @version V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index b00ae54..98bf160 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * @version V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ * @version V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  * Released under both BSD license and Lesser GPL library license.
  * Whenever there is any discrepancy between the two licenses,
  * the BSD license will take precedence.
index d774ea7..38957ad 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-  V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 28969f0..e2b3502 100644 (file)
@@ -6,7 +6,7 @@ global $ADODB_INCLUDED_LIB;
 $ADODB_INCLUDED_LIB = 1;
 
 /* 
-  @version V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  @version V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index 77a6fae..23b18fc 100644 (file)
@@ -11,7 +11,7 @@ if (empty($ADODB_INCLUDED_CSV)) include(ADODB_DIR.'/adodb-csvlib.inc.php');
 
 /* 
 
-  V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index ab2026b..317d573 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-       V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+       V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
          Released under both BSD license and Lesser GPL library license. 
          Whenever there is any discrepancy between the two licenses, 
          the BSD license will take precedence. 
index 9b26d0c..59bbce5 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ * @version V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
index 8d0e40a..e1930f7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index 897ba75..283c517 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-  V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index af89cf5..d0c2695 100644 (file)
@@ -14,7 +14,7 @@
 /**
        \mainpage
        
-        @version V5.17 17 May 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+        @version V5.18 3 Sep 2012   (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
 
        Released under both BSD license and Lesser GPL library license. You can choose which license
        you prefer.
                /**
                 * ADODB version as a string.
                 */
-               $ADODB_vers = 'V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved. Released BSD & LGPL.';
+               $ADODB_vers = 'V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved. Released BSD & LGPL.';
        
                /**
                 * Determines whether recordset->RecordCount() is used. 
                // create temp directories
                function createdir($hash, $debug)
                {
+               global $ADODB_CACHE_PERMS;
+               
                        $dir = $this->getdirname($hash);
                        if ($this->notSafeMode && !file_exists($dir)) {
                                $oldu = umask(0);
-                               if (!@mkdir($dir,0771)) if(!is_dir($dir) && $debug) ADOConnection::outp("Cannot create $dir");
+                               if (!@mkdir($dir, empty($ADODB_CACHE_PERMS) ? 0771 : $ADODB_CACHE_PERMS)) if(!is_dir($dir) && $debug) ADOConnection::outp("Cannot create $dir");
                                umask($oldu);
                        }
                
@@ -2848,6 +2850,7 @@ http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_1
                function FieldCount(){ return 0;}
                function Init() {}
                function getIterator() {return new ADODB_Iterator_empty($this);}
+               function GetAssoc() {return array();}
        }
        
        //==============================================================================================        
@@ -3158,7 +3161,7 @@ http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_1
                        $false = false;
                        return $false;
                }
-               $numIndex = isset($this->fields[0]);
+               $numIndex = isset($this->fields[0]) && isset($this->fields[1]);
                $results = array();
                
                if (!$first2cols && ($cols > 2 || $force_array)) {
@@ -3510,7 +3513,8 @@ http://www.stanford.edu/dept/itss/docs/oracle/10g/server.101/b10759/statements_1
                                $record[$k] = $this->fields[$v];
                        } else if (isset($this->fields[$k])) {
                                $record[$k] = $this->fields[$k];
-                       }
+                       } else
+                               $record[$k] = $this->fields[$v];
                }
                return $record;
        }
index c9efb1f..1787650 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index 867eb77..15b8677 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 7aeb0c5..7aa9d97 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 6a8ebdf..d1632eb 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
 Released under both BSD license and Lesser GPL library license. 
 Whenever there is any discrepancy between the two licenses, 
 the BSD license will take precedence. See License.txt. 
index 96108fc..682f254 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index ea9a521..6fb598b 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 8f221e0..bf8655c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index f072d5a..bd863d9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-  V5.17 17 May 2012  (c) 2000-2012 (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012  (c) 2000-2012 (jlim#natsoft.com). All rights reserved.
 
   This is a version of the ADODB driver for DB2.  It uses the 'ibm_db2' PECL extension
   for PHP (http://pecl.php.net/package/ibm_db2), which in turn requires DB2 V8.2.2 or
index cf8d0b3..12a4883 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 8f699a1..b84d8b8 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index ef08310..f5af4d1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- @version V5.17 17 May 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ @version V5.18 3 Sep 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 2104159..f09ed14 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index f05a98d..f47b33e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.  
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.  
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 18ed5ff..e53e306 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version V5.17 17 May 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+* @version V5.18 3 Sep 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
 * Released under both BSD license and Lesser GPL library license.
 * Whenever there is any discrepancy between the two licenses,
 * the BSD license will take precedence.
index 0346dcf..606ee58 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim. All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim. All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence.
index 79884c9..c29c6e7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
    Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index c32cf3d..04ceb5a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 084c1dc..b9cd4a9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -403,6 +403,8 @@ class ADODB_mssqlnative extends ADOConnection {
        
        function Prepare($sql)
        {
+               return $sql; // prepare does not work properly with bind parameters as bind parameters are managed by sqlsrv_prepare!
+               
                $stmt = sqlsrv_prepare( $this->_connectionID, $sql);
                if (!$stmt)  return $sql;
                return array($sql,$stmt);
@@ -462,7 +464,8 @@ class ADODB_mssqlnative extends ADOConnection {
                if (is_array($inputarr)) {
             $rez = sqlsrv_query($this->_connectionID,$sql,$inputarr);
                } else if (is_array($sql)) {
-            $rez = sqlsrv_query($this->_connectionID,$sql[1],$inputarr);
+                       // $inputarr is prepared in sqlsrv_prepare();
+            $rez = sqlsrv_execute($this->_connectionID,$sql[1]);
                } else {
                        $rez = sqlsrv_query($this->_connectionID,$sql);
                }
index 60bc9c7..6c7eb81 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version V5.17 17 May 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+* @version V5.18 3 Sep 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
 * Released under both BSD license and Lesser GPL library license.
 * Whenever there is any discrepancy between the two licenses,
 * the BSD license will take precedence.
index 47fa00f..3e1f148 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -53,7 +53,7 @@ class ADODB_mysql extends ADOConnection {
     if (!function_exists('mysql_set_charset'))
        return false;
 
-    if ($this->charSet !== $charset_name) {
+       if ($this->charSet !== $charset_name) {
       $ok = @mysql_set_charset($charset_name,$this->_connectionID);
       if ($ok) {
                $this->charSet = $charset_name;
@@ -608,6 +608,8 @@ class ADODB_mysql extends ADOConnection {
        function _close()
        {
                @mysql_close($this->_connectionID);
+               
+               $this->charSet = '';
                $this->_connectionID = false;
        }
 
@@ -722,10 +724,10 @@ class ADORecordSet_mysql extends ADORecordSet{
                        //$o->max_length = -1; // mysql returns the max length less spaces -- so it is unrealiable
                        if ($o) $o->binary = (strpos($f,'binary')!== false);
                }
-               else if ($fieldOffset == -1) {  /*      The $fieldOffset argument is not provided thus its -1   */
+               else  { /*      The $fieldOffset argument is not provided thus its -1   */
                        $o = @mysql_fetch_field($this->_queryID);
-                       if ($o) $o->max_length = @mysql_field_len($this->_queryID); // suggested by: Jim Nicholson (jnich#att.com)
-               //$o->max_length = -1; // mysql returns the max length less spaces -- so it is unrealiable
+                       //if ($o) $o->max_length = @mysql_field_len($this->_queryID); // suggested by: Jim Nicholson (jnich#att.com)
+                       $o->max_length = -1; // mysql returns the max length less spaces -- so it is unrealiable
                }
                        
                return $o;
index bb556a1..6d3537c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -28,7 +28,7 @@ if (! defined("_ADODB_MYSQLI_LAYER")) {
 
 class ADODB_mysqli extends ADOConnection {
        var $databaseType = 'mysqli';
-       var $dataProvider = 'native';
+       var $dataProvider = 'mysql';
        var $hasInsertID = true;
        var $hasAffectedRows = true;    
        var $metaTablesSQL = "SELECT TABLE_NAME, CASE WHEN TABLE_TYPE = 'VIEW' THEN 'V' ELSE 'T' END FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA=SCHEMA()";       
@@ -843,7 +843,7 @@ class ADODB_mysqli extends ADOConnection {
 
     if ($this->charSet !== $charset_name) {
       $if = @$this->_connectionID->set_charset($charset_name);
-      if ($if == "0" & $this->GetCharSet() == $charset_name) {
+      if ($if === true & $this->GetCharSet() == $charset_name) {
         return true;
       } else return false;
     } else return true;
index ad008a1..4715a1f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 923147a..824e32c 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 0a0e97f..2ffb743 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  
   First cut at the Netezza Driver by Josh Eldridge joshuae74#hotmail.com
  Based on the previous postgres drivers.
index eefc3e1..ea2f95f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
 
-  version V5.17 17 May 2012 (c) 2000-2012 John Lim. All rights reserved.
+  version V5.18 3 Sep 2012 (c) 2000-2012 John Lim. All rights reserved.
 
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
@@ -1385,7 +1385,8 @@ class ADORecordset_oci8 extends ADORecordSet {
                        
                        $this->_currentRow = 0;
                        @$this->_initrs();
-                       $this->EOF = !$this->_fetch();
+                       if ($this->_numOfFields) $this->EOF = !$this->_fetch();
+                       else $this->EOF = true;
                        
                        /*
                        // based on idea by Gaetano Giunta to detect unusual oracle errors
index 1f5c8c7..ff19937 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V5.17 17 May 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ * @version V5.18 3 Sep 2012 (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
  * Released under both BSD license and Lesser GPL library license. 
  * Whenever there is any discrepancy between the two licenses, 
  * the BSD license will take precedence. 
index ba3a038..a39c033 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim. All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim. All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index f01a1aa..fb7ea90 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index fd039ba..b7bfcf7 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index e212163..847a6d4 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
@@ -122,7 +122,7 @@ order by constraint_name, referenced_table_name, keyno";
        
        function MetaTables($ttype=false,$showSchema=false,$mask=false) 
        {
-               if ($mask) {$this->debug=1;
+               if ($mask) {//$this->debug=1;
                        $save = $this->metaTablesSQL;
                        $mask = $this->qstr($mask);
                        $this->metaTablesSQL .= " AND name like $mask";
index f98c312..b0fa8c3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 20675e2..931d4b1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence. See License.txt.
index 9d4efd3..51128f0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-       V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+       V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence. See License.txt.
index 490bd5c..dca50d6 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index caa11e0..5100db1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index af0d64b..06867eb 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 26c3b11..187f978 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 1b4248c..aeb36bb 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index d2913a0..89dfad5 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 80a83a8..aa39322 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /* 
- V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index 8b6c43e..98a57ee 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 455be84..ee938fc 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -240,7 +240,7 @@ select viewname,'V' from pg_views where viewname like $mask";
                if (is_bool($s)) return $s ? 'true' : 'false';
                 
                if (!$magic_quotes) {
-                       if (ADODB_PHPVER >= 0x5200) {
+                       if (ADODB_PHPVER >= 0x5200 && $this->_connectionID) {
                                return  "'".pg_escape_string($this->_connectionID,$s)."'";
                        } 
                        if (ADODB_PHPVER >= 0x4200) {
@@ -484,7 +484,7 @@ select viewname,'V' from pg_views where viewname like $mask";
                if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
                
                if ($schema) $rs = $this->Execute(sprintf($this->metaColumnsSQL1,$table,$table,$schema));
-               else $rs = $this->Execute(sprintf($this->metaColumnsSQL,$table,$table));
+               else $rs = $this->Execute(sprintf($this->metaColumnsSQL,$table,$table,$table));
                if (isset($savem)) $this->SetFetchMode($savem);
                $ADODB_FETCH_MODE = $save;
                
index 7eee355..02daebe 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index a50dda9..f05649c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+ V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
diff --git a/lib/adodb/drivers/adodb-postgres9.inc.php b/lib/adodb/drivers/adodb-postgres9.inc.php
new file mode 100644 (file)
index 0000000..8cf9f7a
--- /dev/null
@@ -0,0 +1,57 @@
+<?php
+/*
+ V5.14 8 Sept 2011  (c) 2000-2011 John Lim (jlim#natsoft.com). All rights reserved.
+  Released under both BSD license and Lesser GPL library license. 
+  Whenever there is any discrepancy between the two licenses, 
+  the BSD license will take precedence.
+  Set tabs to 4.
+  
+  Postgres9 support.
+  01 Dec 2011: gherteg added support for retrieving insert IDs from tables without OIDs
+*/
+
+// security - hide paths
+if (!defined('ADODB_DIR')) die();
+
+include_once(ADODB_DIR."/drivers/adodb-postgres7.inc.php");
+
+class ADODB_postgres9 extends ADODB_postgres7 {
+       var $databaseType = 'postgres9';        
+       
+       function ADODB_postgres9() 
+       {
+               $this->ADODB_postgres7();
+       }
+
+       // Don't use OIDs, as they typically won't be there, and
+       // they're not what the application wants back, anyway.
+       function _insertid($table,$column)
+       {
+               return empty($table) || empty($column)
+                       ? $this->GetOne("SELECT lastval()")
+                       : $this->GetOne("SELECT currval(pg_get_serial_sequence('$table','$column'))");
+       }
+}
+
+/*--------------------------------------------------------------------------------------
+        Class Name: Recordset
+--------------------------------------------------------------------------------------*/
+
+class ADORecordSet_postgres9 extends ADORecordSet_postgres7{
+       var $databaseType = "postgres9";
+       
+       function ADORecordSet_postgres9($queryID,$mode=false) 
+       {
+               $this->ADORecordSet_postgres7($queryID,$mode);
+       }
+}
+
+class ADORecordSet_assoc_postgres9 extends ADORecordSet_postgres7{
+       var $databaseType = "postgres9";
+       
+       function ADORecordSet_assoc_postgres9($queryID,$mode=false) 
+       {
+               $this->ADORecordSet_postgres7($queryID,$mode);
+       }
+}
+?>
index dc4683c..0c068fd 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index ebbdcf9..731da21 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 03f4a7d..8b699d8 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-version V5.17 17 May 2012  (c) 2000-2012  John Lim (jlim#natsoft.com).  All rights
+version V5.18 3 Sep 2012  (c) 2000-2012  John Lim (jlim#natsoft.com).  All rights
 reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
index ada561e..72764ff 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index c74b12e..7ed672d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
@@ -49,9 +49,9 @@ class ADODB_sqlite3 extends ADOConnection {
        
        function ServerInfo()
        {
-               $arr['version'] = sqlite_libversion(); //**tochange
-               $arr['description'] = 'SQLite '; //**tochange
-               $arr['encoding'] = sqlite_libencoding();//**tochange
+               $arr['version'] = $this->_connectionID->version(); //**tochange
+               $arr['description'] = 'SQLite 3'; //**tochange
+               //$arr['encoding'] = sqlite_libencoding();//**tochange
                return $arr;
        }
        
@@ -128,25 +128,25 @@ class ADODB_sqlite3 extends ADOConnection {
        function _insertid()
        {
                //return sqlite_last_insert_rowid($this->_connectionID)->; //**change
-               $temp = $this->_connectionID;
-               return $temp->lastInsertRowID();
+               return $this->_connectionID->lastInsertRowID();
        }
        
        function _affectedrows()
        {
-       return sqlite3_changes($this->_connectionID); //**tochange
+               return $this->_connectionID->changes();
+       //return sqlite3_changes($this->_connectionID); //**tochange
     }
        
        function ErrorMsg() 
        {
                if ($this->_logsql) return $this->_errorMsg;
                
-               return ($this->_errorNo) ? sqlite_error_string($this->_errorNo) : ''; //**tochange?
+               return ($this->_errorNo) ? $this->ErrorNo() : ''; //**tochange?
        }
  
        function ErrorNo() 
        {
-               return $this->_errorNo; //**tochange??
+               return $this->_connectionID->lastErrorCode(); //**tochange??
        }
        
        function SQLDate($fmt, $col=false)
@@ -169,12 +169,12 @@ class ADODB_sqlite3 extends ADOConnection {
        // returns true or false
        function _connect($argHostname, $argUsername, $argPassword, $argDatabasename) //**tochange: all the function need to be changed, just hacks for the moment
        {
-               $this->_connectionID = new SQLite3('/path/mydb'); // hack
-               if (empty($argHostname) && $argDatabasename) $argHostname = $argDatabasename; // hack
+               if (empty($argHostname) && $argDatabasename) $argHostname = $argDatabasename; 
+               $this->_connectionID = new SQLite3($argDatabasename); 
                $this->_createFunctions();
                
                return true; // hack
-               
+               /*
                if (!function_exists('sqlite_open')) return null;
                if (empty($argHostname) && $argDatabasename) $argHostname = $argDatabasename;
                
@@ -182,6 +182,7 @@ class ADODB_sqlite3 extends ADOConnection {
                if ($this->_connectionID === false) return false;
                $this->_createFunctions();
                return true;
+               */
        }
        
        // returns true or false
index b38bb7c..ee601ae 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
   the BSD license will take precedence.
index 11f71d2..ebc213a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim. All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim. All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 760fb6f..baf68e2 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+  V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence.
index 0abc9f6..a035e52 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. 
index 6895995..498cb2e 100644 (file)
@@ -28,6 +28,9 @@ $ADODB_LANG_ARRAY = array (
             DB_ERROR_NEED_MORE_DATA     => 'insufficient data supplied',
             DB_ERROR_EXTENSION_NOT_FOUND=> 'extension not found',
             DB_ERROR_NOSUCHDB           => 'no such database',
-            DB_ERROR_ACCESS_VIOLATION   => 'insufficient permissions'
+            DB_ERROR_ACCESS_VIOLATION   => 'insufficient permissions',
+            DB_ERROR_DEADLOCK           => 'deadlock detected',
+            DB_ERROR_STATEMENT_TIMEOUT  => 'statement timeout',
+            DB_ERROR_SERIALIZATION_FAILURE => 'could not serialize access'
 );
 ?>
\ No newline at end of file
index 94ac856..26bf318 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index 31234b3..e41bb83 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index bb80e76..ecb8843 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index e9e65b2..f5f7b45 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index 5583e76..9e5eada 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
@@ -251,7 +251,7 @@ class perf_mysql extends adodb_perf{
                $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
                if ($this->conn->fetchMode !== false) $savem = $this->conn->SetFetchMode(false);
                
-               $rs = $this->conn->Execute('show innodb status');
+               $rs = $this->conn->Execute('show engine innodb status');
                
                if (isset($savem)) $this->conn->SetFetchMode($savem);
                $ADODB_FETCH_MODE = $save;
index 2c112d7..447894e 100644 (file)
@@ -1,6 +1,6 @@
 <?php\r
 /* \r
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.\r
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.\r
   Released under both BSD license and Lesser GPL library license. \r
   Whenever there is any discrepancy between the two licenses, \r
   the BSD license will take precedence. See License.txt. \r
@@ -192,7 +192,7 @@ FROM v\$parameter v1, v\$parameter v2 WHERE v1.name='log_archive_dest' AND v2.na
                'Recent RMAN Jobs' => array('BACKUP', "select '-' from dual", "=RMAN"),\r
                \r
                //              'Control File Keep Time' => array('BACKUP', "select value from v\$parameter where name='control_file_record_keep_time'",'No of days to keep RMAN info in control file. I recommend it be set to x2 or x3 times the frequency of your full backup.'),\r
-\r
+      'Storage', 'Tablespaces' => array('TABLESPACE', "select '-' from dual", "=TableSpace"),\r
                false\r
                \r
        );\r
@@ -270,6 +270,22 @@ order by 3 desc) where rownum <=10");
                \r
        }\r
        \r
+       function TableSpace()\r
+       {\r
+\r
+               $rs = $this->conn->Execute(\r
+       "select tablespace_name,round(sum(bytes)/1024/1024) as Used_MB,round(sum(maxbytes)/1024/1024) as Max_MB, round(sum(bytes)/sum(maxbytes),4) * 100 as PCT \r
+       from dba_data_files\r
+   group by tablespace_name order by 2 desc");\r
+               \r
+               $ret = "<p><b>Tablespace</b>".rs2html($rs,false,false,false,false);\r
+\r
+               $rs = $this->conn->Execute("select * from dba_data_files order by tablespace_name, 1");\r
+               $ret .= "<p><b>Datafile</b>".rs2html($rs,false,false,false,false);\r
+               \r
+               return "&nbsp;<p>".$ret."&nbsp;</p>";\r
+       }\r
+       \r
        function RMAN()\r
        {\r
                $rs = $this->conn->Execute("select * from (select start_time, end_time, operation, status, mbytes_processed, output_device_type  \r
@@ -279,6 +295,7 @@ order by 3 desc) where rownum <=10");
                return "&nbsp;<p>".$ret."&nbsp;</p>";\r
                \r
        }\r
+\r
        function DynMemoryUsage()\r
        {\r
                if (@$this->version['version'] >= 11) {\r
@@ -291,14 +308,14 @@ order by 3 desc) where rownum <=10");
                $ret = rs2html($rs,false,false,false,false);            \r
                return "&nbsp;<p>".$ret."&nbsp;</p>";\r
        }\r
-       \r
+\r
        function FlashUsage()\r
        {\r
         $rs = $this->conn->Execute("select * from  V\$FLASH_RECOVERY_AREA_USAGE");\r
                $ret = rs2html($rs,false,false,false,false);            \r
                return "&nbsp;<p>".$ret."&nbsp;</p>";\r
        }\r
-       \r
+\r
        function WarnPageCost($val)\r
        {\r
                if ($val == 100 && $this->version['version'] < 10) $s = '<font color=red><b>Too High</b>. </font>';\r
@@ -306,7 +323,7 @@ order by 3 desc) where rownum <=10");
                \r
                return $s.'Recommended is 20-50 for TP, and 50 for data warehouses. Default is 100. See <a href=http://www.dba-oracle.com/oracle_tips_cost_adj.htm>optimizer_index_cost_adj</a>. ';\r
        }\r
-       \r
+\r
        function WarnIndexCost($val)\r
        {\r
                if ($val == 0 && $this->version['version'] < 10) $s = '<font color=red><b>Too Low</b>. </font>';\r
@@ -322,6 +339,7 @@ order by 3 desc) where rownum <=10");
                \r
                //if ($this->version['version'] < 9) return 'Oracle 9i or later required';\r
        }\r
+\r
        function PGA_Advice()\r
        {\r
                $t = "<h3>PGA Advice Estimate</h3>";\r
@@ -348,7 +366,7 @@ order by 3 desc) where rownum <=10");
                \r
                return $t.rs2html($rs,false,false,true,false);\r
        }\r
-       \r
+\r
        function Explain($sql,$partial=false) \r
        {\r
                $savelog = $this->conn->LogSQL(false);\r
@@ -427,8 +445,7 @@ CONNECT BY prior id=parent_id and statement_id='$id'");
                $s .= $this->Tracer($sql,$partial);\r
                return $s;\r
        }\r
-       \r
-       \r
+\r
        function CheckMemory()\r
        {\r
                if ($this->version['version'] < 9) return 'Oracle 9i or later required';\r
@@ -460,7 +477,7 @@ select  a.name Buffer_Pool, b.size_for_estimate as cache_mb_estimate,
                }\r
                return $s.$this->PGA_Advice();\r
        }\r
-       \r
+\r
        /*\r
                Generate html for suspicious/expensive sql\r
        */\r
index 699c564..9c7fab3 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V5.17 17 May 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
+V5.18 3 Sep 2012  (c) 2000-2012 John Lim (jlim#natsoft.com). All rights reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
   the BSD license will take precedence. See License.txt. 
index f35bff6..aee9248 100644 (file)
@@ -1,4 +1,4 @@
-Description of ADODB V5.17 library import into Moodle
+Description of ADODB V5.18 library import into Moodle
 
 This library will be probably removed in Moodle 2.1,
 it is now used only in enrol and auth db plugins.
index 39e654d..9d5ebfa 100644 (file)
@@ -4,7 +4,7 @@
     <location>adodb</location>
     <name>AdoDB</name>
     <license>GPL/BSD</license>
-    <version>5.17</version>
+    <version>5.18</version>
     <licenseversion>2.1+</licenseversion>
   </library>
   <library>