Update to upstream 4.81 and fix for bug #3104
authorKarsten Dambekalns <karsten.dambekalns@typo3.org>
Mon, 15 May 2006 12:42:09 +0000 (12:42 +0000)
committerKarsten Dambekalns <karsten.dambekalns@typo3.org>
Mon, 15 May 2006 12:42:09 +0000 (12:42 +0000)
git-svn-id: https://svn.typo3.org/TYPO3v4/Core/trunk@1463 709f56b5-9817-0410-a4d7-c38de5d9e867

123 files changed:
typo3/sysext/adodb/adodb/adodb-active-record.inc.php
typo3/sysext/adodb/adodb/adodb-csvlib.inc.php
typo3/sysext/adodb/adodb/adodb-datadict.inc.php
typo3/sysext/adodb/adodb/adodb-error.inc.php
typo3/sysext/adodb/adodb/adodb-errorhandler.inc.php
typo3/sysext/adodb/adodb/adodb-errorpear.inc.php
typo3/sysext/adodb/adodb/adodb-exceptions.inc.php
typo3/sysext/adodb/adodb/adodb-iterator.inc.php
typo3/sysext/adodb/adodb/adodb-lib.inc.php
typo3/sysext/adodb/adodb/adodb-pager.inc.php
typo3/sysext/adodb/adodb/adodb-pear.inc.php
typo3/sysext/adodb/adodb/adodb-perf.inc.php
typo3/sysext/adodb/adodb/adodb-php4.inc.php
typo3/sysext/adodb/adodb/adodb-time.inc.php
typo3/sysext/adodb/adodb/adodb.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-access.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-db2.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-firebird.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-generic.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-ibase.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-informix.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-mssql.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-mysql.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-oci8.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-postgres.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-sapdb.inc.php
typo3/sysext/adodb/adodb/datadict/datadict-sybase.inc.php
typo3/sysext/adodb/adodb/docs/docs-active-record.htm
typo3/sysext/adodb/adodb/docs/docs-adodb.htm
typo3/sysext/adodb/adodb/docs/docs-datadict.htm
typo3/sysext/adodb/adodb/docs/docs-perf.htm
typo3/sysext/adodb/adodb/docs/docs-session.htm
typo3/sysext/adodb/adodb/drivers/adodb-access.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-ado.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-ado5.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-ado_access.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-ado_mssql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-borland_ibase.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-csv.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-db2.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-fbsql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-firebird.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-ibase.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-informix.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-informix72.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-ldap.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-mssql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-mssqlpo.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-mysql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-mysqli.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-mysqlt.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-netezza.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-oci8.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-oci805.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-oci8po.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-odbc.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-odbc_db2.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-odbc_mssql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-odbc_oracle.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-odbtp.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-odbtp_unicode.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-oracle.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-pdo.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-pdo_mssql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-pdo_mysql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-pdo_oci.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-pdo_pgsql.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-postgres.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-postgres64.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-postgres7.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-postgres8.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-proxy.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-sapdb.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-sqlanywhere.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-sqlite.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-sqlitepo.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-sybase.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-sybase_ase.inc.php
typo3/sysext/adodb/adodb/drivers/adodb-vfp.inc.php
typo3/sysext/adodb/adodb/perf/perf-db2.inc.php
typo3/sysext/adodb/adodb/perf/perf-informix.inc.php
typo3/sysext/adodb/adodb/perf/perf-mssql.inc.php
typo3/sysext/adodb/adodb/perf/perf-mysql.inc.php
typo3/sysext/adodb/adodb/perf/perf-oci8.inc.php
typo3/sysext/adodb/adodb/perf/perf-postgres.inc.php
typo3/sysext/adodb/adodb/pivottable.inc.php
typo3/sysext/adodb/adodb/rsfilter.inc.php
typo3/sysext/adodb/adodb/server.php
typo3/sysext/adodb/adodb/session/adodb-compress-bzip2.php
typo3/sysext/adodb/adodb/session/adodb-compress-gzip.php
typo3/sysext/adodb/adodb/session/adodb-cryptsession.php
typo3/sysext/adodb/adodb/session/adodb-encrypt-mcrypt.php
typo3/sysext/adodb/adodb/session/adodb-encrypt-md5.php
typo3/sysext/adodb/adodb/session/adodb-encrypt-secret.php
typo3/sysext/adodb/adodb/session/adodb-session-clob.php
typo3/sysext/adodb/adodb/session/adodb-session.php
typo3/sysext/adodb/adodb/session/old/adodb-cryptsession.php
typo3/sysext/adodb/adodb/session/old/adodb-session-clob.php
typo3/sysext/adodb/adodb/session/old/adodb-session.php
typo3/sysext/adodb/adodb/tests/benchmark.php
typo3/sysext/adodb/adodb/tests/client.php
typo3/sysext/adodb/adodb/tests/rr.htm
typo3/sysext/adodb/adodb/tests/test-active-recs2.php
typo3/sysext/adodb/adodb/tests/test-datadict.php
typo3/sysext/adodb/adodb/tests/test-php5.php
typo3/sysext/adodb/adodb/tests/test.php
typo3/sysext/adodb/adodb/tests/test3.php
typo3/sysext/adodb/adodb/tests/test4.php
typo3/sysext/adodb/adodb/tests/test5.php
typo3/sysext/adodb/adodb/tests/testcache.php
typo3/sysext/adodb/adodb/tests/testdatabases.inc.php
typo3/sysext/adodb/adodb/tests/testmssql.php
typo3/sysext/adodb/adodb/tests/testoci8.php
typo3/sysext/adodb/adodb/tests/testoci8cursor.php
typo3/sysext/adodb/adodb/tests/testpaging.php
typo3/sysext/adodb/adodb/tests/testpear.php
typo3/sysext/adodb/adodb/tests/testsessions.php
typo3/sysext/adodb/adodb/toexport.inc.php
typo3/sysext/adodb/adodb/tohtml.inc.php
typo3/sysext/adodb/doc/480.DBAL.patch [deleted file]
typo3/sysext/adodb/doc/481.DBAL.patch [new file with mode: 0644]
typo3/sysext/adodb/doc/mssql-error-fix.patch
typo3/sysext/adodb/ext_emconf.php

index 82fc82f..93d4da3 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
 
-@version V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+@version V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
   Latest version is available at http://adodb.sourceforge.net
  
   Released under both BSD license and Lesser GPL library license. 
   
   Active Record implementation. Superset of Zend Framework's.
   
-  Version 0.02
+  Version 0.03
+  
+  See http://www-128.ibm.com/developerworks/java/library/j-cb03076/?ca=dgr-lnxw01ActiveRecord 
+       for info on Ruby on Rails Active Record implementation
 */
 
 global $_ADODB_ACTIVE_DBS;
+global $ADODB_ACTIVE_CACHESECS; // set to true to enable caching of metadata such as field info
 
 // array of ADODB_Active_DB's, indexed by ADODB_Active_Record->_dbat
 $_ADODB_ACTIVE_DBS = array();
@@ -28,6 +32,7 @@ class ADODB_Active_Table {
        var $name; // table name
        var $flds; // assoc array of adofieldobjs, indexed by fieldname
        var $keys; // assoc array of primary keys, indexed by fieldname
+       var $_created; // only used when stored as a cached file
 }
 
 // returns index into $_ADODB_ACTIVE_DBS
@@ -48,6 +53,7 @@ function ADODB_SetDatabaseAdapter(&$db)
                return sizeof($_ADODB_ACTIVE_DBS)-1;
 }
 
+
 class ADODB_Active_Record {
        var $_dbat; // associative index pointing to ADODB_Active_DB eg. $ADODB_Active_DBS[_dbat]
        var $_table; // tablename
@@ -55,6 +61,7 @@ class ADODB_Active_Record {
        var $_where; // where clause set in Load()
        var $_saved = false; // indicates whether data is already inserted.
        var $_lasterr = false; // last error message
+       var $_original = false; // the original values loaded or inserted, refreshed on update
        
        // should be static
        function SetDatabaseAdapter(&$db) 
@@ -119,7 +126,7 @@ class ADODB_Active_Record {
        // update metadata
        function UpdateActiveTable($pkeys=false,$forceUpdate=false)
        {
-       global $ADODB_ASSOC_CASE,$_ADODB_ACTIVE_DBS;
+       global $ADODB_ASSOC_CASE,$_ADODB_ACTIVE_DBS , $ADODB_CACHE_DIR, $ADODB_ACTIVE_CACHESECS;
        
                $activedb =& $_ADODB_ACTIVE_DBS[$this->_dbat];
 
@@ -133,10 +140,27 @@ class ADODB_Active_Record {
                        return;
                }
                
+               $db =& $activedb->db;
+               $fname = $ADODB_CACHE_DIR . '/adodb_' . $db->databaseType . '_active_'. $table . '.cache';
+               if (!$forceUpdate && $ADODB_ACTIVE_CACHESECS && $ADODB_CACHE_DIR && file_exists($fname)) {
+                       $fp = fopen($fname,'r');
+                       @flock($fp, LOCK_SH);
+                       $acttab = unserialize(fread($fp,100000));
+                       fclose($fp);
+                       if ($acttab->_created + $ADODB_ACTIVE_CACHESECS - (abs(rand()) % 16) > time()) { 
+                               // abs(rand()) randomizes deletion, reducing contention to delete/refresh file
+                               // ideally, you should cache at least 32 secs
+                               $activedb->tables[$table] = $acttab;
+                               
+                               //if ($db->debug) ADOConnection::outp("Reading cached active record file: $fname");
+                               return;
+                       } else if ($db->debug) {
+                               ADOConnection::outp("Refreshing cached active record file: $fname");
+                       }
+               }
                $activetab = new ADODB_Active_Table();
                $activetab->name = $table;
                
-               $db =& $activedb->db;
                
                $cols = $db->MetaColumns($table);
                if (!$cols) {
@@ -198,6 +222,13 @@ class ADODB_Active_Record {
                
                $activetab->keys = $keys;
                $activetab->flds = $attr;
+
+               if ($ADODB_ACTIVE_CACHESECS && $ADODB_CACHE_DIR) {
+                       $activetab->_created = time();
+                       $s = serialize($activetab);
+                       if (!function_exists('adodb_write_file')) include(ADODB_DIR.'/adodb-csvlib.inc.php');
+                       adodb_write_file($fname,$s);
+               }
                $activedb->tables[$table] = $activetab;
        }
        
@@ -289,7 +320,7 @@ class ADODB_Active_Record {
                        $this->$name = $row[$cnt];
                        $cnt += 1;
                }
-               #$this->_original =& $row;
+               $this->_original = $row;
                return true;
        }
        
@@ -410,7 +441,7 @@ class ADODB_Active_Record {
                        }
                }
                
-               #$this->_original =& $valarr;
+               $this->_original = $valarr;
                return !empty($ok);
        }
        
@@ -447,6 +478,9 @@ class ADODB_Active_Record {
                                        }
                                }
                        }*/
+                       if (is_null($val) && !empty($fld->auto_increment)) {
+               continue;
+            }
                        $t = $db->MetaType($fld->type);
                        $arr[$name] = $this->doquote($db,$val,$t);
                        $valarr[] = $val;
@@ -479,12 +513,12 @@ class ADODB_Active_Record {
                                }
                        }
                        
-                       #$this->_original =& $valarr;
+                       $this->_original =& $valarr;
                } 
                return $ok;
        }
 
