1 /* This is a generated file, edit the .stub.php file instead.
2 * Stub hash: 34cebf41d91e4dacb8655a935c629ac62f0bb5ab */
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_TRUE, 0)
8 ZEND_ARG_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_TRUE, 0)
13 ZEND_ARG_OBJ_INFO(0, statement, Odbc\\Result, 0)
14 ZEND_ARG_TYPE_INFO(0, length, IS_LONG, 0)
15 ZEND_END_ARG_INFO()
16
17 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_prepare, 0, 2, Odbc\\Result, MAY_BE_FALSE)
18 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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, 1, "null")
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, 1, "null")
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, 1, "null")
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_TRUE, 0)
78 ZEND_ARG_OBJ_INFO(0, statement, Odbc\\Result, 0)
79 ZEND_END_ARG_INFO()
80
81 ZEND_BEGIN_ARG_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_connect, 0, 1, Odbc\\Connection, MAY_BE_FALSE)
82 ZEND_ARG_TYPE_INFO(0, dsn, IS_STRING, 0)
83 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, user, IS_STRING, 1, "null")
84 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, password, IS_STRING, 1, "null")
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_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, statement, Odbc\\Result, 0)
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_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
129 ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, enable, _IS_BOOL, 1, "null")
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_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_OBJ_INFO_WITH_DEFAULT_VALUE(0, odbc, Odbc\\Connection, 1, "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_OBJ_TYPE_MASK(0, odbc, Odbc\\Connection|Odbc\\Result, 0, NULL)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_tables, 0, 1, Odbc\\Result, MAY_BE_FALSE)
152 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_columns, 0, 1, Odbc\\Result, MAY_BE_FALSE)
160 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_gettypeinfo, 0, 1, Odbc\\Result, MAY_BE_FALSE)
168 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_primarykeys, 0, 4, Odbc\\Result, MAY_BE_FALSE)
173 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_procedurecolumns, 0, 1, Odbc\\Result, MAY_BE_FALSE)
181 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_procedures, 0, 1, Odbc\\Result, MAY_BE_FALSE)
191 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_foreignkeys, 0, 7, Odbc\\Result, MAY_BE_FALSE)
200 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_specialcolumns, 0, 7, Odbc\\Result, MAY_BE_FALSE)
211 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_statistics, 0, 6, Odbc\\Result, MAY_BE_FALSE)
221 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_tableprivileges, 0, 4, Odbc\\Result, MAY_BE_FALSE)
231 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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_WITH_RETURN_OBJ_TYPE_MASK_EX(arginfo_odbc_columnprivileges, 0, 5, Odbc\\Result, MAY_BE_FALSE)
240 ZEND_ARG_OBJ_INFO(0, odbc, Odbc\\Connection, 0)
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 ZEND_FUNCTION(odbc_close_all);
259 ZEND_FUNCTION(odbc_binmode);
260 ZEND_FUNCTION(odbc_longreadlen);
261 ZEND_FUNCTION(odbc_prepare);
262 ZEND_FUNCTION(odbc_execute);
263 ZEND_FUNCTION(odbc_cursor);
264 #if defined(HAVE_SQLDATASOURCES)
265 ZEND_FUNCTION(odbc_data_source);
266 #endif
267 ZEND_FUNCTION(odbc_exec);
268 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
269 ZEND_FUNCTION(odbc_fetch_object);
270 #endif
271 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
272 ZEND_FUNCTION(odbc_fetch_array);
273 #endif
274 ZEND_FUNCTION(odbc_fetch_into);
275 ZEND_FUNCTION(odbc_fetch_row);
276 ZEND_FUNCTION(odbc_result);
277 ZEND_FUNCTION(odbc_result_all);
278 ZEND_FUNCTION(odbc_free_result);
279 ZEND_FUNCTION(odbc_connect);
280 ZEND_FUNCTION(odbc_pconnect);
281 ZEND_FUNCTION(odbc_close);
282 ZEND_FUNCTION(odbc_num_rows);
283 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
284 ZEND_FUNCTION(odbc_next_result);
285 #endif
286 ZEND_FUNCTION(odbc_num_fields);
287 ZEND_FUNCTION(odbc_field_name);
288 ZEND_FUNCTION(odbc_field_type);
289 ZEND_FUNCTION(odbc_field_len);
290 ZEND_FUNCTION(odbc_field_scale);
291 ZEND_FUNCTION(odbc_field_num);
292 ZEND_FUNCTION(odbc_autocommit);
293 ZEND_FUNCTION(odbc_commit);
294 ZEND_FUNCTION(odbc_rollback);
295 ZEND_FUNCTION(odbc_error);
296 ZEND_FUNCTION(odbc_errormsg);
297 ZEND_FUNCTION(odbc_setoption);
298 ZEND_FUNCTION(odbc_tables);
299 ZEND_FUNCTION(odbc_columns);
300 ZEND_FUNCTION(odbc_gettypeinfo);
301 ZEND_FUNCTION(odbc_primarykeys);
302 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
303 ZEND_FUNCTION(odbc_procedurecolumns);
304 #endif
305 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
306 ZEND_FUNCTION(odbc_procedures);
307 #endif
308 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
309 ZEND_FUNCTION(odbc_foreignkeys);
310 #endif
311 ZEND_FUNCTION(odbc_specialcolumns);
312 ZEND_FUNCTION(odbc_statistics);
313 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
314 ZEND_FUNCTION(odbc_tableprivileges);
315 #endif
316 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
317 ZEND_FUNCTION(odbc_columnprivileges);
318 #endif
319 ZEND_FUNCTION(odbc_connection_string_is_quoted);
320 ZEND_FUNCTION(odbc_connection_string_should_quote);
321 ZEND_FUNCTION(odbc_connection_string_quote);
322
323 static const zend_function_entry ext_functions[] = {
324 ZEND_FE(odbc_close_all, arginfo_odbc_close_all)
325 ZEND_FE(odbc_binmode, arginfo_odbc_binmode)
326 ZEND_FE(odbc_longreadlen, arginfo_odbc_longreadlen)
327 ZEND_FE(odbc_prepare, arginfo_odbc_prepare)
328 ZEND_FE(odbc_execute, arginfo_odbc_execute)
329 ZEND_FE(odbc_cursor, arginfo_odbc_cursor)
330 #if defined(HAVE_SQLDATASOURCES)
331 ZEND_FE(odbc_data_source, arginfo_odbc_data_source)
332 #endif
333 ZEND_FE(odbc_exec, arginfo_odbc_exec)
334 ZEND_RAW_FENTRY("odbc_do", zif_odbc_exec, arginfo_odbc_do, 0, NULL, NULL)
335 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
336 ZEND_FE(odbc_fetch_object, arginfo_odbc_fetch_object)
337 #endif
338 #if defined(PHP_ODBC_HAVE_FETCH_HASH)
339 ZEND_FE(odbc_fetch_array, arginfo_odbc_fetch_array)
340 #endif
341 ZEND_FE(odbc_fetch_into, arginfo_odbc_fetch_into)
342 ZEND_FE(odbc_fetch_row, arginfo_odbc_fetch_row)
343 ZEND_FE(odbc_result, arginfo_odbc_result)
344 ZEND_RAW_FENTRY("odbc_result_all", zif_odbc_result_all, arginfo_odbc_result_all, ZEND_ACC_DEPRECATED, NULL, NULL)
345 ZEND_FE(odbc_free_result, arginfo_odbc_free_result)
346 ZEND_FE(odbc_connect, arginfo_odbc_connect)
347 ZEND_FE(odbc_pconnect, arginfo_odbc_pconnect)
348 ZEND_FE(odbc_close, arginfo_odbc_close)
349 ZEND_FE(odbc_num_rows, arginfo_odbc_num_rows)
350 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30)
351 ZEND_FE(odbc_next_result, arginfo_odbc_next_result)
352 #endif
353 ZEND_FE(odbc_num_fields, arginfo_odbc_num_fields)
354 ZEND_FE(odbc_field_name, arginfo_odbc_field_name)
355 ZEND_FE(odbc_field_type, arginfo_odbc_field_type)
356 ZEND_FE(odbc_field_len, arginfo_odbc_field_len)
357 ZEND_RAW_FENTRY("odbc_field_precision", zif_odbc_field_len, arginfo_odbc_field_precision, 0, NULL, NULL)
358 ZEND_FE(odbc_field_scale, arginfo_odbc_field_scale)
359 ZEND_FE(odbc_field_num, arginfo_odbc_field_num)
360 ZEND_FE(odbc_autocommit, arginfo_odbc_autocommit)
361 ZEND_FE(odbc_commit, arginfo_odbc_commit)
362 ZEND_FE(odbc_rollback, arginfo_odbc_rollback)
363 ZEND_FE(odbc_error, arginfo_odbc_error)
364 ZEND_FE(odbc_errormsg, arginfo_odbc_errormsg)
365 ZEND_FE(odbc_setoption, arginfo_odbc_setoption)
366 ZEND_FE(odbc_tables, arginfo_odbc_tables)
367 ZEND_FE(odbc_columns, arginfo_odbc_columns)
368 ZEND_FE(odbc_gettypeinfo, arginfo_odbc_gettypeinfo)
369 ZEND_FE(odbc_primarykeys, arginfo_odbc_primarykeys)
370 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
371 ZEND_FE(odbc_procedurecolumns, arginfo_odbc_procedurecolumns)
372 #endif
373 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
374 ZEND_FE(odbc_procedures, arginfo_odbc_procedures)
375 #endif
376 #if !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) && !defined(HAVE_SOLID_35)
377 ZEND_FE(odbc_foreignkeys, arginfo_odbc_foreignkeys)
378 #endif
379 ZEND_FE(odbc_specialcolumns, arginfo_odbc_specialcolumns)
380 ZEND_FE(odbc_statistics, arginfo_odbc_statistics)
381 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
382 ZEND_FE(odbc_tableprivileges, arginfo_odbc_tableprivileges)
383 #endif
384 #if !defined(HAVE_DBMAKER) && !defined(HAVE_SOLID) && !defined(HAVE_SOLID_30) &&!defined(HAVE_SOLID_35)
385 ZEND_FE(odbc_columnprivileges, arginfo_odbc_columnprivileges)
386 #endif
387 ZEND_FE(odbc_connection_string_is_quoted, arginfo_odbc_connection_string_is_quoted)
388 ZEND_FE(odbc_connection_string_should_quote, arginfo_odbc_connection_string_should_quote)
389 ZEND_FE(odbc_connection_string_quote, arginfo_odbc_connection_string_quote)
390 ZEND_FE_END
391 };
392
393 static const zend_function_entry class_Odbc_Connection_methods[] = {
394 ZEND_FE_END
395 };
396
397 static const zend_function_entry class_Odbc_Result_methods[] = {
398 ZEND_FE_END
399 };
400
register_odbc_symbols(int module_number)401 static void register_odbc_symbols(int module_number)
402 {
403 REGISTER_STRING_CONSTANT("ODBC_TYPE", PHP_ODBC_TYPE, CONST_PERSISTENT);
404 REGISTER_LONG_CONSTANT("ODBC_BINMODE_PASSTHRU", PHP_ODBC_BINMODE_PASSTHRU, CONST_PERSISTENT);
405 REGISTER_LONG_CONSTANT("ODBC_BINMODE_RETURN", PHP_ODBC_BINMODE_RETURN, CONST_PERSISTENT);
406 REGISTER_LONG_CONSTANT("ODBC_BINMODE_CONVERT", PHP_ODBC_BINMODE_CONVERT, CONST_PERSISTENT);
407 REGISTER_LONG_CONSTANT("SQL_ODBC_CURSORS", SQL_ODBC_CURSORS, CONST_PERSISTENT);
408 REGISTER_LONG_CONSTANT("SQL_CUR_USE_DRIVER", SQL_CUR_USE_DRIVER, CONST_PERSISTENT);
409 REGISTER_LONG_CONSTANT("SQL_CUR_USE_IF_NEEDED", SQL_CUR_USE_IF_NEEDED, CONST_PERSISTENT);
410 REGISTER_LONG_CONSTANT("SQL_CUR_USE_ODBC", SQL_CUR_USE_ODBC, CONST_PERSISTENT);
411 REGISTER_LONG_CONSTANT("SQL_CONCURRENCY", SQL_CONCURRENCY, CONST_PERSISTENT);
412 REGISTER_LONG_CONSTANT("SQL_CONCUR_READ_ONLY", SQL_CONCUR_READ_ONLY, CONST_PERSISTENT);
413 REGISTER_LONG_CONSTANT("SQL_CONCUR_LOCK", SQL_CONCUR_LOCK, CONST_PERSISTENT);
414 REGISTER_LONG_CONSTANT("SQL_CONCUR_ROWVER", SQL_CONCUR_ROWVER, CONST_PERSISTENT);
415 REGISTER_LONG_CONSTANT("SQL_CONCUR_VALUES", SQL_CONCUR_VALUES, CONST_PERSISTENT);
416 REGISTER_LONG_CONSTANT("SQL_CURSOR_TYPE", SQL_CURSOR_TYPE, CONST_PERSISTENT);
417 REGISTER_LONG_CONSTANT("SQL_CURSOR_FORWARD_ONLY", SQL_CURSOR_FORWARD_ONLY, CONST_PERSISTENT);
418 REGISTER_LONG_CONSTANT("SQL_CURSOR_KEYSET_DRIVEN", SQL_CURSOR_KEYSET_DRIVEN, CONST_PERSISTENT);
419 REGISTER_LONG_CONSTANT("SQL_CURSOR_DYNAMIC", SQL_CURSOR_DYNAMIC, CONST_PERSISTENT);
420 REGISTER_LONG_CONSTANT("SQL_CURSOR_STATIC", SQL_CURSOR_STATIC, CONST_PERSISTENT);
421 REGISTER_LONG_CONSTANT("SQL_KEYSET_SIZE", SQL_KEYSET_SIZE, CONST_PERSISTENT);
422 REGISTER_LONG_CONSTANT("SQL_FETCH_FIRST", SQL_FETCH_FIRST, CONST_PERSISTENT);
423 REGISTER_LONG_CONSTANT("SQL_FETCH_NEXT", SQL_FETCH_NEXT, CONST_PERSISTENT);
424 REGISTER_LONG_CONSTANT("SQL_CHAR", SQL_CHAR, CONST_PERSISTENT);
425 REGISTER_LONG_CONSTANT("SQL_VARCHAR", SQL_VARCHAR, CONST_PERSISTENT);
426 REGISTER_LONG_CONSTANT("SQL_LONGVARCHAR", SQL_LONGVARCHAR, CONST_PERSISTENT);
427 REGISTER_LONG_CONSTANT("SQL_DECIMAL", SQL_DECIMAL, CONST_PERSISTENT);
428 REGISTER_LONG_CONSTANT("SQL_NUMERIC", SQL_NUMERIC, CONST_PERSISTENT);
429 REGISTER_LONG_CONSTANT("SQL_BIT", SQL_BIT, CONST_PERSISTENT);
430 REGISTER_LONG_CONSTANT("SQL_TINYINT", SQL_TINYINT, CONST_PERSISTENT);
431 REGISTER_LONG_CONSTANT("SQL_SMALLINT", SQL_SMALLINT, CONST_PERSISTENT);
432 REGISTER_LONG_CONSTANT("SQL_INTEGER", SQL_INTEGER, CONST_PERSISTENT);
433 REGISTER_LONG_CONSTANT("SQL_BIGINT", SQL_BIGINT, CONST_PERSISTENT);
434 REGISTER_LONG_CONSTANT("SQL_REAL", SQL_REAL, CONST_PERSISTENT);
435 REGISTER_LONG_CONSTANT("SQL_FLOAT", SQL_FLOAT, CONST_PERSISTENT);
436 REGISTER_LONG_CONSTANT("SQL_DOUBLE", SQL_DOUBLE, CONST_PERSISTENT);
437 REGISTER_LONG_CONSTANT("SQL_BINARY", SQL_BINARY, CONST_PERSISTENT);
438 REGISTER_LONG_CONSTANT("SQL_VARBINARY", SQL_VARBINARY, CONST_PERSISTENT);
439 REGISTER_LONG_CONSTANT("SQL_LONGVARBINARY", SQL_LONGVARBINARY, CONST_PERSISTENT);
440 REGISTER_LONG_CONSTANT("SQL_DATE", SQL_DATE, CONST_PERSISTENT);
441 REGISTER_LONG_CONSTANT("SQL_TIME", SQL_TIME, CONST_PERSISTENT);
442 REGISTER_LONG_CONSTANT("SQL_TIMESTAMP", SQL_TIMESTAMP, CONST_PERSISTENT);
443 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
444 REGISTER_LONG_CONSTANT("SQL_TYPE_DATE", SQL_TYPE_DATE, CONST_PERSISTENT);
445 #endif
446 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
447 REGISTER_LONG_CONSTANT("SQL_TYPE_TIME", SQL_TYPE_TIME, CONST_PERSISTENT);
448 #endif
449 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
450 REGISTER_LONG_CONSTANT("SQL_TYPE_TIMESTAMP", SQL_TYPE_TIMESTAMP, CONST_PERSISTENT);
451 #endif
452 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
453 REGISTER_LONG_CONSTANT("SQL_WCHAR", SQL_WCHAR, CONST_PERSISTENT);
454 #endif
455 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
456 REGISTER_LONG_CONSTANT("SQL_WVARCHAR", SQL_WVARCHAR, CONST_PERSISTENT);
457 #endif
458 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
459 REGISTER_LONG_CONSTANT("SQL_WLONGVARCHAR", SQL_WLONGVARCHAR, CONST_PERSISTENT);
460 #endif
461 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
462 REGISTER_LONG_CONSTANT("SQL_BEST_ROWID", SQL_BEST_ROWID, CONST_PERSISTENT);
463 #endif
464 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
465 REGISTER_LONG_CONSTANT("SQL_ROWVER", SQL_ROWVER, CONST_PERSISTENT);
466 #endif
467 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
468 REGISTER_LONG_CONSTANT("SQL_SCOPE_CURROW", SQL_SCOPE_CURROW, CONST_PERSISTENT);
469 #endif
470 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
471 REGISTER_LONG_CONSTANT("SQL_SCOPE_TRANSACTION", SQL_SCOPE_TRANSACTION, CONST_PERSISTENT);
472 #endif
473 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
474 REGISTER_LONG_CONSTANT("SQL_SCOPE_SESSION", SQL_SCOPE_SESSION, CONST_PERSISTENT);
475 #endif
476 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
477 REGISTER_LONG_CONSTANT("SQL_NO_NULLS", SQL_NO_NULLS, CONST_PERSISTENT);
478 #endif
479 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
480 REGISTER_LONG_CONSTANT("SQL_NULLABLE", SQL_NULLABLE, CONST_PERSISTENT);
481 #endif
482 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
483 REGISTER_LONG_CONSTANT("SQL_INDEX_UNIQUE", SQL_INDEX_UNIQUE, CONST_PERSISTENT);
484 #endif
485 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
486 REGISTER_LONG_CONSTANT("SQL_INDEX_ALL", SQL_INDEX_ALL, CONST_PERSISTENT);
487 #endif
488 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
489 REGISTER_LONG_CONSTANT("SQL_ENSURE", SQL_ENSURE, CONST_PERSISTENT);
490 #endif
491 #if (defined(ODBCVER) && (ODBCVER >= 0x0300))
492 REGISTER_LONG_CONSTANT("SQL_QUICK", SQL_QUICK, CONST_PERSISTENT);
493 #endif
494
495
496 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);
497
498 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);
499 }
500
register_class_Odbc_Connection(void)501 static zend_class_entry *register_class_Odbc_Connection(void)
502 {
503 zend_class_entry ce, *class_entry;
504
505 INIT_NS_CLASS_ENTRY(ce, "Odbc", "Connection", class_Odbc_Connection_methods);
506 class_entry = zend_register_internal_class_ex(&ce, NULL);
507 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
508
509 return class_entry;
510 }
511
register_class_Odbc_Result(void)512 static zend_class_entry *register_class_Odbc_Result(void)
513 {
514 zend_class_entry ce, *class_entry;
515
516 INIT_NS_CLASS_ENTRY(ce, "Odbc", "Result", class_Odbc_Result_methods);
517 class_entry = zend_register_internal_class_ex(&ce, NULL);
518 class_entry->ce_flags |= ZEND_ACC_NO_DYNAMIC_PROPERTIES|ZEND_ACC_NOT_SERIALIZABLE;
519
520 return class_entry;
521 }
522