/**
* This is the Oracle database abstraction layer.
+ * @addtogroup 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
* Oracle-specific bits, like converting column names back to lowercase.
+ * @addtogroup Database
*/
class ORAResult {
private $rows;
}
return $ret;
}
-};
+}
+/**
+ * @addtogroup Database
+ */
class DatabaseOracle extends Database {
var $mInsertId = NULL;
var $mLastResult = NULL;
function implicitGroupby() {
return false;
}
+ function implicitOrderby() {
+ return false;
+ }
function searchableIPs() {
return true;
}
}
/**
- * ORacle does not have a "USE INDEX" clause, so return an empty string
+ * Oracle does not have a "USE INDEX" clause, so return an empty string
*/
function useIndexClause($index) {
return '';
#if ( isset( $noKeyOptions['FOR UPDATE'] ) ) $tailOpts .= ' FOR UPDATE';
#if ( isset( $noKeyOptions['LOCK IN SHARE MODE'] ) ) $tailOpts .= ' LOCK IN SHARE MODE';
- if ( isset( $noKeyOptions['DISTINCT'] ) && isset( $noKeyOptions['DISTINCTROW'] ) ) $startOpts .= 'DISTINCT';
+ if ( isset( $noKeyOptions['DISTINCT'] ) || isset( $noKeyOptions['DISTINCTROW'] ) ) $startOpts .= 'DISTINCT';
if ( isset( $options['USE INDEX'] ) && ! is_array( $options['USE INDEX'] ) ) {
$useIndex = $this->useIndexClause( $options['USE INDEX'] );
}
function ping() {
- wfDebug( "Function ping() not written for DatabasePostgres.php yet");
+ wfDebug( "Function ping() not written for DatabaseOracle.php yet");
return true;
}
+ /**
+ * How lagged is this slave?
+ *
+ * @return int
+ */
+ public function getLag() {
+ # Not implemented for Oracle
+ return 0;
+ }
} // end DatabaseOracle class
-?>
+