-       // returns false on error
+       // returns 0 on error, 1 on update, -1 if no change in data (no update)
        function Update()
        {
                $db =& $this->DB(); if (!$db) return false;
@@ -496,11 +530,20 @@ class ADODB_Active_Record {
                        $this->error("Where missing for table $table", "Update");
                        return false;
                }
+               $valarr = array(); 
+               $neworig = array();
+               $pairs = array();
+               $i = -1;
                $cnt = 0;
                foreach($table->flds as $name=>$fld) {
-                       if (isset($table->keys[$name])) continue;
-                       
+                       $i += 1;
                        $val = $this->$name;
+                       $neworig[] = $val;
+                       
+                       if (isset($table->keys[$name])) {
+                               continue;
+                       }
+                       
                        
                        if (is_null($val)) {
                                if (isset($fld->not_null) && $fld->not_null) {
@@ -511,17 +554,24 @@ class ADODB_Active_Record {
                                        }
                                }
                        }
+                       
+                       if ( $val == $this->_original[$i]) {
+                               continue;
+                       }                       
                        $valarr[] = $val;
                        $pairs[] = $name.'='.$db->Param($cnt);
                        $cnt += 1;
                }
                
-               #$this->_original =& $valarr;
                
+               if (!$cnt) return -1;
                $sql = 'UPDATE '.$this->_table." SET ".implode(",",$pairs)." WHERE ".$where;
                $ok = $db->Execute($sql,$valarr);
-               
-               return !empty($ok);
+               if ($ok) {
+                       $this->_original =& $neworig;
+                       return 1;
+               }
+               return 0;
        }
        
        function GetAttributeNames()
index 13e5864..073c20f 100644 (file)
@@ -8,7 +8,7 @@ $ADODB_INCLUDED_CSV = 1;
 
 /* 
 
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 723bb7d..94a03d6 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 447d645..b866008 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 204b9cb..c3bebb9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
- * @version V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 6a1100c..e1eb49a 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 11d5981..3f24126 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
- * @version V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 0d3ed4c..91578b9 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 a463244..e67faf3 100644 (file)
@@ -7,7 +7,7 @@ global $ADODB_INCLUDED_LIB;
 $ADODB_INCLUDED_LIB = 1;
 
 /* 
- @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim\@natsoft.com.my). All rights reserved.
+ @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim\@natsoft.com.my). 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 85b992b..aa87f90 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-       V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+       V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 768677b..3fcdde9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 ec4a2c5..42d2f89 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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. 
@@ -860,8 +860,11 @@ Committed_AS:   348732 kB
        {
                if (!$this->createTableSQL) return false;
                
+               $table = $this->table();
+               $sql = str_replace('adodb_logsql',$table,$this->createTableSQL);
+               
                $savelog = $this->conn->LogSQL(false);
-               $ok = $this->conn->Execute($this->createTableSQL);
+               $ok = $this->conn->Execute($sql);
                $this->conn->LogSQL($savelog);
                return ($ok) ? true : false;
        }
index 6e6eee1..d595b18 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 4394754..51f69f7 100644 (file)
@@ -241,6 +241,9 @@ b. Implement daylight savings, which looks awfully complicated, see
 
 
 CHANGELOG
+- 19 March 2006 0.24
+Changed strftime() locale detection, because some locales prepend the day of week to the date when %c is used.
+
 - 10 Feb 2006 0.23
 PHP5 compat: when we detect PHP5, the RFC2822 format for gmt 0000hrs is changed from -0000 to +0000. 
        In PHP4, we will still use -0000 for 100% compat with PHP4.
@@ -365,7 +368,7 @@ First implementation.
 /*
        Version Number
 */
-define('ADODB_DATE_VERSION',0.23);
+define('ADODB_DATE_VERSION',0.24);
 
 /*
        This code was originally for windows. But apparently this problem happens 
@@ -1239,9 +1242,16 @@ global $ADODB_DATE_LOCALE;
        }
        
        if (empty($ADODB_DATE_LOCALE)) {
+       /*
                $tstr = strtoupper(gmstrftime('%c',31366800)); // 30 Dec 1970, 1 am
                $sep = substr($tstr,2,1);
                $hasAM = strrpos($tstr,'M') !== false;
+       */
+               # see http://phplens.com/lens/lensforum/msgs.php?id=14865 for reasoning, and changelog for version 0.24
+               $dstr = gmstrftime('%x',31366800); // 30 Dec 1970, 1 am
+               $sep = substr($dstr,2,1);
+               $tstr = strtoupper(gmstrftime('%X',31366800)); // 30 Dec 1970, 1 am
+               $hasAM = strrpos($tstr,'M') !== false;
                
                $ADODB_DATE_LOCALE = array();
                $ADODB_DATE_LOCALE[] =  strncmp($tstr,'30',2) == 0 ? 'd'.$sep.'m'.$sep.'y' : 'm'.$sep.'d'.$sep.'y';     
index 9753cd7..89aab68 100644 (file)
@@ -14,7 +14,7 @@
 /**
        \mainpage       
        
-        @version V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+        @version V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 = 'V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved. Released BSD & LGPL.';
+               $ADODB_vers = 'V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved. Released BSD & LGPL.';
        
                /**
                 * Determines whether recordset->RecordCount() is used. 
 
        function q(&$s)
        {
+               #if (!empty($this->qNull)) if ($s == 'null') return $s;
                $s = $this->qstr($s,false);
        }
        
        {
                if ($this->debug) {
                        global $ADODB_INCLUDED_LIB;
-                       if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+                       if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                        $this->_queryID = _adodb_debug_execute($this, $sql,$inputarr);
                } else {
                        $this->_queryID = @$this->_query($sql,$inputarr);
        function Replace($table, $fieldArray, $keyCol, $autoQuote=false, $has_autoinc=false)
        {
                global $ADODB_INCLUDED_LIB;
-               if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+               if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                
                return _adodb_replace($this, $table, $fieldArray, $keyCol, $autoQuote, $has_autoinc);
        }
       } 
       
       global $ADODB_INCLUDED_CSV;
-      if (empty($ADODB_INCLUDED_CSV)) include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
+      if (empty($ADODB_INCLUDED_CSV)) include(ADODB_DIR.'/adodb-csvlib.inc.php');
       
       $f = $this->_gencachename($sql.serialize($inputarr),false);
       adodb_write_file($f,''); // is adodb_write_file needed?
                } 
                
                global $ADODB_INCLUDED_CSV;
-               if (empty($ADODB_INCLUDED_CSV)) include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
+               if (empty($ADODB_INCLUDED_CSV)) include(ADODB_DIR.'/adodb-csvlib.inc.php');
                
                $f = $this->_gencachename($sql.serialize($inputarr),false);
                adodb_write_file($f,''); // is adodb_write_file needed?
                        $sqlparam = $sql;
                        
                global $ADODB_INCLUDED_CSV;
-               if (empty($ADODB_INCLUDED_CSV)) include_once(ADODB_DIR.'/adodb-csvlib.inc.php');
+               if (empty($ADODB_INCLUDED_CSV)) include(ADODB_DIR.'/adodb-csvlib.inc.php');
                
                $md5file = $this->_gencachename($sql.serialize($inputarr),true);
                $err = '';
                }
                //********************************************************//
 
-               if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+               if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                return _adodb_getupdatesql($this,$rs,$arrFields,$forceUpdate,$magicq,$force);
        }
 
                        $force = $ADODB_FORCE_TYPE;
                        
                }
-               if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+               if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                return _adodb_getinsertsql($this,$rs,$arrFields,$magicq,$force);
        }
        
                
                
                if (!isset($_ADODB_ACTIVE_DBS)) {
-                       include_once(ADODB_DIR.'/adodb-active-record.inc.php');
+                       include(ADODB_DIR.'/adodb-active-record.inc.php');
                }       
                if (!class_exists($class)) {
                        ADOConnection::outp("Unknown class $class in GetActiveRcordsClass()");
        function &PageExecute($sql, $nrows, $page, $inputarr=false, $secs2cache=0) 
        {
                global $ADODB_INCLUDED_LIB;
-               if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+               if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                if ($this->pageExecuteCountRows) $rs =& _adodb_pageexecute_all_rows($this, $sql, $nrows, $page, $inputarr, $secs2cache);
                else $rs =& _adodb_pageexecute_no_last_page($this, $sql, $nrows, $page, $inputarr, $secs2cache);
                return $rs;
        //==============================================================================================        
        // DATE AND TIME FUNCTIONS
        //==============================================================================================        
-       include_once(ADODB_DIR.'/adodb-time.inc.php');
+       if (!defined('ADODB_DATE_VERSION')) include(ADODB_DIR.'/adodb-time.inc.php');
        
        //==============================================================================================        
        // CLASS ADORecordSet
                        $size=0, $selectAttr='',$compareFields0=true)
        {
                global $ADODB_INCLUDED_LIB;
-               if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+               if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                return _adodb_getmenu($this, $name,$defstr,$blank1stItem,$multiple,
                        $size, $selectAttr,$compareFields0);
        }
                        $size=0, $selectAttr='')
        {
                global $ADODB_INCLUDED_LIB;
-               if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+               if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                return _adodb_getmenu_gp($this, $name,$defstr,$blank1stItem,$multiple,
                        $size, $selectAttr,false);
        }
                $path = ADODB_DIR."/datadict/datadict-$drivername.inc.php";
 
                if (!file_exists($path)) {
-                       ADOConnection::outp("Database driver '$path' not available");
+                       ADOConnection::outp("Dictionary driver '$path' not available");
                        return $false;
                }
                include_once($path);
        function adodb_backtrace($printOrArr=true,$levels=9999)
        {
                global $ADODB_INCLUDED_LIB;
-               if (empty($ADODB_INCLUDED_LIB)) include_once(ADODB_DIR.'/adodb-lib.inc.php');
+               if (empty($ADODB_INCLUDED_LIB)) include(ADODB_DIR.'/adodb-lib.inc.php');
                return _adodb_backtrace($printOrArr,$levels);
        }
 
