3 * Backwards compatibility wrapper for Database.php
5 * Note: $wgDatabase has ceased to exist. Destroy all references.
12 * Usually aborts on failure
13 * If errors are explicitly ignored, returns success
14 * @param string $sql SQL query
15 * @param mixed $db database handler
16 * @param string $fname name of the php function calling
18 function wfQuery( $sql, $db, $fname = '' ) {
20 if ( !is_numeric( $db ) ) {
21 # Someone has tried to call this the old way
22 $wgOut->fatalError( wfMsgNoDB( 'wrong_wfQuery_params', $db, $sql ) );
26 return $c->query( $sql, $fname );
34 * @param string $sql SQL query
36 * @param string $fname name of the php function calling
37 * @return array first row from the database
39 function wfSingleQuery( $sql, $dbi, $fname = '' ) {
40 $db =& wfGetDB( $dbi );
41 $res = $db->query($sql, $fname );
42 $row = $db->fetchRow( $res );
44 $db->freeResult( $res );
49 * @todo document function
51 function &wfGetDB( $db = DB_LAST
) {
52 global $wgLoadBalancer;
53 return $wgLoadBalancer->getConnection( $db );
57 * Turns buffering of SQL result
58 * Sets on (true) or off (false). Default is "on" and it should not be changed
59 * without good reasons.
63 * @return mixed|NULL Returns the previous state.
65 function wfBufferSQLResults( $newstate, $dbi = DB_LAST
) {
66 $db =& wfGetDB( $dbi );
67 if ( $db !== false ) {
68 return $db->setBufferResults( $newstate );
75 * Turns on (false) or off (true) the automatic generation and sending
76 * of a "we're sorry, but there has been a database error" page on
77 * database errors. Default is on (false). When turned off, the
78 * code should use wfLastErrno() and wfLastError() to handle the
79 * situation as appropriate.
83 * @return Returns the previous state.
85 function wfIgnoreSQLErrors( $newstate, $dbi = DB_LAST
) {
86 $db =& wfGetDB( $dbi );
87 if ( $db !== false ) {
88 return $db->ignoreErrors( $newstate );
95 * @param $res database result handler
100 * Free a database result
101 * @return bool whether result is sucessful or not
103 function wfFreeResult( $res, $dbi = DB_LAST
)
105 $db =& wfGetDB( $dbi );
106 if ( $db !== false ) {
107 $db->freeResult( $res );
115 * Get an object from a database result
116 * @return object|false object we requested
118 function wfFetchObject( $res, $dbi = DB_LAST
) {
119 $db =& wfGetDB( $dbi );
120 if ( $db !== false ) {
121 return $db->fetchObject( $res, $dbi = DB_LAST
);
128 * Get a row from a database result
129 * @return object|false row we requested
131 function wfFetchRow( $res, $dbi = DB_LAST
) {
132 $db =& wfGetDB( $dbi );
133 if ( $db !== false ) {
134 return $db->fetchRow ( $res, $dbi = DB_LAST
);
141 * Get a number of rows from a database result
142 * @return integer|false number of rows
144 function wfNumRows( $res, $dbi = DB_LAST
) {
145 $db =& wfGetDB( $dbi );
146 if ( $db !== false ) {
147 return $db->numRows( $res, $dbi = DB_LAST
);
154 * Get the number of fields from a database result
155 * @return integer|false number of fields
157 function wfNumFields( $res, $dbi = DB_LAST
) {
158 $db =& wfGetDB( $dbi );
159 if ( $db !== false ) {
160 return $db->numFields( $res );
167 * Return name of a field in a result
168 * @param integer $n id of the field
169 * @return string|false name of field
171 function wfFieldName( $res, $n, $dbi = DB_LAST
)
173 $db =& wfGetDB( $dbi );
174 if ( $db !== false ) {
175 return $db->fieldName( $res, $n, $dbi = DB_LAST
);
183 * @todo document function
185 function wfInsertId( $dbi = DB_LAST
) {
186 $db =& wfGetDB( $dbi );
187 if ( $db !== false ) {
188 return $db->insertId();
195 * @todo document function
197 function wfDataSeek( $res, $row, $dbi = DB_LAST
) {
198 $db =& wfGetDB( $dbi );
199 if ( $db !== false ) {
200 return $db->dataSeek( $res, $row );
207 * @todo document function
209 function wfLastErrno( $dbi = DB_LAST
) {
210 $db =& wfGetDB( $dbi );
211 if ( $db !== false ) {
212 return $db->lastErrno();
219 * @todo document function
221 function wfLastError( $dbi = DB_LAST
) {
222 $db =& wfGetDB( $dbi );
223 if ( $db !== false ) {
224 return $db->lastError();
231 * @todo document function
233 function wfAffectedRows( $dbi = DB_LAST
) {
234 $db =& wfGetDB( $dbi );
235 if ( $db !== false ) {
236 return $db->affectedRows();
243 * @todo document function
245 function wfLastDBquery( $dbi = DB_LAST
) {
246 $db =& wfGetDB( $dbi );
247 if ( $db !== false ) {
248 return $db->lastQuery();
255 * @todo document function
257 function wfSetSQL( $table, $var, $value, $cond, $dbi = DB_MASTER
)
259 $db =& wfGetDB( $dbi );
260 if ( $db !== false ) {
261 return $db->set( $table, $var, $value, $cond );
269 * @todo document function
271 function wfGetSQL( $table, $var, $cond='', $dbi = DB_LAST
)
273 $db =& wfGetDB( $dbi );
274 if ( $db !== false ) {
275 return $db->selectField( $table, $var, $cond );
282 * @todo document function
284 function wfFieldExists( $table, $field, $dbi = DB_LAST
) {
285 $db =& wfGetDB( $dbi );
286 if ( $db !== false ) {
287 return $db->fieldExists( $table, $field );
294 * @todo document function
296 function wfIndexExists( $table, $index, $dbi = DB_LAST
) {
297 $db =& wfGetDB( $dbi );
298 if ( $db !== false ) {
299 return $db->indexExists( $table, $index );
306 * @todo document function
308 function wfInsertArray( $table, $array, $fname = 'wfInsertArray', $dbi = DB_MASTER
) {
309 $db =& wfGetDB( $dbi );
310 if ( $db !== false ) {
311 return $db->insert( $table, $array, $fname );
318 * @todo document function
320 function wfGetArray( $table, $vars, $conds, $fname = 'wfGetArray', $dbi = DB_LAST
) {
321 $db =& wfGetDB( $dbi );
322 if ( $db !== false ) {
323 return $db->getArray( $table, $vars, $conds, $fname );
330 * @todo document function
332 function wfUpdateArray( $table, $values, $conds, $fname = 'wfUpdateArray', $dbi = DB_MASTER
) {
333 $db =& wfGetDB( $dbi );
334 if ( $db !== false ) {
335 $db->update( $table, $values, $conds, $fname );
343 * @todo document function
345 function wfTableName( $name, $dbi = DB_LAST
) {
346 $db =& wfGetDB( $dbi );
347 if ( $db !== false ) {
348 return $db->tableName( $name );
355 * @todo document function
357 function wfStrencode( $s, $dbi = DB_LAST
) {
358 $db =& wfGetDB( $dbi );
359 if ( $db !== false ) {
360 return $db->strencode( $s );
367 * @todo document function
369 function wfNextSequenceValue( $seqName, $dbi = DB_MASTER
) {
370 $db =& wfGetDB( $dbi );
371 if ( $db !== false ) {
372 return $db->nextSequenceValue( $seqName );
379 * @todo document function
381 function wfUseIndexClause( $index, $dbi = DB_SLAVE
) {
382 $db =& wfGetDB( $dbi );
383 if ( $db !== false ) {
384 return $db->useIndexClause( $index );