4 V4.20 22 Feb 2004 (c) 2000-2004 John Lim (jlim@natsoft.com.my). All rights reserved.
5 Released under both BSD license and Lesser GPL library license.
6 Whenever there is any discrepancy between the two licenses,
7 the BSD license will take precedence.
10 MySQL code that supports transactions. For MySQL 3.23 or later.
11 Code from James Poon <jpoon88@yahoo.com>
13 Requires mysql client. Works on Windows and Unix.
17 include_once(ADODB_DIR
."/drivers/adodb-mysql.inc.php");
20 class ADODB_mysqlt
extends ADODB_mysql
{
21 var $databaseType = 'mysqlt';
22 var $ansiOuter = true; // for Version 3.23.17 or later
23 var $hasTransactions = true;
27 if ($this->transOff
) return true;
29 $this->Execute('SET AUTOCOMMIT=0');
30 $this->Execute('BEGIN');
34 function CommitTrans($ok=true)
36 if ($this->transOff
) return true;
37 if (!$ok) return $this->RollbackTrans();
39 if ($this->transCnt
) $this->transCnt
-= 1;
40 $this->Execute('COMMIT');
41 $this->Execute('SET AUTOCOMMIT=1');
45 function RollbackTrans()
47 if ($this->transOff
) return true;
48 if ($this->transCnt
) $this->transCnt
-= 1;
49 $this->Execute('ROLLBACK');
50 $this->Execute('SET AUTOCOMMIT=1');
56 class ADORecordSet_mysqlt
extends ADORecordSet_mysql
{
57 var $databaseType = "mysqlt";
59 function ADORecordSet_mysqlt($queryID,$mode=false) {
60 return $this->ADORecordSet_mysql($queryID,$mode);
65 if ($this->EOF
) return false;
68 // using & below slows things down by 20%!
69 $this->fields
= @mysql_fetch_array
($this->_queryID
,$this->fetchMode
);
70 if ($this->fields
) return true;