index dce3223..3bac62d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 3d8f449..3f24449 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 52baae8..efadf89 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 054e1e8..d4dbd3e 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 0665c96..952f765 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 684cf77..45aeb88 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 0b79918..2ab112a 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 568bbbd..6de9344 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 98062b9..787d97e 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 cd0b5a7..fd5e047 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 8458a64..144d81c 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.50 6 July 2004  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.50 6 July 2004  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 3fa85c8..a36de3b 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /**
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 88a04a2..c682039 100644 (file)
@@ -184,6 +184,12 @@ $person2->NAME = 'Lily';
 
 <p>Also see <a href=http://phplens.com/adodb/reference.constants.adodb_assoc_case.html>$ADODB_ASSOC_CASE</a>.
 
+<h3><li>ADOdb_Active_Record::Save</h3>
+<p>
+Saves a record by executing an INSERT or UPDATE SQL statement as appropriate. 
+<p>Returns false on  unsuccessful INSERT, true if successsful INSERT.
+<p>Returns 0 on failed UPDATE, and 1 on UPDATE if data has changed, and -1 if no data was changed, so no UPDATE statement was executed.
+
 <h3><li>ADOdb_Active_Record::Replace</h3>
 <p>
 ADOdb supports replace functionality, whereby the record is inserted if it does not exists, or updated otherwise.
@@ -260,6 +266,8 @@ ADOdb_Active_Record does not require the table to have a primary key. You can in
         // or use method
        $rec->SetPrimaryKeys($pkeys);
 </pre>
+
+
 <h3><li>Retrieval of Auto-incrementing ID</h3>
 When creating a new record, the retrieval of the last auto-incrementing ID is not reliable for databases that do not support the Insert_ID() function call (check $connection->hasInsertID). In this case we perform a <b>SELECT MAX($primarykey) FROM $table</b>, which will not work reliably in a multi-user environment. You can override the ADOdb_Active_Record::LastInsertID() function in this case.
 
@@ -288,6 +296,11 @@ If you have to pass in a primary key called "id" and the 2nd db connection in th
 $rec = new ADOdb_Active_Record("table1",array("id"),$db2);
 </pre>
 
+<h3><li>$ADODB_ACTIVE_CACHESECS</h3>
+<p>You can cache the table metadata (field names, types, and other info such primary keys) in $ADODB_CACHE_DIR (which defaults to /tmp) by setting
+the global variable $ADODB_ACTIVE_CACHESECS to a value greater than 0. This will be the number of seconds to cache.
+ You should set this to a value of 30 seconds or greater for optimal performance.
+
 <h3><li>Active Record Considered Bad?</h3>
 <p>Although the Active Record concept is useful, you have to be aware of some pitfalls when using Active Record. The level of granularity of Active Record is individual records. It encourages code like the following, used to increase the price of all furniture products by 10%:
 <pre>
@@ -303,6 +316,18 @@ Of course a SELECT statement is superior because it's simpler and much more effi
 </pre>
 <p>Another issue is performance. For performance sensitive code, using direct SQL will always be faster than using Active Records due to overhead and the fact that all fields in a row are retrieved (rather than only the subset you need) whenever an Active Record is loaded.
 
+<h3><li>Transactions</h3>
+<p>
+The default transaction mode in ADOdb is autocommit. So that is the default with active record too. 
+The general rules for managing transactions still apply. Active Record to the database is a set of insert/update/delete statements, and the db has no knowledge of active records.
+<p>
+Smart transactions, that does an auto-rollback if an error occurs, is still the best method to multiple activities (inserts/updates/deletes) that need to be treated as a single transaction:
+<pre>
+$conn->StartTrans();
+$parent->save();
+$child->save();
+$conn->CompleteTrans();
+</pre>
 
 <h2>ADOConnection Supplement</h2>
 
@@ -448,6 +473,11 @@ echo "&lt;p>Name first (should be John): ",$person->name_first, "&lt;br>Class =
  <p>PHP5 specific: Change PHP5 implementation of Active Record to use __get() and __set() for better performance.
 
 <h3> Change Log</h3>
+<p>0.03 <br>
+- Now we only update fields that have changed, using $this->_original.<br>
+- We do not include auto_increment fields in replace(). Thx Travis Cline<br>
+- Added ADODB_ACTIVE_CACHESECS.<br>
+
 <p>0.02 <br>
 - Much better error handling. ErrorMsg() implemented. Throw implemented if adodb-exceptions.inc.php detected.<br>
 - You can now define the primary keys of the view or table you are accessing manually.<br>
index a3e2fd1..2402223 100644 (file)
@@ -15,7 +15,7 @@ pre {
 <body bgcolor="#ffffff" text="black">
 
 <h2>ADOdb Library for PHP</h2>
-<p>V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim#natsoft.com)</p>
+<p>V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com)</p>
 <p><font size="1">This software is dual licensed using BSD-Style and LGPL. This 
   means you can use it in compiled proprietary and commercial products.</font></p>
   
@@ -1646,7 +1646,7 @@ See  <a href="#connect_ex">Connection Examples</a> for many examples.
 <p><font>We now perform a rollback on persistent connection for selected databases since 
        2.21, as advised in the PHP manual. See change log or source code for which 
        databases are affected. 
-</font></p><p><font>Returns true/false depending on connection. Since 4.23, null is returned if the extension is not loaded.
+</font></p><p><font>Returns true/false depending on connection. Since 4.23, 0 is returned if the extension is not loaded.
 See Connect( ) above for more info.</font></p>
 <p><font>Since ADOdb 2.21, we also support autoRollback. If you set:</font></p>
  
@@ -2682,7 +2682,7 @@ $where)</b></font></p>
 <p><font><b>FetchNextObject<a name="fetchnextobject"></a>($toupper=true)</b></font></p>
 <p><font>Gets the current row as an object and moves to the next
     row automatically. Returns false if at end-of-file. If you set $toupper to
-  true, then the object fields are set to upper-case.</font></p>
+  true, then the object fields are set to upper-case. Note that for some drivers such as mssql, you need to SetFetchMode(ADODB_FETCH_ASSOC) or SetFetchMode(ADODB_FETCH_BOTH).</font></p>
 <pre><font>$rs = $db-&gt;Execute('select firstname,lastname from table');<br>if ($rs) {<br>    while ($o = $rs-&gt;FetchNextObject()) {<br>            print "$o-&gt;FIRSTNAME, $o-&gt;LASTNAME&lt;BR&gt;";<br>        }<br>}<br></font></pre>
 <p><font>There is some trade-off in speed in using FetchNextObject().
 If performance is important, you should access rows with the <code>fields[]</code> array. <b>FetchObj<a name="fetchobj" id="fetchobj"></a>()</b> </font></p>
@@ -2845,10 +2845,16 @@ of MySQL.</font></p>
 
 <h2><font>Change Log<a name="Changes"></a><a name="changes"></a><a name="changelog"></a></font></h2>
 <P>
+<p><a name="4.81"></a><b>4.81 ? 2006</b>
+<p>Fixed variable ref errors in adodb-ado5.inc.php in _query().
+<p>Mysqli setcharset fix using method_exists().
+<p>The adodb-perf.inc.php CreateLogTable() code now works for user-defined table names.
+<p>Error in ibase_blob_open() fixed. See http://phplens.com/lens/lensforum/msgs.php?id=14997
 <p><a name="4.80"></a><b>4.80 8 Mar 2006</b>
 <p>Added activerecord support.
 <p>Added mysql $conn->compat323 = true if you want MySQL 3.23 compat enabled. Fixes GetOne() Select-Limit problems.
 <p>Added adodb-xmlschema03.inc.php to support XML Schema version 3 and updated adodb-datadict.htm docs.
+<p>Better memory management in Execute. Thx Mike Fedyk.
 <p><a name="4.72"></a><b>4.72 21 Feb 2006</b>
 <p>Added 'new' DSN parameter for NConnect().
 <p>Pager now sanitizes $PHP_SELF to protect against XSS. Thx to James Bercegay and others.
index 3e4f587..34da7b4 100644 (file)
@@ -20,7 +20,7 @@
 </head>
 <body style="background-color: rgb(255, 255, 255);">
 <h2>ADOdb Data Dictionary Library for PHP</h2>
-<p>V4.80 8 Mar 2006 (c) 2000-2006 John Lim (<a
+<p>V4.81 3 May 2006 (c) 2000-2006 John Lim (<a
  href="mailto:jlim#natsoft.com.my">jlim#natsoft.com.my</a>).<br>
 AXMLS (c) 2004 ars Cognita, Inc</p>
 <p><font size="1">This software is dual licensed using BSD-Style and
index d1150e4..3c80d5f 100644 (file)
@@ -18,7 +18,7 @@ font-size: 8pt;
 </head>
 <body>
 <h3>The ADOdb Performance Monitoring Library</h3>
-<p>V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my)</p>
+<p>V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my)</p>
 <p><font size="1">This software is dual licensed using BSD-Style and
 LGPL. This means you can use it in compiled proprietary and commercial
 products.</font></p>
index 849a3cc..3f8f1e8 100644 (file)
@@ -21,7 +21,7 @@ font-size: 8pt;
 <body style="background-color: rgb(255, 255, 255);">
 <h3>ADODB Session Management Manual</h3>
 <p>
-V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my)
+V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my)
 </p>
 <p> <font size="1">This software is dual licensed using BSD-Style and
 LGPL. This means you can use it in compiled proprietary and commercial
index 7d66644..1fea0ed 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 8540123..d855728 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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. 
@@ -263,6 +263,7 @@ class ADODB_ado extends ADOConnection {
                $this->transCnt += 1;
                return true;
        }
+       
        function CommitTrans($ok=true) 
        { 
                if (!$ok) return $this->RollbackTrans();
@@ -283,7 +284,9 @@ class ADODB_ado extends ADOConnection {
 
        function ErrorMsg() 
        {
+               if (!$this->_connectionID) return "No connection established";
                $errc = $this->_connectionID->Errors;
+               if (!$errc) return "No Errors object found";
                if ($errc->Count == 0) return '';
                $err = $errc->Item($errc->Count-1);
                return $err->Description;
index 55b3069..03c0901 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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. 
@@ -216,6 +216,9 @@ class ADODB_ado extends ADOConnection {
                $dbc = $this->_connectionID;
                
        //      return rs       
+       
+               $false = false;
+               
                if ($inputarr) {
                        
                        if (!empty($this->charPage))
@@ -236,22 +239,24 @@ class ADODB_ado extends ADOConnection {
                        $p = false;
                        $rs = $oCmd->Execute();
                        $e = $dbc->Errors;
-                       if ($dbc->Errors->Count > 0) return false;
+                       if ($dbc->Errors->Count > 0) return $false;
                        return $rs;
                }
                
                $rs = @$dbc->Execute($sql,$this->_affectedRows, $this->_execute_option);
                        
-               if ($dbc->Errors->Count > 0) return false;
-               if (! $rs) return false;
+               if ($dbc->Errors->Count > 0) return $false;
+               if (! $rs) return $false;
                
-               if ($rs->State == 0) return true; // 0 = adStateClosed means no records returned
-               return $rs;
+               if ($rs->State == 0) {
+                       $true = true;
+                       return $true; // 0 = adStateClosed means no records returned
+               } return $rs;
                
                } catch (exception $e) {
                        
                }
-               return false;
+               return $false;
        }
 
        
@@ -290,7 +295,9 @@ class ADODB_ado extends ADOConnection {
 
        function ErrorMsg() 
        {
+               if (!$this->_connectionID) return "No connection established";
                $errc = $this->_connectionID->Errors;
+               if (!$errc) return "No Errors object found";
                if ($errc->Count == 0) return '';
                $err = $errc->Item($errc->Count-1);
                return $err->Description;
index c0b17db..0078a39 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 e1cc11c..3a5e691 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 a478ca5..dee957f 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 24731e0..3f7c8f8 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 31234f8..a0f67e0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-  V4.80 8 Mar 2006  (c) 2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2006 John Lim (jlim#natsoft.com.my). 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.
index 1ff45aa..c054a9e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 59d9bad..286ca17 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 f020d88..f1eacda 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.  
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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.
@@ -558,7 +558,7 @@ class ADODB_ibase extends ADOConnection {
        // still used to auto-decode all blob's
        function _BlobDecode( $blob ) 
        {
-               $blobid = ibase_blob_open( $blob );
+               $blobid = ibase_blob_open($this->_connectionID, $blob );
                $realblob = ibase_blob_get( $blobid,$this->maxblobsize); // 2nd param is max size of blob -- Kevin Boillet <kevinboillet@yahoo.fr>
                while($string = ibase_blob_get($blobid, 8192)){ 
                        $realblob .= $string; 
index 760fe37..2f90e24 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+* @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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.
@@ -22,6 +22,11 @@ class ADODB_informix extends ADODB_informix72 {
        var $databaseType = "informix";
        var $hasTop = 'FIRST';
        var $ansiOuter = true;
+       
+       function IfNull( $field, $ifNull )
+       {
+               return " NVL($field, $ifNull) "; // if Informix 9.X or 10.X
+       }
 }
 
 class ADORecordset_informix extends ADORecordset_informix72 {
index 436f524..4d94657 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim. All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 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 f78216d..38b0b57 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 e37d888..2f5ed41 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 3e13ae4..dc2441c 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /**
-* @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+* @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 2a58700..c95e025 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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.
@@ -637,8 +637,8 @@ class ADORecordSet_mysql extends ADORecordSet{
 
        function &GetRowAssoc($upper=true)
        {
-               if ($this->fetchMode == MYSQL_ASSOC && !$upper) return $this->fields;
-               $row =& ADORecordSet::GetRowAssoc($upper);
+               if ($this->fetchMode == MYSQL_ASSOC && !$upper) $row = $this->fields;
+               else $row =& ADORecordSet::GetRowAssoc($upper);
                return $row;
        }
        
index 773da21..a6b0602 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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.
@@ -680,7 +680,7 @@ class ADODB_mysqli extends ADOConnection {
   function GetCharSet()
   {
     //we will use ADO's builtin property charSet
-    if (!is_callable($this->_connectionID,'character_set_name'))
+    if (!method_exists($this->_connectionID,'character_set_name'))
        return false;
        
     $this->charSet = @$this->_connectionID->character_set_name();
@@ -694,7 +694,7 @@ class ADODB_mysqli extends ADOConnection {
   // SetCharSet - switch the client encoding
   function SetCharSet($charset_name)
   {
-    if (!is_callable($this->_connectionID,'set_charset'))
+    if (!method_exists($this->_connectionID,'set_charset'))
        return false;
 
     if ($this->charSet !== $charset_name) {
index 110b26f..ea62002 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 96d93a3..afd5923 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
  
   First cut at the Netezza Driver by Josh Eldridge joshuae74#hotmail.com
  Based on the previous postgres drivers.
index a4e9ba9..05f9aea 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
 
-  version V4.80 8 Mar 2006 (c) 2000-2006 John Lim. All rights reserved.
+  version V4.81 3 May 2006 (c) 2000-2006 John Lim. All rights reserved.
 
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
index dce1096..5163df0 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 f9057f0..0555864 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim. All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 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 f4fe827..9940150 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 774f440..4e9fee2 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 df37a0a..e0eeff1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 4646ed9..4cfc1bd 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 709e6b7..580c8c1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 e55b6d0..e570d19 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-       V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+       V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 db900ff..e6204f1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 2c2e12a..7d09c22 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 5d5dea4..850fd12 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 b63c167..3c8710b 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 97be27b..8066565 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 e4216a4..2de5036 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 c2cf513..63a057d 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 878b808..feadbaa 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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.
@@ -464,7 +464,6 @@ select viewname,'V' from pg_views where viewname like $mask";
        {
        global $ADODB_FETCH_MODE;
        
-               $ADODB_FETCH_MODE=ADODB_FETCH_NUM;
                $schema = false;
                $false = false;
                $this->_findschema($table,$schema);
index 842b524..7dc22cc 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
+ V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 e5e486d..80d6e18 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
- V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 297e752..b0f9825 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 b132a61..df9fb45 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 20db93e..cd023cc 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-version V4.80 8 Mar 2006 (c) 2000-2006  John Lim (jlim@natsoft.com.my).  All rights
+version V4.81 3 May 2006 (c) 2000-2006  John Lim (jlim#natsoft.com.my).  All rights
 reserved.
   Released under both BSD license and Lesser GPL library license. 
   Whenever there is any discrepancy between the two licenses, 
index 74ba277..1838220 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 27c7353..b8489e9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 8566dd7..2649260 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim. All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 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 cdad416..c0c783f 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 e5040f8..f62d7d9 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 023f314..70f0274 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 37a4e72..750c81f 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 8372efe..5fcd407 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 6cc51d1..729c011 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 ba548a2..5e801d2 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 61bc602..89e414f 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 57c8146..35b9fe4 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 45bcc47..21b759e 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 4549a94..bff6bcc 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 74c3a88..0fe511d 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
index c3b9fef..59a37c7 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
index 2a82f1b..1a91b8c 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
index f7c6185..9f4a31f 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
index 92c65ee..425a345 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
index 30fdd7a..9d6b672 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
index c73501d..a1210a6 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
index 1d31de0..12d01ad 100644 (file)
@@ -2,7 +2,7 @@
 
 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved.
          Contributed by Ross Smith (adodb@netebb.com). 
   Released under both BSD license and Lesser GPL library license.
   Whenever there is any discrepancy between the two licenses,
@@ -26,7 +26,7 @@ V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reser
 */
 
 if (!defined('_ADODB_LAYER')) {
-       require_once realpath(dirname(__FILE__) . '/../adodb.inc.php');
+       require realpath(dirname(__FILE__) . '/../adodb.inc.php');
 }
 
 if (defined('ADODB_SESSION')) return 1;
