]> scripts.mit.edu Git - autoinstallsdev/mediawiki.git/blob - includes/DatabaseFunctions.php
MediaWiki 1.11.0
[autoinstallsdev/mediawiki.git] / includes / DatabaseFunctions.php
1 <?php
2 /**
3  * Legacy database functions, for compatibility with pre-1.3 code
4  * NOTE: this file is no longer loaded by default.
5  *
6  */
7
8 /**
9  * Usually aborts on failure
10  * If errors are explicitly ignored, returns success
11  * @param $sql String: SQL query
12  * @param $db Mixed: database handler
13  * @param $fname String: name of the php function calling
14  */
15 function wfQuery( $sql, $db, $fname = '' ) {
16         if ( !is_numeric( $db ) ) {
17                 # Someone has tried to call this the old way
18                 throw new FatalError( wfMsgNoDB( 'wrong_wfQuery_params', $db, $sql ) );
19         }
20         $c = wfGetDB( $db );
21         if ( $c !== false ) {
22                 return $c->query( $sql, $fname );
23         } else {
24                 return false;
25         }
26 }
27
28 /**
29  *
30  * @param $sql String: SQL query
31  * @param $dbi
32  * @param $fname String: name of the php function calling
33  * @return Array: first row from the database
34  */
35 function wfSingleQuery( $sql, $dbi, $fname = '' ) {
36         $db = wfGetDB( $dbi );
37         $res = $db->query($sql, $fname );
38         $row = $db->fetchRow( $res );
39         $ret = $row[0];
40         $db->freeResult( $res );
41         return $ret;
42 }
43
44 /**
45  * Turns on (false) or off (true) the automatic generation and sending
46  * of a "we're sorry, but there has been a database error" page on
47  * database errors. Default is on (false). When turned off, the
48  * code should use wfLastErrno() and wfLastError() to handle the
49  * situation as appropriate.
50  *
51  * @param $newstate
52  * @param $dbi
53  * @return Returns the previous state.
54  */
55 function wfIgnoreSQLErrors( $newstate, $dbi = DB_LAST ) {
56         $db = wfGetDB( $dbi );
57         if ( $db !== false ) {
58                 return $db->ignoreErrors( $newstate );
59         } else {
60                 return NULL;
61         }
62 }
63
64 /**#@+
65  * @param $res Database result handler
66  * @param $dbi
67 */
68
69 /**
70  * Free a database result
71  * @return Bool: whether result is sucessful or not.
72  */
73 function wfFreeResult( $res, $dbi = DB_LAST )
74 {
75         $db = wfGetDB( $dbi );
76         if ( $db !== false ) {
77                 $db->freeResult( $res );
78                 return true;
79         } else {
80                 return false;
81         }
82 }
83
84 /**
85  * Get an object from a database result
86  * @return object|false object we requested
87  */
88 function wfFetchObject( $res, $dbi = DB_LAST ) {
89         $db = wfGetDB( $dbi );
90         if ( $db !== false ) {
91                 return $db->fetchObject( $res, $dbi = DB_LAST );
92         } else {
93                 return false;
94         }
95 }
96
97 /**
98  * Get a row from a database result
99  * @return object|false row we requested
100  */
101 function wfFetchRow( $res, $dbi = DB_LAST ) {
102         $db = wfGetDB( $dbi );
103         if ( $db !== false ) {
104                 return $db->fetchRow ( $res, $dbi = DB_LAST );
105         } else {
106                 return false;
107         }
108 }
109
110 /**
111  * Get a number of rows from a database result
112  * @return integer|false number of rows
113  */
114 function wfNumRows( $res, $dbi = DB_LAST ) {
115         $db = wfGetDB( $dbi );
116         if ( $db !== false ) {
117                 return $db->numRows( $res, $dbi = DB_LAST );
118         } else {
119                 return false;
120         }
121 }
122
123 /**
124  * Get the number of fields from a database result
125  * @return integer|false number of fields
126  */
127 function wfNumFields( $res, $dbi = DB_LAST ) {
128         $db = wfGetDB( $dbi );
129         if ( $db !== false ) {
130                 return $db->numFields( $res );
131         } else {
132                 return false;
133         }
134 }
135
136 /**
137  * Return name of a field in a result
138  * @param $res Mixed: Ressource link see Database::fieldName()
139  * @param $n Integer: id of the field
140  * @param $dbi Default DB_LAST
141  * @return string|false name of field
142  */
143 function wfFieldName( $res, $n, $dbi = DB_LAST )
144 {
145         $db = wfGetDB( $dbi );
146         if ( $db !== false ) {
147                 return $db->fieldName( $res, $n, $dbi = DB_LAST );
148         } else {
149                 return false;
150         }
151 }
152 /**#@-*/
153
154 /**
155  * @todo document function
156  */
157 function wfInsertId( $dbi = DB_LAST ) {
158         $db = wfGetDB( $dbi );
159         if ( $db !== false ) {
160                 return $db->insertId();
161         } else {
162                 return false;
163         }
164 }
165
166 /**
167  * @todo document function
168  */
169 function wfDataSeek( $res, $row, $dbi = DB_LAST ) {
170         $db = wfGetDB( $dbi );
171         if ( $db !== false ) {
172                 return $db->dataSeek( $res, $row );
173         } else {
174                 return false;
175         }
176 }
177
178 /**
179  * @todo document function
180  */
181 function wfLastErrno( $dbi = DB_LAST ) {
182         $db = wfGetDB( $dbi );
183         if ( $db !== false ) {
184                 return $db->lastErrno();
185         } else {
186                 return false;
187         }
188 }
189
190 /**
191  * @todo document function
192  */
193 function wfLastError( $dbi = DB_LAST ) {
194         $db = wfGetDB( $dbi );
195         if ( $db !== false ) {
196                 return $db->lastError();
197         } else {
198                 return false;
199         }
200 }
201
202 /**
203  * @todo document function
204  */
205 function wfAffectedRows( $dbi = DB_LAST ) {
206         $db = wfGetDB( $dbi );
207         if ( $db !== false ) {
208                 return $db->affectedRows();
209         } else {
210                 return false;
211         }
212 }
213
214 /**
215  * @todo document function
216  */
217 function wfLastDBquery( $dbi = DB_LAST ) {
218         $db = wfGetDB( $dbi );
219         if ( $db !== false ) {
220                 return $db->lastQuery();
221         } else {
222                 return false;
223         }
224 }
225
226 /**
227  * @see Database::Set()
228  * @todo document function
229  * @param $table
230  * @param $var
231  * @param $value
232  * @param $cond
233  * @param $dbi Default DB_MASTER
234  */
235 function wfSetSQL( $table, $var, $value, $cond, $dbi = DB_MASTER )
236 {
237         $db = wfGetDB( $dbi );
238         if ( $db !== false ) {
239                 return $db->set( $table, $var, $value, $cond );
240         } else {
241                 return false;
242         }
243 }
244
245
246 /**
247  * @see Database::selectField()
248  * @todo document function
249  * @param $table
250  * @param $var
251  * @param $cond Default ''
252  * @param $dbi Default DB_LAST
253  */
254 function wfGetSQL( $table, $var, $cond='', $dbi = DB_LAST )
255 {
256         $db = wfGetDB( $dbi );
257         if ( $db !== false ) {
258                 return $db->selectField( $table, $var, $cond );
259         } else {
260                 return false;
261         }
262 }
263
264 /**
265  * @see Database::fieldExists()
266  * @todo document function
267  * @param $table
268  * @param $field
269  * @param $dbi Default DB_LAST
270  * @return Result of Database::fieldExists() or false.
271  */
272 function wfFieldExists( $table, $field, $dbi = DB_LAST ) {
273         $db = wfGetDB( $dbi );
274         if ( $db !== false ) {
275                 return $db->fieldExists( $table, $field );
276         } else {
277                 return false;
278         }
279 }
280
281 /**
282  * @see Database::indexExists()
283  * @todo document function
284  * @param $table String
285  * @param $index
286  * @param $dbi Default DB_LAST
287  * @return Result of Database::indexExists() or false.
288  */
289 function wfIndexExists( $table, $index, $dbi = DB_LAST ) {
290         $db = wfGetDB( $dbi );
291         if ( $db !== false ) {
292                 return $db->indexExists( $table, $index );
293         } else {
294                 return false;
295         }
296 }
297
298 /**
299  * @see Database::insert()
300  * @todo document function
301  * @param $table String
302  * @param $array Array
303  * @param $fname String, default 'wfInsertArray'.
304  * @param $dbi Default DB_MASTER
305  * @return result of Database::insert() or false.
306  */
307 function wfInsertArray( $table, $array, $fname = 'wfInsertArray', $dbi = DB_MASTER ) {
308         $db = wfGetDB( $dbi );
309         if ( $db !== false ) {
310                 return $db->insert( $table, $array, $fname );
311         } else {
312                 return false;
313         }
314 }
315
316 /**
317  * @see Database::getArray()
318  * @todo document function
319  * @param $table String
320  * @param $vars
321  * @param $conds
322  * @param $fname String, default 'wfGetArray'.
323  * @param $dbi Default DB_LAST
324  * @return result of Database::getArray() or false.
325  */
326 function wfGetArray( $table, $vars, $conds, $fname = 'wfGetArray', $dbi = DB_LAST ) {
327         $db = wfGetDB( $dbi );
328         if ( $db !== false ) {
329                 return $db->getArray( $table, $vars, $conds, $fname );
330         } else {
331                 return false;
332         }
333 }
334
335 /**
336  * @see Database::update()
337  * @param $table String
338  * @param $values
339  * @param $conds
340  * @param $fname String, default 'wfUpdateArray'
341  * @param $dbi Default DB_MASTER
342  * @return Result of Database::update()) or false;
343  * @todo document function
344  */
345 function wfUpdateArray( $table, $values, $conds, $fname = 'wfUpdateArray', $dbi = DB_MASTER ) {
346         $db = wfGetDB( $dbi );
347         if ( $db !== false ) {
348                 $db->update( $table, $values, $conds, $fname );
349                 return true;
350         } else {
351                 return false;
352         }
353 }
354
355 /**
356  * @todo document function
357  */
358 function wfTableName( $name, $dbi = DB_LAST ) {
359         $db = wfGetDB( $dbi );
360         if ( $db !== false ) {
361                 return $db->tableName( $name );
362         } else {
363                 return false;
364         }
365 }
366
367 /**
368  * @todo document function
369  */
370 function wfStrencode( $s, $dbi = DB_LAST ) {
371         $db = wfGetDB( $dbi );
372         if ( $db !== false ) {
373                 return $db->strencode( $s );
374         } else {
375                 return false;
376         }
377 }
378
379 /**
380  * @todo document function
381  */
382 function wfNextSequenceValue( $seqName, $dbi = DB_MASTER ) {
383         $db = wfGetDB( $dbi );
384         if ( $db !== false ) {
385                 return $db->nextSequenceValue( $seqName );
386         } else {
387                 return false;
388         }
389 }
390
391 /**
392  * @todo document function
393  */
394 function wfUseIndexClause( $index, $dbi = DB_SLAVE ) {
395         $db = wfGetDB( $dbi );
396         if ( $db !== false ) {
397                 return $db->useIndexClause( $index );
398         } else {
399                 return false;
400         }
401 }
402