[pLog-svn] r2761 -
plog/branches/lifetype-1.0.3/class/database/adodb/drivers
mark at devel.lifetype.net
mark at devel.lifetype.net
Sun Jan 8 17:14:14 GMT 2006
Author: mark
Date: 2006-01-08 17:14:13 +0000 (Sun, 08 Jan 2006)
New Revision: 2761
Removed:
plog/branches/lifetype-1.0.3/class/database/adodb/drivers/adodb-sqlite.inc.php.bak
Log:
Delete the .bak file, that file shouldn't be there.
Deleted: plog/branches/lifetype-1.0.3/class/database/adodb/drivers/adodb-sqlite.inc.php.bak
===================================================================
--- plog/branches/lifetype-1.0.3/class/database/adodb/drivers/adodb-sqlite.inc.php.bak 2006-01-07 21:42:50 UTC (rev 2760)
+++ plog/branches/lifetype-1.0.3/class/database/adodb/drivers/adodb-sqlite.inc.php.bak 2006-01-08 17:14:13 UTC (rev 2761)
@@ -1,326 +0,0 @@
-<?php
-/*
-V4.53 14 Sept 2004 (c) 2000-2004 John Lim (jlim at 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.
-
- Latest version is available at http://adodb.sourceforge.net
-
- SQLite info: http://www.hwaci.com/sw/sqlite/
-
- Install Instructions:
- ====================
- 1. Place this in adodb/drivers
- 2. Rename the file, remove the .txt prefix.
-*/
-
-// security - hide paths
-if (!defined('ADODB_DIR')) die();
-
-class ADODB_sqlite extends ADOConnection {
- var $databaseType = "sqlite";
- var $replaceQuote = "''"; // string to use to replace quotes
- var $concat_operator='||';
- var $_errorNo = 0;
- var $hasLimit = true;
- var $hasInsertID = true; /// supports autoincrement ID?
- var $hasAffectedRows = true; /// supports affected rows for update/delete?
- var $metaTablesSQL = "SELECT name FROM sqlite_master WHERE type='table' ORDER BY name";
- var $sysDate = "adodb_date('Y-m-d')";
- var $sysTimeStamp = "adodb_date('Y-m-d H:i:s')";
- var $fmtTimeStamp = "'Y-m-d H:i:s'";
-
- function ADODB_sqlite()
- {
- }
-
-/*
- function __get($name)
- {
- switch($name) {
- case 'sysDate': return "'".date($this->fmtDate)."'";
- case 'sysTimeStamp' : return "'".date($this->sysTimeStamp)."'";
- }
- }*/
-
- function ServerInfo()
- {
- $arr['version'] = sqlite_libversion();
- $arr['description'] = 'SQLite ';
- $arr['encoding'] = sqlite_libencoding();
- return $arr;
- }
-
- function BeginTrans()
- {
- if ($this->transOff) return true;
- $ret = $this->Execute("BEGIN TRANSACTION");
- $this->transCnt += 1;
- return true;
- }
-
- function CommitTrans($ok=true)
- {
- if ($this->transOff) return true;
- if (!$ok) return $this->RollbackTrans();
- $ret = $this->Execute("COMMIT");
- if ($this->transCnt>0)$this->transCnt -= 1;
- return !empty($ret);
- }
-
- function RollbackTrans()
- {
- if ($this->transOff) return true;
- $ret = $this->Execute("ROLLBACK");
- if ($this->transCnt>0)$this->transCnt -= 1;
- return !empty($ret);
- }
-
- function _insertid()
- {
- return sqlite_last_insert_rowid($this->_connectionID);
- }
-
- function _affectedrows()
- {
- return sqlite_changes($this->_connectionID);
- }
-
- function ErrorMsg()
- {
- if ($this->_logsql) return $this->_errorMsg;
- return ($this->_errorNo) ? sqlite_error_string($this->_errorNo) : '';
- }
-
- function ErrorNo()
- {
- return $this->_errorNo;
- }
-
- function SQLDate($fmt, $col=false)
- {
- $fmt = $this->qstr($fmt);
- return ($col) ? "adodb_date2($fmt,$col)" : "adodb_date($fmt)";
- }
-
- function &MetaColumns($tab)
- {
- global $ADODB_FETCH_MODE;
-
- $rs = $this->Execute("select * from $tab limit 1");
- if (!$rs) return false;
- $arr = array();
- for ($i=0,$max=$rs->_numOfFields; $i < $max; $i++) {
- $fld =& $rs->FetchField($i);
- if ($ADODB_FETCH_MODE == ADODB_FETCH_NUM) $retarr[] =& $fld;
- else $arr[strtoupper($fld->name)] =& $fld;
- }
- $rs->Close();
- return $arr;
- }
-
- function _createFunctions()
- {
- @sqlite_create_function($this->_connectionID, 'adodb_date', 'adodb_date', 1);
- @sqlite_create_function($this->_connectionID, 'adodb_date2', 'adodb_date2', 2);
- }
-
-
- // returns true or false
- function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
- {
- if (!function_exists('sqlite_open')) return null;
-
- $this->_connectionID = sqlite_open($argHostname);
- if ($this->_connectionID === false) return false;
- $this->_createFunctions();
- return true;
- }
-
- // returns true or false
- function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
- {
- if (!function_exists('sqlite_open')) return null;
-
- $this->_connectionID = sqlite_popen($argHostname);
- if ($this->_connectionID === false) return false;
- $this->_createFunctions();
- return true;
- }
-
- // returns query ID if successful, otherwise false
- function _query($sql,$inputarr=false)
- {
- $rez = sqlite_query($sql,$this->_connectionID);
- if (!$rez) {
- $this->_errorNo = sqlite_last_error($this->_connectionID);
- }
-
- return $rez;
- }
-
- function &SelectLimit($sql,$nrows=-1,$offset=-1,$inputarr=false,$secs2cache=0)
- {
- $offsetStr = ($offset >= 0) ? " OFFSET $offset" : '';
- $limitStr = ($nrows >= 0) ? " LIMIT $nrows" : ($offset >= 0 ? ' LIMIT 999999999' : '');
- if ($secs2cache)
- $rs =& $this->CacheExecute($secs2cache,$sql."$limitStr$offsetStr",$inputarr);
- else
- $rs =& $this->Execute($sql."$limitStr$offsetStr",$inputarr);
-
- return $rs;
- }
-
- /*
- This algorithm is not very efficient, but works even if table locking
- is not available.
-
- Will return false if unable to generate an ID after $MAXLOOPS attempts.
- */
- var $_genSeqSQL = "create table %s (id integer)";
-
- function GenID($seq='adodbseq',$start=1)
- {
- // if you have to modify the parameter below, your database is overloaded,
- // or you need to implement generation of id's yourself!
- $MAXLOOPS = 100;
- //$this->debug=1;
- while (--$MAXLOOPS>=0) {
-<<<<<<< adodb-sqlite.inc.php
- $num = @$this->GetOne("select id from $seq");
-=======
- @($num = $this->GetOne("select id from $seq"));
->>>>>>> 1.42
- if ($num === false) {
- $this->Execute(sprintf($this->_genSeqSQL ,$seq));
- $start -= 1;
- $num = '0';
- $ok = $this->Execute("insert into $seq values($start)");
- if (!$ok) return false;
- }
- $this->Execute("update $seq set id=id+1 where id=$num");
-
- if ($this->affected_rows() > 0) {
- $num += 1;
- $this->genID = $num;
- return $num;
- }
- }
- if ($fn = $this->raiseErrorFn) {
- $fn($this->databaseType,'GENID',-32000,"Unable to generate unique id after $MAXLOOPS attempts",$seq,$num);
- }
- return false;
- }
-
- function CreateSequence($seqname='adodbseq',$start=1)
- {
- if (empty($this->_genSeqSQL)) return false;
- $ok = $this->Execute(sprintf($this->_genSeqSQL,$seqname));
- if (!$ok) return false;
- $start -= 1;
- return $this->Execute("insert into $seqname values($start)");
- }
-
- var $_dropSeqSQL = 'drop table %s';
- function DropSequence($seqname)
- {
- if (empty($this->_dropSeqSQL)) return false;
- return $this->Execute(sprintf($this->_dropSeqSQL,$seqname));
- }
-
- // returns true or false
- function _close()
- {
- return @sqlite_close($this->_connectionID);
- }
-
-
-}
-
-/*--------------------------------------------------------------------------------------
- Class Name: Recordset
---------------------------------------------------------------------------------------*/
-
-class ADORecordset_sqlite extends ADORecordSet {
-
- var $databaseType = "sqlite";
- var $bind = false;
-
- function ADORecordset_sqlite($queryID,$mode=false)
- {
-
- if ($mode === false) {
- global $ADODB_FETCH_MODE;
- $mode = $ADODB_FETCH_MODE;
- }
- switch($mode) {
- case ADODB_FETCH_NUM: $this->fetchMode = SQLITE_NUM; break;
- case ADODB_FETCH_ASSOC: $this->fetchMode = SQLITE_ASSOC; break;
- default: $this->fetchMode = SQLITE_BOTH; break;
- }
-
- $this->_queryID = $queryID;
-
- $this->_inited = true;
- $this->fields = array();
- if ($queryID) {
- $this->_currentRow = 0;
- $this->EOF = !$this->_fetch();
- @$this->_initrs();
- } else {
- $this->_numOfRows = 0;
- $this->_numOfFields = 0;
- $this->EOF = true;
- }
-
- return $this->_queryID;
- }
-
-
- function &FetchField($fieldOffset = -1)
- {
- $fld = new ADOFieldObject;
- $fld->name = sqlite_field_name($this->_queryID, $fieldOffset);
- $fld->type = 'VARCHAR';
- $fld->max_length = -1;
- return $fld;
- }
-
- function _initrs()
- {
- $this->_numOfRows = @sqlite_num_rows($this->_queryID);
- $this->_numOfFields = @sqlite_num_fields($this->_queryID);
- }
-
- function Fields($colname)
- {
- if ($this->fetchMode != SQLITE_NUM) return $this->fields[$colname];
- if (!$this->bind) {
- $this->bind = array();
- for ($i=0; $i < $this->_numOfFields; $i++) {
- $o = $this->FetchField($i);
- $this->bind[strtoupper($o->name)] = $i;
- }
- }
-
- return $this->fields[$this->bind[strtoupper($colname)]];
- }
-
- function _seek($row)
- {
- return sqlite_seek($this->_queryID, $row);
- }
-
- function _fetch($ignore_fields=false)
- {
- $this->fields = @sqlite_fetch_array($this->_queryID,$this->fetchMode);
- return !empty($this->fields);
- }
-
- function _close()
- {
- }
-
-}
-?>
\ No newline at end of file
More information about the pLog-svn
mailing list