Merge branch 'master' of git://github.com/openemr/openemr
[openemr.git] / library / adodb / drivers / adodb-mysqlt.inc.php
blob5d8fcdaf46f1bed788ee6bd30416cb579d61d250
1 <?php
3 /*
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.
8 Set tabs to 8.
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;
25 function BeginTrans()
27 if ($this->transOff) return true;
28 $this->transCnt += 1;
29 $this->Execute('SET AUTOCOMMIT=0');
30 $this->Execute('BEGIN');
31 return true;
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');
42 return true;
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');
51 return true;
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);
63 function MoveNext()
65 if ($this->EOF) return false;
67 $this->_currentRow++;
68 // using & below slows things down by 20%!
69 $this->fields = @mysql_fetch_array($this->_queryID,$this->fetchMode);
70 if ($this->fields) return true;
71 $this->EOF = true;
73 return false;