* Support for table name prefixes throughout the code. No support yet for converting...
[lhc/web/wiklou.git] / includes / DatabaseFunctions.php
1 <?php
2 # $Id$
3
4 # Backwards compatibility wrapper for Database.php
5
6 # Note: $wgDatabase has ceased to exist. Destroy all references.
7
8 # Usually aborts on failure
9 # If errors are explicitly ignored, returns success
10 function wfQuery( $sql, $db, $fname = "" )
11 {
12 global $wgOut;
13 if ( !is_numeric( $db ) ) {
14 # Someone has tried to call this the old way
15 $wgOut->fatalError( wfMsgNoDB( "wrong_wfQuery_params", $db, $sql ) );
16 }
17 $c =& wfGetDB( $db );
18 if ( $c !== false ) {
19 return $c->query( $sql, $fname );
20 } else {
21 return false;
22 }
23 }
24
25 function wfSingleQuery( $sql, $dbi, $fname = "" )
26 {
27 $db =& wfGetDB( $dbi );
28 $res = $db->query($sql, $fname );
29 $row = $db->fetchRow( $res );
30 $ret = $row[0];
31 $db->freeResult( $res );
32 return $ret;
33 }
34
35 function &wfGetDB( $db = DB_LAST )
36 {
37 global $wgLoadBalancer;
38 return $wgLoadBalancer->getConnection( $db );
39 }
40
41 # Turns buffering of SQL result sets on (true) or off (false). Default is
42 # "on" and it should not be changed without good reasons.
43 # Returns the previous state.
44
45 function wfBufferSQLResults( $newstate, $dbi = DB_LAST )
46 {
47 $db =& wfGetDB( $dbi );
48 if ( $db !== false ) {
49 return $db->setBufferResults( $newstate );
50 } else {
51 return NULL;
52 }
53 }
54
55 # Turns on (false) or off (true) the automatic generation and sending
56 # of a "we're sorry, but there has been a database error" page on
57 # database errors. Default is on (false). When turned off, the
58 # code should use wfLastErrno() and wfLastError() to handle the
59 # situation as appropriate.
60 # Returns the previous state.
61
62 function wfIgnoreSQLErrors( $newstate, $dbi = DB_LAST )
63 {
64 $db =& wfGetDB( $dbi );
65 if ( $db !== false ) {
66 return $db->setIgnoreErrors( $newstate );
67 } else {
68 return NULL;
69 }
70 }
71
72 function wfFreeResult( $res, $dbi = DB_LAST )
73 {
74 $db =& wfGetDB( $dbi );
75 if ( $db !== false ) {
76 $db->freeResult( $res );
77 return true;
78 } else {
79 return false;
80 }
81 }
82
83 function wfFetchObject( $res, $dbi = DB_LAST )
84 {
85 $db =& wfGetDB( $dbi );
86 if ( $db !== false ) {
87 return $db->fetchObject( $res, $dbi = DB_LAST );
88 } else {
89 return false;
90 }
91 }
92
93 function wfFetchRow( $res, $dbi = DB_LAST )
94 {
95 $db =& wfGetDB( $dbi );
96 if ( $db !== false ) {
97 return $db->fetchRow ( $res, $dbi = DB_LAST );
98 } else {
99 return false;
100 }
101 }
102
103 function wfNumRows( $res, $dbi = DB_LAST )
104 {
105 $db =& wfGetDB( $dbi );
106 if ( $db !== false ) {
107 return $db->numRows( $res, $dbi = DB_LAST );
108 } else {
109 return false;
110 }
111 }
112
113 function wfNumFields( $res, $dbi = DB_LAST )
114 {
115 $db =& wfGetDB( $dbi );
116 if ( $db !== false ) {
117 return $db->numFields( $res );
118 } else {
119 return false;
120 }
121 }
122
123 function wfFieldName( $res, $n, $dbi = DB_LAST )
124 {
125 $db =& wfGetDB( $dbi );
126 if ( $db !== false ) {
127 return $db->fieldName( $res, $n, $dbi = DB_LAST );
128 } else {
129 return false;
130 }
131 }
132
133 function wfInsertId( $dbi = DB_LAST )
134 {
135 $db =& wfGetDB( $dbi );
136 if ( $db !== false ) {
137 return $db->insertId();
138 } else {
139 return false;
140 }
141 }
142
143 function wfDataSeek( $res, $row, $dbi = DB_LAST )
144 {
145 $db =& wfGetDB( $dbi );
146 if ( $db !== false ) {
147 return $db->dataSeek( $res, $row );
148 } else {
149 return false;
150 }
151 }
152
153 function wfLastErrno( $dbi = DB_LAST )
154 {
155 $db =& wfGetDB( $dbi );
156 if ( $db !== false ) {
157 return $db->lastErrno();
158 } else {
159 return false;
160 }
161 }
162
163 function wfLastError( $dbi = DB_LAST )
164 {
165 $db =& wfGetDB( $dbi );
166 if ( $db !== false ) {
167 return $db->lastError();
168 } else {
169 return false;
170 }
171 }
172
173 function wfAffectedRows( $dbi = DB_LAST )
174 {
175 $db =& wfGetDB( $dbi );
176 if ( $db !== false ) {
177 return $db->affectedRows();
178 } else {
179 return false;
180 }
181 }
182
183 function wfLastDBquery( $dbi = DB_LAST )
184 {
185 $db =& wfGetDB( $dbi );
186 if ( $db !== false ) {
187 return $db->lastQuery();
188 } else {
189 return false;
190 }
191 }
192
193 function wfSetSQL( $table, $var, $value, $cond, $dbi = DB_MASTER )
194 {
195 $db =& wfGetDB( $dbi );
196 if ( $db !== false ) {
197 return $db->set( $table, $var, $value, $cond );
198 } else {
199 return false;
200 }
201 }
202
203 function wfGetSQL( $table, $var, $cond="", $dbi = DB_LAST )
204 {
205 $db =& wfGetDB( $dbi );
206 if ( $db !== false ) {
207 return $db->getField( $table, $var, $cond );
208 } else {
209 return false;
210 }
211 }
212
213 function wfFieldExists( $table, $field, $dbi = DB_LAST )
214 {
215 $db =& wfGetDB( $dbi );
216 if ( $db !== false ) {
217 return $db->fieldExists( $table, $field );
218 } else {
219 return false;
220 }
221 }
222
223 function wfIndexExists( $table, $index, $dbi = DB_LAST )
224 {
225 $db =& wfGetDB( $dbi );
226 if ( $db !== false ) {
227 return $db->indexExists( $table, $index );
228 } else {
229 return false;
230 }
231 }
232
233 function wfInsertArray( $table, $array, $fname = "wfInsertArray", $dbi = DB_MASTER )
234 {
235 $db =& wfGetDB( $dbi );
236 if ( $db !== false ) {
237 return $db->insertArray( $table, $array, $fname );
238 } else {
239 return false;
240 }
241 }
242
243 function wfGetArray( $table, $vars, $conds, $fname = "wfGetArray", $dbi = DB_LAST )
244 {
245 $db =& wfGetDB( $dbi );
246 if ( $db !== false ) {
247 return $db->getArray( $table, $vars, $conds, $fname );
248 } else {
249 return false;
250 }
251 }
252
253 function wfUpdateArray( $table, $values, $conds, $fname = "wfUpdateArray", $dbi = DB_MASTER )
254 {
255 $db =& wfGetDB( $dbi );
256 if ( $db !== false ) {
257 $db->updateArray( $table, $values, $conds, $fname );
258 return true;
259 } else {
260 return false;
261 }
262 }
263
264 function wfTableName( $name, $dbi = DB_LAST ) {
265 $db =& wfGetDB( $dbi );
266 if ( $db !== false ) {
267 return $db->tableName( $name );
268 } else {
269 return false;
270 }
271 }
272
273 function wfStrencode( $s, $dbi = DB_LAST )
274 {
275 $db =& wfGetDB( $dbi );
276 if ( $db !== false ) {
277 return $db->strencode( $s );
278 } else {
279 return false;
280 }
281 }
282
283 function wfNextSequenceValue( $seqName, $dbi = DB_MASTER ) {
284 $db =& wfGetDB( $dbi );
285 if ( $db !== false ) {
286 return $db->nextSequenceValue( $seqName );
287 } else {
288 return false;
289 }
290 }
291
292 function wfUseIndexClause( $index, $dbi = DB_SLAVE ) {
293 $db =& wfGetDB( $dbi );
294 if ( $db !== false ) {
295 return $db->useIndexClause( $index );
296 } else {
297 return false;
298 }
299 }
300 ?>