1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: c7d91d30503ac09c8610ce86846c36123b87f62a */
3
4 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close_all, 0, 0, IS_VOID, 0)
5 ZEND_END_ARG_INFO()
6
7 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_binmode, 0, 2, _IS_BOOL, 0)
8 ZEND_ARG_INFO(0, statement)
9 ZEND_ARG_TYPE_INFO(0, mode, IS_LONG, 0)
10 ZEND_END_ARG_INFO()
11
12 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_longreadlen, 0, 2, _IS_BOOL, 0)
13 ZEND_ARG_INFO(0, statement)
14 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
15 ZEND_END_ARG_INFO()
16
17 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_prepare, 0, 0, 2)
18 ZEND_ARG_INFO(0, odbc)
19 ZEND_ARG_TYPE_INFO(0, query, IS_STRING, 0)
20 ZEND_END_ARG_INFO()
21
22 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_execute, 0, 1, _IS_BOOL, 0)
23 ZEND_ARG_INFO(0, statement)
24 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, params, IS_ARRAY, 0, "[]")
25 ZEND_END_ARG_INFO()
26
27 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_cursor, 0, 1, MAY_BE_STRING|MAY_BE_FALSE)
28 ZEND_ARG_INFO(0, statement)
29 ZEND_END_ARG_INFO()
30
31 #if defined(HAVE_SQLDATASOURCES)
32 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_data_source, 0, 2, MAY_BE_ARRAY|MAY_BE_NULL|MAY_BE_FALSE)
33 ZEND_ARG_INFO(0, odbc)
34 ZEND_ARG_TYPE_INFO(0, fetch_type, IS_LONG, 0)
35 ZEND_END_ARG_INFO()
36 #endif
37
38 #define arginfo_odbc_exec arginfo_odbc_prepare
39
40 #define arginfo_odbc_do arginfo_odbc_prepare
41
42 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
43 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_fetch_object, 0, 1, stdClass, MAY_BE_FALSE)
44 ZEND_ARG_INFO(0, statement)
45 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 0, "-1")
46 ZEND_END_ARG_INFO()
47 #endif
48
49 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
50 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_fetch_array, 0, 1, MAY_BE_ARRAY|MAY_BE_FALSE)
51 ZEND_ARG_INFO(0, statement)
52 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 0, "-1")
53 ZEND_END_ARG_INFO()
54 #endif
55
56 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_fetch_into, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
57 ZEND_ARG_INFO(0, statement)
58 ZEND_ARG_INFO(1, array)
59 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 0, "0")
60 ZEND_END_ARG_INFO()
61
62 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_fetch_row, 0, 1, _IS_BOOL, 0)
63 ZEND_ARG_INFO(0, statement)
64 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, row, IS_LONG, 1, "null")
65 ZEND_END_ARG_INFO()
66
67 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_result, 0, 2, MAY_BE_STRING|MAY_BE_BOOL|MAY_BE_NULL)
68 ZEND_ARG_INFO(0, statement)
69 ZEND_ARG_TYPE_MASK(0, field, MAY_BE_STRING|MAY_BE_LONG, NULL)
70 ZEND_END_ARG_INFO()
71
72 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_result_all, 0, 1, MAY_BE_LONG|MAY_BE_FALSE)
73 ZEND_ARG_INFO(0, statement)
74 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, format, IS_STRING, 0, "\"\"")
75 ZEND_END_ARG_INFO()
76
77 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_free_result, 0, 1, _IS_BOOL, 0)
78 ZEND_ARG_INFO(0, statement)
79 ZEND_END_ARG_INFO()
80
81 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_connect, 0, 0, 3)
82 ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0)
83 ZEND_ARG_TYPE_INFO(0, user, IS_STRING, 0)
84 ZEND_ARG_TYPE_INFO(0, password, IS_STRING, 0)
85 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, cursor_option, IS_LONG, 0, "SQL_CUR_USE_DRIVER")
86 ZEND_END_ARG_INFO()
87
88 #define arginfo_odbc_pconnect arginfo_odbc_connect
89
90 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_close, 0, 1, IS_VOID, 0)
91 ZEND_ARG_INFO(0, odbc)
92 ZEND_END_ARG_INFO()
93
94 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_num_rows, 0, 1, IS_LONG, 0)
95 ZEND_ARG_INFO(0, statement)
96 ZEND_END_ARG_INFO()
97
98 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
99 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_next_result, 0, 1, _IS_BOOL, 0)
100 ZEND_ARG_INFO(0, statement)
101 ZEND_END_ARG_INFO()
102 #endif
103
104 #define arginfo_odbc_num_fields arginfo_odbc_num_rows
105
106 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_name, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
107 ZEND_ARG_INFO(0, statement)
108 ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
109 ZEND_END_ARG_INFO()
110
111 #define arginfo_odbc_field_type arginfo_odbc_field_name
112
113 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_len, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
114 ZEND_ARG_INFO(0, statement)
115 ZEND_ARG_TYPE_INFO(0, field, IS_LONG, 0)
116 ZEND_END_ARG_INFO()
117
118 #define arginfo_odbc_field_precision arginfo_odbc_field_len
119
120 #define arginfo_odbc_field_scale arginfo_odbc_field_len
121
122 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_field_num, 0, 2, MAY_BE_LONG|MAY_BE_FALSE)
123 ZEND_ARG_INFO(0, statement)
124 ZEND_ARG_TYPE_INFO(0, field, IS_STRING, 0)
125 ZEND_END_ARG_INFO()
126
127 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_odbc_autocommit, 0, 1, MAY_BE_LONG|MAY_BE_BOOL)
128 ZEND_ARG_INFO(0, odbc)
129 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 0, "false")
130 ZEND_END_ARG_INFO()
131
132 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_commit, 0, 1, _IS_BOOL, 0)
133 ZEND_ARG_INFO(0, odbc)
134 ZEND_END_ARG_INFO()
135
136 #define arginfo_odbc_rollback arginfo_odbc_commit
137
138 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_error, 0, 0, IS_STRING, 0)
139 ZEND_ARG_INFO_WITH_DEFAULT_VALUE(0, odbc, "null")
140 ZEND_END_ARG_INFO()
141
142 #define arginfo_odbc_errormsg arginfo_odbc_error
143
144 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_setoption, 0, 4, _IS_BOOL, 0)
145 ZEND_ARG_INFO(0, odbc)
146 ZEND_ARG_TYPE_INFO(0, which, IS_LONG, 0)
147 ZEND_ARG_TYPE_INFO(0, option, IS_LONG, 0)
148 ZEND_ARG_TYPE_INFO(0, value, IS_LONG, 0)
149 ZEND_END_ARG_INFO()
150
151 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tables, 0, 0, 1)
152 ZEND_ARG_INFO(0, odbc)
153 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
154 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
155 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, table, IS_STRING, 1, "null")
156 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, types, IS_STRING, 1, "null")
157 ZEND_END_ARG_INFO()
158
159 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columns, 0, 0, 1)
160 ZEND_ARG_INFO(0, odbc)
161 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
162 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
163 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, table, IS_STRING, 1, "null")
164 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, column, IS_STRING, 1, "null")
165 ZEND_END_ARG_INFO()
166
167 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_gettypeinfo, 0, 0, 1)
168 ZEND_ARG_INFO(0, odbc)
169 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, data_type, IS_LONG, 0, "0")
170 ZEND_END_ARG_INFO()
171
172 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_primarykeys, 0, 0, 4)
173 ZEND_ARG_INFO(0, odbc)
174 ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
175 ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
176 ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
177 ZEND_END_ARG_INFO()
178
179 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
180 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedurecolumns, 0, 0, 1)
181 ZEND_ARG_INFO(0, odbc)
182 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
183 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
184 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, procedure, IS_STRING, 1, "null")
185 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, column, IS_STRING, 1, "null")
186 ZEND_END_ARG_INFO()
187 #endif
188
189 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
190 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_procedures, 0, 0, 1)
191 ZEND_ARG_INFO(0, odbc)
192 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, catalog, IS_STRING, 1, "null")
193 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, schema, IS_STRING, 1, "null")
194 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, procedure, IS_STRING, 1, "null")
195 ZEND_END_ARG_INFO()
196 #endif
197
198 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
199 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_foreignkeys, 0, 0, 7)
200 ZEND_ARG_INFO(0, odbc)
201 ZEND_ARG_TYPE_INFO(0, pk_catalog, IS_STRING, 1)
202 ZEND_ARG_TYPE_INFO(0, pk_schema, IS_STRING, 0)
203 ZEND_ARG_TYPE_INFO(0, pk_table, IS_STRING, 0)
204 ZEND_ARG_TYPE_INFO(0, fk_catalog, IS_STRING, 0)
205 ZEND_ARG_TYPE_INFO(0, fk_schema, IS_STRING, 0)
206 ZEND_ARG_TYPE_INFO(0, fk_table, IS_STRING, 0)
207 ZEND_END_ARG_INFO()
208 #endif
209
210 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_specialcolumns, 0, 0, 7)
211 ZEND_ARG_INFO(0, odbc)
212 ZEND_ARG_TYPE_INFO(0, type, IS_LONG, 0)
213 ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
214 ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
215 ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
216 ZEND_ARG_TYPE_INFO(0, scope, IS_LONG, 0)
217 ZEND_ARG_TYPE_INFO(0, nullable, IS_LONG, 0)
218 ZEND_END_ARG_INFO()
219
220 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_statistics, 0, 0, 6)
221 ZEND_ARG_INFO(0, odbc)
222 ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
223 ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
224 ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
225 ZEND_ARG_TYPE_INFO(0, unique, IS_LONG, 0)
226 ZEND_ARG_TYPE_INFO(0, accuracy, IS_LONG, 0)
227 ZEND_END_ARG_INFO()
228
229 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
230 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_tableprivileges, 0, 0, 4)
231 ZEND_ARG_INFO(0, odbc)
232 ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
233 ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
234 ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
235 ZEND_END_ARG_INFO()
236 #endif
237
238 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
239 ZEND_BEGIN_ARG_INFO_EX(arginfo_odbc_columnprivileges, 0, 0, 5)
240 ZEND_ARG_INFO(0, odbc)
241 ZEND_ARG_TYPE_INFO(0, catalog, IS_STRING, 1)
242 ZEND_ARG_TYPE_INFO(0, schema, IS_STRING, 0)
243 ZEND_ARG_TYPE_INFO(0, table, IS_STRING, 0)
244 ZEND_ARG_TYPE_INFO(0, column, IS_STRING, 0)
245 ZEND_END_ARG_INFO()
246 #endif
247
248 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_connection_string_is_quoted, 0, 1, _IS_BOOL, 0)
249 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
250 ZEND_END_ARG_INFO()
251
252 #define arginfo_odbc_connection_string_should_quote arginfo_odbc_connection_string_is_quoted
253
254 ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_odbc_connection_string_quote, 0, 1, IS_STRING, 0)
255 ZEND_ARG_TYPE_INFO(0, str, IS_STRING, 0)
256 ZEND_END_ARG_INFO()
257
258
259 ZEND_FUNCTION(odbc_close_all);
260 ZEND_FUNCTION(odbc_binmode);
261 ZEND_FUNCTION(odbc_longreadlen);
262 ZEND_FUNCTION(odbc_prepare);
263 ZEND_FUNCTION(odbc_execute);
264 ZEND_FUNCTION(odbc_cursor);
265 #if defined(HAVE_SQLDATASOURCES)
266 ZEND_FUNCTION(odbc_data_source);
267 #endif
268 ZEND_FUNCTION(odbc_exec);
269 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
270 ZEND_FUNCTION(odbc_fetch_object);
271 #endif
272 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
273 ZEND_FUNCTION(odbc_fetch_array);
274 #endif
275 ZEND_FUNCTION(odbc_fetch_into);
276 ZEND_FUNCTION(odbc_fetch_row);
277 ZEND_FUNCTION(odbc_result);
278 ZEND_FUNCTION(odbc_result_all);
279 ZEND_FUNCTION(odbc_free_result);
280 ZEND_FUNCTION(odbc_connect);
281 ZEND_FUNCTION(odbc_pconnect);
282 ZEND_FUNCTION(odbc_close);
283 ZEND_FUNCTION(odbc_num_rows);
284 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
285 ZEND_FUNCTION(odbc_next_result);
286 #endif
287 ZEND_FUNCTION(odbc_num_fields);
288 ZEND_FUNCTION(odbc_field_name);
289 ZEND_FUNCTION(odbc_field_type);
290 ZEND_FUNCTION(odbc_field_len);
291 ZEND_FUNCTION(odbc_field_scale);
292 ZEND_FUNCTION(odbc_field_num);
293 ZEND_FUNCTION(odbc_autocommit);
294 ZEND_FUNCTION(odbc_commit);
295 ZEND_FUNCTION(odbc_rollback);
296 ZEND_FUNCTION(odbc_error);
297 ZEND_FUNCTION(odbc_errormsg);
298 ZEND_FUNCTION(odbc_setoption);
299 ZEND_FUNCTION(odbc_tables);
300 ZEND_FUNCTION(odbc_columns);
301 ZEND_FUNCTION(odbc_gettypeinfo);
302 ZEND_FUNCTION(odbc_primarykeys);
303 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
304 ZEND_FUNCTION(odbc_procedurecolumns);
305 #endif
306 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
307 ZEND_FUNCTION(odbc_procedures);
308 #endif
309 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
310 ZEND_FUNCTION(odbc_foreignkeys);
311 #endif
312 ZEND_FUNCTION(odbc_specialcolumns);
313 ZEND_FUNCTION(odbc_statistics);
314 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
315 ZEND_FUNCTION(odbc_tableprivileges);
316 #endif
317 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
318 ZEND_FUNCTION(odbc_columnprivileges);
319 #endif
320 ZEND_FUNCTION(odbc_connection_string_is_quoted);
321 ZEND_FUNCTION(odbc_connection_string_should_quote);
322 ZEND_FUNCTION(odbc_connection_string_quote);
323
324
325 static const zend_function_entry ext_functions[] = {
326 ZEND_FE(odbc_close_all, arginfo_odbc_close_all)
327 ZEND_FE(odbc_binmode, arginfo_odbc_binmode)
328 ZEND_FE(odbc_longreadlen, arginfo_odbc_longreadlen)
329 ZEND_FE(odbc_prepare, arginfo_odbc_prepare)
330 ZEND_FE(odbc_execute, arginfo_odbc_execute)
331 ZEND_FE(odbc_cursor, arginfo_odbc_cursor)
332 #if defined(HAVE_SQLDATASOURCES)
333 ZEND_FE(odbc_data_source, arginfo_odbc_data_source)
334 #endif
335 ZEND_FE(odbc_exec, arginfo_odbc_exec)
336 ZEND_FALIAS(odbc_do, odbc_exec, arginfo_odbc_do)
337 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
338 ZEND_FE(odbc_fetch_object, arginfo_odbc_fetch_object)
339 #endif
340 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
341 ZEND_FE(odbc_fetch_array, arginfo_odbc_fetch_array)
342 #endif
343 ZEND_FE(odbc_fetch_into, arginfo_odbc_fetch_into)
344 ZEND_FE(odbc_fetch_row, arginfo_odbc_fetch_row)
345 ZEND_FE(odbc_result, arginfo_odbc_result)
346 ZEND_DEP_FE(odbc_result_all, arginfo_odbc_result_all)
347 ZEND_FE(odbc_free_result, arginfo_odbc_free_result)
348 ZEND_FE(odbc_connect, arginfo_odbc_connect)
349 ZEND_FE(odbc_pconnect, arginfo_odbc_pconnect)
350 ZEND_FE(odbc_close, arginfo_odbc_close)
351 ZEND_FE(odbc_num_rows, arginfo_odbc_num_rows)
352 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
353 ZEND_FE(odbc_next_result, arginfo_odbc_next_result)
354 #endif
355 ZEND_FE(odbc_num_fields, arginfo_odbc_num_fields)
356 ZEND_FE(odbc_field_name, arginfo_odbc_field_name)
357 ZEND_FE(odbc_field_type, arginfo_odbc_field_type)
358 ZEND_FE(odbc_field_len, arginfo_odbc_field_len)
359 ZEND_FALIAS(odbc_field_precision, odbc_field_len, arginfo_odbc_field_precision)
360 ZEND_FE(odbc_field_scale, arginfo_odbc_field_scale)
361 ZEND_FE(odbc_field_num, arginfo_odbc_field_num)
362 ZEND_FE(odbc_autocommit, arginfo_odbc_autocommit)
363 ZEND_FE(odbc_commit, arginfo_odbc_commit)
364 ZEND_FE(odbc_rollback, arginfo_odbc_rollback)
365 ZEND_FE(odbc_error, arginfo_odbc_error)
366 ZEND_FE(odbc_errormsg, arginfo_odbc_errormsg)
367 ZEND_FE(odbc_setoption, arginfo_odbc_setoption)
368 ZEND_FE(odbc_tables, arginfo_odbc_tables)
369 ZEND_FE(odbc_columns, arginfo_odbc_columns)
370 ZEND_FE(odbc_gettypeinfo, arginfo_odbc_gettypeinfo)
371 ZEND_FE(odbc_primarykeys, arginfo_odbc_primarykeys)
372 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
373 ZEND_FE(odbc_procedurecolumns, arginfo_odbc_procedurecolumns)
374 #endif
375 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
376 ZEND_FE(odbc_procedures, arginfo_odbc_procedures)
377 #endif
378 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
379 ZEND_FE(odbc_foreignkeys, arginfo_odbc_foreignkeys)
380 #endif
381 ZEND_FE(odbc_specialcolumns, arginfo_odbc_specialcolumns)
382 ZEND_FE(odbc_statistics, arginfo_odbc_statistics)
383 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
384 ZEND_FE(odbc_tableprivileges, arginfo_odbc_tableprivileges)
385 #endif
386 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
387 ZEND_FE(odbc_columnprivileges, arginfo_odbc_columnprivileges)
388 #endif
389 ZEND_FE(odbc_connection_string_is_quoted, arginfo_odbc_connection_string_is_quoted)
390 ZEND_FE(odbc_connection_string_should_quote, arginfo_odbc_connection_string_should_quote)
391 ZEND_FE(odbc_connection_string_quote, arginfo_odbc_connection_string_quote)
392 ZEND_FE_END
393 };
394
register_odbc_symbols(int module_number)395 static void register_odbc_symbols(int module_number)
396 {
397 REGISTER_STRING_CONSTANT("ODBC_TYPE", PHP_ODBC_TYPE, CONST_PERSISTENT);
398 REGISTER_LONG_CONSTANT("ODBC_BINMODE_PASSTHRU", PHP_ODBC_BINMODE_PASSTHRU, CONST_PERSISTENT);
399 REGISTER_LONG_CONSTANT("ODBC_BINMODE_RETURN", PHP_ODBC_BINMODE_RETURN, CONST_PERSISTENT);
400 REGISTER_LONG_CONSTANT("ODBC_BINMODE_CONVERT", PHP_ODBC_BINMODE_CONVERT, CONST_PERSISTENT);
401 REGISTER_LONG_CONSTANT("SQL_ODBC_CURSORS", SQL_ODBC_CURSORS, CONST_PERSISTENT);
402 REGISTER_LONG_CONSTANT("SQL_CUR_USE_DRIVER", SQL_CUR_USE_DRIVER, CONST_PERSISTENT);
403 REGISTER_LONG_CONSTANT("SQL_CUR_USE_IF_NEEDED", SQL_CUR_USE_IF_NEEDED, CONST_PERSISTENT);
404 REGISTER_LONG_CONSTANT("SQL_CUR_USE_ODBC", SQL_CUR_USE_ODBC, CONST_PERSISTENT);
405 REGISTER_LONG_CONSTANT("SQL_CONCURRENCY", SQL_CONCURRENCY, CONST_PERSISTENT);
406 REGISTER_LONG_CONSTANT("SQL_CONCUR_READ_ONLY", SQL_CONCUR_READ_ONLY, CONST_PERSISTENT);
407 REGISTER_LONG_CONSTANT("SQL_CONCUR_LOCK", SQL_CONCUR_LOCK, CONST_PERSISTENT);
408 REGISTER_LONG_CONSTANT("SQL_CONCUR_ROWVER", SQL_CONCUR_ROWVER, CONST_PERSISTENT);
409 REGISTER_LONG_CONSTANT("SQL_CONCUR_VALUES", SQL_CONCUR_VALUES, CONST_PERSISTENT);
410 REGISTER_LONG_CONSTANT("SQL_CURSOR_TYPE", SQL_CURSOR_TYPE, CONST_PERSISTENT);
411 REGISTER_LONG_CONSTANT("SQL_CURSOR_FORWARD_ONLY", SQL_CURSOR_FORWARD_ONLY, CONST_PERSISTENT);
412 REGISTER_LONG_CONSTANT("SQL_CURSOR_KEYSET_DRIVEN", SQL_CURSOR_KEYSET_DRIVEN, CONST_PERSISTENT);
413 REGISTER_LONG_CONSTANT("SQL_CURSOR_DYNAMIC", SQL_CURSOR_DYNAMIC, CONST_PERSISTENT);
414 REGISTER_LONG_CONSTANT("SQL_CURSOR_STATIC", SQL_CURSOR_STATIC, CONST_PERSISTENT);
415 REGISTER_LONG_CONSTANT("SQL_KEYSET_SIZE", SQL_KEYSET_SIZE, CONST_PERSISTENT);
416 REGISTER_LONG_CONSTANT("SQL_FETCH_FIRST", SQL_FETCH_FIRST, CONST_PERSISTENT);
417 REGISTER_LONG_CONSTANT("SQL_FETCH_NEXT", SQL_FETCH_NEXT, CONST_PERSISTENT);
418 REGISTER_LONG_CONSTANT("SQL_CHAR", SQL_CHAR, CONST_PERSISTENT);
419 REGISTER_LONG_CONSTANT("SQL_VARCHAR", SQL_VARCHAR, CONST_PERSISTENT);
420 REGISTER_LONG_CONSTANT("SQL_LONGVARCHAR", SQL_LONGVARCHAR, CONST_PERSISTENT);
421 REGISTER_LONG_CONSTANT("SQL_DECIMAL", SQL_DECIMAL, CONST_PERSISTENT);
422 REGISTER_LONG_CONSTANT("SQL_NUMERIC", SQL_NUMERIC, CONST_PERSISTENT);
423 REGISTER_LONG_CONSTANT("SQL_BIT", SQL_BIT, CONST_PERSISTENT);
424 REGISTER_LONG_CONSTANT("SQL_TINYINT", SQL_TINYINT, CONST_PERSISTENT);
425 REGISTER_LONG_CONSTANT("SQL_SMALLINT", SQL_SMALLINT, CONST_PERSISTENT);
426 REGISTER_LONG_CONSTANT("SQL_INTEGER", SQL_INTEGER, CONST_PERSISTENT);
427 REGISTER_LONG_CONSTANT("SQL_BIGINT", SQL_BIGINT, CONST_PERSISTENT);
428 REGISTER_LONG_CONSTANT("SQL_REAL", SQL_REAL, CONST_PERSISTENT);
429 REGISTER_LONG_CONSTANT("SQL_FLOAT", SQL_FLOAT, CONST_PERSISTENT);
430 REGISTER_LONG_CONSTANT("SQL_DOUBLE", SQL_DOUBLE, CONST_PERSISTENT);
431 REGISTER_LONG_CONSTANT("SQL_BINARY", SQL_BINARY, CONST_PERSISTENT);
432 REGISTER_LONG_CONSTANT("SQL_VARBINARY", SQL_VARBINARY, CONST_PERSISTENT);
433 REGISTER_LONG_CONSTANT("SQL_LONGVARBINARY", SQL_LONGVARBINARY, CONST_PERSISTENT);
434 REGISTER_LONG_CONSTANT("SQL_DATE", SQL_DATE, CONST_PERSISTENT);
435 REGISTER_LONG_CONSTANT("SQL_TIME", SQL_TIME, CONST_PERSISTENT);
436 REGISTER_LONG_CONSTANT("SQL_TIMESTAMP", SQL_TIMESTAMP, CONST_PERSISTENT);
437 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
438 REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_PERSISTENT);
439 #endif
440 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
441 REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_PERSISTENT);
442 #endif
443 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
444 REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_PERSISTENT);
445 #endif
446 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
447 REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_PERSISTENT);
448 #endif
449 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
450 REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT);
451 #endif
452 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
453 REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_PERSISTENT);
454 #endif
455 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
456 REGISTER_LONG_CONSTANT("SQL_BEST_ROWID", SQL_BEST_ROWID, CONST_PERSISTENT);
457 #endif
458 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
459 REGISTER_LONG_CONSTANT("SQL_ROWVER", SQL_ROWVER, CONST_PERSISTENT);
460 #endif
461 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
462 REGISTER_LONG_CONSTANT("SQL_SCOPE_CURROW", SQL_SCOPE_CURROW, CONST_PERSISTENT);
463 #endif
464 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
465 REGISTER_LONG_CONSTANT("SQL_SCOPE_TRANSACTION", SQL_SCOPE_TRANSACTION, CONST_PERSISTENT);
466 #endif
467 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
468 REGISTER_LONG_CONSTANT("SQL_SCOPE_SESSION", SQL_SCOPE_SESSION, CONST_PERSISTENT);
469 #endif
470 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
471 REGISTER_LONG_CONSTANT("SQL_NO_NULLS", SQL_NO_NULLS, CONST_PERSISTENT);
472 #endif
473 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
474 REGISTER_LONG_CONSTANT("SQL_NULLABLE", SQL_NULLABLE, CONST_PERSISTENT);
475 #endif
476 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
477 REGISTER_LONG_CONSTANT("SQL_INDEX_UNIQUE", SQL_INDEX_UNIQUE, CONST_PERSISTENT);
478 #endif
479 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
480 REGISTER_LONG_CONSTANT("SQL_INDEX_ALL", SQL_INDEX_ALL, CONST_PERSISTENT);
481 #endif
482 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
483 REGISTER_LONG_CONSTANT("SQL_ENSURE", SQL_ENSURE, CONST_PERSISTENT);
484 #endif
485 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
486 REGISTER_LONG_CONSTANT("SQL_QUICK", SQL_QUICK, CONST_PERSISTENT);
487 #endif
488
489
490 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "odbc_connect", sizeof("odbc_connect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
491
492 zend_add_parameter_attribute(zend_hash_str_find_ptr(CG(function_table), "odbc_pconnect", sizeof("odbc_pconnect") - 1), 2, ZSTR_KNOWN(ZEND_STR_SENSITIVEPARAMETER), 0);
493 }
494