<?php
+/**
+ * @ingroup Database
+ * @file
+ */
/**
* This is the Oracle database abstraction layer.
- * @addtogroup Database
+ * @ingroup Database
*/
class ORABlob {
var $mData;
}
/**
- * The oci8 extension is fairly weak and doesn't support oci_num_rows, among
- * other things. We use a wrapper class to handle that and other
+ * The oci8 extension is fairly weak and doesn't support oci_num_rows, among
+ * other things. We use a wrapper class to handle that and other
* Oracle-specific bits, like converting column names back to lowercase.
- * @addtogroup Database
+ * @ingroup Database
*/
class ORAResult {
private $rows;
}
/**
- * @addtogroup Database
+ * @ingroup Database
*/
class DatabaseOracle extends Database {
var $mInsertId = NULL;
function implicitGroupby() {
return false;
}
+ function implicitOrderby() {
+ return false;
+ }
function searchableIPs() {
return true;
}
$e = oci_error($this->mConn);
$this->reportQueryError($e['message'], $e['code'], $sql, __FUNCTION__);
}
-
+
if (oci_execute($stmt, $this->execFlags()) == false) {
$e = oci_error($stmt);
$this->reportQueryError($e['message'], $e['code'], $sql, __FUNCTION__);
oci_free_statement($stmt);
}
-
+
function tableName( $name ) {
# Replace reserved words with better ones
switch( $name ) {
}
function reportQueryError($error, $errno, $sql, $fname, $tempIgnore = false) {
- # Ignore errors during error handling to avoid infinite
+ # Ignore errors during error handling to avoid infinite
# recursion
$ignore = $this->ignoreErrors(true);
++$this->mErrorCount;
if ( isset( $options['GROUP BY'] ) ) $preLimitTail .= " GROUP BY {$options['GROUP BY']}";
if ( isset( $options['ORDER BY'] ) ) $preLimitTail .= " ORDER BY {$options['ORDER BY']}";
-
+
if (isset($options['LIMIT'])) {
// $tailOpts .= $this->limitResult('', $options['LIMIT'],
- // isset($options['OFFSET']) ? $options['OFFSET']
+ // isset($options['OFFSET']) ? $options['OFFSET']
// : false);
}
} else {
$useIndex = '';
}
-
+
return array( $startOpts, $useIndex, $preLimitTail, $postLimitTail );
}
return 0;
}
-} // end DatabaseOracle class
+ function setFakeSlaveLag() {}
+ function setFakeMaster() {}
+
+ function getDBname() {
+ return $this->mDBname;
+ }
+ function getServer() {
+ return $this->mServer;
+ }
+} // end DatabaseOracle class