Allow use of DatabaseFunctions even when errors are ignored
This commit is contained in:
parent
fb7f957669
commit
bafbebea13
1 changed files with 114 additions and 27 deletions
|
|
@ -8,10 +8,7 @@
|
|||
# the load balancer will finally call Database, which will
|
||||
# represent a single connection
|
||||
|
||||
# NB: This file follows a connect on demand scheme. Do
|
||||
# not access the $wgDatabase variable directly unless
|
||||
# you intend to set it. Use wfGetDB().
|
||||
$wgDatabase = false;
|
||||
# Note: $wgDatabase has ceased to exist. Destroy all references.
|
||||
|
||||
$wgIsMySQL=false;
|
||||
$wgIsPg=false;
|
||||
|
|
@ -25,7 +22,6 @@ if ($wgDBtype=="mysql") {
|
|||
}
|
||||
|
||||
|
||||
# Replication is not actually implemented just yet
|
||||
# Usually aborts on failure
|
||||
# If errors are explicitly ignored, returns success
|
||||
function wfQuery( $sql, $db, $fname = "" )
|
||||
|
|
@ -35,7 +31,11 @@ function wfQuery( $sql, $db, $fname = "" )
|
|||
$wgOut->fatalError( wfMsgNoDB( "wrong_wfQuery_params", $db, $sql ) );
|
||||
}
|
||||
$c =& wfGetDB( $db );
|
||||
if ( $c !== false ) {
|
||||
return $c->query( $sql, $fname );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function &wfGetDB( $db = DB_LAST )
|
||||
|
|
@ -51,7 +51,11 @@ function &wfGetDB( $db = DB_LAST )
|
|||
function wfBufferSQLResults( $newstate, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->setBufferResults( $newstate );
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
# Turns on (false) or off (true) the automatic generation and sending
|
||||
|
|
@ -64,120 +68,203 @@ function wfBufferSQLResults( $newstate, $dbi = DB_LAST )
|
|||
function wfIgnoreSQLErrors( $newstate, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->setIgnoreErrors( $newstate );
|
||||
} else {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
|
||||
function wfFreeResult( $res, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
$db->freeResult( $res );
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfFetchObject( $res, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->fetchObject( $res, $dbi = DB_LAST );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfFetchRow( $res, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->fetchRow ( $res, $dbi = DB_LAST );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfNumRows( $res, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->numRows( $res, $dbi = DB_LAST );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfNumFields( $res, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->numFields( $res );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfFieldName( $res, $n, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->fieldName( $res, $n, $dbi = DB_LAST );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfInsertId( $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->insertId();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfDataSeek( $res, $row, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->dataSeek( $res, $row );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfLastErrno( $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->lastErrno();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfLastError( $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->lastError();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfAffectedRows( $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->affectedRows();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfLastDBquery( $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->lastQuery();
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfSetSQL( $table, $var, $value, $cond, $dbi = DB_WRITE )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->set( $table, $var, $value, $cond );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfGetSQL( $table, $var, $cond="", $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->get( $table, $var, $cond );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfFieldExists( $table, $field, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->fieldExists( $table, $field );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfIndexExists( $table, $index, $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->indexExists( $table, $index );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfInsertArray( $table, $array, $fname = "wfInsertArray", $dbi = DB_WRITE )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->insertArray( $table, $array, $fname );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfGetArray( $table, $vars, $conds, $fname = "wfGetArray", $dbi = DB_LAST )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
return $db->getArray( $table, $vars, $conds, $fname );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
function wfUpdateArray( $table, $values, $conds, $fname = "wfUpdateArray", $dbi = DB_WRITE )
|
||||
{
|
||||
$db =& wfGetDB( $dbi );
|
||||
if ( $db !== false ) {
|
||||
$db->updateArray( $table, $values, $conds, $fname );
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
||||
|
|
|
|||
Loading…
Reference in a new issue