3 * Backwards compatibility wrapper for Database.php
5 * Note: $wgDatabase has ceased to exist. Destroy all references.
11 * Usually aborts on failure
12 * If errors are explicitly ignored, returns success
13 * @param string $sql SQL query
14 * @param mixed $db database handler
15 * @param string $fname name of the php function calling
17 function wfQuery( $sql, $db, $fname = '' ) {
19 if ( !is_numeric( $db ) ) {
20 # Someone has tried to call this the old way
21 $wgOut->fatalError( wfMsgNoDB( 'wrong_wfQuery_params', $db, $sql ) );
25 return $c->query( $sql, $fname );
33 * @param string $sql SQL query
35 * @param string $fname name of the php function calling
36 * @return array first row from the database
38 function wfSingleQuery( $sql, $dbi, $fname = '' ) {
39 $db =& wfGetDB( $dbi );
40 $res = $db->query($sql, $fname );
41 $row = $db->fetchRow( $res );
43 $db->freeResult( $res );
48 * @todo document function
50 function &wfGetDB( $db = DB_LAST
, $groups = array() ) {
51 global $wgLoadBalancer;
52 $ret =& $wgLoadBalancer->getConnection( $db, true, $groups );
57 * Turns on (false) or off (true) the automatic generation and sending
58 * of a "we're sorry, but there has been a database error" page on
59 * database errors. Default is on (false). When turned off, the
60 * code should use wfLastErrno() and wfLastError() to handle the
61 * situation as appropriate.
65 * @return Returns the previous state.
67 function wfIgnoreSQLErrors( $newstate, $dbi = DB_LAST
) {
68 $db =& wfGetDB( $dbi );
69 if ( $db !== false ) {
70 return $db->ignoreErrors( $newstate );
77 * @param $res database result handler
82 * Free a database result
83 * @return bool whether result is sucessful or not
85 function wfFreeResult( $res, $dbi = DB_LAST
)
87 $db =& wfGetDB( $dbi );
88 if ( $db !== false ) {
89 $db->freeResult( $res );
97 * Get an object from a database result
98 * @return object|false object we requested
100 function wfFetchObject( $res, $dbi = DB_LAST
) {
101 $db =& wfGetDB( $dbi );
102 if ( $db !== false ) {
103 return $db->fetchObject( $res, $dbi = DB_LAST
);
110 * Get a row from a database result
111 * @return object|false row we requested
113 function wfFetchRow( $res, $dbi = DB_LAST
) {
114 $db =& wfGetDB( $dbi );
115 if ( $db !== false ) {
116 return $db->fetchRow ( $res, $dbi = DB_LAST
);
123 * Get a number of rows from a database result
124 * @return integer|false number of rows
126 function wfNumRows( $res, $dbi = DB_LAST
) {
127 $db =& wfGetDB( $dbi );
128 if ( $db !== false ) {
129 return $db->numRows( $res, $dbi = DB_LAST
);
136 * Get the number of fields from a database result
137 * @return integer|false number of fields
139 function wfNumFields( $res, $dbi = DB_LAST
) {
140 $db =& wfGetDB( $dbi );
141 if ( $db !== false ) {
142 return $db->numFields( $res );
149 * Return name of a field in a result
150 * @param integer $n id of the field
151 * @return string|false name of field
153 function wfFieldName( $res, $n, $dbi = DB_LAST
)
155 $db =& wfGetDB( $dbi );
156 if ( $db !== false ) {
157 return $db->fieldName( $res, $n, $dbi = DB_LAST
);
165 * @todo document function
167 function wfInsertId( $dbi = DB_LAST
) {
168 $db =& wfGetDB( $dbi );
169 if ( $db !== false ) {
170 return $db->insertId();
177 * @todo document function
179 function wfDataSeek( $res, $row, $dbi = DB_LAST
) {
180 $db =& wfGetDB( $dbi );
181 if ( $db !== false ) {
182 return $db->dataSeek( $res, $row );
189 * @todo document function
191 function wfLastErrno( $dbi = DB_LAST
) {
192 $db =& wfGetDB( $dbi );
193 if ( $db !== false ) {
194 return $db->lastErrno();
201 * @todo document function
203 function wfLastError( $dbi = DB_LAST
) {
204 $db =& wfGetDB( $dbi );
205 if ( $db !== false ) {
206 return $db->lastError();
213 * @todo document function
215 function wfAffectedRows( $dbi = DB_LAST
) {
216 $db =& wfGetDB( $dbi );
217 if ( $db !== false ) {
218 return $db->affectedRows();
225 * @todo document function
227 function wfLastDBquery( $dbi = DB_LAST
) {
228 $db =& wfGetDB( $dbi );
229 if ( $db !== false ) {
230 return $db->lastQuery();
237 * @todo document function
239 function wfSetSQL( $table, $var, $value, $cond, $dbi = DB_MASTER
)
241 $db =& wfGetDB( $dbi );
242 if ( $db !== false ) {
243 return $db->set( $table, $var, $value, $cond );
251 * @todo document function
253 function wfGetSQL( $table, $var, $cond='', $dbi = DB_LAST
)
255 $db =& wfGetDB( $dbi );
256 if ( $db !== false ) {
257 return $db->selectField( $table, $var, $cond );
264 * @todo document function
266 function wfFieldExists( $table, $field, $dbi = DB_LAST
) {
267 $db =& wfGetDB( $dbi );
268 if ( $db !== false ) {
269 return $db->fieldExists( $table, $field );
276 * @todo document function
278 function wfIndexExists( $table, $index, $dbi = DB_LAST
) {
279 $db =& wfGetDB( $dbi );
280 if ( $db !== false ) {
281 return $db->indexExists( $table, $index );
288 * @todo document function
290 function wfInsertArray( $table, $array, $fname = 'wfInsertArray', $dbi = DB_MASTER
) {
291 $db =& wfGetDB( $dbi );
292 if ( $db !== false ) {
293 return $db->insert( $table, $array, $fname );
300 * @todo document function
302 function wfGetArray( $table, $vars, $conds, $fname = 'wfGetArray', $dbi = DB_LAST
) {
303 $db =& wfGetDB( $dbi );
304 if ( $db !== false ) {
305 return $db->getArray( $table, $vars, $conds, $fname );
312 * @todo document function
314 function wfUpdateArray( $table, $values, $conds, $fname = 'wfUpdateArray', $dbi = DB_MASTER
) {
315 $db =& wfGetDB( $dbi );
316 if ( $db !== false ) {
317 $db->update( $table, $values, $conds, $fname );
325 * @todo document function
327 function wfTableName( $name, $dbi = DB_LAST
) {
328 $db =& wfGetDB( $dbi );
329 if ( $db !== false ) {
330 return $db->tableName( $name );
337 * @todo document function
339 function wfStrencode( $s, $dbi = DB_LAST
) {
340 $db =& wfGetDB( $dbi );
341 if ( $db !== false ) {
342 return $db->strencode( $s );
349 * @todo document function
351 function wfNextSequenceValue( $seqName, $dbi = DB_MASTER
) {
352 $db =& wfGetDB( $dbi );
353 if ( $db !== false ) {
354 return $db->nextSequenceValue( $seqName );
361 * @todo document function
363 function wfUseIndexClause( $index, $dbi = DB_SLAVE
) {
364 $db =& wfGetDB( $dbi );
365 if ( $db !== false ) {
366 return $db->useIndexClause( $index );