xref: /php-src/ext/odbc/odbc_arginfo.h (revision afd91fb9)
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