revert to Wiki.php 1.28 and index.php 1.130
[mediawiki.git] / includes / DatabaseFunctions.php
blob0618950389064670f1897f40b113088e16130dcb
1 <?php
2 /**
3 * Backwards compatibility wrapper for Database.php
5 * Note: $wgDatabase has ceased to exist. Destroy all references.
7 * @package MediaWiki
8 */
10 /**
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 = '' ) {
18 global $wgOut;
19 if ( !is_numeric( $db ) ) {
20 # Someone has tried to call this the old way
21 $wgOut->fatalError( wfMsgNoDB( 'wrong_wfQuery_params', $db, $sql ) );
23 $c =& wfGetDB( $db );
24 if ( $c !== false ) {
25 return $c->query( $sql, $fname );
26 } else {
27 return false;
31 /**
33 * @param string $sql SQL query
34 * @param $dbi
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 );
42 $ret = $row[0];
43 $db->freeResult( $res );
44 return $ret;
48 * @todo document function
50 function &wfGetDB( $db = DB_LAST, $groups = array() ) {
51 global $wgLoadBalancer;
52 $ret =& $wgLoadBalancer->getConnection( $db, true, $groups );
53 return $ret;
56 /**
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.
63 * @param $newstate
64 * @param $dbi
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 );
71 } else {
72 return NULL;
76 /**#@+
77 * @param $res database result handler
78 * @param $dbi
81 /**
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 );
90 return true;
91 } else {
92 return false;
96 /**
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 );
104 } else {
105 return false;
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 );
117 } else {
118 return false;
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 );
130 } else {
131 return false;
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 );
143 } else {
144 return false;
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 );
158 } else {
159 return false;
162 /**#@-*/
165 * @todo document function
167 function wfInsertId( $dbi = DB_LAST ) {
168 $db =& wfGetDB( $dbi );
169 if ( $db !== false ) {
170 return $db->insertId();
171 } else {
172 return false;
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 );
183 } else {
184 return false;
189 * @todo document function
191 function wfLastErrno( $dbi = DB_LAST ) {
192 $db =& wfGetDB( $dbi );
193 if ( $db !== false ) {
194 return $db->lastErrno();
195 } else {
196 return false;
201 * @todo document function
203 function wfLastError( $dbi = DB_LAST ) {
204 $db =& wfGetDB( $dbi );
205 if ( $db !== false ) {
206 return $db->lastError();
207 } else {
208 return false;
213 * @todo document function
215 function wfAffectedRows( $dbi = DB_LAST ) {
216 $db =& wfGetDB( $dbi );
217 if ( $db !== false ) {
218 return $db->affectedRows();
219 } else {
220 return false;
225 * @todo document function
227 function wfLastDBquery( $dbi = DB_LAST ) {
228 $db =& wfGetDB( $dbi );
229 if ( $db !== false ) {
230 return $db->lastQuery();
231 } else {
232 return false;
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 );
244 } else {
245 return false;
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 );
258 } else {
259 return false;
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 );
270 } else {
271 return false;
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 );
282 } else {
283 return false;
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 );
294 } else {
295 return false;
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 );
306 } else {
307 return false;
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 );
318 return true;
319 } else {
320 return false;
325 * @todo document function
327 function wfTableName( $name, $dbi = DB_LAST ) {
328 $db =& wfGetDB( $dbi );
329 if ( $db !== false ) {
330 return $db->tableName( $name );
331 } else {
332 return false;
337 * @todo document function
339 function wfStrencode( $s, $dbi = DB_LAST ) {
340 $db =& wfGetDB( $dbi );
341 if ( $db !== false ) {
342 return $db->strencode( $s );
343 } else {
344 return false;
349 * @todo document function
351 function wfNextSequenceValue( $seqName, $dbi = DB_MASTER ) {
352 $db =& wfGetDB( $dbi );
353 if ( $db !== false ) {
354 return $db->nextSequenceValue( $seqName );
355 } else {
356 return false;
361 * @todo document function
363 function wfUseIndexClause( $index, $dbi = DB_SLAVE ) {
364 $db =& wfGetDB( $dbi );
365 if ( $db !== false ) {
366 return $db->useIndexClause( $index );
367 } else {
368 return false;