wiki.techinc.nl/includes/DatabaseFunctions.php

281 lines
5.4 KiB
PHP
Raw Normal View History

<?php
# $Id$
2003-04-14 23:10:40 +00:00
2004-01-10 16:44:31 +00:00
# Backwards compatibility wrapper for Database.php
2003-09-20 02:30:00 +00:00
# I imagine this file will eventually become a backwards
# compatibility wrapper around a load balancer object, and
# the load balancer will finally call Database, which will
# represent a single connection
# Note: $wgDatabase has ceased to exist. Destroy all references.
$wgIsMySQL=false;
$wgIsPg=false;
if ($wgDBtype=="mysql") {
require_once( "Database.php" );
$wgIsMySQL=true;
} elseif ($wgDBtype=="pgsql") {
require_once( "DatabasePostgreSQL.php" );
$wgIsPg=true;
}
2004-01-10 16:44:31 +00:00
# Usually aborts on failure
# If errors are explicitly ignored, returns success
function wfQuery( $sql, $db, $fname = "" )
{
2004-06-22 08:54:26 +00:00
global $wgOut;
if ( !is_numeric( $db ) ) {
# Someone has tried to call this the old way
$wgOut->fatalError( wfMsgNoDB( "wrong_wfQuery_params", $db, $sql ) );
}
$c =& wfGetDB( $db );
if ( $c !== false ) {
return $c->query( $sql, $fname );
} else {
return false;
}
2004-01-10 16:44:31 +00:00
}
2003-04-14 23:10:40 +00:00
function wfSingleQuery( $sql, $db, $fname = "" )
{
$res = wfQuery($sql, $db, $fname );
$row = wfFetchRow( $res );
$ret = $row[0];
wfFreeResult( $res );
return $ret;
}
function &wfGetDB( $db = DB_LAST )
2004-01-10 16:44:31 +00:00
{
global $wgLoadBalancer;
return $wgLoadBalancer->getConnection( $db );
2003-04-14 23:10:40 +00:00
}
2004-01-10 16:44:31 +00:00
# Turns buffering of SQL result sets on (true) or off (false). Default is
# "on" and it should not be changed without good reasons.
# Returns the previous state.
function wfBufferSQLResults( $newstate, $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->setBufferResults( $newstate );
} else {
return NULL;
}
}
2003-11-24 19:33:26 +00:00
# Turns on (false) or off (true) the automatic generation and sending
# of a "we're sorry, but there has been a database error" page on
# database errors. Default is on (false). When turned off, the
# code should use wfLastErrno() and wfLastError() to handle the
# situation as appropriate.
# Returns the previous state.
function wfIgnoreSQLErrors( $newstate, $dbi = DB_LAST )
2003-04-14 23:10:40 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->setIgnoreErrors( $newstate );
} else {
return NULL;
}
2003-04-14 23:10:40 +00:00
}
function wfFreeResult( $res, $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
$db->freeResult( $res );
return true;
} else {
return false;
}
2003-04-14 23:10:40 +00:00
}
function wfFetchObject( $res, $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->fetchObject( $res, $dbi = DB_LAST );
} else {
return false;
}
2003-04-14 23:10:40 +00:00
}
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 )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->numRows( $res, $dbi = DB_LAST );
} else {
return false;
}
2003-04-14 23:10:40 +00:00
}
function wfNumFields( $res, $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->numFields( $res );
} else {
return false;
}
2003-04-14 23:10:40 +00:00
}
function wfFieldName( $res, $n, $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->fieldName( $res, $n, $dbi = DB_LAST );
} else {
return false;
}
2003-04-14 23:10:40 +00:00
}
function wfInsertId( $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->insertId();
} else {
return false;
}
2004-01-10 16:44:31 +00:00
}
function wfDataSeek( $res, $row, $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->dataSeek( $res, $row );
} else {
return false;
}
2003-04-14 23:10:40 +00:00
}
function wfLastErrno( $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->lastErrno();
} else {
return false;
}
2003-04-14 23:10:40 +00:00
}
function wfLastError( $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->lastError();
} else {
return false;
}
2004-01-10 16:44:31 +00:00
}
function wfAffectedRows( $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->affectedRows();
} else {
return false;
}
2004-01-10 16:44:31 +00:00
}
function wfLastDBquery( $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->lastQuery();
} else {
return false;
}
2004-01-10 16:44:31 +00:00
}
function wfSetSQL( $table, $var, $value, $cond, $dbi = DB_WRITE )
2004-01-10 16:44:31 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
return $db->set( $table, $var, $value, $cond );
} else {
return false;
}
2004-01-10 16:44:31 +00:00
}
function wfGetSQL( $table, $var, $cond="", $dbi = DB_LAST )
2004-01-10 16:44:31 +00:00
{
$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;
}
}
2004-01-10 16:44:31 +00:00
function wfUpdateArray( $table, $values, $conds, $fname = "wfUpdateArray", $dbi = DB_WRITE )
2004-03-23 10:17:50 +00:00
{
$db =& wfGetDB( $dbi );
if ( $db !== false ) {
$db->updateArray( $table, $values, $conds, $fname );
return true;
} else {
return false;
}
2004-03-23 10:17:50 +00:00
}
2003-04-14 23:10:40 +00:00
?>