index dc369e8..0b4f3f3 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 441a8cc..a44e135 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 36b7e49..f800d28 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 9df930b..5276dd4 100644 (file)
@@ -8,7 +8,7 @@
 <body>
 <?php 
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 8622797..b1e4fb2 100644 (file)
@@ -2,7 +2,7 @@
 <body bgcolor=white>
 <?php
 /** 
- * V4.50 6 July 2004  (c) 2001-2002 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * V4.50 6 July 2004  (c) 2001-2002 John Lim (jlim#natsoft.com.my). 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 09e5825..4fc0162 100644 (file)
@@ -49,7 +49,7 @@ Test <a href=test4.php>GetInsertSQL/GetUpdateSQL</a> &nbsp;
        </p>
        <table width=100% ><tr><td bgcolor=beige>&nbsp;</td></tr></table>
        </p>
-<h3>SQL Logging enabled</h3><h3>ADODB Version: V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved. Released BSD & LGPL. Host: <i>sherkhan</i> &nbsp; Database: <i></i> &nbsp; PHP: 4.3.8 </h3>Array
+<h3>SQL Logging enabled</h3><h3>ADODB Version: V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). All rights reserved. Released BSD & LGPL. Host: <i>sherkhan</i> &nbsp; Database: <i></i> &nbsp; PHP: 4.3.8 </h3>Array
 (
     [compat] => 9.2.0.0.0
     [description] => Oracle9i Release 9.2.0.1.0 - Production
index 2895df8..a64f43d 100644 (file)
@@ -6,7 +6,7 @@ include('../adodb-active-record.inc.php');
 
 ###########################
 
-
+$ADODB_ACTIVE_CACHESECS = 36;
 
 $DBMS = @$_GET['db'];
 if ($DBMS == 'mysql') {
@@ -59,11 +59,14 @@ $rec->save();
 
 $rec = new ADODB_Active_record('products');
 $rec->productname = 'John ActiveRec';
-$rec->productid=0;
+$rec->notes = 22;
+#$rec->productid=0;
 $rec->discontinued=1;
 $rec->Save();
 $rec->supplierid=33;
 $rec->Save();
+$rec->discontinued=0;
+$rec->Save();
 $rec->Delete();
 
 echo "<p>Affected Rows after delete=".$db->Affected_Rows()."</p>";
index 5d86529..2b2c68c 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 /*
 
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 be727bb..3fe41fe 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 9771a72..2752959 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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. 
@@ -1115,6 +1115,13 @@ END Adodb;
        else print " Fail<BR>";
        
        $rs = &$db->CacheExecute(4,"select distinct firstname,lastname from ADOXYZ");
+       
+       if ($rs) print ' 1st line set to **** , Steven selected: '. $rs->GetMenu('menu','Steven','1st:****').'<BR>';
+       else print " Fail<BR>";
+       
+
+       
+       $rs = &$db->CacheExecute(4,"select distinct firstname,lastname from ADOXYZ");
        if ($rs) print ' Multiple, Alan selected: '. $rs->GetMenu('menu','Alan',false,true).'<BR>';
        else print " Fail<BR>";
        print '</p><hr />';
index eb4ba8d..92fc280 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 8d2cd1f..7303fde 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /** 
- * @version V4.50 6 July 2004 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.50 6 July 2004 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 4115173..5ea4f89 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 d89fdbb..762e6b9 100644 (file)
@@ -2,7 +2,7 @@
 <body>
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 fa3cf7a..466d335 100644 (file)
@@ -1,7 +1,7 @@
 <?php
   
 /*
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 1a13fd9..263f85a 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /** 
- * @version V4.50 6 July 2004 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.50 6 July 2004 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 5db4f8d..061fd26 100644 (file)
@@ -2,7 +2,7 @@
 <body>
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 a39278f..7c836e1 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 12710fb..0ffffe6 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 6814798..4d79b73 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 c846248..37eb5f5 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /* 
-V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 51b5fac..6c66d2b 100644 (file)
@@ -1,7 +1,7 @@
 <?php
 
 /** 
- * @version V4.80 8 Mar 2006 (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+ * @version V4.81 3 May 2006 (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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 70dfca8..b05b3f9 100644 (file)
@@ -1,6 +1,6 @@
 <?php 
 /*
-  V4.80 8 Mar 2006  (c) 2000-2006 John Lim (jlim@natsoft.com.my). All rights reserved.
+  V4.81 3 May 2006  (c) 2000-2006 John Lim (jlim#natsoft.com.my). 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/typo3/sysext/adodb/doc/480.DBAL.patch b/typo3/sysext/adodb/doc/480.DBAL.patch
deleted file mode 100644 (file)
index 2abaee7..0000000
+++ /dev/null
@@ -1,73 +0,0 @@
-diff -ruw adodb480/adodb-lib.inc.php adodb/adodb-lib.inc.php
---- adodb480/adodb-lib.inc.php 2006-03-10 09:58:57.000000000 +0100
-+++ adodb/adodb-lib.inc.php    2006-03-25 12:49:24.000000000 +0100
-@@ -783,7 +783,7 @@
-       $values = substr($values, 0, -2);
-       // Append the fields and their values to the insert query.
--      return 'INSERT INTO '.$tableName.' ( '.$fields.' ) VALUES ( '.$values.' )';
-+      return 'INSERT INTO '.$zthis->nameQuote.$tableName.$zthis->nameQuote.' ( '.$fields.' ) VALUES ( '.$values.' )';
- }
-Only in adodb: adodb-lib.inc.php.orig
-diff -ruw adodb480/datadict/datadict-oci8.inc.php adodb/datadict/datadict-oci8.inc.php
---- adodb480/datadict/datadict-oci8.inc.php    2006-03-10 09:58:40.000000000 +0100
-+++ adodb/datadict/datadict-oci8.inc.php       2006-03-25 12:49:24.000000000 +0100
-@@ -251,8 +251,8 @@
-               }
-               
-               if ( is_array($flds) )
--                      $flds = implode(', ',$flds);
--              $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname . ' (' . $flds . ')';
-+                      $flds = implode($this->quote.', '.$this->quote,$flds);
-+              $s = 'CREATE' . $unique . ' INDEX ' .$this->quote. $idxname .$this->quote. ' ON ' . $this->quote.$tabname . $this->quote.' (' .$this->quote. $flds .$this->quote. ')';
-               
-               if ( isset($idxoptions[$this->upperName]) )
-                       $s .= $idxoptions[$this->upperName];
-diff -ruw adodb480/datadict/datadict-postgres.inc.php adodb/datadict/datadict-postgres.inc.php
---- adodb480/datadict/datadict-postgres.inc.php        2006-03-10 09:58:40.000000000 +0100
-+++ adodb/datadict/datadict-postgres.inc.php   2006-03-25 12:49:24.000000000 +0100
-@@ -342,7 +342,7 @@
-               
-               $unique = isset($idxoptions['UNIQUE']) ? ' UNIQUE' : '';
-               
--              $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname . ' ';
-+              $s = 'CREATE' . $unique . ' INDEX "' . $idxname . '" ON "' . $tabname . '" ';
-               
-               if (isset($idxoptions['HASH']))
-                       $s .= 'USING HASH ';
-@@ -351,8 +351,8 @@
-                       $s .= $idxoptions[$this->upperName];
-               
-               if ( is_array($flds) )
--                      $flds = implode(', ',$flds);
--              $s .= '(' . $flds . ')';
-+                      $flds = implode('", "',$flds);
-+              $s .= '("' . $flds . '")';
-               $sql[] = $s;
-               
-               return $sql;
-diff -ruw adodb480/drivers/adodb-oci8.inc.php adodb/drivers/adodb-oci8.inc.php
---- adodb480/drivers/adodb-oci8.inc.php        2006-03-10 09:58:53.000000000 +0100
-+++ adodb/drivers/adodb-oci8.inc.php   2006-03-25 12:49:24.000000000 +0100
-@@ -104,7 +104,7 @@
-               $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
-               if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
-               
--              $rs = $this->Execute(sprintf($this->metaColumnsSQL,strtoupper($table)));
-+              $rs = $this->Execute(sprintf($this->metaColumnsSQL,$table));
-               
-               if (isset($savem)) $this->SetFetchMode($savem);
-               $ADODB_FETCH_MODE = $save;
-diff -ruw adodb480/drivers/adodb-postgres64.inc.php adodb/drivers/adodb-postgres64.inc.php
---- adodb480/drivers/adodb-postgres64.inc.php  2006-03-10 09:58:51.000000000 +0100
-+++ adodb/drivers/adodb-postgres64.inc.php     2006-03-25 12:49:24.000000000 +0100
-@@ -464,6 +464,7 @@
-       {
-       global $ADODB_FETCH_MODE;
-       
-+              $ADODB_FETCH_MODE=ADODB_FETCH_NUM;
-               $schema = false;
-               $false = false;
-               $this->_findschema($table,$schema);
diff --git a/typo3/sysext/adodb/doc/481.DBAL.patch b/typo3/sysext/adodb/doc/481.DBAL.patch
new file mode 100644 (file)
index 0000000..6fb72aa
--- /dev/null
@@ -0,0 +1,61 @@
+diff -urw adodb.481/adodb-lib.inc.php adodb/adodb-lib.inc.php
+--- adodb.481/adodb-lib.inc.php        2006-05-03 09:42:47.000000000 +0200
++++ adodb/adodb-lib.inc.php    2006-05-15 13:52:14.000000000 +0200
+@@ -783,7 +783,7 @@
+       $values = substr($values, 0, -2);
+       // Append the fields and their values to the insert query.
+-      return 'INSERT INTO '.$tableName.' ( '.$fields.' ) VALUES ( '.$values.' )';
++      return 'INSERT INTO '.$zthis->nameQuote.$tableName.$zthis->nameQuote.' ( '.$fields.' ) VALUES ( '.$values.' )';
+ }
+diff -urw adodb.481/datadict/datadict-oci8.inc.php adodb/datadict/datadict-oci8.inc.php
+--- adodb.481/datadict/datadict-oci8.inc.php   2006-05-03 09:42:28.000000000 +0200
++++ adodb/datadict/datadict-oci8.inc.php       2006-05-15 13:52:14.000000000 +0200
+@@ -251,8 +251,8 @@
+               }
+               
+               if ( is_array($flds) )
+-                      $flds = implode(', ',$flds);
+-              $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname . ' (' . $flds . ')';
++                      $flds = implode($this->quote.', '.$this->quote,$flds);
++              $s = 'CREATE' . $unique . ' INDEX ' .$this->quote. $idxname .$this->quote. ' ON ' . $this->quote.$tabname . $this->quote.' (' .$this->quote. $flds .$this->quote. ')';
+               
+               if ( isset($idxoptions[$this->upperName]) )
+                       $s .= $idxoptions[$this->upperName];
+diff -urw adodb.481/datadict/datadict-postgres.inc.php adodb/datadict/datadict-postgres.inc.php
+--- adodb.481/datadict/datadict-postgres.inc.php       2006-05-03 09:42:28.000000000 +0200
++++ adodb/datadict/datadict-postgres.inc.php   2006-05-15 13:52:14.000000000 +0200
+@@ -342,7 +342,7 @@
+               
+               $unique = isset($idxoptions['UNIQUE']) ? ' UNIQUE' : '';
+               
+-              $s = 'CREATE' . $unique . ' INDEX ' . $idxname . ' ON ' . $tabname . ' ';
++              $s = 'CREATE' . $unique . ' INDEX "' . $idxname . '" ON "' . $tabname . '" ';
+               
+               if (isset($idxoptions['HASH']))
+                       $s .= 'USING HASH ';
+@@ -351,8 +351,8 @@
+                       $s .= $idxoptions[$this->upperName];
+               
+               if ( is_array($flds) )
+-                      $flds = implode(', ',$flds);
+-              $s .= '(' . $flds . ')';
++                      $flds = implode('", "',$flds);
++              $s .= '("' . $flds . '")';
+               $sql[] = $s;
+               
+               return $sql;
+diff -urw adodb.481/drivers/adodb-oci8.inc.php adodb/drivers/adodb-oci8.inc.php
+--- adodb.481/drivers/adodb-oci8.inc.php       2006-05-03 09:42:44.000000000 +0200
++++ adodb/drivers/adodb-oci8.inc.php   2006-05-15 13:52:14.000000000 +0200
+@@ -104,7 +104,7 @@
+               $ADODB_FETCH_MODE = ADODB_FETCH_NUM;
+               if ($this->fetchMode !== false) $savem = $this->SetFetchMode(false);
+               
+-              $rs = $this->Execute(sprintf($this->metaColumnsSQL,strtoupper($table)));
++              $rs = $this->Execute(sprintf($this->metaColumnsSQL,$table));
+               
+               if (isset($savem)) $this->SetFetchMode($savem);
+               $ADODB_FETCH_MODE = $save;
index 040e0c9..00dd595 100644 (file)
@@ -1,10 +1,6 @@
-Index: typo3/sysext/adodb/adodb/drivers/adodb-odbc.inc.php
-===================================================================
-RCS file: /cvsroot/typo3/TYPO3core/typo3/sysext/adodb/adodb/drivers/adodb-odbc.inc.php,v
-retrieving revision 1.1.2.1
-diff -u -r1.1.2.1 adodb-odbc.inc.php
---- typo3/sysext/adodb/adodb/drivers/adodb-odbc.inc.php        15 Feb 2006 23:26:46 -0000      1.1.2.1
-+++ typo3/sysext/adodb/adodb/drivers/adodb-odbc.inc.php        16 Mar 2006 19:37:17 -0000
+diff -urw adodb.481/drivers/adodb-odbc.inc.php adodb/drivers/adodb-odbc.inc.php
+--- adodb.481/drivers/adodb-odbc.inc.php       2006-05-03 09:42:44.000000000 +0200
++++ adodb/drivers/adodb-odbc.inc.php   2006-05-15 13:52:08.000000000 +0200
 @@ -513,6 +513,11 @@
                                        $this->_errorMsg = odbc_errormsg();
                                        $this->_errorCode = odbc_error();
index a637140..3f90649 100644 (file)
@@ -3,7 +3,7 @@
 ########################################################################
 # Extension Manager/Repository config file for ext: "adodb"
 #
-# Auto generated 25-03-2006 13:47
+# Auto generated 15-05-2006 14:25
 #
 # Manual updates:
 # Only the data in the array - anything else is removed by next write.
@@ -32,8 +32,8 @@ $EM_CONF[$_EXTKEY] = array(
        'author_company' => 'TYPO3 Association',
        'CGLcompliance' => '',
        'CGLcompliance_note' => '',
-       'version' => '4.80.0',
-       '_md5_values_when_last_written' => 'a:270:{s:25:"checkconnectionwizard.php";s:4:"795b";s:27:"class.tx_adodb_tceforms.php";s:4:"e53a";s:26:"datasource_flexform_ds.xml";s:4:"96fb";s:12:"ext_icon.gif";s:4:"c778";s:17:"ext_localconf.php";s:4:"b58b";s:31:"locallang_datasource_config.xml";s:4:"0e21";s:20:"locallang_wizard.xml";s:4:"0e65";s:33:"adodb/adodb-active-record.inc.php";s:4:"4d95";s:26:"adodb/adodb-csvlib.inc.php";s:4:"8d21";s:28:"adodb/adodb-datadict.inc.php";s:4:"a810";s:25:"adodb/adodb-error.inc.php";s:4:"8e28";s:32:"adodb/adodb-errorhandler.inc.php";s:4:"9980";s:29:"adodb/adodb-errorpear.inc.php";s:4:"2405";s:30:"adodb/adodb-exceptions.inc.php";s:4:"7ffc";s:28:"adodb/adodb-iterator.inc.php";s:4:"ab11";s:23:"adodb/adodb-lib.inc.php";s:4:"e9f9";s:25:"adodb/adodb-pager.inc.php";s:4:"e1b1";s:24:"adodb/adodb-pear.inc.php";s:4:"45aa";s:24:"adodb/adodb-perf.inc.php";s:4:"790f";s:24:"adodb/adodb-php4.inc.php";s:4:"6398";s:24:"adodb/adodb-time.inc.php";s:4:"ca28";s:29:"adodb/adodb-xmlschema.inc.php";s:4:"9ee7";s:31:"adodb/adodb-xmlschema03.inc.php";s:4:"ea17";s:19:"adodb/adodb.inc.php";s:4:"6afd";s:17:"adodb/license.txt";s:4:"8bd7";s:24:"adodb/pivottable.inc.php";s:4:"977e";s:16:"adodb/readme.txt";s:4:"856d";s:22:"adodb/rsfilter.inc.php";s:4:"fb81";s:16:"adodb/server.php";s:4:"e49b";s:22:"adodb/toexport.inc.php";s:4:"b06e";s:20:"adodb/tohtml.inc.php";s:4:"176f";s:19:"adodb/xmlschema.dtd";s:4:"26f3";s:21:"adodb/xmlschema03.dtd";s:4:"1cd4";s:17:"adodb/CVS/Entries";s:4:"01a1";s:20:"adodb/CVS/Repository";s:4:"cd1a";s:14:"adodb/CVS/Root";s:4:"b923";s:13:"adodb/CVS/Tag";s:4:"c437";s:30:"adodb/contrib/toxmlrpc.inc.php";s:4:"4c40";s:25:"adodb/contrib/CVS/Entries";s:4:"6539";s:28:"adodb/contrib/CVS/Repository";s:4:"3c38";s:22:"adodb/contrib/CVS/Root";s:4:"b923";s:21:"adodb/contrib/CVS/Tag";s:4:"c437";s:35:"adodb/cute_icons_for_site/adodb.gif";s:4:"9430";s:36:"adodb/cute_icons_for_site/adodb2.gif";s:4:"f540";s:37:"adodb/cute_icons_for_site/CVS/Entries";s:4:"7dc6";s:40:"adodb/cute_icons_for_site/CVS/Repository";s:4:"10d9";s:34:"adodb/cute_icons_for_site/CVS/Root";s:4:"b923";s:33:"adodb/cute_icons_for_site/CVS/Tag";s:4:"c437";s:38:"adodb/datadict/datadict-access.inc.php";s:4:"0333";s:35:"adodb/datadict/datadict-db2.inc.php";s:4:"1001";s:40:"adodb/datadict/datadict-firebird.inc.php";s:4:"07f5";s:39:"adodb/datadict/datadict-generic.inc.php";s:4:"0647";s:37:"adodb/datadict/datadict-ibase.inc.php";s:4:"8a19";s:40:"adodb/datadict/datadict-informix.inc.php";s:4:"5e74";s:37:"adodb/datadict/datadict-mssql.inc.php";s:4:"1314";s:37:"adodb/datadict/datadict-mysql.inc.php";s:4:"ae7b";s:36:"adodb/datadict/datadict-oci8.inc.php";s:4:"b4b2";s:40:"adodb/datadict/datadict-postgres.inc.php";s:4:"9152";s:37:"adodb/datadict/datadict-sapdb.inc.php";s:4:"7978";s:38:"adodb/datadict/datadict-sybase.inc.php";s:4:"ce40";s:26:"adodb/datadict/CVS/Entries";s:4:"4c23";s:29:"adodb/datadict/CVS/Repository";s:4:"9e19";s:23:"adodb/datadict/CVS/Root";s:4:"b923";s:22:"adodb/datadict/CVS/Tag";s:4:"c437";s:33:"adodb/docs/docs-active-record.htm";s:4:"b277";s:25:"adodb/docs/docs-adodb.htm";s:4:"2416";s:28:"adodb/docs/docs-datadict.htm";s:4:"a38d";s:26:"adodb/docs/docs-oracle.htm";s:4:"fc24";s:24:"adodb/docs/docs-perf.htm";s:4:"ac2d";s:27:"adodb/docs/docs-session.htm";s:4:"f9e6";s:28:"adodb/docs/old-changelog.htm";s:4:"3158";s:21:"adodb/docs/readme.htm";s:4:"9a0e";s:32:"adodb/docs/tips_portable_sql.htm";s:4:"4027";s:19:"adodb/docs/tute.htm";s:4:"691e";s:22:"adodb/docs/CVS/Entries";s:4:"706d";s:25:"adodb/docs/CVS/Repository";s:4:"ad28";s:19:"adodb/docs/CVS/Root";s:4:"b923";s:18:"adodb/docs/CVS/Tag";s:4:"c437";s:34:"adodb/drivers/adodb-access.inc.php";s:4:"05b7";s:31:"adodb/drivers/adodb-ado.inc.php";s:4:"9cb0";s:32:"adodb/drivers/adodb-ado5.inc.php";s:4:"ed6d";s:38:"adodb/drivers/adodb-ado_access.inc.php";s:4:"7222";s:37:"adodb/drivers/adodb-ado_mssql.inc.php";s:4:"9656";s:41:"adodb/drivers/adodb-borland_ibase.inc.php";s:4:"261e";s:31:"adodb/drivers/adodb-csv.inc.php";s:4:"5598";s:31:"adodb/drivers/adodb-db2.inc.php";s:4:"123b";s:33:"adodb/drivers/adodb-fbsql.inc.php";s:4:"f39a";s:36:"adodb/drivers/adodb-firebird.inc.php";s:4:"3f86";s:33:"adodb/drivers/adodb-ibase.inc.php";s:4:"354a";s:36:"adodb/drivers/adodb-informix.inc.php";s:4:"f9ca";s:38:"adodb/drivers/adodb-informix72.inc.php";s:4:"4386";s:32:"adodb/drivers/adodb-ldap.inc.php";s:4:"8fc1";s:33:"adodb/drivers/adodb-mssql.inc.php";s:4:"ef0d";s:35:"adodb/drivers/adodb-mssqlpo.inc.php";s:4:"a55e";s:33:"adodb/drivers/adodb-mysql.inc.php";s:4:"27b3";s:34:"adodb/drivers/adodb-mysqli.inc.php";s:4:"bde6";s:34:"adodb/drivers/adodb-mysqlt.inc.php";s:4:"abda";s:35:"adodb/drivers/adodb-netezza.inc.php";s:4:"487c";s:32:"adodb/drivers/adodb-oci8.inc.php";s:4:"a879";s:34:"adodb/drivers/adodb-oci805.inc.php";s:4:"ad3d";s:34:"adodb/drivers/adodb-oci8po.inc.php";s:4:"a86e";s:32:"adodb/drivers/adodb-odbc.inc.php";s:4:"83b6";s:36:"adodb/drivers/adodb-odbc_db2.inc.php";s:4:"28a9";s:38:"adodb/drivers/adodb-odbc_mssql.inc.php";s:4:"ea68";s:39:"adodb/drivers/adodb-odbc_oracle.inc.php";s:4:"996e";s:33:"adodb/drivers/adodb-odbtp.inc.php";s:4:"b433";s:41:"adodb/drivers/adodb-odbtp_unicode.inc.php";s:4:"8361";s:34:"adodb/drivers/adodb-oracle.inc.php";s:4:"07b1";s:31:"adodb/drivers/adodb-pdo.inc.php";s:4:"dba7";s:37:"adodb/drivers/adodb-pdo_mssql.inc.php";s:4:"d7e0";s:37:"adodb/drivers/adodb-pdo_mysql.inc.php";s:4:"8c32";s:35:"adodb/drivers/adodb-pdo_oci.inc.php";s:4:"5c16";s:37:"adodb/drivers/adodb-pdo_pgsql.inc.php";s:4:"e0ee";s:36:"adodb/drivers/adodb-postgres.inc.php";s:4:"3ffd";s:38:"adodb/drivers/adodb-postgres64.inc.php";s:4:"b92a";s:37:"adodb/drivers/adodb-postgres7.inc.php";s:4:"e41f";s:37:"adodb/drivers/adodb-postgres8.inc.php";s:4:"fab4";s:33:"adodb/drivers/adodb-proxy.inc.php";s:4:"ebab";s:33:"adodb/drivers/adodb-sapdb.inc.php";s:4:"3fc3";s:39:"adodb/drivers/adodb-sqlanywhere.inc.php";s:4:"8f54";s:34:"adodb/drivers/adodb-sqlite.inc.php";s:4:"e665";s:36:"adodb/drivers/adodb-sqlitepo.inc.php";s:4:"d1a4";s:34:"adodb/drivers/adodb-sybase.inc.php";s:4:"6cfe";s:38:"adodb/drivers/adodb-sybase_ase.inc.php";s:4:"47a1";s:31:"adodb/drivers/adodb-vfp.inc.php";s:4:"cb36";s:25:"adodb/drivers/CVS/Entries";s:4:"5535";s:28:"adodb/drivers/CVS/Repository";s:4:"7121";s:22:"adodb/drivers/CVS/Root";s:4:"b923";s:21:"adodb/drivers/CVS/Tag";s:4:"c437";s:27:"adodb/lang/adodb-ar.inc.php";s:4:"6f2a";s:27:"adodb/lang/adodb-bg.inc.php";s:4:"666d";s:31:"adodb/lang/adodb-bgutf8.inc.php";s:4:"6316";s:27:"adodb/lang/adodb-ca.inc.php";s:4:"96da";s:27:"adodb/lang/adodb-cn.inc.php";s:4:"155e";s:27:"adodb/lang/adodb-cz.inc.php";s:4:"6964";s:27:"adodb/lang/adodb-da.inc.php";s:4:"2ea2";s:27:"adodb/lang/adodb-de.inc.php";s:4:"26c5";s:27:"adodb/lang/adodb-en.inc.php";s:4:"0820";s:27:"adodb/lang/adodb-es.inc.php";s:4:"de07";s:34:"adodb/lang/adodb-esperanto.inc.php";s:4:"32b9";s:27:"adodb/lang/adodb-fr.inc.php";s:4:"dd47";s:27:"adodb/lang/adodb-hu.inc.php";s:4:"f308";s:27:"adodb/lang/adodb-it.inc.php";s:4:"15e2";s:27:"adodb/lang/adodb-nl.inc.php";s:4:"ed3d";s:27:"adodb/lang/adodb-pl.inc.php";s:4:"333e";s:30:"adodb/lang/adodb-pt-br.inc.php";s:4:"e973";s:27:"adodb/lang/adodb-ro.inc.php";s:4:"779e";s:31:"adodb/lang/adodb-ru1251.inc.php";s:4:"e828";s:27:"adodb/lang/adodb-sv.inc.php";s:4:"81fa";s:31:"adodb/lang/adodb-uk1251.inc.php";s:4:"3203";s:22:"adodb/lang/CVS/Entries";s:4:"dd4e";s:25:"adodb/lang/CVS/Repository";s:4:"a65e";s:19:"adodb/lang/CVS/Root";s:4:"b923";s:18:"adodb/lang/CVS/Tag";s:4:"c437";s:26:"adodb/pear/readme.Auth.txt";s:4:"4970";s:22:"adodb/pear/CVS/Entries";s:4:"c3ba";s:25:"adodb/pear/CVS/Repository";s:4:"a002";s:19:"adodb/pear/CVS/Root";s:4:"b923";s:18:"adodb/pear/CVS/Tag";s:4:"c437";s:27:"adodb/pear/Auth/CVS/Entries";s:4:"38cc";s:30:"adodb/pear/Auth/CVS/Repository";s:4:"b224";s:24:"adodb/pear/Auth/CVS/Root";s:4:"b923";s:23:"adodb/pear/Auth/CVS/Tag";s:4:"c437";s:35:"adodb/pear/Auth/Container/ADOdb.php";s:4:"08ac";s:37:"adodb/pear/Auth/Container/CVS/Entries";s:4:"1eea";s:40:"adodb/pear/Auth/Container/CVS/Repository";s:4:"4fb1";s:34:"adodb/pear/Auth/Container/CVS/Root";s:4:"b923";s:33:"adodb/pear/Auth/Container/CVS/Tag";s:4:"c437";s:27:"adodb/perf/perf-db2.inc.php";s:4:"2a94";s:32:"adodb/perf/perf-informix.inc.php";s:4:"7343";s:29:"adodb/perf/perf-mssql.inc.php";s:4:"63ca";s:29:"adodb/perf/perf-mysql.inc.php";s:4:"118c";s:28:"adodb/perf/perf-oci8.inc.php";s:4:"41da";s:32:"adodb/perf/perf-postgres.inc.php";s:4:"de42";s:22:"adodb/perf/CVS/Entries";s:4:"9ab4";s:25:"adodb/perf/CVS/Repository";s:4:"dbc5";s:19:"adodb/perf/CVS/Root";s:4:"b923";s:18:"adodb/perf/CVS/Tag";s:4:"c437";s:38:"adodb/session/adodb-compress-bzip2.php";s:4:"8445";s:37:"adodb/session/adodb-compress-gzip.php";s:4:"1e9d";s:36:"adodb/session/adodb-cryptsession.php";s:4:"6776";s:38:"adodb/session/adodb-encrypt-mcrypt.php";s:4:"f4c9";s:35:"adodb/session/adodb-encrypt-md5.php";s:4:"7fa7";s:38:"adodb/session/adodb-encrypt-secret.php";s:4:"2c13";s:36:"adodb/session/adodb-encrypt-sha1.php";s:4:"5c92";s:28:"adodb/session/adodb-sess.txt";s:4:"260b";s:36:"adodb/session/adodb-session-clob.php";s:4:"ec1f";s:31:"adodb/session/adodb-session.php";s:4:"b085";s:38:"adodb/session/adodb-sessions.mysql.sql";s:4:"42fe";s:44:"adodb/session/adodb-sessions.oracle.clob.sql";s:4:"3c64";s:39:"adodb/session/adodb-sessions.oracle.sql";s:4:"08d0";s:27:"adodb/session/crypt.inc.php";s:4:"4dad";s:32:"adodb/session/session_schema.xml";s:4:"6443";s:25:"adodb/session/CVS/Entries";s:4:"94f3";s:28:"adodb/session/CVS/Repository";s:4:"7999";s:22:"adodb/session/CVS/Root";s:4:"b923";s:21:"adodb/session/CVS/Tag";s:4:"c437";s:40:"adodb/session/old/adodb-cryptsession.php";s:4:"240b";s:40:"adodb/session/old/adodb-session-clob.php";s:4:"18d8";s:35:"adodb/session/old/adodb-session.php";s:4:"1596";s:31:"adodb/session/old/crypt.inc.php";s:4:"5a4e";s:29:"adodb/session/old/CVS/Entries";s:4:"bc5c";s:32:"adodb/session/old/CVS/Repository";s:4:"0805";s:26:"adodb/session/old/CVS/Root";s:4:"b923";s:25:"adodb/session/old/CVS/Tag";s:4:"c437";s:25:"adodb/tests/benchmark.php";s:4:"ff39";s:22:"adodb/tests/client.php";s:4:"1c7f";s:19:"adodb/tests/pdo.php";s:4:"9688";s:18:"adodb/tests/rr.htm";s:4:"4f52";s:34:"adodb/tests/test-active-record.php";s:4:"c3ad";s:33:"adodb/tests/test-active-recs2.php";s:4:"dd48";s:29:"adodb/tests/test-datadict.php";s:4:"f19d";s:25:"adodb/tests/test-perf.php";s:4:"b95e";s:27:"adodb/tests/test-pgblob.php";s:4:"62b6";s:25:"adodb/tests/test-php5.php";s:4:"97de";s:30:"adodb/tests/test-xmlschema.php";s:4:"b467";s:20:"adodb/tests/test.php";s:4:"25be";s:21:"adodb/tests/test2.php";s:4:"384b";s:21:"adodb/tests/test3.php";s:4:"8ec7";s:21:"adodb/tests/test4.php";s:4:"a054";s:21:"adodb/tests/test5.php";s:4:"ce6f";s:29:"adodb/tests/test_rs_array.php";s:4:"1ccf";s:25:"adodb/tests/testcache.php";s:4:"9a92";s:33:"adodb/tests/testdatabases.inc.php";s:4:"428a";s:25:"adodb/tests/testgenid.php";s:4:"1576";s:25:"adodb/tests/testmssql.php";s:4:"ae14";s:24:"adodb/tests/testoci8.php";s:4:"1996";s:30:"adodb/tests/testoci8cursor.php";s:4:"832c";s:26:"adodb/tests/testpaging.php";s:4:"7e80";s:24:"adodb/tests/testpear.php";s:4:"3377";s:28:"adodb/tests/testsessions.php";s:4:"fdc9";s:20:"adodb/tests/time.php";s:4:"b158";s:22:"adodb/tests/tmssql.php";s:4:"3d7a";s:31:"adodb/tests/xmlschema-mssql.xml";s:4:"5c70";s:25:"adodb/tests/xmlschema.xml";s:4:"19ca";s:23:"adodb/tests/CVS/Entries";s:4:"b8d5";s:26:"adodb/tests/CVS/Repository";s:4:"5257";s:20:"adodb/tests/CVS/Root";s:4:"b923";s:19:"adodb/tests/CVS/Tag";s:4:"c437";s:29:"adodb/xsl/convert-0.1-0.2.xsl";s:4:"29d9";s:29:"adodb/xsl/convert-0.1-0.3.xsl";s:4:"6aad";s:29:"adodb/xsl/convert-0.2-0.1.xsl";s:4:"5d27";s:29:"adodb/xsl/convert-0.2-0.3.xsl";s:4:"4098";s:24:"adodb/xsl/remove-0.2.xsl";s:4:"0b2b";s:24:"adodb/xsl/remove-0.3.xsl";s:4:"678d";s:21:"adodb/xsl/CVS/Entries";s:4:"1685";s:24:"adodb/xsl/CVS/Repository";s:4:"3cb3";s:18:"adodb/xsl/CVS/Root";s:4:"b923";s:17:"adodb/xsl/CVS/Tag";s:4:"c437";s:26:"pi1/class.tx_adodb_pi1.php";s:4:"0414";s:15:"pi1/CVS/Entries";s:4:"e81c";s:18:"pi1/CVS/Repository";s:4:"745a";s:12:"pi1/CVS/Root";s:4:"b923";s:11:"pi1/CVS/Tag";s:4:"c437";s:23:"res/checkconnection.gif";s:4:"1760";s:15:"res/CVS/Entries";s:4:"0cc2";s:18:"res/CVS/Repository";s:4:"442c";s:12:"res/CVS/Root";s:4:"b923";s:11:"res/CVS/Tag";s:4:"c437";s:18:"doc/480.DBAL.patch";s:4:"0eeb";s:10:"doc/README";s:4:"40a5";s:25:"doc/mssql-error-fix.patch";s:4:"3eda";s:15:"doc/CVS/Entries";s:4:"1db5";s:18:"doc/CVS/Repository";s:4:"f6db";s:12:"doc/CVS/Root";s:4:"b923";s:11:"doc/CVS/Tag";s:4:"c437";s:11:"CVS/Entries";s:4:"49be";s:14:"CVS/Repository";s:4:"bccf";s:8:"CVS/Root";s:4:"b923";s:7:"CVS/Tag";s:4:"c437";}',
+       'version' => '4.81.0',
+       '_md5_values_when_last_written' => 'a:251:{s:25:"checkconnectionwizard.php";s:4:"795b";s:27:"class.tx_adodb_tceforms.php";s:4:"e53a";s:26:"datasource_flexform_ds.xml";s:4:"96fb";s:12:"ext_icon.gif";s:4:"c778";s:17:"ext_localconf.php";s:4:"b58b";s:31:"locallang_datasource_config.xml";s:4:"0e21";s:20:"locallang_wizard.xml";s:4:"0e65";s:11:"CVS/Entries";s:4:"df35";s:14:"CVS/Repository";s:4:"bccf";s:8:"CVS/Root";s:4:"63b1";s:33:"adodb/adodb-active-record.inc.php";s:4:"c05d";s:26:"adodb/adodb-csvlib.inc.php";s:4:"4b7f";s:28:"adodb/adodb-datadict.inc.php";s:4:"a5d4";s:25:"adodb/adodb-error.inc.php";s:4:"60f7";s:32:"adodb/adodb-errorhandler.inc.php";s:4:"8729";s:29:"adodb/adodb-errorpear.inc.php";s:4:"6a84";s:30:"adodb/adodb-exceptions.inc.php";s:4:"6522";s:28:"adodb/adodb-iterator.inc.php";s:4:"8a4f";s:23:"adodb/adodb-lib.inc.php";s:4:"8a46";s:25:"adodb/adodb-pager.inc.php";s:4:"b03c";s:24:"adodb/adodb-pear.inc.php";s:4:"33c8";s:24:"adodb/adodb-perf.inc.php";s:4:"0174";s:24:"adodb/adodb-php4.inc.php";s:4:"fc43";s:24:"adodb/adodb-time.inc.php";s:4:"896a";s:29:"adodb/adodb-xmlschema.inc.php";s:4:"e457";s:31:"adodb/adodb-xmlschema03.inc.php";s:4:"e21a";s:19:"adodb/adodb.inc.php";s:4:"3cc6";s:17:"adodb/license.txt";s:4:"8bd7";s:24:"adodb/pivottable.inc.php";s:4:"c7b7";s:16:"adodb/readme.txt";s:4:"856d";s:22:"adodb/rsfilter.inc.php";s:4:"4353";s:16:"adodb/server.php";s:4:"e2de";s:22:"adodb/toexport.inc.php";s:4:"b7c2";s:20:"adodb/tohtml.inc.php";s:4:"ab36";s:19:"adodb/xmlschema.dtd";s:4:"26f3";s:21:"adodb/xmlschema03.dtd";s:4:"1cd4";s:17:"adodb/CVS/Entries";s:4:"4107";s:20:"adodb/CVS/Repository";s:4:"cd1a";s:14:"adodb/CVS/Root";s:4:"63b1";s:30:"adodb/contrib/toxmlrpc.inc.php";s:4:"4c40";s:25:"adodb/contrib/CVS/Entries";s:4:"553b";s:28:"adodb/contrib/CVS/Repository";s:4:"3c38";s:22:"adodb/contrib/CVS/Root";s:4:"63b1";s:35:"adodb/cute_icons_for_site/adodb.gif";s:4:"9430";s:36:"adodb/cute_icons_for_site/adodb2.gif";s:4:"f540";s:37:"adodb/cute_icons_for_site/CVS/Entries";s:4:"0c93";s:40:"adodb/cute_icons_for_site/CVS/Repository";s:4:"10d9";s:34:"adodb/cute_icons_for_site/CVS/Root";s:4:"63b1";s:38:"adodb/datadict/datadict-access.inc.php";s:4:"96c4";s:35:"adodb/datadict/datadict-db2.inc.php";s:4:"d6a7";s:40:"adodb/datadict/datadict-firebird.inc.php";s:4:"c446";s:39:"adodb/datadict/datadict-generic.inc.php";s:4:"0d0e";s:37:"adodb/datadict/datadict-ibase.inc.php";s:4:"e4fe";s:40:"adodb/datadict/datadict-informix.inc.php";s:4:"17eb";s:37:"adodb/datadict/datadict-mssql.inc.php";s:4:"43a0";s:37:"adodb/datadict/datadict-mysql.inc.php";s:4:"7c40";s:36:"adodb/datadict/datadict-oci8.inc.php";s:4:"45fb";s:40:"adodb/datadict/datadict-postgres.inc.php";s:4:"2c6f";s:37:"adodb/datadict/datadict-sapdb.inc.php";s:4:"50fa";s:38:"adodb/datadict/datadict-sybase.inc.php";s:4:"4d6d";s:26:"adodb/datadict/CVS/Entries";s:4:"c503";s:29:"adodb/datadict/CVS/Repository";s:4:"9e19";s:23:"adodb/datadict/CVS/Root";s:4:"63b1";s:33:"adodb/docs/docs-active-record.htm";s:4:"5736";s:25:"adodb/docs/docs-adodb.htm";s:4:"2afa";s:28:"adodb/docs/docs-datadict.htm";s:4:"c401";s:26:"adodb/docs/docs-oracle.htm";s:4:"fc24";s:24:"adodb/docs/docs-perf.htm";s:4:"d9a4";s:27:"adodb/docs/docs-session.htm";s:4:"eed6";s:28:"adodb/docs/old-changelog.htm";s:4:"3158";s:21:"adodb/docs/readme.htm";s:4:"9a0e";s:32:"adodb/docs/tips_portable_sql.htm";s:4:"4027";s:19:"adodb/docs/tute.htm";s:4:"691e";s:22:"adodb/docs/CVS/Entries";s:4:"0c7b";s:25:"adodb/docs/CVS/Repository";s:4:"ad28";s:19:"adodb/docs/CVS/Root";s:4:"63b1";s:34:"adodb/drivers/adodb-access.inc.php";s:4:"9902";s:31:"adodb/drivers/adodb-ado.inc.php";s:4:"425b";s:32:"adodb/drivers/adodb-ado5.inc.php";s:4:"5d6b";s:38:"adodb/drivers/adodb-ado_access.inc.php";s:4:"694f";s:37:"adodb/drivers/adodb-ado_mssql.inc.php";s:4:"1403";s:41:"adodb/drivers/adodb-borland_ibase.inc.php";s:4:"6ceb";s:31:"adodb/drivers/adodb-csv.inc.php";s:4:"ab4d";s:31:"adodb/drivers/adodb-db2.inc.php";s:4:"0c1f";s:33:"adodb/drivers/adodb-fbsql.inc.php";s:4:"eef7";s:36:"adodb/drivers/adodb-firebird.inc.php";s:4:"dca7";s:33:"adodb/drivers/adodb-ibase.inc.php";s:4:"8ce9";s:36:"adodb/drivers/adodb-informix.inc.php";s:4:"3d6e";s:38:"adodb/drivers/adodb-informix72.inc.php";s:4:"850a";s:32:"adodb/drivers/adodb-ldap.inc.php";s:4:"4f32";s:33:"adodb/drivers/adodb-mssql.inc.php";s:4:"32d3";s:35:"adodb/drivers/adodb-mssqlpo.inc.php";s:4:"fd33";s:33:"adodb/drivers/adodb-mysql.inc.php";s:4:"6fb5";s:34:"adodb/drivers/adodb-mysqli.inc.php";s:4:"7b56";s:34:"adodb/drivers/adodb-mysqlt.inc.php";s:4:"783c";s:35:"adodb/drivers/adodb-netezza.inc.php";s:4:"9a67";s:32:"adodb/drivers/adodb-oci8.inc.php";s:4:"27dc";s:34:"adodb/drivers/adodb-oci805.inc.php";s:4:"f820";s:34:"adodb/drivers/adodb-oci8po.inc.php";s:4:"5640";s:32:"adodb/drivers/adodb-odbc.inc.php";s:4:"7530";s:36:"adodb/drivers/adodb-odbc_db2.inc.php";s:4:"09d3";s:38:"adodb/drivers/adodb-odbc_mssql.inc.php";s:4:"2a62";s:39:"adodb/drivers/adodb-odbc_oracle.inc.php";s:4:"5678";s:33:"adodb/drivers/adodb-odbtp.inc.php";s:4:"8623";s:41:"adodb/drivers/adodb-odbtp_unicode.inc.php";s:4:"85eb";s:34:"adodb/drivers/adodb-oracle.inc.php";s:4:"6c98";s:31:"adodb/drivers/adodb-pdo.inc.php";s:4:"a14d";s:37:"adodb/drivers/adodb-pdo_mssql.inc.php";s:4:"347f";s:37:"adodb/drivers/adodb-pdo_mysql.inc.php";s:4:"c264";s:35:"adodb/drivers/adodb-pdo_oci.inc.php";s:4:"4467";s:37:"adodb/drivers/adodb-pdo_pgsql.inc.php";s:4:"3755";s:36:"adodb/drivers/adodb-postgres.inc.php";s:4:"b01a";s:38:"adodb/drivers/adodb-postgres64.inc.php";s:4:"21b0";s:37:"adodb/drivers/adodb-postgres7.inc.php";s:4:"d71f";s:37:"adodb/drivers/adodb-postgres8.inc.php";s:4:"ec1e";s:33:"adodb/drivers/adodb-proxy.inc.php";s:4:"c87a";s:33:"adodb/drivers/adodb-sapdb.inc.php";s:4:"fd6b";s:39:"adodb/drivers/adodb-sqlanywhere.inc.php";s:4:"0cba";s:34:"adodb/drivers/adodb-sqlite.inc.php";s:4:"e15e";s:36:"adodb/drivers/adodb-sqlitepo.inc.php";s:4:"6dba";s:34:"adodb/drivers/adodb-sybase.inc.php";s:4:"18e6";s:38:"adodb/drivers/adodb-sybase_ase.inc.php";s:4:"32bc";s:31:"adodb/drivers/adodb-vfp.inc.php";s:4:"efff";s:25:"adodb/drivers/CVS/Entries";s:4:"916d";s:28:"adodb/drivers/CVS/Repository";s:4:"7121";s:22:"adodb/drivers/CVS/Root";s:4:"63b1";s:27:"adodb/lang/adodb-ar.inc.php";s:4:"6f2a";s:27:"adodb/lang/adodb-bg.inc.php";s:4:"666d";s:31:"adodb/lang/adodb-bgutf8.inc.php";s:4:"6316";s:27:"adodb/lang/adodb-ca.inc.php";s:4:"96da";s:27:"adodb/lang/adodb-cn.inc.php";s:4:"155e";s:27:"adodb/lang/adodb-cz.inc.php";s:4:"6964";s:27:"adodb/lang/adodb-da.inc.php";s:4:"2ea2";s:27:"adodb/lang/adodb-de.inc.php";s:4:"26c5";s:27:"adodb/lang/adodb-en.inc.php";s:4:"0820";s:27:"adodb/lang/adodb-es.inc.php";s:4:"de07";s:34:"adodb/lang/adodb-esperanto.inc.php";s:4:"32b9";s:27:"adodb/lang/adodb-fr.inc.php";s:4:"dd47";s:27:"adodb/lang/adodb-hu.inc.php";s:4:"f308";s:27:"adodb/lang/adodb-it.inc.php";s:4:"15e2";s:27:"adodb/lang/adodb-nl.inc.php";s:4:"ed3d";s:27:"adodb/lang/adodb-pl.inc.php";s:4:"333e";s:30:"adodb/lang/adodb-pt-br.inc.php";s:4:"e973";s:27:"adodb/lang/adodb-ro.inc.php";s:4:"779e";s:31:"adodb/lang/adodb-ru1251.inc.php";s:4:"e828";s:27:"adodb/lang/adodb-sv.inc.php";s:4:"81fa";s:31:"adodb/lang/adodb-uk1251.inc.php";s:4:"3203";s:22:"adodb/lang/CVS/Entries";s:4:"9b74";s:25:"adodb/lang/CVS/Repository";s:4:"a65e";s:19:"adodb/lang/CVS/Root";s:4:"63b1";s:26:"adodb/pear/readme.Auth.txt";s:4:"4970";s:22:"adodb/pear/CVS/Entries";s:4:"3007";s:25:"adodb/pear/CVS/Repository";s:4:"a002";s:19:"adodb/pear/CVS/Root";s:4:"63b1";s:27:"adodb/pear/Auth/CVS/Entries";s:4:"38cc";s:30:"adodb/pear/Auth/CVS/Repository";s:4:"b224";s:24:"adodb/pear/Auth/CVS/Root";s:4:"63b1";s:35:"adodb/pear/Auth/Container/ADOdb.php";s:4:"50f8";s:37:"adodb/pear/Auth/Container/CVS/Entries";s:4:"60ab";s:40:"adodb/pear/Auth/Container/CVS/Repository";s:4:"4fb1";s:34:"adodb/pear/Auth/Container/CVS/Root";s:4:"63b1";s:27:"adodb/perf/perf-db2.inc.php";s:4:"530b";s:32:"adodb/perf/perf-informix.inc.php";s:4:"fa26";s:29:"adodb/perf/perf-mssql.inc.php";s:4:"df8b";s:29:"adodb/perf/perf-mysql.inc.php";s:4:"f532";s:28:"adodb/perf/perf-oci8.inc.php";s:4:"1f4c";s:32:"adodb/perf/perf-postgres.inc.php";s:4:"f1d5";s:22:"adodb/perf/CVS/Entries";s:4:"97b2";s:25:"adodb/perf/CVS/Repository";s:4:"dbc5";s:19:"adodb/perf/CVS/Root";s:4:"63b1";s:38:"adodb/session/adodb-compress-bzip2.php";s:4:"c087";s:37:"adodb/session/adodb-compress-gzip.php";s:4:"6153";s:36:"adodb/session/adodb-cryptsession.php";s:4:"22c6";s:38:"adodb/session/adodb-encrypt-mcrypt.php";s:4:"d482";s:35:"adodb/session/adodb-encrypt-md5.php";s:4:"8992";s:38:"adodb/session/adodb-encrypt-secret.php";s:4:"788b";s:36:"adodb/session/adodb-encrypt-sha1.php";s:4:"5c92";s:28:"adodb/session/adodb-sess.txt";s:4:"260b";s:36:"adodb/session/adodb-session-clob.php";s:4:"a297";s:31:"adodb/session/adodb-session.php";s:4:"c496";s:38:"adodb/session/adodb-sessions.mysql.sql";s:4:"42fe";s:44:"adodb/session/adodb-sessions.oracle.clob.sql";s:4:"3c64";s:39:"adodb/session/adodb-sessions.oracle.sql";s:4:"08d0";s:27:"adodb/session/crypt.inc.php";s:4:"4dad";s:32:"adodb/session/session_schema.xml";s:4:"6443";s:25:"adodb/session/CVS/Entries";s:4:"1a0f";s:28:"adodb/session/CVS/Repository";s:4:"7999";s:22:"adodb/session/CVS/Root";s:4:"63b1";s:40:"adodb/session/old/adodb-cryptsession.php";s:4:"0baa";s:40:"adodb/session/old/adodb-session-clob.php";s:4:"88e1";s:35:"adodb/session/old/adodb-session.php";s:4:"764b";s:31:"adodb/session/old/crypt.inc.php";s:4:"5a4e";s:29:"adodb/session/old/CVS/Entries";s:4:"5bc7";s:32:"adodb/session/old/CVS/Repository";s:4:"0805";s:26:"adodb/session/old/CVS/Root";s:4:"63b1";s:25:"adodb/tests/benchmark.php";s:4:"0c86";s:22:"adodb/tests/client.php";s:4:"bcce";s:19:"adodb/tests/pdo.php";s:4:"9688";s:18:"adodb/tests/rr.htm";s:4:"abeb";s:34:"adodb/tests/test-active-record.php";s:4:"c3ad";s:33:"adodb/tests/test-active-recs2.php";s:4:"ce96";s:29:"adodb/tests/test-datadict.php";s:4:"1c50";s:25:"adodb/tests/test-perf.php";s:4:"b95e";s:27:"adodb/tests/test-pgblob.php";s:4:"62b6";s:25:"adodb/tests/test-php5.php";s:4:"b804";s:30:"adodb/tests/test-xmlschema.php";s:4:"b467";s:20:"adodb/tests/test.php";s:4:"8b18";s:21:"adodb/tests/test2.php";s:4:"384b";s:21:"adodb/tests/test3.php";s:4:"dd69";s:21:"adodb/tests/test4.php";s:4:"5604";s:21:"adodb/tests/test5.php";s:4:"023a";s:29:"adodb/tests/test_rs_array.php";s:4:"1ccf";s:25:"adodb/tests/testcache.php";s:4:"1ff5";s:33:"adodb/tests/testdatabases.inc.php";s:4:"eacc";s:25:"adodb/tests/testgenid.php";s:4:"1576";s:25:"adodb/tests/testmssql.php";s:4:"42d3";s:24:"adodb/tests/testoci8.php";s:4:"e01d";s:30:"adodb/tests/testoci8cursor.php";s:4:"cf50";s:26:"adodb/tests/testpaging.php";s:4:"5e94";s:24:"adodb/tests/testpear.php";s:4:"83e8";s:28:"adodb/tests/testsessions.php";s:4:"3430";s:20:"adodb/tests/time.php";s:4:"b158";s:22:"adodb/tests/tmssql.php";s:4:"3d7a";s:31:"adodb/tests/xmlschema-mssql.xml";s:4:"5c70";s:25:"adodb/tests/xmlschema.xml";s:4:"19ca";s:23:"adodb/tests/CVS/Entries";s:4:"2685";s:26:"adodb/tests/CVS/Repository";s:4:"5257";s:20:"adodb/tests/CVS/Root";s:4:"63b1";s:29:"adodb/xsl/convert-0.1-0.2.xsl";s:4:"29d9";s:29:"adodb/xsl/convert-0.1-0.3.xsl";s:4:"6aad";s:29:"adodb/xsl/convert-0.2-0.1.xsl";s:4:"5d27";s:29:"adodb/xsl/convert-0.2-0.3.xsl";s:4:"4098";s:24:"adodb/xsl/remove-0.2.xsl";s:4:"0b2b";s:24:"adodb/xsl/remove-0.3.xsl";s:4:"678d";s:21:"adodb/xsl/CVS/Entries";s:4:"92f9";s:24:"adodb/xsl/CVS/Repository";s:4:"3cb3";s:18:"adodb/xsl/CVS/Root";s:4:"63b1";s:18:"doc/481.DBAL.patch";s:4:"19fa";s:10:"doc/README";s:4:"40a5";s:25:"doc/mssql-error-fix.patch";s:4:"8757";s:15:"doc/CVS/Entries";s:4:"4812";s:18:"doc/CVS/Repository";s:4:"f6db";s:12:"doc/CVS/Root";s:4:"63b1";s:26:"pi1/class.tx_adodb_pi1.php";s:4:"0414";s:15:"pi1/CVS/Entries";s:4:"b111";s:18:"pi1/CVS/Repository";s:4:"745a";s:12:"pi1/CVS/Root";s:4:"63b1";s:23:"res/checkconnection.gif";s:4:"1760";s:15:"res/CVS/Entries";s:4:"229e";s:18:"res/CVS/Repository";s:4:"442c";s:12:"res/CVS/Root";s:4:"63b1";}',
        'constraints' => array(
                'depends' => array(
                        'php' => '4.1.0-',