[6779] | 1 | <html><title>Old Changelog: ADOdb</title><body> |
---|
| 2 | <h3>Old Changelog</h3> |
---|
| 3 | |
---|
| 4 | </p><p><b>3.92 22 Sept 2003</b> |
---|
| 5 | </p><p>Added GetAssoc and CacheGetAssoc to connection object. |
---|
| 6 | </p><p>Removed TextMax and CharMax functions from adodb.inc.php. |
---|
| 7 | </p><p>HasFailedTrans() returned false when trans failed. Fixed. |
---|
| 8 | </p><p>Moved perf driver classes into adodb/perf/*.php. |
---|
| 9 | </p><p>Misc improvements to performance monitoring, including UI(). |
---|
| 10 | </p><p>RETVAL in mssql Parameter(), we do not append @ now. |
---|
| 11 | </p><p>Added Param($name) to connection class, returns '?' or ":$name", for defining |
---|
| 12 | bind parameters portably. |
---|
| 13 | </p><p>LogSQL traps affected_rows() and saves its value properly now. Also fixed oci8 |
---|
| 14 | _stmt and _affectedrows() bugs. |
---|
| 15 | </p><p>Session code timestamp check for oci8 works now. Formerly default NLS_DATE_FORMAT |
---|
| 16 | stripped off time portion. Thx to Tony Blair (tonanbarbarian#hotmail.com). Also |
---|
| 17 | added new $conn->datetime field to oci8, controls whether MetaType() returns |
---|
| 18 | 'D' ($this->datetime==false) or 'T' ($this->datetime == true) for DATE type. |
---|
| 19 | </p><p>Fixed bugs in adodb-cryptsession.inc.php and adodb-session-clob.inc.php. |
---|
| 20 | </p><p>Fixed misc bugs in adodb_key_exists, GetInsertSQL() and GetUpdateSQL(). |
---|
| 21 | </p><p>Tuned include_once handling to reduce file-system checking overhead. |
---|
| 22 | </p><p><b>3.91 9 Sept 2003</b> |
---|
| 23 | </p><p>Only released to InterAkt |
---|
| 24 | </p><p>Added LogSQL() for sql logging and $ADODB_NEWCONNECTION to override factory |
---|
| 25 | for driver instantiation. |
---|
| 26 | </p><p>Added IfNull($field,$ifNull) function, thx to johnwilk#juno.com |
---|
| 27 | </p><p>Added portable substr support. |
---|
| 28 | </p><p>Now rs2html() has new parameter, $echo. Set to false to return $html instead |
---|
| 29 | of echoing it. |
---|
| 30 | </p><p><b>3.90 5 Sept 2003</b> |
---|
| 31 | </p><p>First beta of performance monitoring released. |
---|
| 32 | </p><p>MySQL supports MetaTable() masking. |
---|
| 33 | </p><p>Fixed key_exists() bug in adodb-lib.inc.php |
---|
| 34 | </p><p>Added sp_executesql Prepare() support to mssql. |
---|
| 35 | </p><p>Added bind support to db2. |
---|
| 36 | </p><p>Added swedish language file - Christian Tiberg" christian#commsoft.nu |
---|
| 37 | </p><p>Bug in drop index for mssql data dict fixed. Thx to Gert-Rainer Bitterlich. |
---|
| 38 | </p><p>Left join setting for oci8 was wrong. Thx to johnwilk#juno.com |
---|
| 39 | </p><p><b>3.80 27 Aug 2003</b> |
---|
| 40 | </p><p>Patch for PHP 4.3.3 cached recordset csv2rs() fread loop incompatibility. |
---|
| 41 | </p><p>Added matching mask for MetaTables. Only for oci8, mssql and postgres currently. |
---|
| 42 | </p><p>Rewrite of "oracle" driver connection code, merging with "oci8", by Gaetano. |
---|
| 43 | </p><p>Added better debugging for Smart Transactions. |
---|
| 44 | </p><p>Postgres DBTimeStamp() was wrongly using TO_DATE. Changed to TO_TIMESTAMP. |
---|
| 45 | </p><p>ADODB_FETCH_CASE check pushed to ADONewConnection to allow people to define |
---|
| 46 | it after including adodb.inc.php. |
---|
| 47 | </p><p>Added portugese (brazilian) to languages. Thx to "Levi Fukumori". |
---|
| 48 | </p><p>Removed arg3 parameter from Execute/SelectLimit/Cache* functions. |
---|
| 49 | </p><p>Execute() now accepts 2-d array as $inputarray. Also changed docs of fnExecute() |
---|
| 50 | to note change in sql query counting with 2-d arrays. |
---|
| 51 | </p><p>Added MONEY to MetaType in PostgreSQL. |
---|
| 52 | </p><p>Added more debugging output to CacheFlush(). |
---|
| 53 | </p><p><b>3.72 9 Aug 2003</b> |
---|
| 54 | </p><p>Added qmagic($str), which is a qstr($str) that auto-checks for magic quotes |
---|
| 55 | and does the right thing... |
---|
| 56 | </p><p>Fixed CacheFlush() bug - Thx to martin#gmx.de |
---|
| 57 | </p><p>Walt Boring contributed MetaForeignKeys for postgres7. |
---|
| 58 | </p><p>_fetch() called _BlobDecode() wrongly in interbase. Fixed. |
---|
| 59 | </p><p>adodb_time bug fixed with dates after 2038 fixed by Jason Pell. http://phplens.com/lens/lensforum/msgs.php?id=6980 |
---|
| 60 | </p><p><b>3.71 4 Aug 2003</b> |
---|
| 61 | </p><p>The oci8 driver, MetaPrimaryKeys() did not check the owner correctly when $owner |
---|
| 62 | == false. |
---|
| 63 | </p><p>Russian language file contributed by "Cyrill Malevanov" cyrill#malevanov.spb.ru. |
---|
| 64 | </p><p>Spanish language file contributed by "Horacio Degiorgi" horaciod#codigophp.com. |
---|
| 65 | </p><p>Error handling in oci8 bugfix - if there was an error in Execute(), then when |
---|
| 66 | calling ErrorNo() and/or ErrorMsg(), the 1st call would return the error, but |
---|
| 67 | the 2nd call would return no error. |
---|
| 68 | </p><p>Error handling in odbc bugfix. ODBC would always return the last error, even |
---|
| 69 | if it happened 5 queries ago. Now we reset the errormsg to '' and errorno to |
---|
| 70 | 0 everytime before CacheExecute() and Execute(). |
---|
| 71 | </p><p><b>3.70 29 July 2003</b> |
---|
| 72 | </p><p>Added new SQLite driver. Tested on PHP 4.3 and PHP 5. |
---|
| 73 | </p><p>Added limited "sapdb" driver support - mainly date support. |
---|
| 74 | </p><p>The oci8 driver did not identify NUMBER with no defined precision correctly. |
---|
| 75 | </p><p>Added ADODB_FORCE_NULLS, if set, then PHP nulls are converted to SQL nulls |
---|
| 76 | in GetInsertSQL/GetUpdateSQL. |
---|
| 77 | </p><p>DBDate() and DBTimeStamp() format for postgresql had problems. Fixed. |
---|
| 78 | </p><p>Added tableoptions to ChangeTableSQL(). Thx to Mike Benoit. |
---|
| 79 | </p><p>Added charset support to postgresql. Thx to Julian Tarkhanov. |
---|
| 80 | </p><p>Changed OS check for MS-Windows to prevent confusion with darWIN (MacOS) |
---|
| 81 | </p><p>Timestamp format for db2 was wrong. Changed to yyyy-mm-dd-hh.mm.ss.nnnnnn. |
---|
| 82 | </p><p>adodb-cryptsession.php includes wrong. Fixed. |
---|
| 83 | </p><p>Added MetaForeignKeys(). Supported by mssql, odbc_mssql and oci8. |
---|
| 84 | </p><p>Fixed some oci8 MetaColumns/MetaPrimaryKeys bugs. Thx to Walt Boring. |
---|
| 85 | </p><p>adodb_getcount() did not init qryRecs to 0. Missing "WHERE" clause checking |
---|
| 86 | in GetUpdateSQL fixed. Thx to Sebastiaan van Stijn. |
---|
| 87 | </p><p>Added support for only 'VIEWS' and "TABLES" in MetaTables. From Walt Boring. |
---|
| 88 | </p><p>Upgraded to adodb-xmlschema.inc.php 0.0.2. |
---|
| 89 | </p><p>NConnect for mysql now returns value. Thx to Dennis Verspuij. |
---|
| 90 | </p><p>ADODB_FETCH_BOTH support added to interbase/firebird. |
---|
| 91 | </p><p>Czech language file contributed by Kamil Jakubovic jake#host.sk. |
---|
| 92 | </p><p>PostgreSQL BlobDecode did not use _connectionID properly. Thx to Juraj Chlebec. |
---|
| 93 | </p><p>Added some new initialization stuff for Informix. Thx to "Andrea Pinnisi" pinnisi#sysnet.it |
---|
| 94 | </p><p>ADODB_ASSOC_CASE constant wrong in sybase _fetch(). Fixed. |
---|
| 95 | </p><p><b>3.60 16 June 2003</b> |
---|
| 96 | </p><p>We now SET CONCAT_NULL_YIELDS_NULL OFF for odbc_mssql driver to be compat with |
---|
| 97 | mssql driver. |
---|
| 98 | </p><p>The property $emptyDate missing from connection class. Also changed 1903 to |
---|
| 99 | constant (TIMESTAMP_FIRST_YEAR=100). Thx to Sebastiaan van Stijn. |
---|
| 100 | </p><p>ADOdb speedup optimization - we now return all arrays by reference. |
---|
| 101 | </p><p>Now DBDate() and DBTimeStamp() now accepts the string 'null' as a parameter. |
---|
| 102 | Suggested by vincent. |
---|
| 103 | </p><p>Added GetArray() to connection class. |
---|
| 104 | </p><p>Added not_null check in informix metacolumns(). |
---|
| 105 | </p><p>Connection parameters for postgresql did not work correctly when port was defined. |
---|
| 106 | </p><p>DB2 is now a tested driver, making adodb 100% compatible. Extensive changes |
---|
| 107 | to odbc driver for DB2, including implementing serverinfo() and SQLDate(), switching |
---|
| 108 | to SQL_CUR_USE_ODBC as the cursor mode, and lastAffectedRows and SelectLimit() |
---|
| 109 | fixes. |
---|
| 110 | </p><p>The odbc driver's FetchField() field names did not obey ADODB_ASSOC_CASE. Fixed. |
---|
| 111 | </p><p>Some bugs in adodb_backtrace() fixed. |
---|
| 112 | </p><p>Added "INT IDENTITY" type to adorecordset::MetaType() to support odbc_mssql |
---|
| 113 | properly. |
---|
| 114 | </p><p>MetaColumns() for oci8, mssql, odbc revised to support scale. Also minor revisions |
---|
| 115 | to odbc MetaColumns() for vfp and db2 compat. |
---|
| 116 | </p><p>Added unsigned support to mysql datadict class. Thx to iamsure. |
---|
| 117 | </p><p>Infinite loop in mssql MoveNext() fixed when ADODB_FETCH_ASSOC used. Thx to |
---|
| 118 | Josh R, Night_Wulfe#hotmail.com. |
---|
| 119 | </p><p>ChangeTableSQL contributed by Florian Buzin. |
---|
| 120 | </p><p>The odbc_mssql driver now sets CONCAT_NULL_YIELDS_NULL OFF for compat with |
---|
| 121 | mssql driver. |
---|
| 122 | </p> |
---|
| 123 | |
---|
| 124 | <p><b>3.50 19 May 2003</b></p> |
---|
| 125 | <p>Fixed mssql compat with FreeTDS. FreeTDS does not implement mssql_fetch_assoc(). |
---|
| 126 | <p>Merged back connection and recordset code into adodb.inc.php. |
---|
| 127 | <p>ADOdb sessions using oracle clobs contributed by achim.gosse#ddd.de. See adodb-session-clob.php. |
---|
| 128 | <p>Added /s modifier to preg_match everywhere, which ensures that regex does not |
---|
| 129 | stop at /n. Thx Pao-Hsi Huang. |
---|
| 130 | <p>Fixed error in metacolumns() for mssql. |
---|
| 131 | <p>Added time format support for SQLDate. |
---|
| 132 | <p>Image => B added to metatype. |
---|
| 133 | <p>MetaType now checks empty($this->blobSize) instead of empty($this). |
---|
| 134 | <p>Datadict has beta support for informix, sybase (mapped to mssql), db2 and generic |
---|
| 135 | (which is a fudge). |
---|
| 136 | <p>BlobEncode for postgresql uses pg_escape_bytea, if available. Needed for compat |
---|
| 137 | with 7.3. |
---|
| 138 | <p>Added $ADODB_LANG, to support multiple languages in MetaErrorMsg(). |
---|
| 139 | <p>Datadict can now parse table definition as declarative text. |
---|
| 140 | <p>For DataDict, oci8 autoincrement trigger missing semi-colon. Fixed. |
---|
| 141 | <p>For DataDict, when REPLACE flag enabled, drop sequence in datadict for autoincrement |
---|
| 142 | field in postgres and oci8.s |
---|
| 143 | <p>Postgresql defaults to template1 database if no database defined in connect/pconnect. |
---|
| 144 | <p>We now clear _resultid in postgresql if query fails. |
---|
| 145 | <p><b>3.40 19 May 2003</b></p> |
---|
| 146 | <p>Added insert_id for odbc_mssql. |
---|
| 147 | <p>Modified postgresql UpdateBlobFile() because it did not work in safe mode. |
---|
| 148 | <p>Now connection object is passed to raiseErrorFn as last parameter. Needed by |
---|
| 149 | StartTrans(). |
---|
| 150 | <p>Added StartTrans() and CompleteTrans(). It is recommended that you do not modify |
---|
| 151 | transOff, but use the above functions. |
---|
| 152 | <p>oci8po now obeys ADODB_ASSOC_CASE settings. |
---|
| 153 | <p>Added virtualized error codes, using PEAR DB equivalents. Requires you to manually |
---|
| 154 | include adodb-error.inc.php yourself, with MetaError() and MetaErrorMsg($errno). |
---|
| 155 | <p>GetRowAssoc for mysql and pgsql were flawed. Fix by Ross Smith. |
---|
| 156 | <p>Added to datadict types I1, I2, I4 and I8. Changed datadict type 'T' to map |
---|
| 157 | to timestamp instead of datetime for postgresql. |
---|
| 158 | <p>Error handling in ExecuteSQLArray(), adodb-datadict.inc.php did not work. |
---|
| 159 | <p>We now auto-quote postgresql connection parameters when building connection |
---|
| 160 | string. |
---|
| 161 | <p>Added session expiry notification. |
---|
| 162 | <p>We now test with odbc mysql - made some changes to odbc recordset constructor. |
---|
| 163 | <p>MetaColumns now special cases access and other databases for odbc. |
---|
| 164 | <p><b>3.31 17 March 2003</b></p> |
---|
| 165 | <p>Added row checking for _fetch in postgres. |
---|
| 166 | <p>Added Interval type to MetaType for postgres. |
---|
| 167 | <p>Remapped postgres driver to call postgres7 driver internally. |
---|
| 168 | <p>Adorecordset_array::getarray() did not return array when nRows >= 0. |
---|
| 169 | <p>Postgresql: at times, no error message returned by pg_result_error() but error |
---|
| 170 | message returned in pg_last_error(). Recoded again. |
---|
| 171 | <p>Interbase blob's now use chunking for updateblob. |
---|
| 172 | <p>Move() did not set EOF correctly. Reported by Jorma T. |
---|
| 173 | <p>We properly support mysql timestamp fields when we are creating mysql tables |
---|
| 174 | using the data-dict interface. |
---|
| 175 | <p>Table regex includes backticks character now. |
---|
| 176 | <p><b>3.30 3 March 2003</b></p> |
---|
| 177 | <p>Added $ADODB_EXTENSION and $ADODB_COMPAT_FETCH constant. |
---|
| 178 | <p>Made blank1stItem configurable using syntax "value:text" in GetMenu/GetMenu2. |
---|
| 179 | Thx to Gabriel Birke. |
---|
| 180 | <p>Previously ADOdb differed from the Microsoft standard because it did not define |
---|
| 181 | what to set $this->fields when EOF was reached. Now at EOF, ADOdb sets $this->fields |
---|
| 182 | to false for all databases, which is consist with Microsoft's implementation. |
---|
| 183 | Postgresql and mysql have always worked this way (in 3.11 and earlier). If you |
---|
| 184 | are experiencing compatibility problems (and you are not using postgresql nor |
---|
| 185 | mysql) on upgrading to 3.30, try setting the global variables $ADODB_COUNTRECS |
---|
| 186 | = true (which is the default) and $ADODB_FETCH_COMPAT = true (this is a new |
---|
| 187 | global variable). |
---|
| 188 | <p>We now check both pg_result_error and pg_last_error as sometimes pg_result_error |
---|
| 189 | does not display anything. Iman Mayes |
---|
| 190 | <p> We no longer check for magic quotes gpc in Quote(). |
---|
| 191 | <p> Misc fixes for table creation in adodb-datadict.inc.php. Thx to iamsure. |
---|
| 192 | <p> Time calculations use adodb_time library for all negative timestamps due to |
---|
| 193 | problems in Red Hat 7.3 or later. Formerly, only did this for Windows. |
---|
| 194 | <p> In mssqlpo, we now check if $sql in _query is a string before we change || |
---|
| 195 | to +. This is to support prepared stmts. |
---|
| 196 | <p> Move() and MoveLast() internals changed to support to support EOF and $this->fields |
---|
| 197 | change. |
---|
| 198 | <p> Added ADODB_FETCH_BOTH support to mssql. Thx to Angel Fradejas afradejas#mediafusion.es |
---|
| 199 | <p> We now check if link resource exists before we run mysql_escape_string in |
---|
| 200 | qstr(). |
---|
| 201 | <p> Before we flock in csv code, we check that it is not a http url. |
---|
| 202 | <p><b>3.20 17 Feb 2003</b></p> |
---|
| 203 | <p>Added new Data Dictionary classes for creating tables and indexes. Warning |
---|
| 204 | - this is very much alpha quality code. The API can still change. See adodb/tests/test-datadict.php |
---|
| 205 | for more info. |
---|
| 206 | <p>We now ignore $ADODB_COUNTRECS for mysql, because PHP truncates incomplete |
---|
| 207 | recordsets when mysql_unbuffered_query() is called a second time. |
---|
| 208 | <p>Now postgresql works correctly when $ADODB_COUNTRECS = false. |
---|
| 209 | <p>Changed _adodb_getcount to properly support SELECT DISTINCT. |
---|
| 210 | <p>Discovered that $ADODB_COUNTRECS=true has some problems with prepared queries |
---|
| 211 | - suspect PHP bug. |
---|
| 212 | <p>Now GetOne and GetRow run in $ADODB_COUNTRECS=false mode for better performance. |
---|
| 213 | <p>Added support for mysql_real_escape_string() and pg_escape_string() in qstr(). |
---|
| 214 | <p>Added an intermediate variable for mysql _fetch() and MoveNext() to store fields, |
---|
| 215 | to prevent overwriting field array with boolean when mysql_fetch_array() returns |
---|
| 216 | false. |
---|
| 217 | <p>Made arrays for getinsertsql and getupdatesql case-insensitive. Suggested by |
---|
| 218 | Tim Uckun" tim#diligence.com |
---|
| 219 | <p><b>3.11 11 Feb 2003</b></p> |
---|
| 220 | <p>Added check for ADODB_NEVER_PERSIST constant in PConnect(). If defined, then |
---|
| 221 | PConnect() will actually call non-persistent Connect(). |
---|
| 222 | <p>Modified interbase to properly work with Prepare(). |
---|
| 223 | <p>Added $this->ibase_timefmt to allow you to change the date and time format. |
---|
| 224 | <p>Added support for $input_array parameter in CacheFlush(). |
---|
| 225 | <p>Added experimental support for dbx, which was then removed when i found that |
---|
| 226 | it was slower than using native calls. |
---|
| 227 | <p>Added MetaPrimaryKeys for mssql and ibase/firebird. |
---|
| 228 | <p>Added new $trim parameter to GetCol and CacheGetCol |
---|
| 229 | <p>Uses updated adodb-time.inc.php 0.06. |
---|
| 230 | <p><b>3.10 27 Jan 2003</b> |
---|
| 231 | <p>Added adodb_date(), adodb_getdate(), adodb_mktime() and adodb-time.inc.php. |
---|
| 232 | <p>For interbase, added code to handle unlimited number of bind parameters. From |
---|
| 233 | Daniel Hasan daniel#hasan.cl. |
---|
| 234 | <p>Added BlobDecode and UpdateBlob for informix. Thx to Fernando Ortiz. |
---|
| 235 | <p>Added constant ADODB_WINDOWS. If defined, means that running on Windows. |
---|
| 236 | <p>Added constant ADODB_PHPVER which stores php version as a hex num. Removed |
---|
| 237 | $ADODB_PHPVER variable. |
---|
| 238 | <p>Felho Bacsi reported a minor white-space regular expression problem in GetInsertSQL. |
---|
| 239 | <p>Modified ADO to use variant to store _affectedRows |
---|
| 240 | <p>Changed ibase to use base class Replace(). Modified base class Replace() to |
---|
| 241 | support ibase. |
---|
| 242 | <p>Changed odbc to auto-detect when 0 records returned is wrong due to bad odbc |
---|
| 243 | drivers. |
---|
| 244 | <p>Changed mssql to use datetimeconvert ini setting only when 4.30 or later (does |
---|
| 245 | not work in 4.23). |
---|
| 246 | <p>ExecuteCursor($stmt, $cursorname, $params) now accepts a new $params array |
---|
| 247 | of additional bind parameters -- William Lovaton walovaton#yahoo.com.mx. |
---|
| 248 | <p>Added support for sybase_unbuffered_query if ADODB_COUNTRECS == false. Thx |
---|
| 249 | to chuck may. |
---|
| 250 | <p>Fixed FetchNextObj() bug. Thx to Jorma Tuomainen. |
---|
| 251 | <p>We now use SCOPE_IDENTITY() instead of @@IDENTITY for mssql - thx to marchesini#eside.it |
---|
| 252 | <p>Changed postgresql movenext logic to prevent illegal row number from being |
---|
| 253 | passed to pg_fetch_array(). |
---|
| 254 | <p>Postgresql initrs bug found by "Bogdan RIPA" bripa#interakt.ro $f1 accidentally |
---|
| 255 | named $f |
---|
| 256 | <p><b>3.00 6 Jan 2003</b> |
---|
| 257 | <p>Fixed adodb-pear.inc.php syntax error. |
---|
| 258 | <p>Improved _adodb_getcount() to use SELECT COUNT(*) FROM ($sql) for languages |
---|
| 259 | that accept it. |
---|
| 260 | <p>Fixed _adodb_getcount() caching error. |
---|
| 261 | <p>Added sql to retrive table and column info for odbc_mssql. |
---|
| 262 | <p><strong>2.91 3 Jan 2003</strong> |
---|
| 263 | <p>Revised PHP version checking to use $ADODB_PHPVER with legal values 0x4000, |
---|
| 264 | 0x4050, 0x4200, 0x4300. |
---|
| 265 | <p>Added support for bytea fields and oid blobs in postgres by allowing BlobDecode() |
---|
| 266 | to detect and convert non-oid fields. Also added BlobEncode to postgres when |
---|
| 267 | you want to encode oid blobs. |
---|
| 268 | <p>Added blobEncodeType property for connections to inform phpLens what encoding |
---|
| 269 | method to use for blobs. |
---|
| 270 | <p>Added BlobDecode() and BlobEncode() to base ADOConnection class. |
---|
| 271 | <p>Added umask() to _gencachename() when creating directories. |
---|
| 272 | <p>Added charPage for ado drivers, so you can set the code page. |
---|
| 273 | <pre> |
---|
| 274 | $conn->charPage = CP_UTF8; |
---|
| 275 | $conn->Connect($dsn); |
---|
| 276 | </pre> |
---|
| 277 | <p>Modified _seek in mysql to check for num rows=0. |
---|
| 278 | <p>Added to metatypes new informix types for IDS 9.30. Thx Fernando Ortiz. |
---|
| 279 | <p>_maxrecordcount returned in CachePageExecute $rsreturn |
---|
| 280 | <p>Fixed sybase cacheselectlimit( ) problems |
---|
| 281 | <p>MetaColumns() max_length should use precision for types X and C for ms access. |
---|
| 282 | Fixed. |
---|
| 283 | <p>Speedup of odbc non-SELECT sql statements. |
---|
| 284 | <p>Added support in MetaColumns for Wide Char types for ODBC. We halve max_length |
---|
| 285 | if unicode/wide char. |
---|
| 286 | <p>Added 'B' to types handled by GetUpdateSQL/GetInsertSQL. |
---|
| 287 | <p>Fixed warning message in oci8 driver with $persist variable when using PConnect. |
---|
| 288 | <p><b>2.90 11 Dec 2002</b> |
---|
| 289 | <p>Mssql and mssqlpo and oci8po now support ADODB_ASSOC_CASE. |
---|
| 290 | <p>Now MetaType() can accept a field object as the first parameter. |
---|
| 291 | <p>New $arr = $db->ServerInfo( ) function. Returns $arr['description'] which |
---|
| 292 | is the string description, and $arr['version']. |
---|
| 293 | <p>PostgreSQL and MSSQL speedups for insert/updates. |
---|
| 294 | <p> Implemented new SetFetchMode() that removes the need to use $ADODB_FETCH_MODE. |
---|
| 295 | Each connection has independant fetchMode. |
---|
| 296 | <p>ADODB_ASSOC_CASE now defaults to 2, use native defaults. This is because we |
---|
| 297 | would break backward compat for too many applications otherwise. |
---|
| 298 | <p>Patched encrypted sessions to use replace() |
---|
| 299 | <p>The qstr function supports quoting of nulls when escape character is \ |
---|
| 300 | <p>Rewrote bits and pieces of session code to check for time synch and improve |
---|
| 301 | reliability. |
---|
| 302 | <p>Added property ADOConnection::hasTransactions = true/false; |
---|
| 303 | <p>Added CreateSequence and DropSequence functions |
---|
| 304 | <p>Found misplaced MoveNext() in adodb-postgres.inc.php. Fixed. |
---|
| 305 | <p>Sybase SelectLimit not reliable because 'set rowcount' not cached - fixed. |
---|
| 306 | <p>Moved ADOConnection to adodb-connection.inc.php and ADORecordSet to adodb-recordset.inc.php. |
---|
| 307 | This allows us to use doxygen to generate documentation. Doxygen doesn't like |
---|
| 308 | the classes in the main adodb.inc.php file for some mysterious reason. |
---|
| 309 | <p><b>2.50, 14 Nov 2002</b> |
---|
| 310 | <p>Added transOff and transCnt properties for disabling (transOff = true) and |
---|
| 311 | tracking transaction status (transCnt>0). |
---|
| 312 | <p>Added inputarray handling into _adodb_pageexecute_all_rows - "Ross Smith" RossSmith#bnw.com. |
---|
| 313 | <p>Fixed postgresql inconsistencies in date handling. |
---|
| 314 | <p>Added support for mssql_fetch_assoc. |
---|
| 315 | <p>Fixed $ADODB_FETCH_MODE bug in odbc MetaTables() and MetaPrimaryKeys(). |
---|
| 316 | <p>Accidentally declared UnixDate() twice, making adodb incompatible with php |
---|
| 317 | 4.3.0. Fixed. |
---|
| 318 | <p>Fixed pager problems with some databases that returned -1 for _currentRow on |
---|
| 319 | MoveLast() by switching to MoveNext() in adodb-lib.inc.php. |
---|
| 320 | <p>Also fixed uninited $discard in adodb-lib.inc.php. |
---|
| 321 | <p><b>2.43, 25 Oct 2002</b></p> |
---|
| 322 | Added ADODB_ASSOC_CASE constant to better support ibase and odbc field names. |
---|
| 323 | <p>Added support for NConnect() for oracle OCINLogin. |
---|
| 324 | <p>Fixed NumCols() bug. |
---|
| 325 | <p>Changed session handler to use Replace() on write. |
---|
| 326 | <p>Fixed oci8 SelectLimit aggregate function bug again. |
---|
| 327 | <p>Rewrote pivoting code. |
---|
| 328 | <p><b>2.42, 4 Oct 2002</b></p> |
---|
| 329 | <p>Fixed ibase_fetch() problem with nulls. Also interbase now does automatic blob |
---|
| 330 | decoding, and is backward compatible. Suggested by Heinz Hombergs heinz#hhombergs.de. |
---|
| 331 | <p>Fixed postgresql MoveNext() problems when called repeatedly after EOF. Also |
---|
| 332 | suggested by Heinz Hombergs. |
---|
| 333 | <p>PageExecute() does not rewrite queries if SELECT DISTINCT is used. Requested |
---|
| 334 | by hans#velum.net |
---|
| 335 | <p>Added additional fixes to oci8 SelectLimit handling with aggregate functions |
---|
| 336 | - thx to Christian Bugge for reporting the problem. |
---|
| 337 | <p><b>2.41, 2 Oct 2002</b></p> |
---|
| 338 | <p>Fixed ADODB_COUNTRECS bug in odbc. Thx to Joshua Zoshi jzoshi#hotmail.com. |
---|
| 339 | <p>Increased buffers for adodb-csvlib.inc.php for extremely long sql from 8192 |
---|
| 340 | to 32000. |
---|
| 341 | <p>Revised pivottable.inc.php code. Added better support for aggregate fields. |
---|
| 342 | <p>Fixed mysql text/blob types problem in MetaTypes base class - thx to horacio |
---|
| 343 | degiorgi. |
---|
| 344 | <p>Added SQLDate($fmt,$date) function, which allows an sql date format string |
---|
| 345 | to be generated - useful for group by's. |
---|
| 346 | <p>Fixed bug in oci8 SelectLimit when offset>100. |
---|
| 347 | <p><b>2.40 4 Sept 2002</b></p> |
---|
| 348 | <p>Added new NLS_DATE_FORMAT property to oci8. Suggested by Laurent NAVARRO ln#altidev.com |
---|
| 349 | <p>Now use bind parameters in oci8 selectlimit for better performance. |
---|
| 350 | <p>Fixed interbase replaceQuote for dialect != 1. Thx to "BEGUIN Pierre-Henri |
---|
| 351 | - INFOCOB" phb#infocob.com. |
---|
| 352 | <p>Added white-space check to QA. |
---|
| 353 | <p>Changed unixtimestamp to support fractional seconds (we always round down/floor |
---|
| 354 | the seconds). Thanks to beezly#beezly.org.uk. |
---|
| 355 | <p>Now you can set the trigger_error type your own user-defined type in adodb-errorhandler.inc.php. |
---|
| 356 | Suggested by Claudio Bustos clbustos#entelchile.net. |
---|
| 357 | <p>Added recordset filters with rsfilter.inc.php. |
---|
| 358 | <p>$conn->_rs2rs does not create a new recordset when it detects it is of type |
---|
| 359 | array. Some trickery there as there seems to be a bug in Zend Engine |
---|
| 360 | <p>Added render_pagelinks to adodb-pager.inc.php. Code by "Pablo Costa" pablo#cbsp.com.br. |
---|
| 361 | <p>MetaType() speedup in adodb.inc.php by using hashing instead of switch. Best |
---|
| 362 | performance if constant arrays are supported, as they are in PHP5. |
---|
| 363 | <p>adodb-session.php now updates only the expiry date if the crc32 check indicates |
---|
| 364 | that the data has not been modified. |
---|
| 365 | <p><b>2.31 20 Aug 2002</b></p> |
---|
| 366 | <p>Made changes to pivottable.inc.php due to daniel lucuzaeu's suggestions (we sum the pivottable column if desired). |
---|
| 367 | <p>Fixed ErrorNo() in postgres so it does not depend on _errorMsg property. |
---|
| 368 | <p>Robert Tuttle added support for oracle cursors. See ExecuteCursor(). |
---|
| 369 | <p>Fixed Replace() so it works with mysql when updating record where data has not changed. Reported by |
---|
| 370 | Cal Evans (cal#calevans.com). |
---|
| 371 | <p><b>2.30 1 Aug 2002</b></p> |
---|
| 372 | <p>Added pivottable.inc.php. Thanks to daniel.lucazeau#ajornet.com for the original |
---|
| 373 | concept. |
---|
| 374 | <p>Added ADOConnection::outp($msg,$newline) to output error and debugging messages. Now |
---|
| 375 | you can override this using the ADODB_OUTP constant and use your own output handler. |
---|
| 376 | <p>Changed == to === for 'null' comparison. Reported by ericquil#yahoo.com |
---|
| 377 | <p>Fixed mssql SelectLimit( ) bug when distinct used. |
---|
| 378 | <p><b>2.30 1 Aug 2002</b></p> |
---|
| 379 | <p>New GetCol() and CacheGetCol() from ross#bnw.com that returns the first field as a 1 dim array. |
---|
| 380 | <p>We have an empty recordset, but RecordCount() could return -1. Fixed. Reported by "Jonathan Polansky" jonathan#polansky.com. |
---|
| 381 | <p>We now check for session variable changes using strlen($sessval).crc32($sessval). |
---|
| 382 | Formerly we only used crc32(). |
---|
| 383 | <p>Informix SelectLimit() problem with $ADODB_COUNTRECS fixed. |
---|
| 384 | <p>Fixed informix SELECT FIRST x DISTINCT, and not SELECT DISTINCT FIRST x - reported by F Riosa |
---|
| 385 | <p>Now default adodb error handlers ignores error if @ used. |
---|
| 386 | <p>If you set $conn->autoRollback=true, we auto-rollback persistent connections for odbc, mysql, oci8, mssql. |
---|
| 387 | Default for autoRollback is false. No need to do so for postgres. |
---|
| 388 | As interbase requires a transaction id (what a flawed api), we don't do it for interbase. |
---|
| 389 | <p>Changed PageExecute() to use non-greedy preg_match when searching for "FROM" keyword. |
---|
| 390 | <p><b>2.20 9 July 2002</b></p> |
---|
| 391 | <p>Added CacheGetOne($secs2cache,$sql), CacheGetRow($secs2cache,$sql), CacheGetAll($secs2cache,$sql). |
---|
| 392 | <p>Added $conn->OffsetDate($dayFraction,$date=false) to generate sql that calcs |
---|
| 393 | date offsets. Useful for scheduling appointments. |
---|
| 394 | <p>Added connection properties: leftOuter, rightOuter that hold left and right |
---|
| 395 | outer join operators. |
---|
| 396 | <p>Added connection property: ansiOuter to indicate whether ansi outer joins supported. |
---|
| 397 | <p>New driver <i>mssqlpo</i>, the portable mssql driver, which converts string |
---|
| 398 | concat operator from || to +. |
---|
| 399 | <p>Fixed ms access bug - SelectLimit() did not support ties - fixed. |
---|
| 400 | <p>Karsten Kraus (Karsten.Kraus#web.de), contributed error-handling code to ADONewConnection. |
---|
| 401 | Unfortunately due to backward compat problems, had to rollback most of the changes. |
---|
| 402 | <p>Added new parameter to GetAssoc() to allow returning an array of key-value pairs, |
---|
| 403 | ignoring any additional columns in the recordset. Off by default. |
---|
| 404 | <p>Corrected mssql $conn->sysDate to return only date using convert(). |
---|
| 405 | <p>CacheExecute() improved debugging output. |
---|
| 406 | <p>Changed rs2html() so newlines are converted to BR tags. Also optimized rs2html() based |
---|
| 407 | on feedback by "Jerry Workman" jerry#mtncad.com. |
---|
| 408 | <p>Added support for Replace() with Interbase, using DELETE and INSERT. |
---|
| 409 | <p>Some minor optimizations (mostly removing & references when passing arrays). |
---|
| 410 | <p>Changed GenID() to allows id's larger than the size of an integer. |
---|
| 411 | <p>Added force_session property to oci8 for better updateblob() support. |
---|
| 412 | <p>Fixed PageExecute() which did not work properly with sql containing GROUP BY. |
---|
| 413 | <p><b>2.12 12 June 2002</b></p> |
---|
| 414 | <p>Added toexport.inc.php to export recordsets in CSV and tab-delimited format. |
---|
| 415 | <p>CachePageExecute() does not work - fixed - thx John Huong. |
---|
| 416 | <p>Interbase aliases not set properly in FetchField() - fixed. Thx Stefan Goethals. |
---|
| 417 | <p>Added cache property to adodb pager class. The number of secs to cache recordsets. |
---|
| 418 | <p>SQL rewriting bug in pageexecute() due to skipping of newlines due to missing /s modifier. Fixed. |
---|
| 419 | <p>Max size of cached recordset due to a bug was 256000 bytes. Fixed. |
---|
| 420 | <p>Speedup of 1st invocation of CacheExecute() by tuning code. |
---|
| 421 | <p>We compare $rewritesql with $sql in pageexecute code in case of rewrite failure. |
---|
| 422 | <p><b>2.11 7 June 2002</b></p> |
---|
| 423 | <p>Fixed PageExecute() rewrite sql problem - COUNT(*) and ORDER BY don't go together with |
---|
| 424 | mssql, access and postgres. Thx to Alexander Zhukov alex#unipack.ru |
---|
| 425 | <p>DB2 support for CHARACTER type added - thx John Huong huongch#bigfoot.com |
---|
| 426 | <p>For ado, $argProvider not properly checked. Fixed - kalimero#ngi.it |
---|
| 427 | <p>Added $conn->Replace() function for update with automatic insert if the record does not exist. |
---|
| 428 | Supported by all databases except interbase. |
---|
| 429 | <p><b>2.10 4 June 2002</b></p> |
---|
| 430 | <p>Added uniqueSort property to indicate mssql ORDER BY cols must be unique. |
---|
| 431 | <p>Optimized session handler by crc32 the data. We only write if session data has changed. |
---|
| 432 | <p>adodb_sess_read in adodb-session.php now returns ''correctly - thanks to Jorma Tuomainen, webmaster#wizactive.com |
---|
| 433 | <p>Mssql driver did not throw EXECUTE errors correctly because ErrorMsg() and ErrorNo() called in wrong order. |
---|
| 434 | Pointed out by Alexios Fakos. Fixed. |
---|
| 435 | <p>Changed ado to use client cursors. This fixes BeginTran() problems with ado. |
---|
| 436 | <p>Added handling of timestamp type in ado. |
---|
| 437 | <p>Added to ado_mssql support for insert_id() and affected_rows(). |
---|
| 438 | <p>Added support for mssql.datetimeconvert=0, available since php 4.2.0. |
---|
| 439 | <p>Made UnixDate() less strict, so that the time is ignored if present. |
---|
| 440 | <p>Changed quote() so that it checks for magic_quotes_gpc. |
---|
| 441 | <p>Changed maxblobsize for odbc to default to 64000. |
---|
| 442 | <p><b>2.00 13 May 2002</b></p> |
---|
| 443 | <p>Added drivers <i>informix72</i> for pre-7.3 versions, and <i>oci805</i> for |
---|
| 444 | oracle 8.0.5, and postgres64 for postgresql 6.4 and earlier. The postgres and postgres7 drivers |
---|
| 445 | are now identical. |
---|
| 446 | <p>Interbase now partially supports ADODB_FETCH_BOTH, by defaulting to ASSOC mode. |
---|
| 447 | <p>Proper support for blobs in mssql. Also revised blob support code |
---|
| 448 | is base class. Now UpdateBlobFile() calls UpdateBlob() for consistency. |
---|
| 449 | <p>Added support for changed odbc_fetch_into api in php 4.2.0 |
---|
| 450 | with $conn->_has_stupid_odbc_fetch_api_change. |
---|
| 451 | <p>Fixed spelling of tablock locking hint in GenID( ) for mssql. |
---|
| 452 | <p>Added RowLock( ) to several databases, including oci8, informix, sybase, etc. |
---|
| 453 | Fixed where error in mssql RowLock(). |
---|
| 454 | <p>Added sysDate and sysTimeStamp properties to most database drivers. These are the sql |
---|
| 455 | functions/constants for that database that return the current date and current timestamp, and |
---|
| 456 | are useful for portable inserts and updates. |
---|
| 457 | <p>Support for RecordCount() caused date handling in sybase and mssql to break. |
---|
| 458 | Fixed, thanks to Toni Tunkkari, by creating derived classes for ADORecordSet_array for |
---|
| 459 | both databases. Generalized using arrayClass property. Also to support RecordCount(), |
---|
| 460 | changed metatype handling for ado drivers. Now the type returned in FetchField |
---|
| 461 | is no longer a number, but the 1-char data type returned by MetaType. |
---|
| 462 | At the same time, fixed a lot of date handling. Now mssql support dmy and mdy date formats. |
---|
| 463 | Also speedups in sybase and mssql with preg_match and ^ in date/timestamp handling. |
---|
| 464 | Added support in sybase and mssql for 24 hour clock in timestamps (no AM/PM). |
---|
| 465 | <p>Extensive revisions to informix driver - thanks to Samuel CARRIERE samuel_carriere#hotmail.com |
---|
| 466 | <p>Added $ok parameter to CommitTrans($ok) for easy rollbacks. |
---|
| 467 | <p>Fixed odbc MetaColumns and MetaTables to save and restore $ADODB_FETCH_MODE. |
---|
| 468 | <p>Some odbc drivers did not call the base connection class constructor. Fixed. |
---|
| 469 | <p>Fixed regex for GetUpdateSQL() and GetInsertSQL() to support more legal character combinations. |
---|
| 470 | |
---|
| 471 | <p><b>1.99 21 April 2002</b></p> |
---|
| 472 | <p>Added emulated RecordCount() to all database drivers if $ADODB_COUNTRECS = true |
---|
| 473 | (which it is by default). Inspired by Cristiano Duarte (cunha17#uol.com.br). |
---|
| 474 | <p>Unified stored procedure support for mssql and oci8. Parameter() and PrepareSP() |
---|
| 475 | functions implemented. |
---|
| 476 | <p>Added support for SELECT FIRST in informix, modified hasTop property to support |
---|
| 477 | this. |
---|
| 478 | <p>Changed csv driver to handle updates/deletes/inserts properly (when Execute() returns true). |
---|
| 479 | Bind params also work now, and raiseErrorFn with csv driver. Added csv driver to QA process. |
---|
| 480 | <p>Better error checking in oci8 UpdateBlob() and UpdateBlobFile(). |
---|
| 481 | <p>Added TIME type to MySQL - patch by Manfred h9125297#zechine.wu-wien.ac.at |
---|
| 482 | <p>Prepare/Execute implemented for Interbase/Firebird |
---|
| 483 | <p>Changed some regular expressions to be anchored by /^ $/ for speed. |
---|
| 484 | <p>Added UnixTimeStamp() and UnixDate() to ADOConnection(). Now these functions |
---|
| 485 | are in both ADOConnection and ADORecordSet classes. |
---|
| 486 | <p>Empty recordsets were not cached - fixed. |
---|
| 487 | <p>Thanks to Gaetano Giunta (g.giunta#libero.it) for the oci8 code review. We |
---|
| 488 | didn't agree on everything, but i hoped we agreed to disagree! |
---|
| 489 | <p><b>1.90 6 April 2002</b></p> |
---|
| 490 | <p>Now all database drivers support fetch modes ADODB_FETCH_NUM and ADODB_FETCH_ASSOC, though |
---|
| 491 | still not fully tested. Eg. Frontbase, Sybase, Informix. |
---|
| 492 | <p>NextRecordSet() support for mssql. Contributed by "Sven Axelsson" sven.axelsson#bokochwebb.se |
---|
| 493 | <p>Added blob support for SQL Anywhere. Contributed by Wade Johnson wade#wadejohnson.de |
---|
| 494 | <p>Fixed some security loopholes in server.php. Server.php also supports fetch mode. |
---|
| 495 | <p>Generalized GenID() to support odbc and mssql drivers. Mssql no longer generates GUID's. |
---|
| 496 | <p>Experimental RowLock($table,$where) for mssql. |
---|
| 497 | <p>Properly implemented Prepare() in oci8 and ODBC. |
---|
| 498 | <p>Added Bind() support to oci8 to support Prepare(). |
---|
| 499 | <p>Improved error handler. Catches CacheExecute() and GenID() errors now. |
---|
| 500 | <p>Now if you are running php from the command line, debugging messages do not output html formating. |
---|
| 501 | Not 100% complete, but getting there. |
---|
| 502 | <p><b>1.81 22 March 2002</b></p> |
---|
| 503 | <p>Restored default $ADODB_FETCH_MODE = ADODB_FETCH_DEFAULT for backward compatibility. |
---|
| 504 | <p>SelectLimit for oci8 improved - Our FIRST_ROWS optimization now does not overwrite existing hint. |
---|
| 505 | <p>New Sybase SQL Anywhere driver. Contributed by Wade Johnson wade#wadejohnson.de |
---|
| 506 | <p><b>1.80 15 March 2002</b></p> |
---|
| 507 | <p>Redesigned directory structure of ADOdb files. Added new driver directory where |
---|
| 508 | all database drivers reside. |
---|
| 509 | <p>Changed caching algorithm to create subdirectories. Now we scale better. |
---|
| 510 | <p>Informix driver now supports insert_id(). Contribution by "Andrea Pinnisi" pinnisi#sysnet.it |
---|
| 511 | <p>Added experimental ISO date and FetchField support for informix. |
---|
| 512 | <p>Fixed a quoting bug in Execute() with bind parameters, causing problems with blobs. |
---|
| 513 | <p>Mssql driver speedup by 10-15%. |
---|
| 514 | <p>Now in CacheExecute($secs2cache,$sql,...), $secs2cache is optional. If missing, it will |
---|
| 515 | take the value defined in $connection->cacheSecs (default is 3600 seconds). Note that |
---|
| 516 | CacheSelectLimit(), the secs2cache is still compulsory - sigh. |
---|
| 517 | <p>Sybase SQL Anywhere driver (using ODBC) contributed by Wade Johnson wade#wadejohnson.de |
---|
| 518 | <p><b>1.72 8 March 2002</b></p> |
---|
| 519 | <p>Added @ when returning Fields() to prevent spurious error - "Michael William Miller" mille562#pilot.msu.edu |
---|
| 520 | <p>MetaDatabases() for postgres contributed by Phil pamelant#nerim.net |
---|
| 521 | <p>Mitchell T. Young (mitch#youngfamily.org) contributed informix driver. |
---|
| 522 | <p>Fixed rs2html() problem. I cannot reproduce, so probably a problem with pre PHP 4.1.0 versions, |
---|
| 523 | when supporting new ADODB_FETCH_MODEs. |
---|
| 524 | <p>Mattia Rossi (mattia#technologist.com) contributed BlobDecode() and UpdateBlobFile() for postgresql |
---|
| 525 | using the postgres specific pg_lo_import()/pg_lo_open() - i don't use them but hopefully others will |
---|
| 526 | find this useful. See <a href="http://phplens.com/lens/lensforum/msgs.php?id=1262">this posting</a> |
---|
| 527 | for an example of usage. |
---|
| 528 | <p>Added UpdateBlobFile() for uploading files to a database. |
---|
| 529 | <p>Made UpdateBlob() compatible with oci8po driver. |
---|
| 530 | <p>Added noNullStrings support to oci8 driver. Oracle changes all ' ' strings to nulls, |
---|
| 531 | so you need to set strings to ' ' to prevent the nullifying of strings. $conn->noNullStrings = true; |
---|
| 532 | will do this for you automatically. This is useful when you define a char column as NOT NULL. |
---|
| 533 | <p>Fixed UnixTimeStamp() bug - wasn't setting minutes and seconds properly. Patch from Agusti Fita i Borrell agusti#anglatecnic.com. |
---|
| 534 | <p>Toni Tunkkari added patch for sybase dates. Problem with spaces in day part of date fixed. |
---|
| 535 | <p><b>1.71 18 Jan 2002</b></p> |
---|
| 536 | <p>Sequence start id support. Now $conn->Gen_ID('seqname', 50) to start sequence from 50. |
---|
| 537 | <p>CSV driver fix for selectlimit, from Andreas - akaiser#vocote.de. |
---|
| 538 | <P>Gam3r spotted that a global variable was undefined in the session handler. |
---|
| 539 | <p>Mssql date regex had error. Fixed - reported by Minh Hoang vb_user#yahoo.com. |
---|
| 540 | <p>DBTimeStamp() and DBDate() now accept iso dates and unix timestamps. This means |
---|
| 541 | that the PostgreSQL handling of dates in GetInsertSQL() and GetUpdateSQL() can |
---|
| 542 | be removed. Also if these functions are passed '' or null or false, we return a SQL null. |
---|
| 543 | <p>GetInsertSQL() and GetUpdateSQL() now accept a new parameter, $magicq to |
---|
| 544 | indicate whether quotes should be inserted based on magic quote settings - suggested by |
---|
| 545 | dj#4ict.com. |
---|
| 546 | <p>Reformated docs slightly based on suggestions by Chris Small. |
---|
| 547 | <p><b>1.65 28 Dec 2001</b></p> |
---|
| 548 | <p>Fixed borland_ibase class naming bug. |
---|
| 549 | <p>Now instead of using $rs->fields[0] internally, we use reset($rs->fields) so |
---|
| 550 | that we are compatible with ADODB_FETCH_ASSOC mode. Reported by Nico S. |
---|
| 551 | <p>Changed recordset constructor and _initrs() for oci8 so that it returns the field definitions even |
---|
| 552 | if no rows in the recordset. Reported by Rick Hickerson (rhickers#mv.mv.com). |
---|
| 553 | <p>Improved support for postgresql in GetInsertSQL and GetUpdateSQL by |
---|
| 554 | "mike" mike#partner2partner.com and "Ryan Bailey" rebel#windriders.com |
---|
| 555 | <p><b>1.64 20 Dec 2001</b></p> |
---|
| 556 | <p>Danny Milosavljevic <danny.milo#gmx.net> added some patches for MySQL error handling |
---|
| 557 | and displaying default values. |
---|
| 558 | <p>Fixed some ADODB_FETCH_BOTH inconsistencies in odbc and interbase. |
---|
| 559 | <p>Added more tests to test suite to cover ADODB_FETCH_* and ADODB_ERROR_HANDLER. |
---|
| 560 | <p>Added firebird (ibase) driver |
---|
| 561 | <p>Added borland_ibase driver for interbase 6.5 |
---|
| 562 | <p><b>1.63 13 Dec 2001</b></p> |
---|
| 563 | Absolute to the adodb-lib.inc.php file not set properly. Fixed.<p> |
---|
| 564 | |
---|
| 565 | <p><b>1.62 11 Dec 2001</b></p> |
---|
| 566 | <p>Major speedup of ADOdb for low-end web sites by reducing the php code loading and compiling |
---|
| 567 | cycle. We conditionally compile not so common functions. |
---|
| 568 | Moved csv code to adodb-csvlib.inc.php to reduce adodb.inc.php parsing. This file |
---|
| 569 | is loaded only when the csv/proxy driver is used, or CacheExecute() is run. |
---|
| 570 | Also moved PageExecute(), GetSelectSQL() and GetUpdateSQL() core code to adodb-lib.inc.php. |
---|
| 571 | This reduced the 70K main adodb.inc.php file to 55K, and since at least 20K of the file |
---|
| 572 | is comments, we have reduced 50K of code in adodb.inc.php to 35K. There |
---|
| 573 | should be 35% reduction in memory and thus 35% speedup in compiling the php code for the |
---|
| 574 | main adodb.inc.php file. |
---|
| 575 | <p>Highly tuned SelectLimit() for oci8 for massive speed improvements on large files. |
---|
| 576 | Selecting 20 rows starting from the 20,000th row of a table is now 7 times faster. |
---|
| 577 | Thx to Tomas V V Cox. |
---|
| 578 | <p>Allow . and # in table definitions in GetInsertSQL and GetUpdateSQL. |
---|
| 579 | See ADODB_TABLE_REGEX constant. Thx to Ari Kuorikoski. |
---|
| 580 | <p>Added ADODB_PREFETCH_ROWS constant, defaulting to 10. This determines the number |
---|
| 581 | of records to prefetch in a SELECT statement. Only used by oci8.</p> |
---|
| 582 | <p>Added high portability Oracle class called oci8po. This uses ? for bind variables, and |
---|
| 583 | lower cases column names.</p> |
---|
| 584 | <p>Now all database drivers support $ADODB_FETCH_MODE, including interbase, ado, and odbc: |
---|
| 585 | ADODB_FETCH_NUM and ADODB_FETCH_ASSOC. ADODB_FETCH_BOTH is not fully implemented for all |
---|
| 586 | database drivers. |
---|
| 587 | <p><b>1.61 Nov 2001</b></p> |
---|
| 588 | <p>Added PO_RecordCount() and PO_Insert_ID(). PO stands for portable. Pablo Roca |
---|
| 589 | [pabloroca#mvps.org]</p> |
---|
| 590 | <p>GenID now returns 0 if not available. Safer is that you should check $conn->hasGenID |
---|
| 591 | for availability.</p> |
---|
| 592 | <p>M'soft ADO we now correctly close recordset in _close() peterd#telephonetics.co.uk</p> |
---|
| 593 | <p>MSSQL now supports GenID(). It generates a 16-byte GUID from mssql newid() |
---|
| 594 | function.</p> |
---|
| 595 | <p>Changed ereg_replace to preg_replace in SelectLimit. This is a fix for mssql. |
---|
| 596 | Ereg doesn't support t or n! Reported by marino Carlos xaplo#postnuke-espanol.org</p> |
---|
| 597 | <p>Added $recordset->connection. This is the ADOConnection object for the recordset. |
---|
| 598 | Works with cached and normal recordsets. Surprisingly, this had no affect on performance!</p> |
---|
| 599 | <p><b>1.54 15 Nov 2001</b></p> |
---|
| 600 | Fixed some more bugs in PageExecute(). I am getting sick of bug in this and will have to |
---|
| 601 | reconsider my QA here. The main issue is that I don't use PageExecute() and |
---|
| 602 | to check whether it is working requires a visual inspection of the html generated currently. |
---|
| 603 | It is possible to write a test script but it would be quite complicated :( |
---|
| 604 | <p> More speedups of SelectLimit() for DB2, Oci8, access, vfp, mssql. |
---|
| 605 | <p> |
---|
| 606 | |
---|
| 607 | <p><b>1.53 7 Nov 2001</b></p> |
---|
| 608 | Added support for ADODB_FETCH_ASSOC for ado and odbc drivers.<p> |
---|
| 609 | Tuned GetRowAssoc(false) in postgresql and mysql.<p> |
---|
| 610 | Stephen Van Dyke contributed ADOdb icon, accepted with some minor mods.<p> |
---|
| 611 | Enabled Affected_Rows() for postgresql<p> |
---|
| 612 | Speedup for Concat() using implode() - Benjamin Curtis ben_curtis#yahoo.com<p> |
---|
| 613 | Fixed some more bugs in PageExecute() to prevent infinite loops<p> |
---|
| 614 | <p><b>1.52 5 Nov 2001</b></p> |
---|
| 615 | Spelling error in CacheExecute() caused it to fail. $ql should be $sql in line 625!<p> |
---|
| 616 | Added fixes for parsing [ and ] in GetUpdateSQL(). |
---|
| 617 | <p><b>1.51 5 Nov 2001</b></p> |
---|
| 618 | <p>Oci8 SelectLimit() speedup by using OCIFetch(). |
---|
| 619 | <p>Oci8 was mistakenly reporting errors when $db->debug = true. |
---|
| 620 | <p>If a connection failed with ODBC, it was not correctly reported - fixed. |
---|
| 621 | <p>_connectionID was inited to -1, changed to false. |
---|
| 622 | <p>Added $rs->FetchRow(), to simplify API, ala PEAR DB |
---|
| 623 | <p>Added PEAR DB compat mode, which is still faster than PEAR! See adodb-pear.inc.php. |
---|
| 624 | <p>Removed postgres pconnect debugging statement. |
---|
| 625 | <p><b>1.50 31 Oct 2001</b></p> |
---|
| 626 | <p>ADOdbConnection renamed to ADOConnection, and ADOdbFieldObject to ADOFieldObject. |
---|
| 627 | <p>PageExecute() now checks for empty $rs correctly, and the errors in the docs on this subject have been fixed. |
---|
| 628 | <p>odbc_error() does not return 6 digit error correctly at times. Implemented workaround. |
---|
| 629 | <p>Added ADORecordSet_empty class. This will speedup INSERTS/DELETES/UPDATES because the return |
---|
| 630 | object created is much smaller. |
---|
| 631 | <p>Added Prepare() to odbc, and oci8 (but doesn't work properly for oci8 still). |
---|
| 632 | <p>Made pgsql a synonym for postgre7, and changed SELECT LIMIT to use OFFSET for compat with |
---|
| 633 | postgres 7.2. |
---|
| 634 | <p>Revised adodb-cryptsession.php thanks to Ari. |
---|
| 635 | <p>Set resources to false on _close, to force freeing of resources. |
---|
| 636 | <p>Added adodb-errorhandler.inc.php, adodb-errorpear.inc.php and raiseErrorFn on Freek's urging. |
---|
| 637 | <p>GetRowAssoc($toUpper=true): $toUpper added as default. |
---|
| 638 | <p>Errors when connecting to a database were not captured formerly. Now we do it correctly. |
---|
| 639 | <p><b>1.40 19 September 2001</b></p> |
---|
| 640 | <p>PageExecute() to implement page scrolling added. Code and idea by Iván Oliva.</p> |
---|
| 641 | <p>Some minor postgresql fixes.</p> |
---|
| 642 | <p>Added sequence support using GenID() for postgresql, oci8, mysql, interbase.</p> |
---|
| 643 | <p>Added UpdateBlob support for interbase (untested).</p> |
---|
| 644 | <p>Added encrypted sessions (see adodb-cryptsession.php). By Ari Kuorikoski <kuoriari#finebyte.com></p> |
---|
| 645 | <p><b>1.31 21 August 2001</b></p> |
---|
| 646 | <p>Many bug fixes thanks to "GaM3R (Cameron)" <gamr#outworld.cx>. Some session changes due to Gam3r. |
---|
| 647 | <p>Fixed qstr() to quote also. |
---|
| 648 | <p>rs2html() now pretty printed. |
---|
| 649 | <p>Jonathan Younger jyounger#unilab.com contributed the great idea GetUpdateSQL() and GetInsertSQL() which |
---|
| 650 | generates SQL to update and insert into a table from a recordset. Modify the recordset fields |
---|
| 651 | array, then can this function to generate the SQL (the SQL is not executed). |
---|
| 652 | <p>"Nicola Fankhauser" <nicola.fankhauser#couniq.com> found some bugs in date handling for mssql.</p> |
---|
| 653 | <p>Added minimal Oracle support for LOBs. Still under development.</p> |
---|
| 654 | Added $ADODB_FETCH_MODE so you can control whether recordsets return arrays which are |
---|
| 655 | numeric, associative or both. This is a global variable you set. Currently only MySQL, Oci8, Postgres |
---|
| 656 | drivers support this. |
---|
| 657 | <p>PostgreSQL properly closes recordsets now. Reported by several people. |
---|
| 658 | <p> |
---|
| 659 | Added UpdateBlob() for Oracle. A hack to make it easier to save blobs. |
---|
| 660 | <p> |
---|
| 661 | Oracle timestamps did not display properly. Fixed. |
---|
| 662 | <p><b>1.20 6 June 2001</b></p> |
---|
| 663 | <p>Now Oracle can connect using tnsnames.ora or server and service name</p> |
---|
| 664 | <p>Extensive Oci8 speed optimizations. |
---|
| 665 | Oci8 code revised to support variable binding, and /*+ FIRST_ROWS */ hint.</p> |
---|
| 666 | <p>Worked around some 4.0.6 bugs in odbc_fetch_into().</p> |
---|
| 667 | <p>Paolo S. Asioli paolo.asioli#libero.it suggested GetRowAssoc().</p> |
---|
| 668 | <p>Escape quotes for oracle wrongly set to '. Now '' is used.</p> |
---|
| 669 | <p>Variable binding now works in ODBC also.</p> |
---|
| 670 | <p>Jumped to version 1.20 because I don't like 13 :-)</p> |
---|
| 671 | <p><b>1.12 6 June 2001</b></p> |
---|
| 672 | <p>Changed $ADODB_DIR to ADODB_DIR constant to plug a security loophole.</p> |
---|
| 673 | <p>Changed _close() to close persistent connections also. Prevents connection leaks.</p> |
---|
| 674 | <p>Major revision of oracle and oci8 drivers. |
---|
| 675 | Added OCI_RETURN_NULLS and OCI_RETURN_LOBS to OCIFetchInto(). BLOB, CLOB and VARCHAR2 recognition |
---|
| 676 | in MetaType() improved. MetaColumns() returns columns in correct sort order.</p> |
---|
| 677 | <p>Interbase timestamp input format was wrong. Fixed.</p> |
---|
| 678 | <p><b>1.11 20 May 2001</b></p> |
---|
| 679 | <p>Improved file locking for Windows.</p> |
---|
| 680 | <p>Probabilistic flushing of cache to avoid avalanche updates when cache timeouts.</p> |
---|
| 681 | <p>Cached recordset timestamp not saved in some scenarios. Fixed.</p> |
---|
| 682 | <p><b>1.10 19 May 2001</b></p> |
---|
| 683 | <p>Added caching. CacheExecute() and CacheSelectLimit(). |
---|
| 684 | <p>Added csv driver. See <a href="http://php.weblogs.com/adodb_csv">http://php.weblogs.com/ADODB_csv</a>. |
---|
| 685 | <p>Fixed SelectLimit(), SELECT TOP not working under certain circumstances. |
---|
| 686 | <p>Added better Frontbase support of MetaTypes() by Frank M. Kromann. |
---|
| 687 | <p><b>1.01 24 April 2001</b></p> |
---|
| 688 | <p>Fixed SelectLimit bug. not quoted properly. |
---|
| 689 | <p>SelectLimit: SELECT TOP -1 * FROM TABLE not support by Microsoft. Fixed.</p> |
---|
| 690 | <p>GetMenu improved by glen.davies#cce.ac.nz to support multiple hilited items<p> |
---|
| 691 | <p>FetchNextObject() did not work with only 1 record returned. Fixed bug reported by $tim#orotech.net</p> |
---|
| 692 | <p>Fixed mysql field max_length problem. Fix suggested by Jim Nicholson (jnich#att.com)</p> |
---|
| 693 | <p><b>1.00 16 April 2001</b></p> |
---|
| 694 | <p>Given some brilliant suggestions on how to simplify ADOdb by akul. You no longer need to |
---|
| 695 | setup $ADODB_DIR yourself, and ADOLoadCode() is automatically called by ADONewConnection(), |
---|
| 696 | simplifying the startup code.</p> |
---|
| 697 | <p>FetchNextObject() added. Suggested by Jakub Marecek. This makes FetchObject() obsolete, as |
---|
| 698 | this is more flexible and powerful.</p> |
---|
| 699 | <p>Misc fixes to SelectLimit() to support Access (top must follow distinct) and Fields() |
---|
| 700 | in the array recordset. From Reinhard Balling.</p> |
---|
| 701 | <p><b>0.96 27 Mar 2001</b></p> |
---|
| 702 | <p>ADOConnection Close() did not return a value correctly. Thanks to akul#otamedia.com.</p> |
---|
| 703 | <p>When the horrible magic_quotes is enabled, back-slash () is changed to double-backslash (\). |
---|
| 704 | This doesn't make sense for Microsoft/Sybase databases. We fix this in qstr().</p> |
---|
| 705 | <p>Fixed Sybase date problem in UnixDate() thanks to Toni Tunkkari. Also fixed MSSQL problem |
---|
| 706 | in UnixDate() - thanks to milhouse31#hotmail.com.</p> |
---|
| 707 | <p>MoveNext() moved to leaf classes for speed in MySQL/PostgreSQL. 10-15% speedup.</p> |
---|
| 708 | <p>Added null handling in bindInputArray in Execute() -- Ron Baldwin suggestion.</p> |
---|
| 709 | <p>Fixed some option tags. Thanks to john#jrmstudios.com.</p> |
---|
| 710 | <p><b>0.95 13 Mar 2001</b></p> |
---|
| 711 | <p>Added postgres7 database driver which supports LIMIT and other version 7 stuff in the future.</p> |
---|
| 712 | <p>Added SelectLimit to ADOConnection to simulate PostgreSQL's "select * from table limit 10 offset 3". |
---|
| 713 | Added helper function GetArrayLimit() to ADORecordSet.</p> |
---|
| 714 | <p>Fixed mysql metacolumns bug. Thanks to Freek Dijkstra (phpeverywhere#macfreek.com).</p> |
---|
| 715 | <p>Also many PostgreSQL changes by Freek. He almost rewrote the whole PostgreSQL driver!</p> |
---|
| 716 | <p>Added fix to input parameters in Execute for non-strings by Ron Baldwin.</p> |
---|
| 717 | <p>Added new metatype, X for TeXt. Formerly, metatype B for Blob also included |
---|
| 718 | text fields. Now 'B' is for binary/image data. 'X' for textual data.</p> |
---|
| 719 | <p>Fixed $this->GetArray() in GetRows().</p> |
---|
| 720 | <p>Oracle and OCI8: 1st parameter is always blank -- now warns if it is filled.</p> |
---|
| 721 | <p>Now <i>hasLimit</i> and <i>hasTop</i> added to indicate whether |
---|
| 722 | SELECT * FROM TABLE LIMIT 10 or SELECT TOP 10 * FROM TABLE are supported.</p> |
---|
| 723 | <p><b>0.94 04 Feb 2001</b></p> |
---|
| 724 | <p>Added ADORecordSet::GetRows() for compatibility with Microsoft ADO. Synonym for GetArray().</p> |
---|
| 725 | <p>Added new metatype 'R' to represent autoincrement numbers.</p> |
---|
| 726 | <p>Added ADORecordSet.FetchObject() to return a row as an object.</p> |
---|
| 727 | <p>Finally got a Linux box to test PostgreSql. Many fixes.</p> |
---|
| 728 | <p>Fixed copyright misspellings in 0.93.</p> |
---|
| 729 | <p>Fixed mssql MetaColumns type bug.</p> |
---|
| 730 | <p>Worked around odbc bug in PHP4 for sessions.</p> |
---|
| 731 | <p>Fixed many documentation bugs (affected_rows, metadatabases, qstr).</p> |
---|
| 732 | <p>Fixed MySQL timestamp format (removed comma).</p> |
---|
| 733 | <p>Interbase driver did not call ibase_pconnect(). Fixed.</p> |
---|
| 734 | <p><b>0.93 18 Jan 2002</b></p> |
---|
| 735 | <p>Fixed GetMenu bug.</p> |
---|
| 736 | <p>Simplified Interbase commit and rollback.</p> |
---|
| 737 | <p>Default behaviour on closing a connection is now to rollback all active transactions.</p> |
---|
| 738 | <p>Added field object handling for array recordset for future XML compatibility.</p> |
---|
| 739 | <p>Added arr2html() to convert array to html table.</p> |
---|
| 740 | <p><b>0.92 2 Jan 2002</b></p> |
---|
| 741 | <p>Interbase Commit and Rollback should be working again.</p> |
---|
| 742 | <p>Changed initialisation of ADORecordSet. This is internal and should not affect users. We |
---|
| 743 | are doing this to support cached recordsets in the future.</p> |
---|
| 744 | |
---|
| 745 | <p>Implemented ADORecordSet_array class. This allows you to simulate a database recordset |
---|
| 746 | with an array.</p> |
---|
| 747 | <p>Added UnixDate() and UnixTimeStamp() to ADORecordSet.</p> |
---|
| 748 | <p><b>0.91 21 Dec 2000</b></p> |
---|
| 749 | <p>Fixed ODBC so ErrorMsg() is working.</p> |
---|
| 750 | <p>Worked around ADO unrecognised null (0x1) value problem in COM.</p> |
---|
| 751 | <p>Added Sybase support for FetchField() type</p> |
---|
| 752 | <p>Removed debugging code and unneeded html from various files</p> |
---|
| 753 | <p>Changed to javadoc style comments to adodb.inc.php.</p> |
---|
| 754 | <p>Added maxsql as synonym for mysqlt</p> |
---|
| 755 | <p>Now ODBC downloads first 8K of blob by default |
---|
| 756 | <p><b>0.90 15 Nov 2000</b></p> |
---|
| 757 | <p>Lots of testing of Microsoft ADO. Should be more stable now.</p> |
---|
| 758 | <p>Added $ADODB_COUNTREC. Set to false for high speed selects.</p> |
---|
| 759 | <p>Added Sybase support. Contributed by Toni Tunkkari (toni.tunkkari#finebyte.com). Bug in Sybase |
---|
| 760 | API: GetFields is unable to determine date types.</p> |
---|
| 761 | <p>Changed behaviour of RecordSet.GetMenu() to support size parameter (listbox) properly.</p> |
---|
| 762 | <p>Added emptyDate and emptyTimeStamp to RecordSet class that defines how to represent |
---|
| 763 | empty dates.</p> |
---|
| 764 | <p>Added MetaColumns($table) that returns an array of ADOFieldObject's listing |
---|
| 765 | the columns of a table.</p> |
---|
| 766 | <p>Added transaction support for PostgresSQL -- thanks to "Eric G. Werk" egw#netguide.dk.</p> |
---|
| 767 | <p>Added adodb-session.php for session support.</p> |
---|
| 768 | <p><b>0.80 30 Nov 2000</b></p> |
---|
| 769 | <p>Added support for charSet for interbase. Implemented MetaTables for most databases. |
---|
| 770 | PostgreSQL more extensively tested.</p> |
---|
| 771 | <p><b>0.71 22 Nov 2000</b></p> |
---|
| 772 | <p>Switched from using require_once to include/include_once for backward compatability with PHP 4.02 and earlier.</p> |
---|
| 773 | <p><b>0.70 15 Nov 2000</b></p> |
---|
| 774 | <p>Calls by reference have been removed (call_time_pass_reference=Off) to ensure compatibility with future versions of PHP, |
---|
| 775 | except in Oracle 7 driver due to a bug in php_oracle.dll.</p> |
---|
| 776 | <p>PostgreSQL database driver contributed by Alberto Cerezal (acerezalp#dbnet.es). |
---|
| 777 | </p> |
---|
| 778 | <p>Oci8 driver for Oracle 8 contributed by George Fourlanos (fou#infomap.gr).</p> |
---|
| 779 | <p>Added <i>mysqlt</i> database driver to support MySQL 3.23 which has transaction |
---|
| 780 | support. </p> |
---|
| 781 | <p>Oracle default date format (DD-MON-YY) did not match ADOdb default date format (which is YYYY-MM-DD). Use ALTER SESSION to force the default date.</p> |
---|
| 782 | <p>Error message checking is now included in test suite.</p> |
---|
| 783 | <p>MoveNext() did not check EOF properly -- fixed.</p> |
---|
| 784 | <p><b>0.60 Nov 8 2000</b></p> |
---|
| 785 | <p>Fixed some constructor bugs in ODBC and ADO. Added ErrorNo function to ADOConnection |
---|
| 786 | class. </p> |
---|
| 787 | <p><b>0.51 Oct 18 2000</b></p> |
---|
| 788 | <p>Fixed some interbase bugs.</p> |
---|
| 789 | <p><b>0.50 Oct 16 2000</b></p> |
---|
| 790 | <p>Interbase commit/rollback changed to be compatible with PHP 4.03. </p> |
---|
| 791 | <p>CommitTrans( ) will now return true if transactions not supported. </p> |
---|
| 792 | <p>Conversely RollbackTrans( ) will return false if transactions not supported. |
---|
| 793 | </p> |
---|
| 794 | <p><b>0.46 Oct 12</b></p> |
---|
| 795 | Many Oracle compatibility issues fixed. |
---|
| 796 | <p><b>0.40 Sept 26</b></p> |
---|
| 797 | <p>Many bug fixes</p> |
---|
| 798 | <p>Now Code for BeginTrans, CommitTrans and RollbackTrans is working. So is the Affected_Rows |
---|
| 799 | and Insert_ID. Added above functions to test.php.</p> |
---|
| 800 | <p>ADO type handling was busted in 0.30. Fixed.</p> |
---|
| 801 | <p>Generalised Move( ) so it works will all databases, including ODBC.</p> |
---|
| 802 | <p><b>0.30 Sept 18</b></p> |
---|
| 803 | <p>Renamed ADOLoadDB to ADOLoadCode. This is clearer.</p> |
---|
| 804 | <p>Added BeginTrans, CommitTrans and RollbackTrans functions.</p> |
---|
| 805 | <p>Added Affected_Rows() and Insert_ID(), _affectedrows() and _insertID(), ListTables(), |
---|
| 806 | ListDatabases(), ListColumns().</p> |
---|
| 807 | <p>Need to add New_ID() and hasInsertID and hasAffectedRows, autoCommit </p> |
---|
| 808 | <p><b>0.20 Sept 12</b></p> |
---|
| 809 | <p>Added support for Microsoft's ADO.</p> |
---|
| 810 | <p>Added new field to ADORecordSet -- canSeek</p> |
---|
| 811 | <p>Added new parameter to _fetch($ignore_fields = false). Setting to true will |
---|
| 812 | not update fields array for faster performance.</p> |
---|
| 813 | <p>Added new field to ADORecordSet/ADOConnection -- dataProvider to indicate whether |
---|
| 814 | a class is derived from odbc or ado.</p> |
---|
| 815 | <p>Changed class ODBCFieldObject to ADOFieldObject -- not documented currently.</p> |
---|
| 816 | <p>Added benchmark.php and testdatabases.inc.php to the test suite.</p> |
---|
| 817 | <p>Added to ADORecordSet FastForward( ) for future high speed scrolling. Not documented.</p> |
---|
| 818 | <p>Realised that ADO's Move( ) uses relative positioning. ADOdb uses absolute. |
---|
| 819 | </p> |
---|
| 820 | <p><b>0.10 Sept 9 2000</b></p> |
---|
| 821 | <p>First release</p> |
---|
| 822 | </body></html> |
---|