Differences Between: [Versions 310 and 311] [Versions 310 and 400] [Versions 310 and 401] [Versions 310 and 402] [Versions 310 and 403]
(no description)
File Size: | 1826 lines (47 kb) |
Included or required: | 0 times |
Referenced: | 0 times |
Includes or requires: | 0 files |
ADODB_oci8:: (41 methods):
__construct()
MetaColumns()
Time()
_connect()
ServerInfo()
_pconnect()
_nconnect()
_affectedrows()
IfNull()
DBDate()
BindDate()
BindTimeStamp()
DBTimeStamp()
RowLock()
MetaTables()
MetaIndexes()
BeginTrans()
CommitTrans()
RollbackTrans()
SelectDB()
ErrorMsg()
ErrorNo()
SQLDate()
GetRandRow()
SelectLimit()
UpdateBlob()
UpdateBlobFile()
Execute()
Prepare()
ExecuteCursor()
Bind()
Param()
Parameter()
_query()
IsConnectionError()
_close()
MetaPrimaryKeys()
MetaForeignKeys()
CharMax()
TextMax()
qstr()
Name:: (0 methods):
ADORecordset_oci8:: (13 methods):
__construct()
__destruct()
Init()
_initrs()
_FetchField()
FetchField()
MoveNext()
GetArrayLimit()
Fields()
_seek()
_fetch()
_close()
MetaType()
ADORecordSet_ext_oci8:: (2 methods):
__construct()
MoveNext()
Class: ADODB_oci8 - X-Ref
__construct() X-Ref |
No description |
MetaColumns($table, $normalize=true) X-Ref |
No description |
Time() X-Ref |
No description |
_connect($argHostname, $argUsername, $argPassword, $argDatabasename=null, $mode=0) X-Ref |
Multiple modes of connection are supported: a. Local Database $conn->Connect(false,'scott','tiger'); b. From tnsnames.ora $conn->Connect($tnsname,'scott','tiger'); $conn->Connect(false,'scott','tiger',$tnsname); c. Server + service name $conn->Connect($serveraddress,'scott,'tiger',$service_name); d. Server + SID $conn->connectSID = true; $conn->Connect($serveraddress,'scott,'tiger',$SID); param: string|false $argHostname DB server hostname or TNS name param: string $argUsername param: string $argPassword param: string $argDatabasename Service name, SID (defaults to null) param: int $mode Connection mode, defaults to 0 return: bool |
ServerInfo() X-Ref |
No description |
_pconnect($argHostname, $argUsername, $argPassword, $argDatabasename) X-Ref |
No description |
_nconnect($argHostname, $argUsername, $argPassword, $argDatabasename) X-Ref |
No description |
_affectedrows() X-Ref |
No description |
IfNull( $field, $ifNull ) X-Ref |
No description |
DBDate($d,$isfld=false) X-Ref |
No description |
BindDate($d) X-Ref |
No description |
BindTimeStamp($ts) X-Ref |
No description |
DBTimeStamp($ts,$isfld=false) X-Ref |
No description |
RowLock($tables,$where,$col='1 as adodbignore') X-Ref |
No description |
MetaTables($ttype=false,$showSchema=false,$mask=false) X-Ref |
No description |
MetaIndexes($table, $primary = FALSE, $owner=false) X-Ref |
No description |
BeginTrans() X-Ref |
No description |
CommitTrans($ok=true) X-Ref |
No description |
RollbackTrans() X-Ref |
No description |
SelectDB($dbName) X-Ref |
No description |
ErrorMsg() X-Ref |
No description |
ErrorNo() X-Ref |
No description |
SQLDate($fmt, $col=false) X-Ref |
Format date column in sql string given an input format that understands Y M D |
GetRandRow($sql, $arr = false) X-Ref |
No description |
SelectLimit($sql,$nrows=-1,$offset=-1, $inputarr=false,$secs2cache=0) X-Ref |
This algorithm makes use of a. FIRST_ROWS hint The FIRST_ROWS hint explicitly chooses the approach to optimize response time, that is, minimum resource usage to return the first row. Results will be returned as soon as they are identified. b. Uses rownum tricks to obtain only the required rows from a given offset. As this uses complicated sql statements, we only use this if $offset >= 100. This idea by Tomas V V Cox. This implementation does not appear to work with oracle 8.0.5 or earlier. Comment out this function then, and the slower SelectLimit() in the base class will be used. Note: FIRST_ROWS hinting is only used if $sql is a string; when processing a prepared statement's handle, no hinting is performed. |
UpdateBlob($table,$column,$val,$where,$blobtype='BLOB') X-Ref |
Usage: Store BLOBs and CLOBs Example: to store $var in a blob $conn->Execute('insert into TABLE (id,ablob) values(12,empty_blob())'); $conn->UpdateBlob('TABLE', 'ablob', $varHoldingBlob, 'ID=12', 'BLOB'); $blobtype supports 'BLOB' and 'CLOB', but you need to change to 'empty_clob()'. to get length of LOB: select DBMS_LOB.GETLENGTH(ablob) from TABLE 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... |
UpdateBlobFile($table,$column,$val,$where,$blobtype='BLOB') X-Ref |
Usage: store file pointed to by $val in a blob |
Execute($sql,$inputarr=false) X-Ref |
Execute SQL param: sql SQL statement to execute, or possibly an array holding prepared statement ($sql[0] will hold sql text) param: [inputarr] holds the input data to bind to. Null elements will be set to null. return: RecordSet or false |
Prepare($sql,$cursor=false) X-Ref |
No description |
ExecuteCursor($sql,$cursorName='rs',$params=false) X-Ref |
No description |
Bind(&$stmt,&$var,$size=4000,$type=false,$name=false,$isOutput=false) X-Ref |
Bind a variable -- very, very fast for executing repeated statements in oracle. Better than using for ($i = 0; $i < $max; $i++) { $p1 = ?; $p2 = ?; $p3 = ?; $this->Execute("insert into table (col0, col1, col2) values (:0, :1, :2)", array($p1,$p2,$p3)); } Usage: $stmt = $DB->Prepare("insert into table (col0, col1, col2) values (:0, :1, :2)"); $DB->Bind($stmt, $p1); $DB->Bind($stmt, $p2); $DB->Bind($stmt, $p3); for ($i = 0; $i < $max; $i++) { $p1 = ?; $p2 = ?; $p3 = ?; $DB->Execute($stmt); } Some timings to insert 1000 records, test table has 3 cols, and 1 index. - Time 0.6081s (1644.60 inserts/sec) with direct oci_parse/oci_execute - Time 0.6341s (1577.16 inserts/sec) with ADOdb Prepare/Bind/Execute - Time 1.5533s ( 643.77 inserts/sec) with pure SQL using Execute Now if PHP only had batch/bulk updating like Java or PL/SQL... Note that the order of parameters differs from oci_bind_by_name, because we default the names to :0, :1, :2 |
Param($name,$type='C') X-Ref |
No description |
Parameter(&$stmt,&$var,$name,$isOutput=false,$maxLen=4000,$type=false) X-Ref |
Usage: $stmt = $db->Prepare('select * from table where id =:myid and group=:group'); $db->Parameter($stmt,$id,'myid'); $db->Parameter($stmt,$group,'group'); $db->Execute($stmt); param: $stmt Statement returned by Prepare() or PrepareSP(). param: $var PHP variable to bind to param: $name Name of stored procedure variable name to bind to. param: [$isOutput] Indicates direction of parameter 0/false=IN 1=OUT 2= IN/OUT. This is ignored in oci8. param: [$maxLen] Holds an maximum length of the variable. param: [$type] The data type of $var. Legal values depend on driver. |
_query($sql,$inputarr=false) X-Ref |
returns query ID if successful, otherwise false this version supports: 1. $db->execute('select * from table'); 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); |
IsConnectionError($err) X-Ref |
No description |
_close() X-Ref |
No description |
MetaPrimaryKeys($table, $owner=false,$internalKey=false) X-Ref |
No description |
MetaForeignKeys($table, $owner=false, $upper=false) X-Ref |
returns assoc array where keys are tables, and values are foreign keys param: str $table param: str $owner [optional][default=NULL] param: bool $upper [optional][discarded] return: mixed[] Array of foreign key information |
CharMax() X-Ref |
No description |
TextMax() X-Ref |
No description |
qstr($s,$magic_quotes=false) X-Ref |
Quotes a string. An example is $db->qstr("Don't bother",magic_quotes_runtime()); param: string $s the string to quote param: bool $magic_quotes if $s is GET/POST var, set to get_magic_quotes_gpc(). return: string quoted string to be sent back to database |
Class: ADORecordset_oci8 - X-Ref
__construct($queryID,$mode=false) X-Ref |
No description |
__destruct() X-Ref |
Overrides the core destructor method as that causes problems here return: void |
Init() X-Ref |
No description |
_initrs() X-Ref |
No description |
_FetchField($fieldOffset = -1) X-Ref |
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 return: object containing field information |
FetchField($fieldOffset = -1) X-Ref |
No description |
MoveNext() X-Ref |
No description |
GetArrayLimit($nrows,$offset=-1) X-Ref |
No description |
Fields($colname) X-Ref |
No description |
_seek($row) X-Ref |
No description |
_fetch() X-Ref |
No description |
_close() X-Ref |
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. |
MetaType($t, $len=-1, $fieldobj=false) X-Ref |
not the fastest implementation - quick and dirty - jlim for best performance, use the actual $rs->MetaType(). param: mixed $t param: int $len [optional] Length of blobsize param: bool $fieldobj [optional][discarded] return: str The metatype of the field |
Class: ADORecordSet_ext_oci8 - X-Ref