1 /*
2 * Copyright (C) 2009 Bas Driessen <bas.driessen@xobas.com>
3 * Copyright (C) 2009 - 2011 Vivien Malerba <malerba@gnome-db.org>
4 * Copyright (C) 2010 David King <davidk@openismus.com>
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the
18 * Free Software Foundation, Inc., 51 Franklin St, Fifth Floor,
19 * Boston, MA 02110-1301, USA.
20 */
21
22 #include <string.h>
23 #include "gda-thread-meta.h"
24 #include "gda-thread-provider.h"
25 #include <libgda/gda-meta-store.h>
26 #include <libgda/gda-server-provider-extra.h>
27 #include <libgda/gda-connection-private.h>
28 #include <libgda/gda-connection-internal.h>
29
30 #define PROV_CLASS(provider) (GDA_SERVER_PROVIDER_CLASS (G_OBJECT_GET_CLASS (provider)))
31
32 /* common implementation of the functions used when no parameter is passed */
33 typedef struct {
34 GdaServerProvider *prov;
35 GdaConnection *cnc;
36 GdaMetaStore *store;
37 GdaMetaContext *context;
38 } BasicThreadData;
39
40 #define main_thread_basic_core(func,prov,cnc,store,context,error) \
41 ThreadConnectionData *cdata; \
42 BasicThreadData wdata; \
43 gpointer res; \
44 guint jid; \
45 cdata = (ThreadConnectionData*) gda_connection_internal_get_provider_data_error ((cnc),(error)); \
46 if (!cdata) \
47 return FALSE; \
48 wdata.prov = cdata->cnc_provider; \
49 wdata.cnc = cdata->sub_connection; \
50 wdata.store = (store); \
51 wdata.context = (context); \
52 jid = gda_thread_wrapper_execute (cdata->wrapper, \
53 (GdaThreadWrapperFunc) (func), &wdata, NULL, NULL); \
54 res = gda_thread_wrapper_fetch_result (cdata->wrapper, TRUE, jid, (error)); \
55 return GPOINTER_TO_INT (res) ? TRUE : FALSE
56
57 #define sub_thread_basic_core(func,name) \
58 gboolean retval; \
59 if (! (func)) { \
60 WARN_METHOD_NOT_IMPLEMENTED (data->prov, (name)); \
61 return GINT_TO_POINTER (0); \
62 } \
63 retval = (func) (data->prov, data->cnc, data->store, data->context, error); \
64 /*g_print ("/%s() => %s\n", __FUNCTION__, retval ? "TRUE" : "FALSE");*/ \
65 return GINT_TO_POINTER (retval ? 1 : 0)
66
67 typedef struct {
68 GdaServerProvider *prov;
69 GdaConnection *cnc;
70 GdaMetaStore *store;
71 GdaMetaContext *context;
72 const GValue *v1;
73 const GValue *v2;
74 const GValue *v3;
75 const GValue *v4;
76 } DetailedThreadData;
77
78 #define main_thread_detailed_core(func,prov,cnc,store,context,arg1,arg2,arg3,arg4,error) \
79 ThreadConnectionData *cdata; \
80 DetailedThreadData wdata; \
81 gpointer res; \
82 guint jid; \
83 cdata = (ThreadConnectionData*) gda_connection_internal_get_provider_data_error ((cnc),(error)); \
84 if (!cdata) \
85 return FALSE; \
86 wdata.prov = cdata->cnc_provider; \
87 wdata.cnc = cdata->sub_connection; \
88 wdata.store = (store); \
89 wdata.context = (context); \
90 wdata.v1 = (arg1); \
91 wdata.v2 = (arg2); \
92 wdata.v3 = (arg3); \
93 wdata.v4 = (arg4); \
94 jid = gda_thread_wrapper_execute (cdata->wrapper, \
95 (GdaThreadWrapperFunc) (func), &wdata, NULL, NULL); \
96 res = gda_thread_wrapper_fetch_result (cdata->wrapper, TRUE, jid, (error)); \
97 return GPOINTER_TO_INT (res) ? TRUE : FALSE
98
99 #define sub_thread_detailed1_core(func,name) \
100 gboolean retval; \
101 if (! (func)) { \
102 WARN_METHOD_NOT_IMPLEMENTED (data->prov, (name)); \
103 return GINT_TO_POINTER (0); \
104 } \
105 retval = (func) (data->prov, data->cnc, data->store, data->context, error, data->v1); \
106 /*g_print ("/%s() => %s\n", __FUNCTION__, retval ? "TRUE" : "FALSE");*/ \
107 return GINT_TO_POINTER (retval ? 1 : 0)
108
109 #define sub_thread_detailed2_core(func,name) \
110 gboolean retval; \
111 if (! (func)) { \
112 WARN_METHOD_NOT_IMPLEMENTED (data->prov, (name)); \
113 return GINT_TO_POINTER (0); \
114 } \
115 retval = (func) (data->prov, data->cnc, data->store, data->context, error, data->v1, data->v2); \
116 /*g_print ("/%s() => %s\n", __FUNCTION__, retval ? "TRUE" : "FALSE");*/ \
117 return GINT_TO_POINTER (retval ? 1 : 0)
118
119 #define sub_thread_detailed3_core(func,name) \
120 gboolean retval; \
121 if (! (func)) { \
122 WARN_METHOD_NOT_IMPLEMENTED (data->prov, (name)); \
123 return GINT_TO_POINTER (0); \
124 } \
125 retval = (func) (data->prov, data->cnc, data->store, data->context, error, data->v1, data->v2, data->v3); \
126 /*g_print ("/%s() => %s\n", __FUNCTION__, retval ? "TRUE" : "FALSE");*/ \
127 return GINT_TO_POINTER (retval ? 1 : 0)
128
129 #define sub_thread_detailed4_core(func,name) \
130 gboolean retval; \
131 if (! (func)) { \
132 WARN_METHOD_NOT_IMPLEMENTED (data->prov, (name)); \
133 return GINT_TO_POINTER (0); \
134 } \
135 retval = (func) (data->prov, data->cnc, data->store, data->context, error, data->v1, data->v2, data->v3, data->v4); \
136 /*g_print ("/%s() => %s\n", __FUNCTION__, retval ? "TRUE" : "FALSE");*/ \
137 return GINT_TO_POINTER (retval ? 1 : 0)
138
139 /*
140 * Meta initialization
141 */
142 void
_gda_thread_provider_meta_init(G_GNUC_UNUSED GdaServerProvider * provider)143 _gda_thread_provider_meta_init (G_GNUC_UNUSED GdaServerProvider *provider)
144 {
145 /* nothing to be done */
146 }
147
148
149
150 static gpointer
sub_thread__gda_thread_meta__info(BasicThreadData * data,GError ** error)151 sub_thread__gda_thread_meta__info (BasicThreadData *data, GError **error)
152 {
153 /* WARNING: function executed in sub thread! */
154 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._info, "_info");
155 }
156
157 gboolean
_gda_thread_meta__info(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)158 _gda_thread_meta__info (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
159 GdaMetaStore *store, GdaMetaContext *context, GError **error)
160 {
161 main_thread_basic_core (sub_thread__gda_thread_meta__info, prov, cnc, store, context, error);
162 }
163
164
165
166 static gpointer
sub_thread__gda_thread_meta__btypes(BasicThreadData * data,GError ** error)167 sub_thread__gda_thread_meta__btypes (BasicThreadData *data, GError **error)
168 {
169 /* WARNING: function executed in sub thread! */
170 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._btypes, "_btypes");
171 }
172
173 gboolean
_gda_thread_meta__btypes(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)174 _gda_thread_meta__btypes (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
175 GdaMetaStore *store, GdaMetaContext *context, GError **error)
176 {
177 main_thread_basic_core (sub_thread__gda_thread_meta__btypes, prov, cnc, store, context, error);
178 }
179
180
181 static gpointer
sub_thread__gda_thread_meta__udt(BasicThreadData * data,GError ** error)182 sub_thread__gda_thread_meta__udt (BasicThreadData *data, GError **error)
183 {
184 /* WARNING: function executed in sub thread! */
185 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._udt, "_udt");
186 }
187 gboolean
_gda_thread_meta__udt(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)188 _gda_thread_meta__udt (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
189 GdaMetaStore *store, GdaMetaContext *context, GError **error)
190 {
191 main_thread_basic_core (sub_thread__gda_thread_meta__udt, prov, cnc, store, context, error);
192 }
193
194 static gpointer
sub_thread__gda_thread_meta_udt(DetailedThreadData * data,GError ** error)195 sub_thread__gda_thread_meta_udt (DetailedThreadData *data, GError **error)
196 {
197 /* WARNING: function executed in sub thread! */
198 sub_thread_detailed2_core (PROV_CLASS (data->prov)->meta_funcs.udt, "_udt");
199 }
200 gboolean
_gda_thread_meta_udt(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * udt_catalog,const GValue * udt_schema)201 _gda_thread_meta_udt (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
202 GdaMetaStore *store, GdaMetaContext *context, GError **error,
203 const GValue *udt_catalog, const GValue *udt_schema)
204 {
205 main_thread_detailed_core (sub_thread__gda_thread_meta_udt, prov, cnc, store, context,
206 udt_catalog, udt_schema, NULL, NULL, error);
207 }
208
209
210
211 static gpointer
sub_thread__gda_thread_meta__udt_cols(BasicThreadData * data,GError ** error)212 sub_thread__gda_thread_meta__udt_cols (BasicThreadData *data, GError **error)
213 {
214 /* WARNING: function executed in sub thread! */
215 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._udt_cols, "_udt_cols");
216 }
217
218 gboolean
_gda_thread_meta__udt_cols(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)219 _gda_thread_meta__udt_cols (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
220 GdaMetaStore *store, GdaMetaContext *context, GError **error)
221 {
222 main_thread_basic_core (sub_thread__gda_thread_meta__udt_cols, prov, cnc, store, context, error);
223 }
224
225 static gpointer
sub_thread__gda_thread_meta_udt_cols(DetailedThreadData * data,GError ** error)226 sub_thread__gda_thread_meta_udt_cols (DetailedThreadData *data, GError **error)
227 {
228 /* WARNING: function executed in sub thread! */
229 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.udt_cols, "udt_cols");
230 }
231
232 gboolean
_gda_thread_meta_udt_cols(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * udt_catalog,const GValue * udt_schema,const GValue * udt_name)233 _gda_thread_meta_udt_cols (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
234 GdaMetaStore *store, GdaMetaContext *context, GError **error,
235 const GValue *udt_catalog, const GValue *udt_schema, const GValue *udt_name)
236 {
237 main_thread_detailed_core (sub_thread__gda_thread_meta_udt_cols, prov, cnc, store, context,
238 udt_catalog, udt_schema, udt_name, NULL, error);
239 }
240
241 static gpointer
sub_thread__gda_thread_meta__enums(BasicThreadData * data,GError ** error)242 sub_thread__gda_thread_meta__enums (BasicThreadData *data, GError **error)
243 {
244 /* WARNING: function executed in sub thread! */
245 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._enums, "_enums");
246 }
247
248 gboolean
_gda_thread_meta__enums(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)249 _gda_thread_meta__enums (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
250 GdaMetaStore *store, GdaMetaContext *context, GError **error)
251 {
252 main_thread_basic_core (sub_thread__gda_thread_meta__enums, prov, cnc, store, context, error);
253 }
254
255 static gpointer
sub_thread__gda_thread_meta_enums(DetailedThreadData * data,GError ** error)256 sub_thread__gda_thread_meta_enums (DetailedThreadData *data, GError **error)
257 {
258 /* WARNING: function executed in sub thread! */
259 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.enums, "enums");
260 }
261
262 gboolean
_gda_thread_meta_enums(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * udt_catalog,const GValue * udt_schema,const GValue * udt_name)263 _gda_thread_meta_enums (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
264 GdaMetaStore *store, GdaMetaContext *context, GError **error,
265 const GValue *udt_catalog, const GValue *udt_schema, const GValue *udt_name)
266 {
267 main_thread_detailed_core (sub_thread__gda_thread_meta_enums, prov, cnc, store, context,
268 udt_catalog, udt_schema, udt_name, NULL, error);
269 }
270
271 static gpointer
sub_thread__gda_thread_meta__domains(BasicThreadData * data,GError ** error)272 sub_thread__gda_thread_meta__domains (BasicThreadData *data, GError **error)
273 {
274 /* WARNING: function executed in sub thread! */
275 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._domains, "_domains");
276 }
277
278 gboolean
_gda_thread_meta__domains(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)279 _gda_thread_meta__domains (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
280 GdaMetaStore *store, GdaMetaContext *context, GError **error)
281 {
282 main_thread_basic_core (sub_thread__gda_thread_meta__domains, prov, cnc, store, context, error);
283 }
284
285 static gpointer
sub_thread__gda_thread_meta_domains(DetailedThreadData * data,GError ** error)286 sub_thread__gda_thread_meta_domains (DetailedThreadData *data, GError **error)
287 {
288 /* WARNING: function executed in sub thread! */
289 sub_thread_detailed2_core (PROV_CLASS (data->prov)->meta_funcs.domains, "domains");
290 }
291
292 gboolean
_gda_thread_meta_domains(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * domain_catalog,const GValue * domain_schema)293 _gda_thread_meta_domains (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
294 GdaMetaStore *store, GdaMetaContext *context, GError **error,
295 const GValue *domain_catalog, const GValue *domain_schema)
296 {
297 main_thread_detailed_core (sub_thread__gda_thread_meta_domains, prov, cnc, store, context,
298 domain_catalog, domain_schema, NULL, NULL, error);
299 }
300
301 static gpointer
sub_thread__gda_thread_meta__constraints_dom(BasicThreadData * data,GError ** error)302 sub_thread__gda_thread_meta__constraints_dom (BasicThreadData *data, GError **error)
303 {
304 /* WARNING: function executed in sub thread! */
305 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._constraints_dom, "_constraints_dom");
306 }
307
308 gboolean
_gda_thread_meta__constraints_dom(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)309 _gda_thread_meta__constraints_dom (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
310 GdaMetaStore *store, GdaMetaContext *context, GError **error)
311 {
312 main_thread_basic_core (sub_thread__gda_thread_meta__constraints_dom, prov, cnc, store, context, error);
313 }
314
315 static gpointer
sub_thread__gda_thread_meta_constraints_dom(DetailedThreadData * data,GError ** error)316 sub_thread__gda_thread_meta_constraints_dom (DetailedThreadData *data, GError **error)
317 {
318 /* WARNING: function executed in sub thread! */
319 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.constraints_dom, "constraints_dom");
320 }
321
322 gboolean
_gda_thread_meta_constraints_dom(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * domain_catalog,const GValue * domain_schema,const GValue * domain_name)323 _gda_thread_meta_constraints_dom (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
324 GdaMetaStore *store, GdaMetaContext *context, GError **error,
325 const GValue *domain_catalog, const GValue *domain_schema,
326 const GValue *domain_name)
327 {
328 main_thread_detailed_core (sub_thread__gda_thread_meta_constraints_dom, prov, cnc, store, context,
329 domain_catalog, domain_schema, domain_name, NULL, error);
330 }
331
332 static gpointer
sub_thread__gda_thread_meta__el_types(BasicThreadData * data,GError ** error)333 sub_thread__gda_thread_meta__el_types (BasicThreadData *data, GError **error)
334 {
335 /* WARNING: function executed in sub thread! */
336 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._el_types, "_el_types");
337 }
338
339 gboolean
_gda_thread_meta__el_types(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)340 _gda_thread_meta__el_types (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
341 GdaMetaStore *store, GdaMetaContext *context, GError **error)
342 {
343 main_thread_basic_core (sub_thread__gda_thread_meta__el_types, prov, cnc, store, context, error);
344 }
345
346 static gpointer
sub_thread__gda_thread_meta_el_types(DetailedThreadData * data,GError ** error)347 sub_thread__gda_thread_meta_el_types (DetailedThreadData *data, GError **error)
348 {
349 /* WARNING: function executed in sub thread! */
350 sub_thread_detailed1_core (PROV_CLASS (data->prov)->meta_funcs.el_types, "el_types");
351 }
352
353 gboolean
_gda_thread_meta_el_types(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * specific_name)354 _gda_thread_meta_el_types (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
355 GdaMetaStore *store, GdaMetaContext *context, GError **error,
356 const GValue *specific_name)
357 {
358 main_thread_detailed_core (sub_thread__gda_thread_meta_el_types, prov, cnc, store, context,
359 specific_name, NULL, NULL, NULL, error);
360 }
361
362 static gpointer
sub_thread__gda_thread_meta__collations(BasicThreadData * data,GError ** error)363 sub_thread__gda_thread_meta__collations (BasicThreadData *data, GError **error)
364 {
365 /* WARNING: function executed in sub thread! */
366 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._collations, "_collations");
367 }
368
369 gboolean
_gda_thread_meta__collations(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)370 _gda_thread_meta__collations (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
371 GdaMetaStore *store, GdaMetaContext *context, GError **error)
372 {
373 main_thread_basic_core (sub_thread__gda_thread_meta__collations, prov, cnc, store, context, error);
374 }
375
376 static gpointer
sub_thread__gda_thread_meta_collations(DetailedThreadData * data,GError ** error)377 sub_thread__gda_thread_meta_collations (DetailedThreadData *data, GError **error)
378 {
379 /* WARNING: function executed in sub thread! */
380 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.collations, "collations");
381 }
382
383 gboolean
_gda_thread_meta_collations(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * collation_catalog,const GValue * collation_schema,const GValue * collation_name_n)384 _gda_thread_meta_collations (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
385 GdaMetaStore *store, GdaMetaContext *context, GError **error,
386 const GValue *collation_catalog, const GValue *collation_schema,
387 const GValue *collation_name_n)
388 {
389 main_thread_detailed_core (sub_thread__gda_thread_meta_collations, prov, cnc, store, context,
390 collation_catalog, collation_schema, collation_name_n, NULL, error);
391 }
392
393 static gpointer
sub_thread__gda_thread_meta__character_sets(BasicThreadData * data,GError ** error)394 sub_thread__gda_thread_meta__character_sets (BasicThreadData *data, GError **error)
395 {
396 /* WARNING: function executed in sub thread! */
397 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._character_sets, "_character_sets");
398 }
399
400 gboolean
_gda_thread_meta__character_sets(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)401 _gda_thread_meta__character_sets (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
402 GdaMetaStore *store, GdaMetaContext *context, GError **error)
403 {
404 main_thread_basic_core (sub_thread__gda_thread_meta__character_sets, prov, cnc, store, context, error);
405 }
406
407 static gpointer
sub_thread__gda_thread_meta_character_sets(DetailedThreadData * data,GError ** error)408 sub_thread__gda_thread_meta_character_sets (DetailedThreadData *data, GError **error)
409 {
410 /* WARNING: function executed in sub thread! */
411 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.character_sets, "character_sets");
412 }
413
414 gboolean
_gda_thread_meta_character_sets(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * chset_catalog,const GValue * chset_schema,const GValue * chset_name_n)415 _gda_thread_meta_character_sets (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
416 GdaMetaStore *store, GdaMetaContext *context, GError **error,
417 const GValue *chset_catalog, const GValue *chset_schema,
418 const GValue *chset_name_n)
419 {
420 main_thread_detailed_core (sub_thread__gda_thread_meta_character_sets, prov, cnc, store, context,
421 chset_catalog, chset_schema, chset_name_n, NULL, error);
422 }
423
424
425 static gpointer
sub_thread__gda_thread_meta__schemata(BasicThreadData * data,GError ** error)426 sub_thread__gda_thread_meta__schemata (BasicThreadData *data, GError **error)
427 {
428 /* WARNING: function executed in sub thread! */
429 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._schemata, "_schemata");
430 }
431
432 gboolean
_gda_thread_meta__schemata(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)433 _gda_thread_meta__schemata (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
434 GdaMetaStore *store, GdaMetaContext *context, GError **error)
435 {
436 main_thread_basic_core (sub_thread__gda_thread_meta__schemata, prov, cnc, store, context, error);
437 }
438
439 static gpointer
sub_thread__gda_thread_meta_schemata(DetailedThreadData * data,GError ** error)440 sub_thread__gda_thread_meta_schemata (DetailedThreadData *data, GError **error)
441 {
442 /* WARNING: function executed in sub thread! */
443 sub_thread_detailed2_core (PROV_CLASS (data->prov)->meta_funcs.schemata, "schemata");
444 }
445
446 gboolean
_gda_thread_meta_schemata(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * catalog_name,const GValue * schema_name_n)447 _gda_thread_meta_schemata (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
448 GdaMetaStore *store, GdaMetaContext *context, GError **error,
449 const GValue *catalog_name, const GValue *schema_name_n)
450 {
451 main_thread_detailed_core (sub_thread__gda_thread_meta_schemata, prov, cnc, store, context,
452 catalog_name, schema_name_n, NULL, NULL, error);
453 }
454
455 static gpointer
sub_thread__gda_thread_meta__tables_views(BasicThreadData * data,GError ** error)456 sub_thread__gda_thread_meta__tables_views (BasicThreadData *data, GError **error)
457 {
458 /* WARNING: function executed in sub thread! */
459 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._tables_views, "_tables_views");
460 }
461
462 gboolean
_gda_thread_meta__tables_views(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)463 _gda_thread_meta__tables_views (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
464 GdaMetaStore *store, GdaMetaContext *context, GError **error)
465 {
466 main_thread_basic_core (sub_thread__gda_thread_meta__tables_views, prov, cnc, store, context, error);
467 }
468
469 static gpointer
sub_thread__gda_thread_meta_tables_views(DetailedThreadData * data,GError ** error)470 sub_thread__gda_thread_meta_tables_views (DetailedThreadData *data, GError **error)
471 {
472 /* WARNING: function executed in sub thread! */
473 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.tables_views, "tables_views");
474 }
475
476 gboolean
_gda_thread_meta_tables_views(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name_n)477 _gda_thread_meta_tables_views (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
478 GdaMetaStore *store, GdaMetaContext *context, GError **error,
479 const GValue *table_catalog, const GValue *table_schema,
480 const GValue *table_name_n)
481 {
482 main_thread_detailed_core (sub_thread__gda_thread_meta_tables_views, prov, cnc, store, context,
483 table_catalog, table_schema, table_name_n, NULL, error);
484 }
485
486 static gpointer
sub_thread__gda_thread_meta__columns(BasicThreadData * data,GError ** error)487 sub_thread__gda_thread_meta__columns (BasicThreadData *data, GError **error)
488 {
489 /* WARNING: function executed in sub thread! */
490 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._columns, "_columns");
491 }
492
493 gboolean
_gda_thread_meta__columns(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)494 _gda_thread_meta__columns (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
495 GdaMetaStore *store, GdaMetaContext *context, GError **error)
496 {
497 main_thread_basic_core (sub_thread__gda_thread_meta__columns, prov, cnc, store, context, error);
498 }
499
500 static gpointer
sub_thread__gda_thread_meta_columns(DetailedThreadData * data,GError ** error)501 sub_thread__gda_thread_meta_columns (DetailedThreadData *data, GError **error)
502 {
503 /* WARNING: function executed in sub thread! */
504 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.columns, "columns");
505 }
506
507 gboolean
_gda_thread_meta_columns(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name)508 _gda_thread_meta_columns (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
509 GdaMetaStore *store, GdaMetaContext *context, GError **error,
510 const GValue *table_catalog, const GValue *table_schema,
511 const GValue *table_name)
512 {
513 main_thread_detailed_core (sub_thread__gda_thread_meta_columns, prov, cnc, store, context,
514 table_catalog, table_schema, table_name, NULL, error);
515 }
516
517 static gpointer
sub_thread__gda_thread_meta__view_cols(BasicThreadData * data,GError ** error)518 sub_thread__gda_thread_meta__view_cols (BasicThreadData *data, GError **error)
519 {
520 /* WARNING: function executed in sub thread! */
521 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._view_cols, "_view_cols");
522 }
523
524 gboolean
_gda_thread_meta__view_cols(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)525 _gda_thread_meta__view_cols (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
526 GdaMetaStore *store, GdaMetaContext *context, GError **error)
527 {
528 main_thread_basic_core (sub_thread__gda_thread_meta__view_cols, prov, cnc, store, context, error);
529 }
530
531 static gpointer
sub_thread__gda_thread_meta_view_cols(DetailedThreadData * data,GError ** error)532 sub_thread__gda_thread_meta_view_cols (DetailedThreadData *data, GError **error)
533 {
534 /* WARNING: function executed in sub thread! */
535 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.view_cols, "view_cols");
536 }
537
538 gboolean
_gda_thread_meta_view_cols(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * view_catalog,const GValue * view_schema,const GValue * view_name)539 _gda_thread_meta_view_cols (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
540 GdaMetaStore *store, GdaMetaContext *context, GError **error,
541 const GValue *view_catalog, const GValue *view_schema,
542 const GValue *view_name)
543 {
544 main_thread_detailed_core (sub_thread__gda_thread_meta_view_cols, prov, cnc, store, context,
545 view_catalog, view_schema, view_name, NULL, error);
546 }
547
548 static gpointer
sub_thread__gda_thread_meta__constraints_tab(BasicThreadData * data,GError ** error)549 sub_thread__gda_thread_meta__constraints_tab (BasicThreadData *data, GError **error)
550 {
551 /* WARNING: function executed in sub thread! */
552 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._constraints_tab, "_constraints_tab");
553 }
554
555 gboolean
_gda_thread_meta__constraints_tab(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)556 _gda_thread_meta__constraints_tab (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
557 GdaMetaStore *store, GdaMetaContext *context, GError **error)
558 {
559 main_thread_basic_core (sub_thread__gda_thread_meta__constraints_tab, prov, cnc, store, context, error);
560 }
561
562 static gpointer
sub_thread__gda_thread_meta_constraints_tab(DetailedThreadData * data,GError ** error)563 sub_thread__gda_thread_meta_constraints_tab (DetailedThreadData *data, GError **error)
564 {
565 /* WARNING: function executed in sub thread! */
566 sub_thread_detailed4_core (PROV_CLASS (data->prov)->meta_funcs.constraints_tab, "constraints_tab");
567 }
568
569 gboolean
_gda_thread_meta_constraints_tab(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name,const GValue * constraint_name_n)570 _gda_thread_meta_constraints_tab (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
571 GdaMetaStore *store, GdaMetaContext *context, GError **error,
572 const GValue *table_catalog, const GValue *table_schema,
573 const GValue *table_name, const GValue *constraint_name_n)
574 {
575 main_thread_detailed_core (sub_thread__gda_thread_meta_constraints_tab, prov, cnc, store, context,
576 table_catalog, table_schema, table_name, constraint_name_n, error);
577 }
578
579 static gpointer
sub_thread__gda_thread_meta__constraints_ref(BasicThreadData * data,GError ** error)580 sub_thread__gda_thread_meta__constraints_ref (BasicThreadData *data, GError **error)
581 {
582 /* WARNING: function executed in sub thread! */
583 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._constraints_ref, "_constraints_ref");
584 }
585
586 gboolean
_gda_thread_meta__constraints_ref(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)587 _gda_thread_meta__constraints_ref (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
588 GdaMetaStore *store, GdaMetaContext *context, GError **error)
589 {
590 main_thread_basic_core (sub_thread__gda_thread_meta__constraints_ref, prov, cnc, store, context, error);
591 }
592
593 static gpointer
sub_thread__gda_thread_meta_constraints_ref(DetailedThreadData * data,GError ** error)594 sub_thread__gda_thread_meta_constraints_ref (DetailedThreadData *data, GError **error)
595 {
596 /* WARNING: function executed in sub thread! */
597 sub_thread_detailed4_core (PROV_CLASS (data->prov)->meta_funcs.constraints_ref, "constraints_ref");
598 }
599
600 gboolean
_gda_thread_meta_constraints_ref(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name,const GValue * constraint_name)601 _gda_thread_meta_constraints_ref (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
602 GdaMetaStore *store, GdaMetaContext *context, GError **error,
603 const GValue *table_catalog, const GValue *table_schema, const GValue *table_name,
604 const GValue *constraint_name)
605 {
606 main_thread_detailed_core (sub_thread__gda_thread_meta_constraints_ref, prov, cnc, store, context,
607 table_catalog, table_schema, table_name, constraint_name, error);
608 }
609
610 static gpointer
sub_thread__gda_thread_meta__key_columns(BasicThreadData * data,GError ** error)611 sub_thread__gda_thread_meta__key_columns (BasicThreadData *data, GError **error)
612 {
613 /* WARNING: function executed in sub thread! */
614 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._key_columns, "_key_columns");
615 }
616
617 gboolean
_gda_thread_meta__key_columns(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)618 _gda_thread_meta__key_columns (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
619 GdaMetaStore *store, GdaMetaContext *context, GError **error)
620 {
621 main_thread_basic_core (sub_thread__gda_thread_meta__key_columns, prov, cnc, store, context, error);
622 }
623
624 static gpointer
sub_thread__gda_thread_meta_key_columns(DetailedThreadData * data,GError ** error)625 sub_thread__gda_thread_meta_key_columns (DetailedThreadData *data, GError **error)
626 {
627 /* WARNING: function executed in sub thread! */
628 sub_thread_detailed4_core (PROV_CLASS (data->prov)->meta_funcs.key_columns, "key_columns");
629 }
630
631 gboolean
_gda_thread_meta_key_columns(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name,const GValue * constraint_name)632 _gda_thread_meta_key_columns (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
633 GdaMetaStore *store, GdaMetaContext *context, GError **error,
634 const GValue *table_catalog, const GValue *table_schema,
635 const GValue *table_name, const GValue *constraint_name)
636 {
637 main_thread_detailed_core (sub_thread__gda_thread_meta_key_columns, prov, cnc, store, context,
638 table_catalog, table_schema, table_name, constraint_name, error);
639 }
640
641 static gpointer
sub_thread__gda_thread_meta__check_columns(BasicThreadData * data,GError ** error)642 sub_thread__gda_thread_meta__check_columns (BasicThreadData *data, GError **error)
643 {
644 /* WARNING: function executed in sub thread! */
645 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._check_columns, "_check_columns");
646 }
647
648 gboolean
_gda_thread_meta__check_columns(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)649 _gda_thread_meta__check_columns (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
650 GdaMetaStore *store, GdaMetaContext *context, GError **error)
651 {
652 main_thread_basic_core (sub_thread__gda_thread_meta__check_columns, prov, cnc, store, context, error);
653 }
654
655 static gpointer
sub_thread__gda_thread_meta_check_columns(DetailedThreadData * data,GError ** error)656 sub_thread__gda_thread_meta_check_columns (DetailedThreadData *data, GError **error)
657 {
658 /* WARNING: function executed in sub thread! */
659 sub_thread_detailed4_core (PROV_CLASS (data->prov)->meta_funcs.check_columns, "check_columns");
660 }
661
662 gboolean
_gda_thread_meta_check_columns(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name,const GValue * constraint_name)663 _gda_thread_meta_check_columns (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
664 GdaMetaStore *store, GdaMetaContext *context, GError **error,
665 const GValue *table_catalog, const GValue *table_schema,
666 const GValue *table_name, const GValue *constraint_name)
667 {
668 main_thread_detailed_core (sub_thread__gda_thread_meta_check_columns, prov, cnc, store, context,
669 table_catalog, table_schema, table_name, constraint_name, error);
670 }
671
672 static gpointer
sub_thread__gda_thread_meta__triggers(BasicThreadData * data,GError ** error)673 sub_thread__gda_thread_meta__triggers (BasicThreadData *data, GError **error)
674 {
675 /* WARNING: function executed in sub thread! */
676 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._triggers, "_triggers");
677 }
678
679 gboolean
_gda_thread_meta__triggers(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)680 _gda_thread_meta__triggers (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
681 GdaMetaStore *store, GdaMetaContext *context, GError **error)
682 {
683 main_thread_basic_core (sub_thread__gda_thread_meta__triggers, prov, cnc, store, context, error);
684 }
685
686 static gpointer
sub_thread__gda_thread_meta_triggers(DetailedThreadData * data,GError ** error)687 sub_thread__gda_thread_meta_triggers (DetailedThreadData *data, GError **error)
688 {
689 /* WARNING: function executed in sub thread! */
690 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.triggers, "triggers");
691 }
692
693 gboolean
_gda_thread_meta_triggers(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name)694 _gda_thread_meta_triggers (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
695 GdaMetaStore *store, GdaMetaContext *context, GError **error,
696 const GValue *table_catalog, const GValue *table_schema,
697 const GValue *table_name)
698 {
699 main_thread_detailed_core (sub_thread__gda_thread_meta_triggers, prov, cnc, store, context,
700 table_catalog, table_schema, table_name, NULL, error);
701 }
702
703 static gpointer
sub_thread__gda_thread_meta__routines(BasicThreadData * data,GError ** error)704 sub_thread__gda_thread_meta__routines (BasicThreadData *data, GError **error)
705 {
706 /* WARNING: function executed in sub thread! */
707 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._routines, "_routines");
708 }
709
710 gboolean
_gda_thread_meta__routines(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)711 _gda_thread_meta__routines (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
712 GdaMetaStore *store, GdaMetaContext *context, GError **error)
713 {
714 main_thread_basic_core (sub_thread__gda_thread_meta__routines, prov, cnc, store, context, error);
715 }
716
717 static gpointer
sub_thread__gda_thread_meta_routines(DetailedThreadData * data,GError ** error)718 sub_thread__gda_thread_meta_routines (DetailedThreadData *data, GError **error)
719 {
720 /* WARNING: function executed in sub thread! */
721 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.routines, "routines");
722 }
723
724 gboolean
_gda_thread_meta_routines(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * routine_catalog,const GValue * routine_schema,const GValue * routine_name_n)725 _gda_thread_meta_routines (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
726 GdaMetaStore *store, GdaMetaContext *context, GError **error,
727 const GValue *routine_catalog, const GValue *routine_schema,
728 const GValue *routine_name_n)
729 {
730 main_thread_detailed_core (sub_thread__gda_thread_meta_routines, prov, cnc, store, context,
731 routine_catalog, routine_schema, routine_name_n, NULL, error);
732 }
733
734 static gpointer
sub_thread__gda_thread_meta__routine_col(BasicThreadData * data,GError ** error)735 sub_thread__gda_thread_meta__routine_col (BasicThreadData *data, GError **error)
736 {
737 /* WARNING: function executed in sub thread! */
738 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._routine_col, "_routine_col");
739 }
740
741 gboolean
_gda_thread_meta__routine_col(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)742 _gda_thread_meta__routine_col (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
743 GdaMetaStore *store, GdaMetaContext *context, GError **error)
744 {
745 main_thread_basic_core (sub_thread__gda_thread_meta__routine_col, prov, cnc, store, context, error);
746 }
747
748 static gpointer
sub_thread__gda_thread_meta_routine_col(DetailedThreadData * data,GError ** error)749 sub_thread__gda_thread_meta_routine_col (DetailedThreadData *data, GError **error)
750 {
751 /* WARNING: function executed in sub thread! */
752 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.routine_col, "routine_col");
753 }
754
755 gboolean
_gda_thread_meta_routine_col(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * rout_catalog,const GValue * rout_schema,const GValue * rout_name)756 _gda_thread_meta_routine_col (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
757 GdaMetaStore *store, GdaMetaContext *context, GError **error,
758 const GValue *rout_catalog, const GValue *rout_schema,
759 const GValue *rout_name)
760 {
761 main_thread_detailed_core (sub_thread__gda_thread_meta_routine_col, prov, cnc, store, context,
762 rout_catalog, rout_schema, rout_name, NULL, error);
763 }
764
765 static gpointer
sub_thread__gda_thread_meta__routine_par(BasicThreadData * data,GError ** error)766 sub_thread__gda_thread_meta__routine_par (BasicThreadData *data, GError **error)
767 {
768 /* WARNING: function executed in sub thread! */
769 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._routine_par, "_routine_par");
770 }
771
772 gboolean
_gda_thread_meta__routine_par(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)773 _gda_thread_meta__routine_par (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
774 GdaMetaStore *store, GdaMetaContext *context, GError **error)
775 {
776 main_thread_basic_core (sub_thread__gda_thread_meta__routine_par, prov, cnc, store, context, error);
777 }
778
779 static gpointer
sub_thread__gda_thread_meta_routine_par(DetailedThreadData * data,GError ** error)780 sub_thread__gda_thread_meta_routine_par (DetailedThreadData *data, GError **error)
781 {
782 /* WARNING: function executed in sub thread! */
783 sub_thread_detailed3_core (PROV_CLASS (data->prov)->meta_funcs.routine_par, "routine_par");
784 }
785
786 gboolean
_gda_thread_meta_routine_par(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * rout_catalog,const GValue * rout_schema,const GValue * rout_name)787 _gda_thread_meta_routine_par (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
788 GdaMetaStore *store, GdaMetaContext *context, GError **error,
789 const GValue *rout_catalog, const GValue *rout_schema,
790 const GValue *rout_name)
791 {
792 main_thread_detailed_core (sub_thread__gda_thread_meta_routine_par, prov, cnc, store, context,
793 rout_catalog, rout_schema, rout_name, NULL, error);
794 }
795
796 static gpointer
sub_thread__gda_thread_meta__indexes_tab(DetailedThreadData * data,GError ** error)797 sub_thread__gda_thread_meta__indexes_tab (DetailedThreadData *data, GError **error)
798 {
799 /* WARNING: function executed in sub thread! */
800 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._indexes_tab, "_table_indexes");
801 }
802
803 gboolean
_gda_thread_meta__indexes_tab(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)804 _gda_thread_meta__indexes_tab (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
805 GdaMetaStore *store, GdaMetaContext *context, GError **error)
806 {
807 main_thread_basic_core (sub_thread__gda_thread_meta__indexes_tab, prov, cnc, store, context, error);
808 }
809
810 static gpointer
sub_thread__gda_thread_meta_indexes_tab(DetailedThreadData * data,GError ** error)811 sub_thread__gda_thread_meta_indexes_tab (DetailedThreadData *data, GError **error)
812 {
813 /* WARNING: function executed in sub thread! */
814 sub_thread_detailed4_core (PROV_CLASS (data->prov)->meta_funcs.indexes_tab, "table_indexes");
815 }
816
817 gboolean
_gda_thread_meta_indexes_tab(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name,const GValue * index_name_n)818 _gda_thread_meta_indexes_tab (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
819 GdaMetaStore *store, GdaMetaContext *context, GError **error,
820 const GValue *table_catalog, const GValue *table_schema, const GValue *table_name,
821 const GValue *index_name_n)
822 {
823 main_thread_detailed_core (sub_thread__gda_thread_meta_indexes_tab, prov, cnc, store, context,
824 table_catalog, table_schema, table_name, index_name_n, error);
825 }
826
827 static gpointer
sub_thread__gda_thread_meta__index_cols(DetailedThreadData * data,GError ** error)828 sub_thread__gda_thread_meta__index_cols (DetailedThreadData *data, GError **error)
829 {
830 /* WARNING: function executed in sub thread! */
831 sub_thread_basic_core (PROV_CLASS (data->prov)->meta_funcs._index_cols, "_index_column_usage");
832 }
833
834 gboolean
_gda_thread_meta__index_cols(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error)835 _gda_thread_meta__index_cols (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
836 GdaMetaStore *store, GdaMetaContext *context, GError **error)
837 {
838 main_thread_basic_core (sub_thread__gda_thread_meta__index_cols, prov, cnc, store, context, error);
839 }
840
841 static gpointer
sub_thread__gda_thread_meta_index_cols(DetailedThreadData * data,GError ** error)842 sub_thread__gda_thread_meta_index_cols (DetailedThreadData *data, GError **error)
843 {
844 /* WARNING: function executed in sub thread! */
845 sub_thread_detailed4_core (PROV_CLASS (data->prov)->meta_funcs.index_cols, "index_column_usage");
846 }
847
848 gboolean
_gda_thread_meta_index_cols(G_GNUC_UNUSED GdaServerProvider * prov,GdaConnection * cnc,GdaMetaStore * store,GdaMetaContext * context,GError ** error,const GValue * table_catalog,const GValue * table_schema,const GValue * table_name,const GValue * index_name)849 _gda_thread_meta_index_cols (G_GNUC_UNUSED GdaServerProvider *prov, GdaConnection *cnc,
850 GdaMetaStore *store, GdaMetaContext *context, GError **error,
851 const GValue *table_catalog, const GValue *table_schema,
852 const GValue *table_name, const GValue *index_name)
853 {
854 main_thread_detailed_core (sub_thread__gda_thread_meta_index_cols, prov, cnc, store, context,
855 table_catalog, table_schema, table_name, index_name, error);
856 }
857