Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites
View Statistics - Next Notice - Previous NoticeDirectory filter : [ all ] / postnuke_official / html / pnadodb / drivers [ view in CVS ]
| Date | Directory [filter] | File(s) [view] | Author [filter] |
| 07 Aug 2002 00:40:57 | postnuke_official/html/pnadodb/drivers | adodb-ado.inc.php,1.4,1.5 adodb-fbsql.inc.php,1.4,1.5 adodb-ibase.inc.php,1.3,1.4 adodb-informix.inc.php,1.4,1.5 adodb-mssql.inc.php,1.4,1.5 adodb-oci8.inc.php,1.4,1.5 adodb-oci805.inc.php,1.3,1.4 adodb-postgres64.inc.php,1.3,1.4 adodb-sqlanywhere.inc.php | Pablo Roca |
| ADODB 2.30 | |||
Update of /home/cvsroot/postnuke_official/html/pnadodb/drivers
In directory ns7.hostnuke.net:/tmp/cvs-serv21420
Modified Files:
adodb-ado.inc.php adodb-fbsql.inc.php adodb-ibase.inc.php
adodb-informix.inc.php adodb-mssql.inc.php adodb-oci8.inc.php
adodb-oci805.inc.php adodb-postgres64.inc.php
adodb-sqlanywhere.inc.php
Log Message:
ADODB 2.30
Index: adodb-ado.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-ado.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** adodb-ado.inc.php 21 Jul 2002 02:24:59 -0000 1.4
--- adodb-ado.inc.php 7 Aug 2002 00:40:55 -0000 1.5
***************
*** 9,13 ****
Latest version is available at http://php.weblogs.com/
! Microsoft ADO data driver. Requires ADO. Works only on MS Windows.
*/
define("_ADODB_ADO_LAYER", 1 );
--- 9,13 ----
Latest version is available at http://php.weblogs.com/
! Microsoft ADO data driver. Requires ADO. Works only on MS Windows.
*/
define("_ADODB_ADO_LAYER", 1 );
***************
*** 22,26 ****
var $replaceQuote = "''"; // string to use to replace quotes
var $dataProvider = "ado";
! var $hasAffectedRows = true;
var $adoParameterType = 201; // 201 = long varchar, 203=long wide varchar, 205 = long varbinary
var $_affectedRows = false;
--- 22,26 ----
var $replaceQuote = "''"; // string to use to replace quotes
var $dataProvider = "ado";
! var $hasAffectedRows = true;
var $adoParameterType = 201; // 201 = long varchar, 203=long wide varchar, 205 = long varbinary
var $_affectedRows = false;
***************
*** 31,35 ****
var $_lock_type = -1;
var $_execute_option = -1;
!
function ADODB_ado()
--- 31,35 ----
var $_lock_type = -1;
var $_execute_option = -1;
!
function ADODB_ado()
***************
*** 38,46 ****
! function _affectedrows()
! {
! return $this->_affectedRows;
! }
!
// you can also pass a connection string like this:
//
--- 38,46 ----
! function _affectedrows()
! {
! return $this->_affectedRows;
! }
!
// you can also pass a connection string like this:
//
***************
*** 73,77 ****
if ($argPassword)$argHostname .= ";$p=$argPassword";
! if ($this->debug) print "<p>Host=".$argHostname."<BR>version=$dbc->version</p>";
// @ added below for php 4.0.1 and earlier
@$dbc->Open((string) $argHostname);
--- 73,77 ----
if ($argPassword)$argHostname .= ";$p=$argPassword";
! if ($this->debug) ADOConnection::outp( "Host=".$argHostname."<BR>\n version=$dbc->version");
// @ added below for php 4.0.1 and earlier
@$dbc->Open((string) $argHostname);
***************
*** 215,219 ****
$rs = new COM('ADODB.Recordset');
if ($rs) {
! $rs->Open ($sql, $dbc, $this->_cursor_type,$this->_lock_type, $this->_execute_option);
}
*/
--- 215,219 ----
$rs = new COM('ADODB.Recordset');
if ($rs) {
! $rs->Open ($sql, $dbc, $this->_cursor_type,$this->_lock_type, $this->_execute_option);
}
*/
***************
*** 292,298 ****
var $_tarr = false; // caches the types
var $_flds; // and field objects
! var $canSeek = true;
var $hideErrors = true;
!
function ADORecordSet_ado(&$id)
{
--- 292,298 ----
var $_tarr = false; // caches the types
var $_flds; // and field objects
! var $canSeek = true;
var $hideErrors = true;
!
function ADORecordSet_ado(&$id)
{
***************
*** 348,360 ****
! // should only be used to move forward as we normally use forward-only cursors
function _seek($row)
{
! $rs = $this->_queryID;
! // absoluteposition doesn't work -- my maths is wrong ?
! // $rs->AbsolutePosition->$row-2;
! // return true;
! if ($this->_currentRow > $row) return false;
! @$rs->Move((integer)$row - $this->_currentRow-1); //adBookmarkFirst
return true;
}
--- 348,360 ----
! // should only be used to move forward as we normally use forward-only cursors
function _seek($row)
{
! $rs = $this->_queryID;
! // absoluteposition doesn't work -- my maths is wrong ?
! // $rs->AbsolutePosition->$row-2;
! // return true;
! if ($this->_currentRow > $row) return false;
! @$rs->Move((integer)$row - $this->_currentRow-1); //adBookmarkFirst
return true;
}
***************
*** 363,368 ****
OLEDB types
! enum DBTYPEENUM
! { DBTYPE_EMPTY = 0,
DBTYPE_NULL = 1,
DBTYPE_I2 = 2,
--- 363,368 ----
OLEDB types
! enum DBTYPEENUM
! { DBTYPE_EMPTY = 0,
DBTYPE_NULL = 1,
DBTYPE_I2 = 2,
***************
*** 528,532 ****
break;
case 6: // currency is not supported properly;
! print '<br><b>'.$f->Name.': currency type not supported by PHP</b><br>';
$this->fields[] = (float) $f->value;
break;
--- 528,532 ----
break;
case 6: // currency is not supported properly;
! ADOConnection::outp( '<b>'.$f->Name.': currency type not supported by PHP</b>');
$this->fields[] = (float) $f->value;
break;
***************
*** 558,568 ****
/*
! ID: 18253
! Updated by: mkools@euronet.nl
! Reported By: mkools@euronet.nl
! Status: Bogus
! Bug Type: COM related
Operating System: Windows 2000 Pro SP2
! PHP Version: 4.2.1
New Comment:
--- 558,568 ----
/*
! ID: 18253
! Updated by: mkools@euronet.nl
! Reported By: mkools@euronet.nl
! Status: Bogus
! Bug Type: COM related
Operating System: Windows 2000 Pro SP2
! PHP Version: 4.2.1
New Comment:
***************
*** 608,614 ****
update or delete statement.
What I have now is this:
! $Vrows = new VARIANT( 0, VT_I4|VT_BYREF);
! $this->QueryResult = @$this->Link->Execute( $inQuery, $Vrows);
! $this->AffectedRows = $Vrows->value;
Explaination: QueryResult will be my RecordSet, Link is the ADO
--- 608,614 ----
update or delete statement.
What I have now is this:
! $Vrows = new VARIANT( 0, VT_I4|VT_BYREF);
! $this->QueryResult = @$this->Link->Execute( $inQuery, $Vrows);
! $this->AffectedRows = $Vrows->value;
Explaination: QueryResult will be my RecordSet, Link is the ADO
***************
*** 618,622 ****
select statements).
The second things I've tried is:
! $this->QueryResult = @$this->Link->Execute( $inQuery,
&$this->AffectedRows);
--- 618,622 ----
select statements).
The second things I've tried is:
! $this->QueryResult = @$this->Link->Execute( $inQuery,
&$this->AffectedRows);
Index: adodb-fbsql.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-fbsql.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** adodb-fbsql.inc.php 21 Jul 2002 02:24:59 -0000 1.4
--- adodb-fbsql.inc.php 7 Aug 2002 00:40:55 -0000 1.5
***************
*** 1,5 ****
<?php
/*
! @version V2.21 19 July 2002 (c) 2000-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,
--- 1,5 ----
<?php
/*
! @version V2.30 1 Aug 2002 (c) 2000-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,
***************
*** 14,19 ****
class ADODB_fbsql extends ADOConnection {
var $databaseType = 'fbsql';
! var $hasInsertID = true;
! var $hasAffectedRows = true;
var $metaTablesSQL = "SHOW TABLES";
var $metaColumnsSQL = "SHOW COLUMNS FROM %s";
--- 14,19 ----
class ADODB_fbsql extends ADOConnection {
var $databaseType = 'fbsql';
! var $hasInsertID = true;
! var $hasAffectedRows = true;
var $metaTablesSQL = "SHOW TABLES";
var $metaColumnsSQL = "SHOW COLUMNS FROM %s";
***************
*** 25,37 ****
}
! function _insertid()
! {
! return fbsql_insert_id($this->_connectionID);
! }
!
! function _affectedrows()
! {
! return fbsql_affected_rows($this->_connectionID);
! }
function &MetaDatabases()
--- 25,37 ----
}
! function _insertid()
! {
! return fbsql_insert_id($this->_connectionID);
! }
!
! function _affectedrows()
! {
! return fbsql_affected_rows($this->_connectionID);
! }
function &MetaDatabases()
***************
*** 134,138 ****
{
$this->_errorMsg = @fbsql_error($this->_connectionID);
! return $this->_errorMsg;
}
--- 134,138 ----
{
$this->_errorMsg = @fbsql_error($this->_connectionID);
! return $this->_errorMsg;
}
Index: adodb-ibase.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-ibase.inc.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** adodb-ibase.inc.php 10 Jul 2002 15:15:21 -0000 1.3
--- adodb-ibase.inc.php 7 Aug 2002 00:40:55 -0000 1.4
***************
*** 25,35 ****
class ADODB_ibase extends ADOConnection {
! var $databaseType = "ibase";
var $dataProvider = "ibase";
! var $replaceQuote = "\'"; // string to use to replace quotes
! var $fmtDate = "'Y-m-d'";
! var $fmtTimeStamp = "'Y-m-d, H:i:s'";
! var $concat_operator='||';
! var $_transactionID;
var $metaTablesSQL = "select rdb\$relation_name from rdb\$relations where rdb\$relation_name not like 'RDB\$%'";
var $metaColumnsSQL = "select a.rdb\$field_name,b.rdb\$field_type,b.rdb\$field_length from rdb\$relation_fields a join rdb\$fields b on a.rdb\$field_source=b.rdb\$field_name where rdb\$relation_name ='%s'";
--- 25,35 ----
class ADODB_ibase extends ADOConnection {
! var $databaseType = "ibase";
var $dataProvider = "ibase";
! var $replaceQuote = "\'"; // string to use to replace quotes
! var $fmtDate = "'Y-m-d'";
! var $fmtTimeStamp = "'Y-m-d, H:i:s'";
! var $concat_operator='||';
! var $_transactionID;
var $metaTablesSQL = "select rdb\$relation_name from rdb\$relations where rdb\$relation_name not like 'RDB\$%'";
var $metaColumnsSQL = "select a.rdb\$field_name,b.rdb\$field_type,b.rdb\$field_length from rdb\$relation_fields a join rdb\$fields b on a.rdb\$field_source=b.rdb\$field_name where rdb\$relation_name ='%s'";
***************
*** 43,57 ****
var $ansiOuter = true;
! function ADODB_ibase()
{
! ibase_timefmt('%Y-%m-%d');
}
! function BeginTrans()
! {
! $this->autoCommit = false;
! $this->_transactionID = $this->_connectionID;//ibase_trans($this->ibasetrans, $this->_connectionID);
! return $this->_transactionID;
}
--- 43,57 ----
var $ansiOuter = true;
! function ADODB_ibase()
{
! ibase_timefmt('%Y-%m-%d');
}
! function BeginTrans()
! {
! $this->autoCommit = false;
! $this->_transactionID = $this->_connectionID;//ibase_trans($this->ibasetrans, $this->_connectionID);
! return $this->_transactionID;
}
***************
*** 62,66 ****
$this->autoCommit = true;
if ($this->_transactionID) {
! //print ' commit ';
$ret = ibase_commit($this->_transactionID);
}
--- 62,66 ----
$this->autoCommit = true;
if ($this->_transactionID) {
! //print ' commit ';
$ret = ibase_commit($this->_transactionID);
}
***************
*** 74,78 ****
$this->autoCommit = true;
if ($this->_transactionID)
! $ret = ibase_rollback($this->_transactionID);
$this->_transactionID = false;
--- 74,78 ----
$this->autoCommit = true;
if ($this->_transactionID)
! $ret = ibase_rollback($this->_transactionID);
$this->_transactionID = false;
***************
*** 152,158 ****
}
! function SelectDB($dbName) {
! return false;
! }
function _handleerror()
--- 152,158 ----
}
! function SelectDB($dbName) {
! return false;
! }
function _handleerror()
***************
*** 161,181 ****
}
! function ErrorNo() {
if (preg_match('/error code = ([\-0-9]*)/i', $this->_errorMsg,$arr)) return (integer) $arr[1];
else return 0;
! }
! function ErrorMsg() {
! return $this->_errorMsg;
! }
! // returns true or false
! function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
! {
//if ($this->charSet !== false)
$this->_connectionID = ibase_connect($argHostname,$argUsername,$argPassword,$this->charSet,$this->buffers,$this->dialect);
! // else
// $this->_connectionID = ibase_connect($argHostname,$argUsername,$argPassword);
!
if ($this->_connectionID === false) {
$this->_handleerror();
--- 161,181 ----
}
! function ErrorNo() {
if (preg_match('/error code = ([\-0-9]*)/i', $this->_errorMsg,$arr)) return (integer) $arr[1];
else return 0;
! }
! function ErrorMsg() {
! return $this->_errorMsg;
! }
! // returns true or false
! function _connect($argHostname, $argUsername, $argPassword, $argDatabasename)
! {
//if ($this->charSet !== false)
$this->_connectionID = ibase_connect($argHostname,$argUsername,$argPassword,$this->charSet,$this->buffers,$this->dialect);
! // else
// $this->_connectionID = ibase_connect($argHostname,$argUsername,$argPassword);
!
if ($this->_connectionID === false) {
$this->_handleerror();
***************
*** 183,203 ****
}
! return true;
! }
! // returns true or false
! function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
! {
//if ($this->charSet !== false)
$this->_connectionID = ibase_pconnect($argHostname,$argUsername,$argPassword,$this->charSet,$this->buffers,$this->dialect);
! // else
// $this->_connectionID = ibase_pconnect($argHostname,$argUsername,$argPassword);
!
! if ($this->_connectionID === false) {
$this->_handleerror();
return false;
}
!
! return true;
! }
function Prepare($sql)
--- 183,203 ----
}
! return true;
! }
! // returns true or false
! function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
! {
//if ($this->charSet !== false)
$this->_connectionID = ibase_pconnect($argHostname,$argUsername,$argPassword,$this->charSet,$this->buffers,$this->dialect);
! // else
// $this->_connectionID = ibase_pconnect($argHostname,$argUsername,$argPassword);
!
! if ($this->_connectionID === false) {
$this->_handleerror();
return false;
}
!
! return true;
! }
function Prepare($sql)
***************
*** 209,216 ****
}
! // returns query ID if successful, otherwise false
// there have been reports of problems with nested queries - the code is probably not re-entrant?
! function _query($sql,$iarr=false)
! {
if (is_array($sql)) {
$fn = 'ibase_execute';
--- 209,216 ----
}
! // returns query ID if successful, otherwise false
// there have been reports of problems with nested queries - the code is probably not re-entrant?
! function _query($sql,$iarr=false)
! {
if (is_array($sql)) {
$fn = 'ibase_execute';
***************
*** 235,257 ****
case 6: $ret = $fn($conn,$sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5]); break;
case 7: $ret = $fn($conn,$sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5],$iarr[6]); break;
! default: print "<p>Too many parameters to ibase query $sql</p>";
case 8: $ret = $fn($conn,$sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5],$iarr[6],$iarr[7]); break;
}
} else $ret = $fn($conn,$sql);
!
if ($docommit && $ret === true) ibase_commit($this->_connectionID);
$this->_handleerror();
! return $ret;
! }
! // returns true or false
! function _close()
! {
! if (!$this->autoCommit) @ibase_rollback($this->_connectionID);
! return @ibase_close($this->_connectionID);
! }
! // returns array of ADOFieldObjects for current table
function &MetaColumns($table)
{
--- 235,257 ----
case 6: $ret = $fn($conn,$sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5]); break;
case 7: $ret = $fn($conn,$sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5],$iarr[6]); break;
! default: ADOConnection::outp( "Too many parameters to ibase query $sql");
case 8: $ret = $fn($conn,$sql,$iarr[0],$iarr[1],$iarr[2],$iarr[3],$iarr[4],$iarr[5],$iarr[6],$iarr[7]); break;
}
} else $ret = $fn($conn,$sql);
!
if ($docommit && $ret === true) ibase_commit($this->_connectionID);
$this->_handleerror();
! return $ret;
! }
! // returns true or false
! function _close()
! {
! if (!$this->autoCommit) @ibase_rollback($this->_connectionID);
! return @ibase_close($this->_connectionID);
! }
! // returns array of ADOFieldObjects for current table
function &MetaColumns($table)
{
***************
*** 339,343 ****
/*--------------------------------------------------------------------------------------
! Class Name: Recordset
--------------------------------------------------------------------------------------*/
--- 339,343 ----
/*--------------------------------------------------------------------------------------
! Class Name: Recordset
--------------------------------------------------------------------------------------*/
***************
*** 345,399 ****
{
! var $databaseType = "ibase";
var $bind=false;
! function ADORecordset_ibase($id)
! {
global $ADODB_FETCH_MODE;
$this->fetchMode = $ADODB_FETCH_MODE;
! return $this->ADORecordSet($id);
! }
! /* Returns: an object containing field information.
! Get column information in the Recordset object. fetchField() can be used in order to obtain information about
! fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by
! fetchField() is retrieved. */
! function &FetchField($fieldOffset = -1)
! {
! $fld = new ADOFieldObject;
! $ibf = ibase_field_info($this->_queryID,$fieldOffset);
! $fld->name = strtolower($ibf['alias']);
if (empty($fld->name)) $fld->name = strtolower($ibf['name']);
! $fld->type = $ibf['type'];
! $fld->max_length = $ibf['length'];
! if ($this->debug) print_r($fld);
! return $fld;
! }
! function _initrs()
! {
! $this->_numOfRows = -1;
! $this->_numOfFields = @ibase_num_fields($this->_queryID);
! }
! function _seek($row)
! {
! return false;
! }
! function _fetch() {
! $f = ibase_fetch_row($this->_queryID);
! if ($f === false) return false;
! $this->fields = $f;
if ($this->fetchMode & ADODB_FETCH_ASSOC) {
$this->fields = $this->GetRowAssoc(false);
}
! return true;
! }
/* Use associative array to get fields array */
--- 345,399 ----
{
! var $databaseType = "ibase";
var $bind=false;
! function ADORecordset_ibase($id)
! {
global $ADODB_FETCH_MODE;
$this->fetchMode = $ADODB_FETCH_MODE;
! return $this->ADORecordSet($id);
! }
! /* Returns: an object containing field information.
! Get column information in the Recordset object. fetchField() can be used in order to obtain information about
! fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by
! fetchField() is retrieved. */
! function &FetchField($fieldOffset = -1)
! {
! $fld = new ADOFieldObject;
! $ibf = ibase_field_info($this->_queryID,$fieldOffset);
! $fld->name = strtolower($ibf['alias']);
if (empty($fld->name)) $fld->name = strtolower($ibf['name']);
! $fld->type = $ibf['type'];
! $fld->max_length = $ibf['length'];
! if ($this->debug) print_r($fld);
! return $fld;
! }
! function _initrs()
! {
! $this->_numOfRows = -1;
! $this->_numOfFields = @ibase_num_fields($this->_queryID);
! }
! function _seek($row)
! {
! return false;
! }
! function _fetch() {
! $f = ibase_fetch_row($this->_queryID);
! if ($f === false) return false;
! $this->fields = $f;
if ($this->fetchMode & ADODB_FETCH_ASSOC) {
$this->fields = $this->GetRowAssoc(false);
}
! return true;
! }
/* Use associative array to get fields array */
***************
*** 414,425 ****
! function _close()
{
! return @ibase_free_result($this->_queryID);
! }
! function MetaType($t,$len=-1)
! {
! switch (strtoupper($t)) {
case 'CHAR':
return 'C';
--- 414,425 ----
! function _close()
{
! return @ibase_free_result($this->_queryID);
! }
! function MetaType($t,$len=-1)
! {
! switch (strtoupper($t)) {
case 'CHAR':
return 'C';
***************
*** 427,448 ****
case 'TEXT':
case 'VARCHAR':
! case 'VARYING':
! if ($len <= $this->blobSize) return 'C';
return 'X';
case 'BLOB':
! return 'B';
!
! case 'TIMESTAMP':
! case 'DATE': return 'D';
!
! //case 'T': return 'T';
! //case 'L': return 'L';
case 'INT':
case 'SHORT':
case 'INTEGER': return 'I';
! default: return 'N';
! }
! }
}
?>
--- 427,448 ----
case 'TEXT':
case 'VARCHAR':
! case 'VARYING':
! if ($len <= $this->blobSize) return 'C';
return 'X';
case 'BLOB':
! return 'B';
!
! case 'TIMESTAMP':
! case 'DATE': return 'D';
!
! //case 'T': return 'T';
! //case 'L': return 'L';
case 'INT':
case 'SHORT':
case 'INTEGER': return 'I';
! default: return 'N';
! }
! }
}
?>
Index: adodb-informix.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-informix.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** adodb-informix.inc.php 21 Jul 2002 02:24:59 -0000 1.4
--- adodb-informix.inc.php 7 Aug 2002 00:40:55 -0000 1.5
***************
*** 1,5 ****
<?php
/**
! * @version V2.21 19 July 2002 (c) 2000-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,
--- 1,5 ----
<?php
/**
! * @version V2.30 1 Aug 2002 (c) 2000-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,
Index: adodb-mssql.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-mssql.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** adodb-mssql.inc.php 21 Jul 2002 02:24:59 -0000 1.4
--- adodb-mssql.inc.php 7 Aug 2002 00:40:55 -0000 1.5
***************
*** 60,64 ****
if ($anum > 0) {
if ($anum > 31) {
! print "<p>MSSQL: YYYY-MM-DD date format not supported currently</p>";
} else
$ADODB_mssql_date_order = 'dmy';
--- 60,64 ----
if ($anum > 0) {
if ($anum > 31) {
! ADOConnection::outp( "MSSQL: YYYY-MM-DD date format not supported currently");
} else
$ADODB_mssql_date_order = 'dmy';
***************
*** 75,79 ****
var $fmtTimeStamp = "'Y-m-d h:i:sA'";
var $hasInsertID = true;
! var $hasAffectedRows = true;
var $metaTablesSQL="select name from sysobjects where type='U' or type='V' and (name not in ('sysallocations','syscolumns','syscomments','sysdepends','sysfilegroups','sysfiles','sysfiles1','sysforeignkeys','sysfulltextcatalogs','sysindexes','sysindexkeys','sysmembers','sysobjects','syspermissions','sysprotects','sysreferences','systypes','sysusers','sysalternates','sysconstraints','syssegments','REFERENTIAL_CONSTRAINTS','CHECK_CONSTRAINTS','CONSTRAINT_TABLE_USAGE','CONSTRAINT_COLUMN_USAGE','VIEWS','VIEW_TABLE_USAGE','VIEW_COLUMN_USAGE','SCHEMATA','TABLES','TABLE_CONSTRAINTS','TABLE_PRIVILEGES','COLUMNS','COLUMN_DOMAIN_USAGE','COLUMN_PRIVILEGES','DOMAINS','DOMAIN_CONSTRAINTS','KEY_COLUMN_USAGE'))";
var $metaColumnsSQL = "select c.name,t.name,c.length from syscolumns c join systypes t on t.xusertype=c.xusertype join sysobjects o on o.id=c.id where o.name='%s'";
--- 75,79 ----
var $fmtTimeStamp = "'Y-m-d h:i:sA'";
var $hasInsertID = true;
! var $hasAffectedRows = true;
var $metaTablesSQL="select name from sysobjects where type='U' or type='V' and (name not in ('sysallocations','syscolumns','syscomments','sysdepends','sysfilegroups','sysfiles','sysfiles1','sysforeignkeys','sysfulltextcatalogs','sysindexes','sysindexkeys','sysmembers','sysobjects','syspermissions','sysprotects','sysreferences','systypes','sysusers','sysalternates','sysconstraints','syssegments','REFERENTIAL_CONSTRAINTS','CHECK_CONSTRAINTS','CONSTRAINT_TABLE_USAGE','CONSTRAINT_COLUMN_USAGE','VIEWS','VIEW_TABLE_USAGE','VIEW_COLUMN_USAGE','SCHEMATA','TABLES','TABLE_CONSTRAINTS','TABLE_PRIVILEGES','COLUMNS','COLUMN_DOMAIN_USAGE','COLUMN_PRIVILEGES','DOMAINS','DOMAIN_CONSTRAINTS','KEY_COLUMN_USAGE'))";
var $metaColumnsSQL = "select c.name,t.name,c.length from syscolumns c join systypes t on t.xusertype=c.xusertype join sysobjects o on o.id=c.id where o.name='%s'";
***************
*** 96,115 ****
}
! // might require begintrans -- committrans
! function _insertid()
! {
! return $this->GetOne('select @@identity');
! }
! // might require begintrans -- committrans
! function _affectedrows()
! {
! return $this->GetOne('select @@rowcount');
! }
! function BeginTrans()
! {
$this->_hastrans = true;
! $this->Execute('BEGIN TRAN');
! return true;
}
--- 96,115 ----
}
! // might require begintrans -- committrans
! function _insertid()
! {
! return $this->GetOne('select @@identity');
! }
! // might require begintrans -- committrans
! function _affectedrows()
! {
! return $this->GetOne('select @@rowcount');
! }
! function BeginTrans()
! {
$this->_hastrans = true;
! $this->Execute('BEGIN TRAN');
! return true;
}
***************
*** 142,147 ****
if (!$this->_hastrans) return false;
$this->_hastrans = false;
! $this->Execute('COMMIT TRAN');
! return true;
}
function RollbackTrans()
--- 142,147 ----
if (!$this->_hastrans) return false;
$this->_hastrans = false;
! $this->Execute('COMMIT TRAN');
! return true;
}
function RollbackTrans()
***************
*** 149,154 ****
if (!$this->_hastrans) return false;
$this->_hastrans = false;
! $this->Execute('ROLLBACK TRAN');
! return true;
}
--- 149,154 ----
if (!$this->_hastrans) return false;
$this->_hastrans = false;
! $this->Execute('ROLLBACK TRAN');
! return true;
}
***************
*** 174,194 ****
function MetaDatabases()
{
! if(@mssql_select_db("master")) {
! $qry="select name from sysdatabases where name <> 'master'";
! if($rs=@mssql_query($qry)){
! $tmpAr=$ar=array();
! while($tmpAr=@mssql_fetch_row($rs))
! $ar[]=$tmpAr[0];
! @mssql_select_db($this->databaseName);
! if(sizeof($ar))
! return($ar);
! else
! return(false);
! } else {
! @mssql_select_db($this->databaseName);
! return(false);
! }
! }
! return(false);
}
--- 174,194 ----
function MetaDatabases()
{
! if(@mssql_select_db("master")) {
! $qry="select name from sysdatabases where name <> 'master'";
! if($rs=@mssql_query($qry)){
! $tmpAr=$ar=array();
! while($tmpAr=@mssql_fetch_row($rs))
! $ar[]=$tmpAr[0];
! @mssql_select_db($this->databaseName);
! if(sizeof($ar))
! return($ar);
! else
! return(false);
! } else {
! @mssql_select_db($this->databaseName);
! return(false);
! }
! }
! return(false);
}
***************
*** 214,218 ****
{
if (empty($this->_errorMsg)) {
! $this->_errorMsg = mssql_get_last_message(); print " D E F $this->_errorMsg";
}
$id = @mssql_query("select @@ERROR",$this->_connectionID);
--- 214,218 ----
{
if (empty($this->_errorMsg)) {
! $this->_errorMsg = mssql_get_last_message();
}
$id = @mssql_query("select @@ERROR",$this->_connectionID);
***************
*** 221,225 ****
@mssql_free_result($id);
if (is_array($arr)) return $arr[0];
! else return -1;
}
--- 221,225 ----
@mssql_free_result($id);
if (is_array($arr)) return $arr[0];
! else return -1;
}
***************
*** 257,261 ****
{
if (!$this->_has_mssql_init) {
! print "PrepareSP: mssql_init only available since PHP 4.1.0<br>\n";
return $sql;
}
--- 257,261 ----
{
if (!$this->_has_mssql_init) {
! ADOConnection::outp( "PrepareSP: mssql_init only available since PHP 4.1.0");
return $sql;
}
***************
*** 286,290 ****
{
if (!$this->_has_mssql_init) {
! print "Parameter: mssql_bind only available since PHP 4.1.0<br>\n";
return $sql;
}
--- 286,290 ----
{
if (!$this->_has_mssql_init) {
! ADOConnection::outp( "Parameter: mssql_bind only available since PHP 4.1.0");
return $sql;
}
***************
*** 302,306 ****
if ($this->debug) {
! print "Parameter(\$stmt, \$php_var='$var', \$name='$name'); (type=$type)<br>\n";
}
return mssql_bind($stmt[1], '@'.$name, $var, $type, $isOutput, $isNull, $maxLen);
--- 302,306 ----
if ($this->debug) {
! ADOConnection::outp( "Parameter(\$stmt, \$php_var='$var', \$name='$name'); (type=$type)");
}
return mssql_bind($stmt[1], '@'.$name, $var, $type, $isOutput, $isNull, $maxLen);
***************
*** 376,385 ****
function NextRecordSet()
{
! if (!mssql_next_result($this->_queryID)) return false;
! $this->_inited = false;
$this->bind = false;
! $this->_currentRow = -1;
! $this->Init();
! return true;
}
--- 376,385 ----
function NextRecordSet()
{
! if (!mssql_next_result($this->_queryID)) return false;
! $this->_inited = false;
$this->bind = false;
! $this->_currentRow = -1;
! $this->Init();
! return true;
}
Index: adodb-oci8.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-oci8.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** adodb-oci8.inc.php 21 Jul 2002 02:24:59 -0000 1.4
--- adodb-oci8.inc.php 7 Aug 2002 00:40:55 -0000 1.5
***************
*** 34,41 ****
*/
class ADODB_oci8 extends ADOConnection {
! var $databaseType = 'oci8';
var $dataProvider = 'oci8';
! var $replaceQuote = "''"; // string to use to replace quotes
! var $concat_operator='||';
var $sysDate = "TRUNC(SYSDATE)";
var $sysTimeStamp = 'SYSDATE';
--- 34,41 ----
*/
class ADODB_oci8 extends ADOConnection {
! var $databaseType = 'oci8';
var $dataProvider = 'oci8';
! var $replaceQuote = "''"; // string to use to replace quotes
! var $concat_operator='||';
var $sysDate = "TRUNC(SYSDATE)";
var $sysTimeStamp = 'SYSDATE';
***************
*** 63,70 ****
// var $ansiOuter = true; // if oracle9
! function ADODB_oci8()
{
$this->_hasOCIFetchStatement = (strnatcmp(PHP_VERSION,'4.2.0')>=0);;
! }
--- 63,70 ----
// var $ansiOuter = true; // if oracle9
! function ADODB_oci8()
{
$this->_hasOCIFetchStatement = (strnatcmp(PHP_VERSION,'4.2.0')>=0);;
! }
***************
*** 80,84 ****
d. $conn->connectSID = true;
! $conn->Connect($serveraddress,'scott,'tiger',$SID);
--- 80,84 ----
d. $conn->connectSID = true;
! $conn->Connect($serveraddress,'scott,'tiger',$SID);
***************
*** 87,110 ****
NATSOFT.DOMAIN =
(DESCRIPTION =
! (ADDRESS_LIST =
! (ADDRESS = (PROTOCOL = TCP)(HOST = kermit)(PORT = 1523))
! )
! (CONNECT_DATA =
! (SERVICE_NAME = natsoft.domain)
! )
)
!
*/
! // returns true or false
! function _connect($argHostname, $argUsername, $argPassword, $argDatabasename,$persist=false)
! {
!
! if($argHostname) { // added by Jorma Tuomainen <jorma.tuomainen@ppoy.fi>
! if(strpos($argHostname,":")) {
$argHostinfo=explode(":",$argHostname);
! $argHostname=$argHostinfo[0];
! $argHostport=$argHostinfo[1];
! } else {
! $argHostport="1521";
}
--- 87,110 ----
NATSOFT.DOMAIN =
(DESCRIPTION =
! (ADDRESS_LIST =
! (ADDRESS = (PROTOCOL = TCP)(HOST = kermit)(PORT = 1523))
! )
! (CONNECT_DATA =
! (SERVICE_NAME = natsoft.domain)
! )
)
!
*/
! // returns true or false
! function _connect($argHostname, $argUsername, $argPassword, $argDatabasename,$persist=false)
! {
!
! if($argHostname) { // added by Jorma Tuomainen <jorma.tuomainen@ppoy.fi>
! if(strpos($argHostname,":")) {
$argHostinfo=explode(":",$argHostname);
! $argHostname=$argHostinfo[0];
! $argHostport=$argHostinfo[1];
! } else {
! $argHostport="1521";
}
***************
*** 115,125 ****
$argDatabasename="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=".$argHostname
.")(PORT=$argHostport))(CONNECT_DATA=(SERVICE_NAME=$argDatabasename)))";
! }
//if ($argHostname) print "<p>Connect: 1st argument should be left blank for $this->databaseType</p>";
! if ($persist)$this->_connectionID = OCIPLogon($argUsername,$argPassword, $argDatabasename);
else $this->_connectionID = OCILogon($argUsername,$argPassword, $argDatabasename);
! if ($this->_connectionID === false) return false;
if ($this->_initdate) {
$this->Execute("ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'");
--- 115,125 ----
$argDatabasename="(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=".$argHostname
.")(PORT=$argHostport))(CONNECT_DATA=(SERVICE_NAME=$argDatabasename)))";
! }
//if ($argHostname) print "<p>Connect: 1st argument should be left blank for $this->databaseType</p>";
! if ($persist)$this->_connectionID = OCIPLogon($argUsername,$argPassword, $argDatabasename);
else $this->_connectionID = OCILogon($argUsername,$argPassword, $argDatabasename);
! if ($this->_connectionID === false) return false;
if ($this->_initdate) {
$this->Execute("ALTER SESSION SET NLS_DATE_FORMAT='YYYY-MM-DD'");
***************
*** 132,141 ****
// $vers = OCIServerVersion($this->_connectionID);
// if (strpos($vers,'8i') !== false) $this->ansiOuter = true;
! return true;
}
! // returns true or false
! function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
! return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename,true);
}
--- 132,141 ----
// $vers = OCIServerVersion($this->_connectionID);
// if (strpos($vers,'8i') !== false) $this->ansiOuter = true;
! return true;
}
! // returns true or false
! function _pconnect($argHostname, $argUsername, $argPassword, $argDatabasename)
{
! return $this->_connect($argHostname, $argUsername, $argPassword, $argDatabasename,true);
}
***************
*** 169,177 ****
}
! function BeginTrans()
! {
$this->autoCommit = false;
$this->_commit = OCI_DEFAULT;
! return true;
}
--- 169,177 ----
}
! function BeginTrans()
! {
$this->autoCommit = false;
$this->_commit = OCI_DEFAULT;
! return true;
}
***************
*** 179,204 ****
{
if (!$ok) return $this->RollbackTrans();
! $ret = OCIcommit($this->_connectionID);
! $this->_commit = OCI_COMMIT_ON_SUCCESS;
! $this->autoCommit = true;
! return $ret;
}
function RollbackTrans()
{
! $ret = OCIrollback($this->_connectionID);
$this->_commit = OCI_COMMIT_ON_SUCCESS;
! $this->autoCommit = true;
return $ret;
}
! function SelectDB($dbName)
{
! return false;
! }
/* there seems to be a bug in the oracle extension -- always returns ORA-00000 - no error */
! function ErrorMsg()
{
$arr = @OCIerror($this->_stmt);
--- 179,204 ----
{
if (!$ok) return $this->RollbackTrans();
! $ret = OCIcommit($this->_connectionID);
! $this->_commit = OCI_COMMIT_ON_SUCCESS;
! $this->autoCommit = true;
! return $ret;
}
function RollbackTrans()
{
! $ret = OCIrollback($this->_connectionID);
$this->_commit = OCI_COMMIT_ON_SUCCESS;
! $this->autoCommit = true;
return $ret;
}
! function SelectDB($dbName)
{
! return false;
! }
/* there seems to be a bug in the oracle extension -- always returns ORA-00000 - no error */
! function ErrorMsg()
{
$arr = @OCIerror($this->_stmt);
***************
*** 208,214 ****
if ($arr === false) return '';
}
! $this->_errorMsg = $arr['message'];
! return $this->_errorMsg;
! }
function ErrorNo()
--- 208,214 ----
if ($arr === false) return '';
}
! $this->_errorMsg = $arr['message'];
! return $this->_errorMsg;
! }
function ErrorNo()
***************
*** 221,226 ****
if ($arr == false) return '';
}
! return $arr['code'];
! }
--- 221,226 ----
if ($arr == false) return '';
}
! return $arr['code'];
! }
***************
*** 262,288 ****
} else {
// Algorithm by Tomas V V Cox, from PEAR DB oci8.php
!
! // Let Oracle return the name of the columns
! $q_fields = "SELECT * FROM ($sql) WHERE NULL = NULL";
! if (!$result = OCIParse($this->_connectionID, $q_fields)) {
! return false;
! }
! if (!$success = OCIExecute($result, OCI_DEFAULT)) {
! return false;
! }
! $ncols = OCINumCols($result);
! for ( $i = 1; $i <= $ncols; $i++ ) {
! $cols[] = OCIColumnName($result, $i);
! }
$result = false;
! $fields = implode(',', $cols);
! $nrows += $offset;
$offset += 1; // in Oracle rownum starts at 1
! $sql = "SELECT $fields FROM".
! "(SELECT rownum as adodb_rownum, $fields FROM".
! " ($sql) WHERE rownum <= $nrows".
! ") WHERE adodb_rownum >= $offset";
if ($secs2cache>0) return $this->CacheExecute($secs2cache, $sql,$inputarr,$arg3);
--- 262,288 ----
} else {
// Algorithm by Tomas V V Cox, from PEAR DB oci8.php
!
! // Let Oracle return the name of the columns
! $q_fields = "SELECT * FROM ($sql) WHERE NULL = NULL";
! if (!$result = OCIParse($this->_connectionID, $q_fields)) {
! return false;
! }
! if (!$success = OCIExecute($result, OCI_DEFAULT)) {
! return false;
! }
! $ncols = OCINumCols($result);
! for ( $i = 1; $i <= $ncols; $i++ ) {
! $cols[] = OCIColumnName($result, $i);
! }
$result = false;
! $fields = implode(',', $cols);
! $nrows += $offset;
$offset += 1; // in Oracle rownum starts at 1
! $sql = "SELECT $fields FROM".
! "(SELECT rownum as adodb_rownum, $fields FROM".
! " ($sql) WHERE rownum <= $nrows".
! ") WHERE adodb_rownum >= $offset";
if ($secs2cache>0) return $this->CacheExecute($secs2cache, $sql,$inputarr,$arg3);
***************
*** 308,319 ****
* If you are using CURSOR_SHARING = force, it appears this will case a segfault
* under oracle 8.1.7.0. Run:
! * $db->Execute('ALTER SESSION SET CURSOR_SHARING=EXACT');
* before UpdateBlob() then...
*/
! function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB',$commit=true)
{
switch(strtoupper($blobtype)) {
! default: print "<b>UpdateBlob</b>: Unknown blobtype=$blobtype<br>"; return false;
case 'BLOB': $type = OCI_B_BLOB; break;
case 'CLOB': $type = OCI_B_CLOB; break;
--- 308,319 ----
* If you are using CURSOR_SHARING = force, it appears this will case a segfault
* under oracle 8.1.7.0. Run:
! * $db->Execute('ALTER SESSION SET CURSOR_SHARING=EXACT');
* before UpdateBlob() then...
*/
! function UpdateBlob($table,$column,$val,$where,$blobtype='BLOB')
{
switch(strtoupper($blobtype)) {
! default: ADOConnection::outp("<b>UpdateBlob</b>: Unknown blobtype=$blobtype"); return false;
case 'BLOB': $type = OCI_B_BLOB; break;
case 'CLOB': $type = OCI_B_CLOB; break;
***************
*** 329,332 ****
--- 329,333 ----
if ($this->session_sharing_force_blob) $this->Execute('ALTER SESSION SET CURSOR_SHARING=EXACT');
+ $commit = $this->autoCommit;
if ($commit) $this->BeginTrans();
$rs = ADODB_oci8::Execute($sql,$arr);
***************
*** 346,350 ****
{
switch(strtoupper($blobtype)) {
! default: print "<b>UpdateBlob</b>: Unknown blobtype=$blobtype<br>"; return false;
case 'BLOB': $type = OCI_B_BLOB; break;
case 'CLOB': $type = OCI_B_CLOB; break;
--- 347,351 ----
{
switch(strtoupper($blobtype)) {
! default: ADOConnection::outp( "<b>UpdateBlob</b>: Unknown blobtype=$blobtype"); return false;
case 'BLOB': $type = OCI_B_BLOB; break;
case 'CLOB': $type = OCI_B_CLOB; break;
***************
*** 449,453 ****
{
if ($this->debug) {
! print "Parameter(\$stmt, \$php_var='$var', \$name='$name');<br>\n";
}
return $this->Bind($stmt,$var,$maxLen,$type,$name);
--- 450,454 ----
{
if ($this->debug) {
! ADOConnection::outp( "Parameter(\$stmt, \$php_var='$var', \$name='$name');");
}
return $this->Bind($stmt,$var,$maxLen,$type,$name);
***************
*** 461,470 ****
2. $db->prepare('insert into table (a,b,c) values (:0,:1,:2)');
! $db->execute($prepared_statement, array(1,2,3));
3. $db->execute('insert into table (a,b,c) values (:a,:b,:c)',array('a'=>1,'b'=>2,'c'=>3));
4. $db->prepare('insert into table (a,b,c) values (:0,:1,:2)');
! $db->$bind($stmt,1); $db->bind($stmt,2); $db->bind($stmt,3);
$db->execute($stmt);
*/
--- 462,471 ----
2. $db->prepare('insert into table (a,b,c) values (:0,:1,:2)');
! $db->execute($prepared_statement, array(1,2,3));
3. $db->execute('insert into table (a,b,c) values (:a,:b,:c)',array('a'=>1,'b'=>2,'c'=>3));
4. $db->prepare('insert into table (a,b,c) values (:0,:1,:2)');
! $db->$bind($stmt,1); $db->bind($stmt,2); $db->bind($stmt,3);
$db->execute($stmt);
*/
***************
*** 523,527 ****
return $stmt;
}
! return false;
}
--- 524,528 ----
return $stmt;
}
! return false;
}
***************
*** 541,548 ****
$sql = "SELECT /*+ RULE */ distinct b.column_name
FROM ALL_CONSTRAINTS a
! , ALL_CONS_COLUMNS b
WHERE ( UPPER(b.table_name) = ('$table'))
! AND (UPPER(a.table_name) = ('$table') and a.constraint_type = 'P')
! AND (a.constraint_name = b.constraint_name)";
$rs = $this->Execute($sql);
if ($rs && !$rs->EOF) {
--- 542,549 ----
$sql = "SELECT /*+ RULE */ distinct b.column_name
FROM ALL_CONSTRAINTS a
! , ALL_CONS_COLUMNS b
WHERE ( UPPER(b.table_name) = ('$table'))
! AND (UPPER(a.table_name) = ('$table') and a.constraint_type = 'P')
! AND (a.constraint_name = b.constraint_name)";
$rs = $this->Execute($sql);
if ($rs && !$rs->EOF) {
***************
*** 629,644 ****
/*--------------------------------------------------------------------------------------
! Class Name: Recordset
--------------------------------------------------------------------------------------*/
class ADORecordset_oci8 extends ADORecordSet {
! var $databaseType = 'oci8';
var $bind=false;
var $_fieldobjs;
//var $_arr = false;
! function ADORecordset_oci8($queryID)
! {
global $ADODB_FETCH_MODE;
--- 630,645 ----
/*--------------------------------------------------------------------------------------
! Class Name: Recordset
--------------------------------------------------------------------------------------*/
class ADORecordset_oci8 extends ADORecordSet {
! var $databaseType = 'oci8';
var $bind=false;
var $_fieldobjs;
//var $_arr = false;
! function ADORecordset_oci8($queryID)
! {
global $ADODB_FETCH_MODE;
***************
*** 652,656 ****
}
$this->_queryID = $queryID;
! }
--- 653,657 ----
}
$this->_queryID = $queryID;
! }
***************
*** 678,684 ****
function _initrs()
! {
! $this->_numOfRows = -1;
! $this->_numOfFields = OCInumcols($this->_queryID);
if ($this->_numOfFields>0) {
$this->_fieldobjs = array();
--- 679,685 ----
function _initrs()
! {
! $this->_numOfRows = -1;
! $this->_numOfFields = OCInumcols($this->_queryID);
if ($this->_numOfFields>0) {
$this->_fieldobjs = array();
***************
*** 686,695 ****
for ($i=0;$i<$max; $i++) $this->_fieldobjs[] = $this->_FetchField($i);
}
! }
! /* Returns: an object containing field information.
! Get column information in the Recordset object. fetchField() can be used in order to obtain information about
! fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by
! fetchField() is retrieved. */
function &_FetchField($fieldOffset = -1)
--- 687,696 ----
for ($i=0;$i<$max; $i++) $this->_fieldobjs[] = $this->_FetchField($i);
}
! }
! /* Returns: an object containing field information.
! Get column information in the Recordset object. fetchField() can be used in order to obtain information about
! fields in a certain query result. If the field offset isn't specified, the next field that wasn't yet retrieved by
! fetchField() is retrieved. */
function &_FetchField($fieldOffset = -1)
***************
*** 697,703 ****
$fld = new ADOFieldObject;
$fieldOffset += 1;
! $fld->name =OCIcolumnname($this->_queryID, $fieldOffset);
! $fld->type = OCIcolumntype($this->_queryID, $fieldOffset);
! $fld->max_length = OCIcolumnsize($this->_queryID, $fieldOffset);
if ($fld->type == 'NUMBER') {
//$p = OCIColumnPrecision($this->_queryID, $fieldOffset);
--- 698,704 ----
$fld = new ADOFieldObject;
$fieldOffset += 1;
! $fld->name =OCIcolumnname($this->_queryID, $fieldOffset);
! $fld->type = OCIcolumntype($this->_queryID, $fieldOffset);
! $fld->max_length = OCIcolumnsize($this->_queryID, $fieldOffset);
if ($fld->type == 'NUMBER') {
//$p = OCIColumnPrecision($this->_queryID, $fieldOffset);
***************
*** 705,709 ****
if ($sc == 0) $fld->type = 'INT';
}
! return $fld;
}
--- 706,710 ----
if ($sc == 0) $fld->type = 'INT';
}
! return $fld;
}
***************
*** 781,808 ****
! function _seek($row)
! {
! return false;
! }
! function _fetch()
{
return @OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode);
! }
! /* close() only needs to be called if you are worried about using too much memory while your script
! is running. All associated result memory for the specified result identifier will automatically be freed. */
! function _close()
{
! OCIFreeStatement($this->_queryID);
$this->_queryID = false;
! }
! function MetaType($t,$len=-1)
! {
switch (strtoupper($t)) {
! case 'VARCHAR':
! case 'VARCHAR2':
case 'CHAR':
case 'VARBINARY':
--- 782,809 ----
! function _seek($row)
! {
! return false;
! }
! function _fetch()
{
return @OCIfetchinto($this->_queryID,$this->fields,$this->fetchMode);
! }
! /* close() only needs to be called if you are worried about using too much memory while your script
! is running. All associated result memory for the specified result identifier will automatically be freed. */
! function _close()
{
! OCIFreeStatement($this->_queryID);
$this->_queryID = false;
! }
! function MetaType($t,$len=-1)
! {
switch (strtoupper($t)) {
! case 'VARCHAR':
! case 'VARCHAR2':
case 'CHAR':
case 'VARBINARY':
***************
*** 810,817 ****
case 'NCHAR':
case 'NVARCHAR':
! if ($len <= $this->blobSize) return 'C';
case 'NCLOB':
! case 'LONG':
case 'LONG VARCHAR':
case 'CLOB';
--- 811,818 ----
case 'NCHAR':
case 'NVARCHAR':
! if ($len <= $this->blobSize) return 'C';
case 'NCLOB':
! case 'LONG':
case 'LONG VARCHAR':
case 'CLOB';
***************
*** 826,830 ****
return 'D';
! //case 'T': return 'T';
case 'INT':
--- 827,831 ----
return 'D';
! //case 'T': return 'T';
case 'INT':
***************
*** 833,839 ****
return 'I';
! default: return 'N';
! }
! }
}
?>
--- 834,840 ----
return 'I';
! default: return 'N';
! }
! }
}
?>
Index: adodb-oci805.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-oci805.inc.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** adodb-oci805.inc.php 21 Jul 2002 02:24:59 -0000 1.3
--- adodb-oci805.inc.php 7 Aug 2002 00:40:55 -0000 1.4
***************
*** 1,5 ****
<?php
/**
! * @version V2.21 19 July 2002 (c) 2000-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,
--- 1,5 ----
<?php
/**
! * @version V2.30 1 Aug 2002 (c) 2000-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,
***************
*** 22,26 ****
{
$this->ADODB_oci8();
! }
function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$arg3=false,$secs2cache=0)
--- 22,26 ----
{
$this->ADODB_oci8();
! }
function &SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$arg3=false,$secs2cache=0)
Index: adodb-postgres64.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-postgres64.inc.php,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** adodb-postgres64.inc.php 21 Jul 2002 02:24:59 -0000 1.3
--- adodb-postgres64.inc.php 7 Aug 2002 00:40:55 -0000 1.4
***************
*** 10,15 ****
08 Nov 2000 jlim - Minor corrections, removing mysql stuff
09 Nov 2000 jlim - added insertid support suggested by "Christopher Kings-Lynne" <chriskl@familyhealth.com.au>
! jlim - changed concat operator to || and data types to MetaType to match documented pgsql types
! see http://www.postgresql.org/devel-corner/docs/postgres/datatype.htm
22 Nov 2000 jlim - added changes to FetchField() and MetaTables() contributed by "raser" <raser@mail.zen.com.tw>
27 Nov 2000 jlim - added changes to _connect/_pconnect from ideas by "Lennie" <leen@wirehub.nl>
--- 10,15 ----
08 Nov 2000 jlim - Minor corrections, removing mysql stuff
09 Nov 2000 jlim - added insertid support suggested by "Christopher Kings-Lynne" <chriskl@familyhealth.com.au>
! jlim - changed concat operator to || and data types to MetaType to match documented pgsql types
! see http://www.postgresql.org/devel-corner/docs/postgres/datatype.htm
22 Nov 2000 jlim - added changes to FetchField() and MetaTables() contributed by "raser" <raser@mail.zen.com.tw>
27 Nov 2000 jlim - added changes to _connect/_pconnect from ideas by "Lennie" <leen@wirehub.nl>
***************
*** 22,27 ****
var $databaseType = 'postgres64';
var $dataProvider = 'postgres';
! var $hasInsertID = true;
! var $_resultid = false;
var $concat_operator='||';
var $metaTablesSQL = "select tablename from pg_tables where tablename not like 'pg_%' order by 1";
--- 22,27 ----
var $databaseType = 'postgres64';
var $dataProvider = 'postgres';
! var $hasInsertID = true;
! var $_resultid = false;
var $concat_operator='||';
var $metaTablesSQL = "select tablename from pg_tables where tablename not like 'pg_%' order by 1";
***************
*** 87,94 ****
Unless you are very careful, you might end up with a tuple having
a different OID if a database must be reloaded. */
! function _insertid()
! {
! return pg_getlastoid($this->_resultid);
! }
// I get this error with PHP before 4.0.6 - jlim
--- 87,94 ----
Unless you are very careful, you might end up with a tuple having
a different OID if a database must be reloaded. */
! function _insertid()
! {
! return pg_getlastoid($this->_resultid);
! }
// I get this error with PHP before 4.0.6 - jlim
***************
*** 96,100 ****
function _affectedrows()
{
! return pg_cmdtuples($this->_resultid);
}
--- 96,100 ----
function _affectedrows()
{
! return pg_cmdtuples($this->_resultid);
}
***************
*** 168,172 ****
// converts field names to lowercase
! function &MetaColumns($table)
{
global $ADODB_FETCH_MODE;
--- 168,172 ----
// converts field names to lowercase
! function &MetaColumns($table)
{
global $ADODB_FETCH_MODE;
***************
*** 218,222 ****
}
} else {
! print "==> SQL => " . $sql . "\n";
}
unset($rsdef);
--- 218,222 ----
}
} else {
! ADOConnection::outp( "==> SQL => " . $sql);
}
unset($rsdef);
***************
*** 269,275 ****
$arr = array();
$sql="select datname from pg_database";
! $rs = $this->Execute($sql);
if (!$rs) return false;
! while (!$rs->EOF) {
$arr[] = $rs->fields[0];
$rs->MoveNext();
--- 269,275 ----
$arr = array();
$sql="select datname from pg_database";
! $rs = $this->Execute($sql);
if (!$rs) return false;
! while (!$rs->EOF) {
$arr[] = $rs->fields[0];
$rs->MoveNext();
***************
*** 286,292 ****
// $db->Connect('host1','user1','secret');
function _connect($str,$user='',$pwd='',$db='')
! {
if ($user || $pwd || $db) {
! if ($str) {
$host = split(":", $str);
if ($host[0]) $str = "host=$host[0]";
--- 286,292 ----
// $db->Connect('host1','user1','secret');
function _connect($str,$user='',$pwd='',$db='')
! {
if ($user || $pwd || $db) {
! if ($str) {
$host = split(":", $str);
if ($host[0]) $str = "host=$host[0]";
***************
*** 294,299 ****
if (isset($host[1])) $str .= " port=$host[1]";
}
! if ($user) $str .= " user=".$user;
! if ($pwd) $str .= " password=".$pwd;
if ($db) $str .= " dbname=".$db;
}
--- 294,299 ----
if (isset($host[1])) $str .= " port=$host[1]";
}
! if ($user) $str .= " user=".$user;
! if ($pwd) $str .= " password=".$pwd;
if ($db) $str .= " dbname=".$db;
}
***************
*** 303,307 ****
if ($this->_connectionID === false) return false;
$this->Execute("set datestyle='ISO'");
! return true;
}
--- 303,307 ----
if ($this->_connectionID === false) return false;
$this->Execute("set datestyle='ISO'");
! return true;
}
***************
*** 314,318 ****
{
if ($user || $pwd || $db) {
! if ($str) {
$host = split(":", $str);
if ($host[0]) $str = "host=$host[0]";
--- 314,318 ----
{
if ($user || $pwd || $db) {
! if ($str) {
$host = split(":", $str);
if ($host[0]) $str = "host=$host[0]";
***************
*** 320,325 ****
if (isset($host[1])) $str .= " port=$host[1]";
}
! if ($user) $str .= " user=".$user;
! if ($pwd) $str .= " password=".$pwd;
if ($db) $str .= " dbname=".$db;
}//print $str;
--- 320,325 ----
if (isset($host[1])) $str .= " port=$host[1]";
}
! if ($user) $str .= " user=".$user;
! if ($pwd) $str .= " password=".$pwd;
if ($db) $str .= " dbname=".$db;
}//print $str;
***************
*** 333,338 ****
function _query($sql,$inputarr)
{
! $this->_resultid= pg_Exec($this->_connectionID,$sql);
! return $this->_resultid;
}
--- 333,338 ----
function _query($sql,$inputarr)
{
! $this->_resultid= pg_Exec($this->_connectionID,$sql);
! return $this->_resultid;
}
***************
*** 343,347 ****
if (empty($this->_connectionID)) $this->_errorMsg = @pg_errormessage();
else $this->_errorMsg = @pg_errormessage($this->_connectionID);
! return $this->_errorMsg;
}
--- 343,347 ----
if (empty($this->_connectionID)) $this->_errorMsg = @pg_errormessage();
else $this->_errorMsg = @pg_errormessage($this->_connectionID);
! return $this->_errorMsg;
}
***************
*** 492,541 ****
{
switch (strtoupper($t)) {
! case 'CHAR':
! case 'CHARACTER':
! case 'VARCHAR':
! case 'NAME':
case 'BPCHAR':
! if ($len <= $this->blobSize) return 'C';
! case 'TEXT':
! return 'X';
! case 'IMAGE': // user defined type
! case 'BLOB': // user defined type
! case 'BIT': // This is a bit string, not a single bit, so don't return 'L'
! case 'VARBIT':
! case 'BYTEA':
! return 'B';
!
! case 'BOOL':
! case 'BOOLEAN':
! return 'L';
! case 'DATE':
! return 'D';
!
! case 'TIME':
! case 'DATETIME':
! case 'TIMESTAMP':
case 'TIMESTAMPTZ':
! return 'T';
!
! case 'SMALLINT':
! case 'BIGINT':
! case 'INTEGER':
! case 'INT8':
! case 'INT4':
! case 'INT2':
! if (isset($fieldobj) &&
empty($fieldobj->primary_key) && empty($fieldobj->unique)) return 'I';
! case 'OID':
! case 'SERIAL':
! return 'R';
! default:
! return 'N';
! }
}
--- 492,541 ----
{
switch (strtoupper($t)) {
! case 'CHAR':
! case 'CHARACTER':
! case 'VARCHAR':
! case 'NAME':
case 'BPCHAR':
! if ($len <= $this->blobSize) return 'C';
! case 'TEXT':
! return 'X';
! case 'IMAGE': // user defined type
! case 'BLOB': // user defined type
! case 'BIT': // This is a bit string, not a single bit, so don't return 'L'
! case 'VARBIT':
! case 'BYTEA':
! return 'B';
! case 'BOOL':
! case 'BOOLEAN':
! return 'L';
!
! case 'DATE':
! return 'D';
!
! case 'TIME':
! case 'DATETIME':
! case 'TIMESTAMP':
case 'TIMESTAMPTZ':
! return 'T';
!
! case 'SMALLINT':
! case 'BIGINT':
! case 'INTEGER':
! case 'INT8':
! case 'INT4':
! case 'INT2':
! if (isset($fieldobj) &&
empty($fieldobj->primary_key) && empty($fieldobj->unique)) return 'I';
! case 'OID':
! case 'SERIAL':
! return 'R';
! default:
! return 'N';
! }
}
Index: adodb-sqlanywhere.inc.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/pnadodb/drivers/adodb-sqlanywhere.inc.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** adodb-sqlanywhere.inc.php 21 Jul 2002 02:24:59 -0000 1.4
--- adodb-sqlanywhere.inc.php 7 Aug 2002 00:40:55 -0000 1.5
***************
*** 1,5 ****
<?php
/*
! version V2.21 19 July 2002 (c) 2000-2002 John Lim (jlim@natsoft.com.my). All rights
reserved.
Released under both BSD license and Lesser GPL library license.
--- 1,5 ----
<?php
/*
! version V2.30 1 Aug 2002 (c) 2000-2002 John Lim (jlim@natsoft.com.my). All rights
reserved.
Released under both BSD license and Lesser GPL library license.
***************
*** 11,40 ****
21.02.2002 - Wade Johnson wade@wadejohnson.de
! Extended ODBC class for Sybase SQLAnywhere.
1) Added support to retrieve the last row insert ID on tables with
! primary key column using autoincrement function.
2) Added blob support. Usage:
! a) create blob variable on db server:
! $dbconn->create_blobvar($blobVarName);
! b) load blob var from file. $filename must be complete path
! $dbcon->load_blobvar_from_file($blobVarName, $filename);
! c) Use the $blobVarName in SQL insert or update statement in the values
! clause:
! $recordSet = $dbconn->Execute('INSERT INTO tabname (idcol, blobcol) '
! .
! 'VALUES (\'test\', ' . $blobVarName . ')');
! instead of loading blob from a file, you can also load from
! an unformatted (raw) blob variable:
! $dbcon->load_blobvar_from_var($blobVarName, $varName);
! d) drop blob variable on db server to free up resources:
! $dbconn->drop_blobvar($blobVarName);
Sybase_SQLAnywhere data driver. Requires ODBC.
--- 11,40 ----
21.02.2002 - Wade Johnson wade@wadejohnson.de
! Extended ODBC class for Sybase SQLAnywhere.View Statistics - Next Notice - Previous Notice
| Visit Developer Site - Browse CVS Repository |
Syndicate via backend.rss (max. once per hour please) | Powered by CVSNotice 0.1.3 |