CUBRID Engine  latest
dbi.h
Go to the documentation of this file.
1 /*
2  * Copyright 2008 Search Solution Corporation
3  * Copyright 2016 CUBRID Corporation
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  */
18 
19 
20 /*
21  * dbi.h - Definitions and function prototypes for the CUBRID
22  * Application Program Interface (API).
23  */
24 
25 #ifndef _DBI_H_
26 #define _DBI_H_
27 
28 #ident "$Id$"
29 
30 #if defined (SERVER_MODE)
31 #error Does not belong to server module
32 #endif /* defined (SERVER_MODE) */
33 
34 #include <stdio.h>
35 #include <time.h>
36 
37 #include "dbtran_def.h"
38 #include "dbtype_def.h"
39 #include "db_date.h"
40 #include "db_elo.h"
41 #include "db_query.h"
42 #include "databases_file.h"
43 #include "error_code.h"
44 
45 #ifdef __cplusplus
46 extern "C"
47 {
48 #endif
49 
50 #define db_utime_to_string db_timestamp_to_string
51 #define db_string_to_utime db_string_to_timestamp
52 
53  /* todo: These functions are duplicated in dbi_compat.h. Find a workaround. */
54 
55 /* constants for db_include_oid */
56  enum
58 
59 /* Memory reclamation functions */
60  extern void db_objlist_free (DB_OBJLIST * list);
61  extern void db_string_free (char *string);
62 
63 /* Session control */
64  extern int db_auth_login (char *signed_data, int len);
65  extern int db_auth_logout (void);
66 
67  extern int db_login (const char *name, const char *password);
68  extern int db_restart (const char *program, int print_version, const char *volume);
69  extern int db_restart_ex (const char *program, const char *db_name, const char *db_user, const char *db_password,
70  const char *preferred_hosts, int client_type);
71  extern void db_set_server_session_key (const char *key);
72  extern char *db_get_server_session_key (void);
73  extern SESSION_ID db_get_session_id (void);
74  extern void db_set_session_id (const SESSION_ID session_id);
75  extern int db_end_session (void);
76  extern int db_find_or_create_session (const char *db_user, const char *program_name);
77  extern int db_get_row_count_cache (void);
78  extern void db_update_row_count_cache (const int row_count);
79  extern int db_get_row_count (int *row_count);
80  extern int db_get_last_insert_id (DB_VALUE * value);
81  extern int db_get_variable (DB_VALUE * name, DB_VALUE * value);
82  extern int db_shutdown (void);
83  extern int db_ping_server (int client_val, int *server_val);
84  extern int db_disable_modification (void);
85  extern int db_enable_modification (void);
86  extern int db_commit_transaction (void);
87  extern int db_abort_transaction (void);
88  extern int db_reset_latest_query_status (void);
89  extern int db_commit_is_needed (void);
90  extern int db_savepoint_transaction (const char *savepoint_name);
91  extern int db_abort_to_savepoint (const char *savepoint_name);
92  extern int db_set_global_transaction_info (int gtrid, void *info, int size);
93  extern int db_get_global_transaction_info (int gtrid, void *buffer, int size);
94  extern int db_2pc_start_transaction (void);
95  extern int db_2pc_prepare_transaction (void);
96  extern int db_2pc_prepared_transactions (int gtrids[], int size);
97  extern int db_2pc_prepare_to_commit_transaction (int gtrid);
98  extern int db_2pc_attach_transaction (int gtrid);
99  extern void db_set_interrupt (int set);
100  extern int db_set_suppress_repl_on_transaction (int set);
101  extern int db_checkpoint (void);
102  extern int db_freepgs (const char *vlabel);
103  extern int db_totalpgs (const char *vlabel);
104  extern char *db_vol_label (int volid, char *vol_fullname);
105  extern void db_warnspace (const char *vlabel);
106  extern int db_add_volume (const char *ext_path, const char *ext_name, const char *ext_comments, const int ext_npages,
107  const DB_VOLPURPOSE ext_purpose);
108  extern int db_add_volume_ex (DBDEF_VOL_EXT_INFO * ext_info);
109 #if 0
110  extern int db_del_volume_ex (VOLID volid, bool clear_cached);
111 #endif
112  extern int db_num_volumes (void);
113  extern int db_last_volume (void);
114  extern void db_print_stats (void);
115 
116  extern void db_preload_classes (const char *name1, ...);
117  extern void db_link_static_methods (DB_METHOD_LINK * methods);
118  extern void db_unlink_static_methods (DB_METHOD_LINK * methods);
119  extern void db_flush_static_methods (void);
120 
121  extern const char *db_error_string (int level);
122  extern int db_error_code (void);
123  extern int db_error_init (const char *logfile);
124 
125  typedef void (*db_error_log_handler_t) (unsigned int);
127 
128  extern int db_set_lock_timeout (int seconds);
129  extern int db_set_isolation (DB_TRAN_ISOLATION isolation);
130  extern void db_synchronize_cache (void);
131  extern void db_get_tran_settings (int *lock_wait, DB_TRAN_ISOLATION * tran_isolation);
132 
133 /* Authorization */
134  extern DB_OBJECT *db_get_user (void);
135  extern DB_OBJECT *db_get_owner (DB_OBJECT * classobj);
136  extern char *db_get_user_name (void);
137  extern char *db_get_user_and_host_name (void);
138  extern DB_OBJECT *db_find_user (const char *name);
139  extern int db_find_user_to_drop (const char *name, DB_OBJECT ** user);
140  extern DB_OBJECT *db_add_user (const char *name, int *exists);
141  extern int db_drop_user (DB_OBJECT * user);
142  extern int db_add_member (DB_OBJECT * user, DB_OBJECT * member);
143  extern int db_drop_member (DB_OBJECT * user, DB_OBJECT * member);
144  extern int db_set_password (DB_OBJECT * user, const char *oldpass, const char *newpass);
145  extern int db_set_user_comment (DB_OBJECT * user, const char *comment);
146  extern int db_grant (DB_OBJECT * user, DB_OBJECT * classobj, DB_AUTH auth, int grant_option);
147  extern int db_revoke (DB_OBJECT * user, DB_OBJECT * classobj, DB_AUTH auth);
148  extern int db_check_authorization (DB_OBJECT * op, DB_AUTH auth);
150  extern int db_get_class_privilege (DB_OBJECT * op, unsigned int *auth);
151 
152 /* Serial value manipulation */
153  extern int db_get_serial_current_value (const char *serial_name, DB_VALUE * serial_value);
154  extern int db_get_serial_next_value (const char *serial_name, DB_VALUE * serial_value);
155  extern int db_get_serial_next_value_ex (const char *serial_name, DB_VALUE * serial_value, int num_alloc);
156 
157 /* Instance manipulation */
158  extern DB_OBJECT *db_create (DB_OBJECT * obj);
159  extern DB_OBJECT *db_create_by_name (const char *name);
160  extern int db_get (DB_OBJECT * object, const char *attpath, DB_VALUE * value);
161  extern int db_put (DB_OBJECT * obj, const char *name, DB_VALUE * value);
162  extern int db_drop (DB_OBJECT * obj);
163  extern int db_get_expression (DB_OBJECT * object, const char *expression, DB_VALUE * value);
164  extern void db_print (DB_OBJECT * obj);
165  extern void db_fprint (FILE * fp, DB_OBJECT * obj);
166  extern DB_OBJECT *db_find_unique (DB_OBJECT * classobj, const char *attname, DB_VALUE * value);
167  extern DB_OBJECT *db_find_unique_write_mode (DB_OBJECT * classobj, const char *attname, DB_VALUE * value);
168  extern DB_OBJECT *db_find_multi_unique (DB_OBJECT * classobj, int size, char *attnames[], DB_VALUE * values[],
169  DB_FETCH_MODE purpose);
170  extern DB_OBJECT *db_dfind_unique (DB_OBJECT * classobj, DB_ATTDESC * attdesc, DB_VALUE * value,
171  DB_FETCH_MODE purpose);
172  extern DB_OBJECT *db_dfind_multi_unique (DB_OBJECT * classobj, int size, DB_ATTDESC * attdesc[], DB_VALUE * values[],
173  DB_FETCH_MODE purpose);
174  extern DB_OBJECT *db_find_primary_key (MOP classmop, const DB_VALUE ** values, int size, DB_FETCH_MODE purpose);
175 
176  extern int db_send (DB_OBJECT * obj, const char *name, DB_VALUE * returnval, ...);
177  extern int db_send_arglist (DB_OBJECT * obj, const char *name, DB_VALUE * returnval, DB_VALUE_LIST * args);
178  extern int db_send_argarray (DB_OBJECT * obj, const char *name, DB_VALUE * returnval, DB_VALUE ** args);
179 
180 /* Explicit lock & fetch functions */
181  extern int db_lock_read (DB_OBJECT * op);
182  extern int db_lock_write (DB_OBJECT * op);
183 
184  extern int db_fetch_array (DB_OBJECT ** objects, DB_FETCH_MODE mode, int quit_on_error);
185  extern int db_fetch_list (DB_OBJLIST * objects, DB_FETCH_MODE mode, int quit_on_error);
186  extern int db_fetch_set (DB_COLLECTION * set, DB_FETCH_MODE mode, int quit_on_error);
187  extern int db_fetch_seq (DB_SEQ * set, DB_FETCH_MODE mode, int quit_on_error);
188  extern int db_fetch_composition (DB_OBJECT * object, DB_FETCH_MODE mode, int max_level, int quit_on_error);
189 
190 /* Class definition */
191  extern DB_OBJECT *db_create_class (const char *name);
192  extern DB_OBJECT *db_create_vclass (const char *name);
193  extern int db_drop_class (DB_OBJECT * classobj);
194  extern int db_drop_class_ex (DB_OBJECT * classobj, bool is_cascade_constraints);
195  extern int db_rename_class (DB_OBJECT * classobj, const char *new_name);
196  extern int db_truncate_class (DB_OBJECT * classobj);
197 
198  extern int db_add_index (DB_OBJECT * classobj, const char *attname);
199  extern int db_drop_index (DB_OBJECT * classobj, const char *attname);
200 
201  extern int db_add_super (DB_OBJECT * classobj, DB_OBJECT * super);
202  extern int db_drop_super (DB_OBJECT * classobj, DB_OBJECT * super);
203  extern int db_drop_super_connect (DB_OBJECT * classobj, DB_OBJECT * super);
204 
205  extern int db_rename (DB_OBJECT * classobj, const char *name, int class_namespace, const char *newname);
206 
207  extern int db_add_attribute (DB_OBJECT * obj, const char *name, const char *domain, DB_VALUE * default_value);
208  extern int db_add_shared_attribute (DB_OBJECT * obj, const char *name, const char *domain, DB_VALUE * default_value);
209  extern int db_add_class_attribute (DB_OBJECT * obj, const char *name, const char *domain, DB_VALUE * default_value);
210  extern int db_add_set_attribute_domain (DB_OBJECT * classobj, const char *name, int class_attribute,
211  const char *domain);
212  extern int db_drop_attribute (DB_OBJECT * classobj, const char *name);
213  extern int db_drop_class_attribute (DB_OBJECT * classobj, const char *name);
214  extern int db_change_default (DB_OBJECT * classobj, const char *name, DB_VALUE * value);
215 
216  extern int db_constrain_non_null (DB_OBJECT * classobj, const char *name, int class_attribute, int on_or_off);
217  extern int db_constrain_unique (DB_OBJECT * classobj, const char *name, int on_or_off);
218  extern int db_add_method (DB_OBJECT * classobj, const char *name, const char *implementation);
219  extern int db_add_class_method (DB_OBJECT * classobj, const char *name, const char *implementation);
220  extern int db_drop_method (DB_OBJECT * classobj, const char *name);
221  extern int db_drop_class_method (DB_OBJECT * classobj, const char *name);
222  extern int db_add_argument (DB_OBJECT * classobj, const char *name, int class_method, int arg_index,
223  const char *domain);
224  extern int db_add_set_argument_domain (DB_OBJECT * classobj, const char *name, int class_method, int arg_index,
225  const char *domain);
226  extern int db_change_method_implementation (DB_OBJECT * classobj, const char *name, int class_method,
227  const char *newname);
228  extern int db_set_loader_commands (DB_OBJECT * classobj, const char *commands);
229  extern int db_add_method_file (DB_OBJECT * classobj, const char *name);
230  extern int db_drop_method_file (DB_OBJECT * classobj, const char *name);
231  extern int db_drop_method_files (DB_OBJECT * classobj);
232 
233  extern int db_add_resolution (DB_OBJECT * classobj, DB_OBJECT * super, const char *name, const char *alias);
234  extern int db_add_class_resolution (DB_OBJECT * classobj, DB_OBJECT * super, const char *name, const char *alias);
235  extern int db_drop_resolution (DB_OBJECT * classobj, DB_OBJECT * super, const char *name);
236  extern int db_drop_class_resolution (DB_OBJECT * classobj, DB_OBJECT * super, const char *name);
237  extern int db_add_constraint (MOP classmop, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name,
238  const char **att_names, int class_attributes);
239  extern int db_drop_constraint (MOP classmop, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name,
240  const char **att_names, int class_attributes);
241 
242 /* Browsing functions */
243  extern char *db_get_database_name (void);
244  extern const char *db_get_database_comments (void);
245  extern void db_set_client_type (int client_type);
246  extern void db_set_preferred_hosts (const char *hosts);
247  extern void db_set_connect_order (int connect_order);
248  extern int db_get_client_type (void);
249  extern const char *db_get_type_name (DB_TYPE type_id);
250  extern DB_TYPE db_type_from_string (const char *name);
251  extern int db_get_schema_def_dbval (DB_VALUE * result, DB_VALUE * name_val);
252 
253  extern void db_clear_host_status (void);
254  extern void db_set_host_status (char *hostname, int status);
255  extern void db_set_connected_host_status (char *host_connected);
256  extern bool db_need_reconnect (void);
257  extern bool db_need_ignore_repl_delay (void);
258  extern bool db_does_connected_host_have_status (int status);
259  extern int db_get_host_list_with_given_status (char **hostlist, int list_size, int status);
260  extern int db_get_delayed_hosts_count (void);
261  extern void db_clear_delayed_hosts_count (void);
262  extern void db_set_max_num_delayed_hosts_lookup (int max_num_delayed_hosts_lookup);
263  extern int db_get_max_num_delayed_hosts_lookup (void);
264 
265  extern bool db_enable_trigger (void);
266  extern bool db_disable_trigger (void);
267 
268  extern DB_OBJECT *db_find_class_of_index (const char *const index, const DB_CONSTRAINT_TYPE type);
269  extern DB_OBJECT *db_find_class (const char *name);
270  extern DB_OBJECT *db_find_class_with_purpose (const char *name, bool for_update);
271  extern DB_OBJECT *db_get_class (DB_OBJECT * obj);
272  extern DB_OBJLIST *db_get_all_objects (DB_OBJECT * classobj);
273  extern DB_OBJLIST *db_get_all_classes (void);
274  extern DB_OBJLIST *db_get_base_classes (void);
278 
279  extern int db_is_class (DB_OBJECT * obj);
280  extern int db_is_any_class (DB_OBJECT * obj);
281  extern int db_is_instance (DB_OBJECT * obj);
282  extern int db_is_instance_of (DB_OBJECT * obj, DB_OBJECT * classobj);
283  extern int db_is_subclass (DB_OBJECT * classobj, DB_OBJECT * supermop);
284  extern int db_is_superclass (DB_OBJECT * supermop, DB_OBJECT * classobj);
285  extern int db_is_partition (DB_OBJECT * classobj, DB_OBJECT * superobj);
286  extern int db_is_system_class (DB_OBJECT * op);
287  extern int db_is_deleted (DB_OBJECT * obj);
288 
289  extern int db_class_has_instance (DB_OBJECT * classobj);
290  extern const char *db_get_class_name (DB_OBJECT * classobj);
291  extern DB_OBJLIST *db_get_superclasses (DB_OBJECT * obj);
292  extern DB_OBJLIST *db_get_subclasses (DB_OBJECT * obj);
293  extern DB_ATTRIBUTE *db_get_attribute (DB_OBJECT * obj, const char *name);
294  extern DB_ATTRIBUTE *db_get_attribute_by_name (const char *class_name, const char *attribute_name);
295  extern DB_ATTRIBUTE *db_get_attributes (DB_OBJECT * obj);
296  extern DB_ATTRIBUTE *db_get_class_attribute (DB_OBJECT * obj, const char *name);
298  extern DB_METHOD *db_get_method (DB_OBJECT * obj, const char *name);
299  extern DB_METHOD *db_get_class_method (DB_OBJECT * obj, const char *name);
300  extern DB_METHOD *db_get_methods (DB_OBJECT * obj);
301  extern DB_METHOD *db_get_class_methods (DB_OBJECT * obj);
304  extern DB_METHFILE *db_get_method_files (DB_OBJECT * obj);
305  extern const char *db_get_loader_commands (DB_OBJECT * obj);
306 
307  extern DB_TYPE db_attribute_type (DB_ATTRIBUTE * attribute);
308  extern DB_ATTRIBUTE *db_attribute_next (DB_ATTRIBUTE * attribute);
309  extern const char *db_attribute_name (DB_ATTRIBUTE * attribute);
310  extern const char *db_attribute_comment (DB_ATTRIBUTE * attribute);
311  extern int db_attribute_id (DB_ATTRIBUTE * attribute);
312  extern int db_attribute_order (DB_ATTRIBUTE * attribute);
313  extern DB_DOMAIN *db_attribute_domain (DB_ATTRIBUTE * attribute);
314  extern DB_OBJECT *db_attribute_class (DB_ATTRIBUTE * attribute);
315  extern DB_VALUE *db_attribute_default (DB_ATTRIBUTE * attribute);
316  extern int db_attribute_is_unique (DB_ATTRIBUTE * attribute);
317  extern int db_attribute_is_primary_key (DB_ATTRIBUTE * attribute);
318  extern int db_attribute_is_foreign_key (DB_ATTRIBUTE * attribute);
319  extern int db_attribute_is_auto_increment (DB_ATTRIBUTE * attribute);
320  extern int db_attribute_is_reverse_unique (DB_ATTRIBUTE * attribute);
321  extern int db_attribute_is_non_null (DB_ATTRIBUTE * attribute);
322  extern int db_attribute_is_indexed (DB_ATTRIBUTE * attribute);
323  extern int db_attribute_is_reverse_indexed (DB_ATTRIBUTE * attribute);
324  extern int db_attribute_is_shared (DB_ATTRIBUTE * attribute);
325  extern int db_attribute_length (DB_ATTRIBUTE * attribute);
326 
327  extern DB_DOMAIN *db_domain_next (const DB_DOMAIN * domain);
328  extern DB_TYPE db_domain_type (const DB_DOMAIN * domain);
329  extern DB_OBJECT *db_domain_class (const DB_DOMAIN * domain);
330  extern DB_DOMAIN *db_domain_set (const DB_DOMAIN * domain);
331  extern int db_domain_precision (const DB_DOMAIN * domain);
332  extern int db_domain_scale (const DB_DOMAIN * domain);
333  extern int db_domain_codeset (const DB_DOMAIN * domain);
334  extern int db_domain_collation_id (const DB_DOMAIN * domain);
335  extern const char *db_domain_raw_json_schema (const DB_DOMAIN * domain);
336 
337  extern DB_METHOD *db_method_next (DB_METHOD * method);
338  extern const char *db_method_name (DB_METHOD * method);
339  extern const char *db_method_function (DB_METHOD * method);
340  extern DB_OBJECT *db_method_class (DB_METHOD * method);
341  extern DB_DOMAIN *db_method_return_domain (DB_METHOD * method);
342  extern DB_DOMAIN *db_method_arg_domain (DB_METHOD * method, int arg);
343  extern int db_method_arg_count (DB_METHOD * method);
344 
345  extern DB_RESOLUTION *db_resolution_next (DB_RESOLUTION * resolution);
346  extern DB_OBJECT *db_resolution_class (DB_RESOLUTION * resolution);
347  extern const char *db_resolution_name (DB_RESOLUTION * resolution);
348  extern const char *db_resolution_alias (DB_RESOLUTION * resolution);
349  extern int db_resolution_isclass (DB_RESOLUTION * resolution);
350 
351  extern DB_METHFILE *db_methfile_next (DB_METHFILE * methfile);
352  extern const char *db_methfile_name (DB_METHFILE * methfile);
353 
356 
357 
358  extern int db_get_class_num_objs_and_pages (DB_OBJECT * classmop, int approximation, int *nobjs, int *npages);
359  extern int db_get_btree_statistics (DB_CONSTRAINT * cons, int *num_leaf_pages, int *num_total_pages, int *num_keys,
360  int *height);
361 
362 /* Constraint Functions */
364  extern DB_CONSTRAINT *db_constraint_next (DB_CONSTRAINT * constraint);
366  extern DB_CONSTRAINT_TYPE db_constraint_type (const DB_CONSTRAINT * constraint);
367  extern const char *db_constraint_name (DB_CONSTRAINT * constraint);
368  extern DB_ATTRIBUTE **db_constraint_attributes (DB_CONSTRAINT * constraint);
369  extern const int *db_constraint_asc_desc (DB_CONSTRAINT * constraint);
370  extern const int *db_constraint_prefix_length (DB_CONSTRAINT * constraint);
371 
372  extern const char *db_get_foreign_key_action (DB_CONSTRAINT * constraint, DB_FK_ACTION_TYPE type);
374 
375 /* Trigger functions */
376  extern DB_OBJECT *db_create_trigger (const char *name, DB_TRIGGER_STATUS status, double priority,
377  DB_TRIGGER_EVENT event, DB_OBJECT * class_obj, const char *attr,
378  DB_TRIGGER_TIME cond_time, const char *cond_source, DB_TRIGGER_TIME action_time,
379  DB_TRIGGER_ACTION action_type, const char *action_source);
380 
381  extern int db_drop_trigger (DB_OBJECT * obj);
382  extern int db_rename_trigger (DB_OBJECT * obj, const char *newname);
383 
384  extern DB_OBJECT *db_find_trigger (const char *name);
385  extern int db_find_all_triggers (DB_OBJLIST ** list);
386  extern int db_find_event_triggers (DB_TRIGGER_EVENT event, DB_OBJECT * class_obj, const char *attr,
387  DB_OBJLIST ** list);
388  extern int db_alter_trigger_priority (DB_OBJECT * trobj, double priority);
389  extern int db_alter_trigger_status (DB_OBJECT * trobj, DB_TRIGGER_STATUS status);
390 
391  extern int db_execute_deferred_activities (DB_OBJECT * trigger_obj, DB_OBJECT * target);
392  extern int db_drop_deferred_activities (DB_OBJECT * trigger_obj, DB_OBJECT * target);
393 
394  extern int db_trigger_name (DB_OBJECT * trobj, char **name);
395  extern int db_trigger_status (DB_OBJECT * trobj, DB_TRIGGER_STATUS * status);
396  extern int db_trigger_priority (DB_OBJECT * trobj, double *priority);
397  extern int db_trigger_event (DB_OBJECT * trobj, DB_TRIGGER_EVENT * event);
398  extern int db_trigger_class (DB_OBJECT * trobj, DB_OBJECT ** class_obj);
399  extern int db_trigger_attribute (DB_OBJECT * trobj, char **attr);
400  extern int db_trigger_condition (DB_OBJECT * trobj, char **condition);
401  extern int db_trigger_condition_time (DB_OBJECT * trobj, DB_TRIGGER_TIME * tr_time);
402  extern int db_trigger_action_type (DB_OBJECT * trobj, DB_TRIGGER_ACTION * type);
403  extern int db_trigger_action_time (DB_OBJECT * trobj, DB_TRIGGER_TIME * tr_time);
404  extern int db_trigger_action (DB_OBJECT * trobj, char **action);
405  extern int db_trigger_comment (DB_OBJECT * trobj, char **comment);
406 
407 /* Schema template functions */
408  extern DB_CTMPL *dbt_create_class (const char *name);
409  extern DB_CTMPL *dbt_create_vclass (const char *name);
410  extern DB_CTMPL *dbt_edit_class (DB_OBJECT * classobj);
411  extern DB_CTMPL *dbt_copy_class (const char *new_name, const char *existing_name, SM_CLASS ** class_);
412  extern DB_OBJECT *dbt_finish_class (DB_CTMPL * def);
413  extern void dbt_abort_class (DB_CTMPL * def);
414 
415  extern int dbt_add_attribute (DB_CTMPL * def, const char *name, const char *domain, DB_VALUE * default_value);
416  extern int dbt_add_shared_attribute (DB_CTMPL * def, const char *name, const char *domain, DB_VALUE * default_value);
417  extern int dbt_add_class_attribute (DB_CTMPL * def, const char *name, const char *domain, DB_VALUE * default_value);
418  extern int dbt_constrain_non_null (DB_CTMPL * def, const char *name, int class_attribute, int on_or_off);
419  extern int dbt_constrain_unique (DB_CTMPL * def, const char *name, int on_or_off);
420  extern int dbt_add_constraint (DB_CTMPL * def, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name,
421  const char **attnames, int class_attributes, const char *comment);
422  extern int dbt_drop_constraint (DB_CTMPL * def, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name,
423  const char **attnames, int class_attributes);
424  extern int dbt_add_set_attribute_domain (DB_CTMPL * def, const char *name, int class_attribute, const char *domain);
425  extern int dbt_change_domain (DB_CTMPL * def, const char *name, int class_attribute, const char *domain);
426  extern int dbt_change_default (DB_CTMPL * def, const char *name, int class_attribute, DB_VALUE * value);
427  extern int dbt_drop_set_attribute_domain (DB_CTMPL * def, const char *name, int class_attribute, const char *domain);
428  extern int dbt_drop_attribute (DB_CTMPL * def, const char *name);
429  extern int dbt_drop_shared_attribute (DB_CTMPL * def, const char *name);
430  extern int dbt_drop_class_attribute (DB_CTMPL * def, const char *name);
431  extern int dbt_add_method (DB_CTMPL * def, const char *name, const char *implementation);
432  extern int dbt_add_class_method (DB_CTMPL * def, const char *name, const char *implementation);
433  extern int dbt_add_argument (DB_CTMPL * def, const char *name, int class_method, int arg_index, const char *domain);
434  extern int dbt_add_set_argument_domain (DB_CTMPL * def, const char *name, int class_method, int arg_index,
435  const char *domain);
436  extern int dbt_change_method_implementation (DB_CTMPL * def, const char *name, int class_method, const char *newname);
437  extern int dbt_drop_method (DB_CTMPL * def, const char *name);
438  extern int dbt_drop_class_method (DB_CTMPL * def, const char *name);
439  extern int dbt_add_super (DB_CTMPL * def, DB_OBJECT * super);
440  extern int dbt_drop_super (DB_CTMPL * def, DB_OBJECT * super);
441  extern int dbt_drop_super_connect (DB_CTMPL * def, DB_OBJECT * super);
442  extern int dbt_rename (DB_CTMPL * def, const char *name, int class_namespace, const char *newname);
443  extern int dbt_add_method_file (DB_CTMPL * def, const char *name);
444  extern int dbt_drop_method_file (DB_CTMPL * def, const char *name);
445  extern int dbt_drop_method_files (DB_CTMPL * def);
446  extern int dbt_rename_method_file (DB_CTMPL * def, const char *new_name, const char *old_name);
447 
448  extern int dbt_set_loader_commands (DB_CTMPL * def, const char *commands);
449  extern int dbt_add_resolution (DB_CTMPL * def, DB_OBJECT * super, const char *name, const char *alias);
450  extern int dbt_add_class_resolution (DB_CTMPL * def, DB_OBJECT * super, const char *name, const char *alias);
451  extern int dbt_drop_resolution (DB_CTMPL * def, DB_OBJECT * super, const char *name);
452  extern int dbt_drop_class_resolution (DB_CTMPL * def, DB_OBJECT * super, const char *name);
453 
454  extern int dbt_add_query_spec (DB_CTMPL * def, const char *query);
455  extern int dbt_drop_query_spec (DB_CTMPL * def, const int query_no);
456  extern int dbt_reset_query_spec (DB_CTMPL * def);
457  extern int dbt_change_query_spec (DB_CTMPL * def, const char *new_query, const int query_no);
458  extern int dbt_set_object_id (DB_CTMPL * def, DB_NAMELIST * id_list);
459  extern int dbt_add_foreign_key (DB_CTMPL * def, const char *constraint_name, const char **attnames,
460  const char *ref_class, const char **ref_attrs, int del_action, int upd_action,
461  const char *comment);
462 
463 /* Object template functions */
464  extern DB_OTMPL *dbt_create_object (DB_OBJECT * classobj);
465  extern DB_OTMPL *dbt_edit_object (DB_OBJECT * object);
466  extern DB_OBJECT *dbt_finish_object (DB_OTMPL * def);
468  extern void dbt_abort_object (DB_OTMPL * def);
469 
470  extern int dbt_put (DB_OTMPL * def, const char *name, DB_VALUE * value);
471  extern int dbt_set_label (DB_OTMPL * def, DB_VALUE * label);
472 
473 /* Descriptor functions.
474  * The descriptor interface offers an alternative to attribute & method
475  * names that can be substantially faster for repetitive operations.
476  */
477  extern int db_get_attribute_descriptor (DB_OBJECT * obj, const char *attname, int class_attribute, int for_update,
478  DB_ATTDESC ** descriptor);
479  extern void db_free_attribute_descriptor (DB_ATTDESC * descriptor);
480 
481  extern int db_get_method_descriptor (DB_OBJECT * obj, const char *methname, int class_method,
482  DB_METHDESC ** descriptor);
483  extern void db_free_method_descriptor (DB_METHDESC * descriptor);
484 
485  extern int db_dget (DB_OBJECT * obj, DB_ATTDESC * attribute, DB_VALUE * value);
486  extern int db_dput (DB_OBJECT * obj, DB_ATTDESC * attribute, DB_VALUE * value);
487 
488  extern int db_dsend (DB_OBJECT * obj, DB_METHDESC * method, DB_VALUE * returnval, ...);
489 
490  extern int db_dsend_arglist (DB_OBJECT * obj, DB_METHDESC * method, DB_VALUE * returnval, DB_VALUE_LIST * args);
491 
492  extern int db_dsend_argarray (DB_OBJECT * obj, DB_METHDESC * method, DB_VALUE * returnval, DB_VALUE ** args);
493 
494  extern int db_dsend_quick (DB_OBJECT * obj, DB_METHDESC * method, DB_VALUE * returnval, int nargs, DB_VALUE ** args);
495 
496  extern int dbt_dput (DB_OTMPL * def, DB_ATTDESC * attribute, DB_VALUE * value);
497 
498 /* SQL/M API function*/
499  extern char *db_get_vclass_ldb_name (DB_OBJECT * op);
500 
501  extern int db_add_query_spec (DB_OBJECT * vclass, const char *query);
502  extern int db_drop_query_spec (DB_OBJECT * vclass, const int query_no);
503  extern DB_NAMELIST *db_get_object_id (DB_OBJECT * vclass);
504 
505  extern int db_namelist_add (DB_NAMELIST ** list, const char *name);
506  extern int db_namelist_append (DB_NAMELIST ** list, const char *name);
507  extern void db_namelist_free (DB_NAMELIST * list);
508 
509  extern int db_is_vclass (DB_OBJECT * op);
510 
511  extern DB_OBJLIST *db_get_all_vclasses_on_ldb (void);
512  extern DB_OBJLIST *db_get_all_vclasses (void);
513 
515  extern DB_QUERY_SPEC *db_query_spec_next (DB_QUERY_SPEC * query_spec);
516  extern const char *db_query_spec_string (DB_QUERY_SPEC * query_spec);
517  extern int db_change_query_spec (DB_OBJECT * vclass, const char *new_query, const int query_no);
518  extern int db_validate (DB_OBJECT * vclass);
519  extern int db_validate_query_spec (DB_OBJECT * vclass, const char *query_spec);
520  extern int db_is_real_instance (DB_OBJECT * obj);
521  extern DB_OBJECT *db_real_instance (DB_OBJECT * obj);
522  extern int db_instance_equal (DB_OBJECT * obj1, DB_OBJECT * obj2);
523  extern int db_is_updatable_object (DB_OBJECT * obj);
524  extern int db_is_updatable_attribute (DB_OBJECT * obj, const char *attr_name);
525  extern int db_check_single_query (DB_SESSION * session);
526 /* query pre-processing functions */
527  extern int db_get_query_format (const char *CSQL_query, DB_QUERY_TYPE ** type_list, DB_QUERY_ERROR * query_error);
528  extern DB_QUERY_TYPE *db_query_format_next (DB_QUERY_TYPE * query_type);
529  extern DB_COL_TYPE db_query_format_col_type (DB_QUERY_TYPE * query_type);
530  extern char *db_query_format_name (DB_QUERY_TYPE * query_type);
531  extern DB_TYPE db_query_format_type (DB_QUERY_TYPE * query_type);
532  extern void db_query_format_free (DB_QUERY_TYPE * query_type);
533  extern DB_DOMAIN *db_query_format_domain (DB_QUERY_TYPE * query_type);
534  extern char *db_query_format_attr_name (DB_QUERY_TYPE * query_type);
535  extern char *db_query_format_spec_name (DB_QUERY_TYPE * query_type);
536  extern char *db_query_format_original_name (DB_QUERY_TYPE * query_type);
537  extern const char *db_query_format_class_name (DB_QUERY_TYPE * query_type);
538  extern int db_query_format_is_non_null (DB_QUERY_TYPE * query_type);
539 
540 /* query processing functions */
541  extern int db_get_query_result_format (DB_QUERY_RESULT * result, DB_QUERY_TYPE ** type_list);
542  extern int db_query_next_tuple (DB_QUERY_RESULT * result);
543  extern int db_query_prev_tuple (DB_QUERY_RESULT * result);
544  extern int db_query_first_tuple (DB_QUERY_RESULT * result);
545  extern int db_query_last_tuple (DB_QUERY_RESULT * result);
546  extern int db_query_get_tuple_value_by_name (DB_QUERY_RESULT * result, char *column_name, DB_VALUE * value);
547  extern int db_query_get_tuple_value (DB_QUERY_RESULT * result, int tuple_index, DB_VALUE * value);
548 
549  extern int db_query_get_tuple_oid (DB_QUERY_RESULT * result, DB_VALUE * db_value);
550 
551  extern int db_query_get_tuple_valuelist (DB_QUERY_RESULT * result, int size, DB_VALUE * value_list);
552 
553  extern int db_query_tuple_count (DB_QUERY_RESULT * result);
554 
555  extern int db_query_column_count (DB_QUERY_RESULT * result);
556 
557  extern int db_query_prefetch_columns (DB_QUERY_RESULT * result, int *columns, int col_count);
558 
559  extern int db_query_format_size (DB_QUERY_TYPE * query_type);
560 
561 /* query post-processing functions */
562  extern int db_query_plan_dump_file (char *filename);
563 
564 /* sql query routines */
565  extern DB_SESSION *db_open_buffer (const char *buffer);
566  extern DB_SESSION *db_open_file (FILE * file);
567  extern DB_SESSION *db_open_file_name (const char *name);
568 
569  extern int db_statement_count (DB_SESSION * session);
570 
571  extern int db_compile_statement (DB_SESSION * session);
572  extern void db_rewind_statement (DB_SESSION * session);
573  extern int db_session_is_last_statement (DB_SESSION * session);
574 
575  extern DB_SESSION_ERROR *db_get_errors (DB_SESSION * session);
576 
577  extern DB_SESSION_ERROR *db_get_next_error (DB_SESSION_ERROR * errors, int *linenumber, int *columnnumber);
578 
579  extern DB_SESSION_ERROR *db_get_warnings (DB_SESSION * session);
580 
581  extern DB_SESSION_ERROR *db_get_next_warning (DB_SESSION_WARNING * errors, int *linenumber, int *columnnumber);
582  extern void db_session_set_holdable (DB_SESSION * session, bool holdable);
583  extern void db_session_set_xasl_cache_pinned (DB_SESSION * session, bool is_pinned, bool recompile);
584  extern void db_session_set_return_generated_keys (DB_SESSION * session, bool return_generated_keys);
585  extern DB_PARAMETER *db_get_parameters (DB_SESSION * session, int statement_id);
586  extern DB_PARAMETER *db_parameter_next (DB_PARAMETER * param);
587  extern const char *db_parameter_name (DB_PARAMETER * param);
588  extern int db_bind_parameter_name (const char *name, DB_VALUE * value);
589 
590  extern DB_QUERY_TYPE *db_get_query_type_list (DB_SESSION * session, int stmt);
591 
592  extern int db_number_of_input_markers (DB_SESSION * session, int stmt);
593  extern int db_number_of_output_markers (DB_SESSION * session, int stmt);
594  extern DB_MARKER *db_get_input_markers (DB_SESSION * session, int stmt);
595  extern DB_MARKER *db_get_output_markers (DB_SESSION * session, int stmt);
596  extern DB_MARKER *db_marker_next (DB_MARKER * marker);
597  extern int db_marker_index (DB_MARKER * marker);
598  extern DB_DOMAIN *db_marker_domain (DB_MARKER * marker);
599  extern bool db_is_input_marker (DB_MARKER * marker);
600  extern bool db_is_output_marker (DB_MARKER * marker);
601 
602  extern int db_get_start_line (DB_SESSION * session, int stmt);
603 
604  extern int db_get_statement_type (DB_SESSION * session, int stmt);
605 
606  extern void db_include_oid (DB_SESSION * session, int include_oid);
607 
608  extern int db_push_values (DB_SESSION * session, int count, DB_VALUE * in_values);
609 
610  extern int db_execute (const char *CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error);
611 
612  extern int db_execute_oid (const char *CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error);
613 
614  extern int db_query_produce_updatable_result (DB_SESSION * session, int stmtid);
615 
616  extern int db_execute_statement (DB_SESSION * session, int stmt, DB_QUERY_RESULT ** result);
617 
618  extern int db_execute_and_keep_statement (DB_SESSION * session, int stmt, DB_QUERY_RESULT ** result);
619  extern DB_CLASS_MODIFICATION_STATUS db_has_modified_class (DB_SESSION * session, int stmt_id);
620 
622 
623  extern void db_set_read_fetch_instance_version (LC_FETCH_VERSION_TYPE read_Fetch_Instance_Version);
624 
625  extern int db_set_statement_auto_commit (DB_SESSION * session, bool auto_commit);
626 
627  extern int db_query_set_copy_tplvalue (DB_QUERY_RESULT * result, int copy);
628 
629  extern void db_close_session (DB_SESSION * session);
630  extern void db_drop_statement (DB_SESSION * session, int stmt_id);
631 
632  extern int db_object_describe (DB_OBJECT * obj, int num_attrs, const char **attrs, DB_QUERY_TYPE ** col_spec);
633 
634  extern int db_object_fetch (DB_OBJECT * obj, int num_attrs, const char **attrs, DB_QUERY_RESULT ** result);
635 
636  extern int db_set_client_cache_time (DB_SESSION * session, int stmt_ndx, CACHE_TIME * cache_time);
637  extern bool db_get_jdbccachehint (DB_SESSION * session, int stmt_ndx, int *life_time);
638  extern bool db_get_cacheinfo (DB_SESSION * session, int stmt_ndx, bool * use_plan_cache, bool * use_query_cache);
639 
640 /* These are used by csql but weren't in the 2.0 dbi.h file, added
641  it for the PC. If we don't want them here, they should go somewhere
642  else so csql.c doesn't have to have an explicit declaration.
643 */
644  extern void db_free_query (DB_SESSION * session);
646 
647 /* OBSOLETE FUNCTIONS
648  * These functions are no longer supported.
649  * New applications should not use any of these functions of structures.
650  * Old applications should change to use only the functions and structures
651  * published in the CUBRID Application Program Interface Reference Guide.
652  */
653 
654  extern int db_query_execute (const char *CSQL_query, DB_QUERY_RESULT ** result, DB_QUERY_ERROR * query_error);
655 
656  extern int db_list_length (DB_LIST * list);
657  extern DB_NAMELIST *db_namelist_copy (DB_NAMELIST * list);
658 
659  extern int db_drop_shared_attribute (DB_OBJECT * classobj, const char *name);
660 
661  extern int db_add_element_domain (DB_OBJECT * classobj, const char *name, const char *domain);
662  extern int db_drop_element_domain (DB_OBJECT * classobj, const char *name, const char *domain);
663  extern int db_rename_attribute (DB_OBJECT * classobj, const char *name, int class_attribute, const char *newname);
664  extern int db_rename_method (DB_OBJECT * classobj, const char *name, int class_method, const char *newname);
665  extern int db_set_argument_domain (DB_OBJECT * classobj, const char *name, int class_method, int arg_index,
666  const char *domain);
667  extern int db_set_method_arg_domain (DB_OBJECT * classobj, const char *name, int arg_index, const char *domain);
668  extern int db_set_class_method_arg_domain (DB_OBJECT * classobj, const char *name, int arg_index, const char *domain);
669  extern DB_NAMELIST *db_namelist_sort (DB_NAMELIST * names);
670  extern void db_namelist_remove (DB_NAMELIST ** list, const char *name);
671  extern DB_OBJECT *db_objlist_get (DB_OBJLIST * list, int psn);
672  extern void db_namelist_print (DB_NAMELIST * list);
673  extern void db_objlist_print (DB_OBJLIST * list);
674 
679  extern DB_NAMELIST *db_get_method_names (DB_OBJECT * obj);
684  extern const char *db_get_method_function (DB_OBJECT * obj, const char *name);
685 
686  extern DB_DOMAIN *db_get_attribute_domain (DB_OBJECT * obj, const char *name);
687  extern DB_TYPE db_get_attribute_type (DB_OBJECT * obj, const char *name);
688  extern DB_OBJECT *db_get_attribute_class (DB_OBJECT * obj, const char *name);
689 
690  extern void db_force_method_reload (DB_OBJECT * obj);
691 
692  extern DB_ATTRIBUTE *db_get_shared_attribute (DB_OBJECT * obj, const char *name);
695 
696  extern int db_print_mop (DB_OBJECT * obj, char *buffer, int maxlen);
697 
698  extern int db_get_shared (DB_OBJECT * object, const char *attpath, DB_VALUE * value);
699 
700  extern DB_OBJECT *db_copy (DB_OBJECT * sourcemop);
701  extern char *db_get_method_source_file (DB_OBJECT * obj, const char *name);
702 
703  extern int db_is_indexed (DB_OBJECT * classobj, const char *attname);
704 
705 /* INTERNAL FUNCTIONS
706  * These are part of the interface but are intended only for
707  * internal use by CUBRID. Applications should not use these
708  * functions.
709  */
710  extern DB_IDENTIFIER *db_identifier (DB_OBJECT * obj);
711  extern DB_OBJECT *db_object (DB_IDENTIFIER * oid);
712  extern int db_chn (DB_OBJECT * obj, DB_FETCH_MODE purpose);
713 
714  extern int db_encode_object (DB_OBJECT * object, char *string, int allocated_length, int *actual_length);
715  extern int db_decode_object (const char *string, DB_OBJECT ** object);
716 
717  extern int db_set_system_parameters (const char *data);
718  extern int db_set_system_parameters_for_ha_repl (const char *data);
719  extern int db_reset_system_parameters_from_assignments (const char *data);
720  extern int db_get_system_parameters (char *data, int len);
721 
722  extern char *db_get_host_connected (void);
723  extern int db_get_ha_server_state (char *buffer, int maxlen);
724 
725  extern void db_clear_host_connected (void);
726  extern char *db_get_database_version (void);
727 #ifdef __cplusplus
728 }
729 #endif
730 #endif /* _DBI_H_ */
int db_2pc_prepared_transactions(int gtrids[], int size)
Definition: db_admin.c:1373
LC_FETCH_VERSION_TYPE
Definition: locator.h:178
int dbt_rename(DB_CTMPL *def, const char *name, int class_namespace, const char *newname)
Definition: db_temp.c:967
int dbt_drop_super(DB_CTMPL *def, DB_OBJECT *super)
int db_trigger_priority(DB_OBJECT *trobj, double *priority)
Definition: db_obj.c:1585
int db_freepgs(const char *vlabel)
Definition: db_admin.c:2054
int dbt_drop_constraint(DB_CTMPL *def, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **attnames, int class_attributes)
Definition: db_temp.c:473
int db_number_of_input_markers(DB_SESSION *session, int stmt)
Definition: db_vdb.c:1125
int db_attribute_is_reverse_unique(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1328
int dbt_add_super(DB_CTMPL *def, DB_OBJECT *super)
int db_query_last_tuple(DB_QUERY_RESULT *result)
Definition: db_query.c:2374
int dbt_drop_shared_attribute(DB_CTMPL *def, const char *name)
Definition: db_temp.c:714
const char * db_parameter_name(DB_PARAMETER *param)
Definition: db_vdb.c:3791
int dbt_add_foreign_key(DB_CTMPL *def, const char *constraint_name, const char **attnames, const char *ref_class, const char **ref_attrs, int del_action, int upd_action, const char *comment)
Definition: db_temp.c:524
DB_METHOD * db_get_methods(DB_OBJECT *obj)
Definition: db_info.c:1513
DB_OBJLIST * db_objlist_next(DB_OBJLIST *link)
Definition: db_info.c:2271
DB_QUERY_TYPE * db_get_query_type_ptr(DB_QUERY_RESULT *result)
Definition: db_vdb.c:1431
int db_login(const char *name, const char *password)
Definition: db_admin.c:804
DB_OBJLIST * db_fetch_base_classes(DB_FETCH_MODE mode)
Definition: db_info.c:223
DB_OBJECT * db_create_class(const char *name)
Definition: db_class.c:70
char * db_query_format_spec_name(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1635
int db_dsend_arglist(DB_OBJECT *obj, DB_METHDESC *method, DB_VALUE *returnval, DB_VALUE_LIST *args)
Definition: db_obj.c:1022
void db_set_max_num_delayed_hosts_lookup(int max_num_delayed_hosts_lookup)
Definition: db_admin.c:528
int db_is_real_instance(DB_OBJECT *obj)
Definition: db_virt.c:213
void db_set_connect_order(int connect_order)
Definition: db_admin.c:522
DB_OBJECT * db_get_owner(DB_OBJECT *classobj)
Definition: db_admin.c:1892
int db_get_class_privilege(DB_OBJECT *op, unsigned int *auth)
Definition: db_info.c:2346
DB_ATTRIBUTE * db_get_shared_attribute(DB_OBJECT *obj, const char *name)
Definition: db_info.c:849
int db_trigger_condition_time(DB_OBJECT *trobj, DB_TRIGGER_TIME *tr_time)
Definition: db_obj.c:1683
DB_OBJECT * db_find_unique(DB_OBJECT *classobj, const char *attname, DB_VALUE *value)
DB_NAMELIST * db_get_object_id(DB_OBJECT *vclass)
int db_constrain_non_null(DB_OBJECT *classobj, const char *name, int class_attribute, int on_or_off)
DB_METHFILE * db_methfile_next(DB_METHFILE *methfile)
Definition: db_info.c:2201
int dbt_drop_set_attribute_domain(DB_CTMPL *def, const char *name, int class_attribute, const char *domain)
Definition: db_temp.c:633
int db_shutdown(void)
Definition: db_admin.c:964
int db_get_max_num_delayed_hosts_lookup(void)
Definition: db_admin.c:534
int db_drop_class_ex(DB_OBJECT *classobj, bool is_cascade_constraints)
DB_VALUE * db_attribute_default(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1209
DB_COL_TYPE db_query_format_col_type(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1590
DB_DOMAIN * db_domain_set(const DB_DOMAIN *domain)
Definition: db_macro.c:4060
int dbt_change_default(DB_CTMPL *def, const char *name, int class_attribute, DB_VALUE *value)
Definition: db_temp.c:611
DB_OBJECT * db_create_by_name(const char *name)
Definition: db_obj.c:115
char * db_query_format_original_name(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1648
int db_get_global_transaction_info(int gtrid, void *buffer, int size)
Definition: db_admin.c:1295
DB_OBJECT * db_real_instance(DB_OBJECT *obj)
Definition: db_virt.c:247
int db_drop_constraint(MOP classmop, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **att_names, int class_attributes)
Definition: db_class.c:1826
int dbt_set_loader_commands(DB_CTMPL *def, const char *commands)
Definition: db_temp.c:1095
int db_lock_write(DB_OBJECT *op)
Definition: db_admin.c:2030
bool db_need_reconnect(void)
Definition: db_admin.c:709
int db_domain_collation_id(const DB_DOMAIN *domain)
Definition: db_macro.c:4134
DB_TYPE db_query_format_type(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1690
int db_alter_trigger_priority(DB_OBJECT *trobj, double priority)
Definition: db_obj.c:1438
void db_drop_statement(DB_SESSION *session, int stmt_id)
Definition: db_vdb.c:3196
int db_session_is_last_statement(DB_SESSION *session)
Definition: db_vdb.c:799
int db_lock_read(DB_OBJECT *op)
Definition: db_admin.c:2001
int db_set_client_cache_time(DB_SESSION *session, int stmt_ndx, CACHE_TIME *cache_time)
Definition: db_vdb.c:813
int db_add_volume_ex(DBDEF_VOL_EXT_INFO *ext_info)
Definition: db_admin.c:342
int db_constrain_unique(DB_OBJECT *classobj, const char *name, int on_or_off)
DB_OBJECT * db_find_primary_key(MOP classmop, const DB_VALUE **values, int size, DB_FETCH_MODE purpose)
Definition: db_obj.c:1138
int dbt_set_object_id(DB_CTMPL *def, DB_NAMELIST *id_list)
Definition: db_temp.c:1281
int db_fetch_set(DB_COLLECTION *set, DB_FETCH_MODE mode, int quit_on_error)
Definition: db_admin.c:2372
DB_OBJLIST * db_get_subclasses(DB_OBJECT *obj)
Definition: db_info.c:659
int dbt_set_label(DB_OTMPL *def, DB_VALUE *label)
Definition: db_obj.c:713
int db_execute(const char *CSQL_query, DB_QUERY_RESULT **result, DB_QUERY_ERROR *query_error)
Definition: db_query.c:1836
int db_add_set_argument_domain(DB_OBJECT *classobj, const char *name, int class_method, int arg_index, const char *domain)
Definition: db_class.c:1049
int db_query_format_size(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1704
int db_query_prev_tuple(DB_QUERY_RESULT *result)
Definition: db_query.c:2196
int dbt_drop_resolution(DB_CTMPL *def, DB_OBJECT *super, const char *name)
int db_commit_is_needed(void)
Definition: db_admin.c:1154
const char * db_query_spec_string(DB_QUERY_SPEC *query_spec)
Definition: db_virt.c:651
DB_TYPE
Definition: dbtype_def.h:670
int db_drop_shared_attribute(DB_OBJECT *classobj, const char *name)
int db_trigger_action(DB_OBJECT *trobj, char **action)
Definition: db_obj.c:1742
DB_SESSION * db_open_file(FILE *file)
Definition: db_vdb.c:251
int db_get_attribute_descriptor(DB_OBJECT *obj, const char *attname, int class_attribute, int for_update, DB_ATTDESC **descriptor)
Definition: db_obj.c:763
int dbt_add_shared_attribute(DB_CTMPL *def, const char *name, const char *domain, DB_VALUE *default_value)
Definition: db_temp.c:294
DB_OBJECT * db_find_unique_write_mode(DB_OBJECT *classobj, const char *attname, DB_VALUE *value)
int db_check_single_query(DB_SESSION *session)
Definition: db_vdb.c:3695
DB_OBJECT * dbt_finish_object(DB_OTMPL *def)
Definition: db_obj.c:560
char * db_get_database_name(void)
Definition: db_admin.c:432
int db_auth_login(char *signed_data, int len)
int db_compile_statement(DB_SESSION *session)
Definition: db_vdb.c:766
DB_METHOD * db_get_class_methods(DB_OBJECT *obj)
Definition: db_info.c:1542
char * db_get_method_source_file(DB_OBJECT *obj, const char *name)
DB_MARKER * db_get_output_markers(DB_SESSION *session, int stmt)
Definition: db_vdb.c:1209
void db_warnspace(const char *vlabel)
Definition: db_admin.c:2452
int db_drop_member(DB_OBJECT *user, DB_OBJECT *member)
Definition: db_admin.c:1719
static const char * attribute_name(PARSER_CONTEXT *parser, PT_NODE *att)
int db_set_class_method_arg_domain(DB_OBJECT *classobj, const char *name, int arg_index, const char *domain)
Definition: db_class.c:1024
int db_add_class_attribute(DB_OBJECT *obj, const char *name, const char *domain, DB_VALUE *default_value)
DB_OBJECT * db_attribute_class(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1189
DB_TYPE db_attribute_type(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1000
bool db_disable_trigger(void)
Definition: db_admin.c:570
int db_is_updatable_object(DB_OBJECT *obj)
Definition: db_virt.c:342
DB_OBJLIST * db_get_all_objects(DB_OBJECT *classobj)
Definition: db_info.c:246
int db_get_class_num_objs_and_pages(DB_OBJECT *classmop, int approximation, int *nobjs, int *npages)
Definition: db_info.c:2311
int db_drop_element_domain(DB_OBJECT *classobj, const char *name, const char *domain)
int db_attribute_is_non_null(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1355
int db_error_init(const char *logfile)
Definition: db_admin.c:2164
int db_drop_class_resolution(DB_OBJECT *classobj, DB_OBJECT *super, const char *name)
DB_DOMAIN * db_marker_domain(DB_MARKER *marker)
Definition: db_vdb.c:1276
int dbt_change_method_implementation(DB_CTMPL *def, const char *name, int class_method, const char *newname)
Definition: db_temp.c:845
int db_check_authorization(DB_OBJECT *op, DB_AUTH auth)
int db_get_expression(DB_OBJECT *object, const char *expression, DB_VALUE *value)
Definition: db_obj.c:296
int db_set_user_comment(DB_OBJECT *user, const char *comment)
Definition: db_admin.c:1765
DB_NAMELIST * db_get_superclass_names(DB_OBJECT *obj)
int db_get_system_parameters(char *data, int len)
Definition: db_admin.c:2770
DB_ATTRIBUTE * db_get_class_attribute(DB_OBJECT *obj, const char *name)
Definition: db_info.c:878
int db_query_next_tuple(DB_QUERY_RESULT *result)
Definition: db_query.c:2088
int db_drop_class_attribute(DB_OBJECT *classobj, const char *name)
void db_set_connected_host_status(char *host_connected)
Definition: db_admin.c:681
int db_push_values(DB_SESSION *session, int count, DB_VALUE *in_values)
Definition: db_vdb.c:1527
void db_fprint(FILE *fp, DB_OBJECT *obj)
Definition: db_obj.c:1268
int db_query_format_is_non_null(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1766
const char * db_attribute_comment(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1083
int db_set_password(DB_OBJECT *user, const char *oldpass, const char *newpass)
Definition: db_admin.c:1743
int db_list_length(DB_LIST *list)
Definition: db_old.c:69
INT16 VOLID
int dbt_constrain_non_null(DB_CTMPL *def, const char *name, int class_attribute, int on_or_off)
Definition: db_temp.c:344
int db_rename_attribute(DB_OBJECT *classobj, const char *name, int class_attribute, const char *newname)
DB_NAMELIST * db_get_subclass_names(DB_OBJECT *obj)
void db_preload_classes(const char *name1,...)
Definition: db_admin.c:2476
int db_get_ha_server_state(char *buffer, int maxlen)
Definition: db_admin.c:2824
int db_dsend_quick(DB_OBJECT *obj, DB_METHDESC *method, DB_VALUE *returnval, int nargs, DB_VALUE **args)
Definition: db_obj.c:1067
int db_bind_parameter_name(const char *name, DB_VALUE *value)
Definition: db_vdb.c:3813
int dbt_drop_method(DB_CTMPL *def, const char *name)
Definition: db_temp.c:865
int db_get_row_count(int *row_count)
Definition: db_admin.c:1046
int db_rename(DB_OBJECT *classobj, const char *name, int class_namespace, const char *newname)
int db_is_class(DB_OBJECT *obj)
DB_IDENTIFIER * db_identifier(DB_OBJECT *obj)
Definition: db_admin.c:2629
void db_print_stats(void)
Definition: db_admin.c:1985
int dbt_add_method(DB_CTMPL *def, const char *name, const char *implementation)
Definition: db_temp.c:756
int db_instance_equal(DB_OBJECT *obj1, DB_OBJECT *obj2)
Definition: db_virt.c:281
int db_attribute_is_shared(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1429
DB_CONSTRAINT * db_constraint_find_primary_key(DB_CONSTRAINT *constraint)
Definition: db_info.c:1956
int db_attribute_length(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1102
DB_NAMELIST * db_get_method_names(DB_OBJECT *obj)
void db_flush_static_methods(void)
Definition: db_admin.c:2564
int db_ping_server(int client_val, int *server_val)
Definition: db_admin.c:983
void db_close_session(DB_SESSION *session)
Definition: db_vdb.c:3319
int db_disable_modification(void)
Definition: db_admin.c:1001
int db_get_delayed_hosts_count(void)
Definition: db_admin.c:540
DB_OBJECT * db_create_vclass(const char *name)
Definition: db_virt.c:140
int db_put(DB_OBJECT *obj, const char *name, DB_VALUE *value)
Definition: db_obj.c:318
int db_set_lock_timeout(int seconds)
Definition: db_admin.c:1496
void db_free_query(DB_SESSION *session)
Definition: db_vdb.c:3683
DB_NAMELIST * db_get_method_file_names(DB_OBJECT *obj)
db_error_log_handler_t db_register_error_log_handler(db_error_log_handler_t f)
Definition: db_admin.c:2183
void db_namelist_print(DB_NAMELIST *list)
Definition: db_old.c:233
void(* db_error_log_handler_t)(unsigned int)
Definition: dbi.h:125
int db_statement_count(DB_SESSION *session)
Definition: db_vdb.c:132
bool db_is_output_marker(DB_MARKER *marker)
Definition: db_vdb.c:1318
DB_OBJLIST * db_get_base_classes(void)
Definition: db_info.c:284
int db_drop_method(DB_OBJECT *classobj, const char *name)
int db_add_method_file(DB_OBJECT *classobj, const char *name)
DB_OBJECT * db_find_trigger(const char *name)
Definition: db_obj.c:1370
int db_query_set_copy_tplvalue(DB_QUERY_RESULT *result, int copy)
Definition: db_query.c:3386
void db_force_method_reload(DB_OBJECT *obj)
void db_link_static_methods(DB_METHOD_LINK *methods)
Definition: db_admin.c:2523
int db_is_instance_of(DB_OBJECT *obj, DB_OBJECT *classobj)
DB_RESOLUTION * db_get_resolutions(DB_OBJECT *obj)
Definition: db_info.c:1735
int db_end_session(void)
Definition: db_admin.c:1029
DB_NAMELIST * db_get_ordered_attribute_names(DB_OBJECT *obj)
int db_attribute_order(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1144
int db_fetch_composition(DB_OBJECT *object, DB_FETCH_MODE mode, int max_level, int quit_on_error)
Definition: db_admin.c:2407
int db_validate(DB_OBJECT *vclass)
Definition: db_vdb.c:3573
int db_add_set_attribute_domain(DB_OBJECT *classobj, const char *name, int class_attribute, const char *domain)
int db_add_class_method(DB_OBJECT *classobj, const char *name, const char *implementation)
const char * db_methfile_name(DB_METHFILE *methfile)
Definition: db_info.c:2219
const char * db_get_method_function(DB_OBJECT *obj, const char *name)
int db_add_volume(const char *ext_path, const char *ext_name, const char *ext_comments, const int ext_npages, const DB_VOLPURPOSE ext_purpose)
Definition: db_admin.c:314
int db_add_constraint(MOP classmop, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **att_names, int class_attributes)
Definition: db_class.c:1777
int db_trigger_action_type(DB_OBJECT *trobj, DB_TRIGGER_ACTION *type)
Definition: db_obj.c:1705
DB_OBJECT * db_find_class_with_purpose(const char *name, bool for_update)
Definition: db_info.c:153
char * db_get_user_and_host_name(void)
Definition: db_admin.c:1932
void db_string_free(char *string)
Definition: db_admin.c:2596
DB_OBJECT * db_resolution_class(DB_RESOLUTION *resolution)
Definition: db_info.c:1823
DB_TYPE db_domain_type(const DB_DOMAIN *domain)
Definition: db_macro.c:4006
void db_rewind_statement(DB_SESSION *session)
Definition: db_vdb.c:785
int db_set_statement_auto_commit(DB_SESSION *session, bool auto_commit)
Definition: db_vdb.c:4030
int db_fetch_list(DB_OBJLIST *objects, DB_FETCH_MODE mode, int quit_on_error)
Definition: db_admin.c:2254
int dbt_add_class_attribute(DB_CTMPL *def, const char *name, const char *domain, DB_VALUE *default_value)
Definition: db_temp.c:317
void db_free_attribute_descriptor(DB_ATTDESC *descriptor)
Definition: db_obj.c:835
int db_set_global_transaction_info(int gtrid, void *info, int size)
Definition: db_admin.c:1262
int db_encode_object(DB_OBJECT *object, char *string, int allocated_length, int *actual_length)
Definition: db_obj.c:1787
int db_trigger_attribute(DB_OBJECT *trobj, char **attr)
Definition: db_obj.c:1643
char * db_get_vclass_ldb_name(DB_OBJECT *op)
Definition: db_virt.c:199
int db_get_row_count_cache(void)
Definition: db_admin.c:2914
int db_attribute_is_primary_key(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1255
int db_dsend(DB_OBJECT *obj, DB_METHDESC *method, DB_VALUE *returnval,...)
Definition: db_obj.c:999
bool db_is_input_marker(DB_MARKER *marker)
Definition: db_vdb.c:1299
const char * db_query_format_class_name(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1740
int db_chn(DB_OBJECT *obj, DB_FETCH_MODE purpose)
Definition: db_admin.c:2660
void db_free_method_descriptor(DB_METHDESC *descriptor)
Definition: db_obj.c:875
const char * db_get_type_name(DB_TYPE type_id)
Definition: db_info.c:722
Definition: db_set.h:35
DB_OBJECT * db_copy(DB_OBJECT *sourcemop)
int dbt_dput(DB_OTMPL *def, DB_ATTDESC *attribute, DB_VALUE *value)
Definition: db_obj.c:953
DB_OBJLIST * db_get_all_vclasses(void)
Definition: db_vdb.c:3423
int db_object_fetch(DB_OBJECT *obj, int num_attrs, const char **attrs, DB_QUERY_RESULT **result)
int db_send_arglist(DB_OBJECT *obj, const char *name, DB_VALUE *returnval, DB_VALUE_LIST *args)
DB_CTMPL * dbt_edit_class(DB_OBJECT *classobj)
int db_get_last_insert_id(DB_VALUE *value)
Definition: db_admin.c:1058
int db_print_mop(DB_OBJECT *obj, char *buffer, int maxlen)
Definition: db_old.c:733
DB_OBJLIST * db_fetch_all_classes(DB_FETCH_MODE mode)
Definition: db_info.c:203
int db_get_host_list_with_given_status(char **hostlist, int list_size, int status)
Definition: db_admin.c:776
int db_get_statement_type(DB_SESSION *session, int stmt)
Definition: db_vdb.c:1473
DB_CONSTRAINT_TYPE
Definition: dbtype_def.h:452
int errors
DB_SESSION_ERROR * db_get_warnings(DB_SESSION *session)
Definition: db_vdb.c:985
int db_query_tuple_count(DB_QUERY_RESULT *result)
Definition: db_query.c:3089
int db_attribute_is_reverse_indexed(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1402
int db_fetch_seq(DB_SEQ *set, DB_FETCH_MODE mode, int quit_on_error)
Definition: db_admin.c:2388
DB_OBJECT * db_object(DB_IDENTIFIER *oid)
Definition: db_admin.c:2641
DB_COL_TYPE
Definition: dbtype_def.h:269
int db_decode_object(const char *string, DB_OBJECT **object)
Definition: db_obj.c:1805
int db_trigger_name(DB_OBJECT *trobj, char **name)
Definition: db_obj.c:1548
DB_OBJECT * db_create_trigger(const char *name, DB_TRIGGER_STATUS status, double priority, DB_TRIGGER_EVENT event, DB_OBJECT *class_obj, const char *attr, DB_TRIGGER_TIME cond_time, const char *cond_source, DB_TRIGGER_TIME action_time, DB_TRIGGER_ACTION action_type, const char *action_source)
Definition: db_obj.c:1301
int db_get_query_result_format(DB_QUERY_RESULT *result, DB_QUERY_TYPE **type_list)
Definition: db_query.c:2055
DB_DOMAIN * db_method_return_domain(DB_METHOD *method)
Definition: db_info.c:1646
int db_is_any_class(DB_OBJECT *obj)
int db_drop_method_files(DB_OBJECT *classobj)
DB_SESSION * db_open_file_name(const char *name)
Definition: db_vdb.c:376
int db_add_index(DB_OBJECT *classobj, const char *attname)
int db_is_subclass(DB_OBJECT *classobj, DB_OBJECT *supermop)
int db_attribute_is_auto_increment(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1309
char * db_query_format_name(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1609
DB_OBJLIST * db_get_all_classes(void)
Definition: db_info.c:267
DB_ATTRIBUTE * db_get_attributes(DB_OBJECT *obj)
Definition: db_info.c:908
void db_invalidate_mvcc_snapshot_before_statement(void)
Definition: db_vdb.c:3881
DB_OBJECT * dbt_finish_object_and_decache_when_failure(DB_OTMPL *def)
Definition: db_obj.c:583
int db_num_volumes(void)
Definition: db_admin.c:374
int db_dget(DB_OBJECT *obj, DB_ATTDESC *attribute, DB_VALUE *value)
Definition: db_obj.c:889
int db_change_query_spec(DB_OBJECT *vclass, const char *new_query, const int query_no)
Definition: db_virt.c:558
int db_set_loader_commands(DB_OBJECT *classobj, const char *commands)
bool db_get_jdbccachehint(DB_SESSION *session, int stmt_ndx, int *life_time)
Definition: db_vdb.c:844
DB_ATTRIBUTE ** db_constraint_attributes(DB_CONSTRAINT *constraint)
Definition: db_info.c:2052
int db_drop_query_spec(DB_OBJECT *vclass, const int query_no)
Definition: db_virt.c:507
const char * db_get_loader_commands(DB_OBJECT *obj)
Definition: db_info.c:2239
int db_find_or_create_session(const char *db_user, const char *program_name)
Definition: db_admin.c:2885
int db_set_isolation(DB_TRAN_ISOLATION isolation)
Definition: db_admin.c:1535
int db_get_serial_current_value(const char *serial_name, DB_VALUE *serial_value)
Definition: db_obj.c:1820
DB_OBJECT * db_get_user(void)
Definition: db_admin.c:1974
int db_query_get_tuple_value(DB_QUERY_RESULT *result, int tuple_index, DB_VALUE *value)
Definition: db_query.c:2873
bool db_get_cacheinfo(DB_SESSION *session, int stmt_ndx, bool *use_plan_cache, bool *use_query_cache)
Definition: db_vdb.c:878
int db_rename_class(DB_OBJECT *classobj, const char *new_name)
int dbt_change_query_spec(DB_CTMPL *def, const char *new_query, const int query_no)
Definition: db_temp.c:1261
int db_add_super(DB_OBJECT *classobj, DB_OBJECT *super)
int db_rename_trigger(DB_OBJECT *obj, const char *newname)
Definition: db_obj.c:1346
int db_get_serial_next_value_ex(const char *serial_name, DB_VALUE *serial_value, int num_alloc)
Definition: db_obj.c:1878
DB_TRAN_ISOLATION
Definition: dbtran_def.h:26
static enum scanner_mode mode
int dbt_add_method_file(DB_CTMPL *def, const char *name)
Definition: db_temp.c:1015
int dbt_add_set_attribute_domain(DB_CTMPL *def, const char *name, int class_attribute, const char *domain)
Definition: db_temp.c:569
void db_clear_delayed_hosts_count(void)
Definition: db_admin.c:546
int dbt_add_attribute(DB_CTMPL *def, const char *name, const char *domain, DB_VALUE *default_value)
Definition: db_temp.c:272
int db_resolution_isclass(DB_RESOLUTION *resolution)
Definition: db_info.c:1882
const char * db_constraint_name(DB_CONSTRAINT *constraint)
Definition: db_info.c:2031
int db_change_default(DB_OBJECT *classobj, const char *name, DB_VALUE *value)
int db_add_resolution(DB_OBJECT *classobj, DB_OBJECT *super, const char *name, const char *alias)
int db_find_all_triggers(DB_OBJLIST **list)
Definition: db_obj.c:1394
int db_drop_index(DB_OBJECT *classobj, const char *attname)
int db_query_get_tuple_value_by_name(DB_QUERY_RESULT *result, char *column_name, DB_VALUE *value)
Definition: db_query.c:2959
int db_add_method(DB_OBJECT *classobj, const char *name, const char *implementation)
int db_abort_transaction(void)
Definition: db_admin.c:1114
int db_is_indexed(DB_OBJECT *classobj, const char *attname)
int db_domain_precision(const DB_DOMAIN *domain)
Definition: db_macro.c:4079
int db_restart_ex(const char *program, const char *db_name, const char *db_user, const char *db_password, const char *preferred_hosts, int client_type)
Definition: db_admin.c:934
int db_trigger_class(DB_OBJECT *trobj, DB_OBJECT **class_obj)
Definition: db_obj.c:1623
int db_method_arg_count(DB_METHOD *method)
Definition: db_info.c:1710
DB_OBJECT * db_dfind_unique(DB_OBJECT *classobj, DB_ATTDESC *attdesc, DB_VALUE *value, DB_FETCH_MODE purpose)
char * db_get_server_session_key(void)
Definition: db_admin.c:2849
DB_OBJECT * db_get_class(DB_OBJECT *obj)
int db_query_get_tuple_oid(DB_QUERY_RESULT *result, DB_VALUE *db_value)
Definition: db_query.c:3195
DB_DOMAIN * db_attribute_domain(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1165
int db_drop_super_connect(DB_OBJECT *classobj, DB_OBJECT *super)
char * db_get_database_version(void)
Definition: db_admin.c:455
DB_CTMPL * dbt_create_class(const char *name)
Definition: db_temp.c:76
int db_namelist_add(DB_NAMELIST **list, const char *name)
Definition: db_virt.c:84
int dbt_change_domain(DB_CTMPL *def, const char *name, int class_attribute, const char *domain)
Definition: db_temp.c:591
DB_OBJECT * db_method_class(DB_METHOD *method)
Definition: db_info.c:1626
int dbt_reset_query_spec(DB_CTMPL *def)
Definition: db_temp.c:1240
int db_execute_and_keep_statement(DB_SESSION *session, int stmt, DB_QUERY_RESULT **result)
Definition: db_vdb.c:2906
void db_update_row_count_cache(const int row_count)
Definition: db_admin.c:2924
void db_print(DB_OBJECT *obj)
Definition: db_obj.c:1251
int db_is_updatable_attribute(DB_OBJECT *obj, const char *attr_name)
Definition: db_virt.c:395
int db_get_schema_def_dbval(DB_VALUE *result, DB_VALUE *name_val)
Definition: db_info.c:2407
DB_MARKER * db_get_input_markers(DB_SESSION *session, int stmt)
Definition: db_vdb.c:1179
int db_find_user_to_drop(const char *name, DB_OBJECT **user)
Definition: db_admin.c:1626
int db_add_member(DB_OBJECT *user, DB_OBJECT *member)
Definition: db_admin.c:1694
DB_ATTRIBUTE * db_get_attribute(DB_OBJECT *obj, const char *name)
Definition: db_info.c:791
void db_objlist_print(DB_OBJLIST *list)
Definition: db_old.c:121
enum db_class_modification_status DB_CLASS_MODIFICATION_STATUS
DB_OBJLIST * db_get_all_vclasses_on_ldb(void)
Definition: db_vdb.c:3412
DB_CTMPL * dbt_copy_class(const char *new_name, const char *existing_name, SM_CLASS **class_)
Definition: db_temp.c:160
int db_query_first_tuple(DB_QUERY_RESULT *result)
Definition: db_query.c:2309
int db_get_query_format(const char *CSQL_query, DB_QUERY_TYPE **type_list, DB_QUERY_ERROR *query_error)
Definition: db_query.c:1558
void db_set_interrupt(int set)
Definition: db_admin.c:1445
int db_is_partition(DB_OBJECT *classobj, DB_OBJECT *superobj)
Definition: db_info.c:483
void db_session_set_return_generated_keys(DB_SESSION *session, bool return_generated_keys)
Definition: db_vdb.c:1075
void db_objlist_free(DB_OBJLIST *list)
Definition: db_admin.c:2612
int db_query_column_count(DB_QUERY_RESULT *result)
Definition: db_query.c:3134
int db_restart(const char *program, int print_version, const char *volume)
Definition: db_admin.c:868
DB_ATTRIBUTE * db_get_ordered_attributes(DB_OBJECT *obj)
Definition: db_info.c:971
DB_ATTRIBUTE * db_attribute_ordered_next(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1047
DB_OBJECT * db_dfind_multi_unique(DB_OBJECT *classobj, int size, DB_ATTDESC *attdesc[], DB_VALUE *values[], DB_FETCH_MODE purpose)
SESSION_ID db_get_session_id(void)
Definition: db_admin.c:2859
char * db_name
DB_OTMPL * dbt_edit_object(DB_OBJECT *object)
int db_domain_codeset(const DB_DOMAIN *domain)
Definition: db_macro.c:4116
int db_grant(DB_OBJECT *user, DB_OBJECT *classobj, DB_AUTH auth, int grant_option)
DB_SESSION_ERROR * db_get_next_error(DB_SESSION_ERROR *errors, int *linenumber, int *columnnumber)
Definition: db_vdb.c:953
int count(int &result, const cub_regex_object &reg, const std::string &src, const int position, const INTL_CODESET codeset)
int db_trigger_status(DB_OBJECT *trobj, DB_TRIGGER_STATUS *status)
Definition: db_obj.c:1567
DB_SESSION * db_open_buffer(const char *buffer)
Definition: db_vdb.c:232
int db_execute_oid(const char *CSQL_query, DB_QUERY_RESULT **result, DB_QUERY_ERROR *query_error)
Definition: db_query.c:1852
DB_CTMPL * dbt_create_vclass(const char *name)
Definition: db_temp.c:104
const char * db_get_database_comments(void)
Definition: db_admin.c:471
bool db_enable_trigger(void)
Definition: db_admin.c:558
int db_2pc_start_transaction(void)
Definition: db_admin.c:1327
DB_NAMELIST * db_namelist_sort(DB_NAMELIST *names)
Definition: db_old.c:170
int db_number_of_output_markers(DB_SESSION *session, int stmt)
Definition: db_vdb.c:1152
int db_abort_to_savepoint(const char *savepoint_name)
Definition: db_admin.c:1237
int db_add_query_spec(DB_OBJECT *vclass, const char *query)
int db_set_system_parameters(const char *data)
Definition: db_admin.c:2682
void db_query_format_free(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1723
int db_is_deleted(DB_OBJECT *obj)
Definition: db_info.c:531
int db_dsend_argarray(DB_OBJECT *obj, DB_METHDESC *method, DB_VALUE *returnval, DB_VALUE **args)
Definition: db_obj.c:1042
DB_NAMELIST * db_get_shared_attribute_names(DB_OBJECT *obj)
int db_drop_deferred_activities(DB_OBJECT *trigger_obj, DB_OBJECT *target)
Definition: db_obj.c:1527
void db_session_set_holdable(DB_SESSION *session, bool holdable)
Definition: db_vdb.c:1040
int db_get_start_line(DB_SESSION *session, int stmt)
Definition: db_vdb.c:1444
DB_TRIGGER_TIME
Definition: dbtype_def.h:388
DB_OBJLIST * db_fetch_all_objects(DB_OBJECT *op, DB_FETCH_MODE mode)
Definition: db_info.c:178
DB_OBJECT * db_find_class(const char *name)
Definition: db_info.c:133
void db_get_tran_settings(int *lock_wait, DB_TRAN_ISOLATION *tran_isolation)
Definition: db_admin.c:1554
DB_RESOLUTION * db_resolution_next(DB_RESOLUTION *resolution)
Definition: db_info.c:1799
int dbt_drop_method_files(DB_CTMPL *def)
Definition: db_temp.c:1054
int db_execute_deferred_activities(DB_OBJECT *trigger_obj, DB_OBJECT *target)
Definition: db_obj.c:1496
int db_add_class_resolution(DB_OBJECT *classobj, DB_OBJECT *super, const char *name, const char *alias)
DB_VOLPURPOSE
Definition: dbtype_def.h:185
DB_TYPE db_type_from_string(const char *name)
Definition: db_info.c:742
int dbt_drop_attribute(DB_CTMPL *def, const char *name)
Definition: db_temp.c:653
char * db_query_format_attr_name(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1622
void dbt_abort_class(DB_CTMPL *def)
Definition: db_temp.c:249
char * db_get_host_connected(void)
Definition: db_admin.c:2806
DB_OBJECT * db_find_class_of_index(const char *const index, const DB_CONSTRAINT_TYPE type)
Definition: db_info.c:74
int db_get_shared(DB_OBJECT *object, const char *attpath, DB_VALUE *value)
Definition: db_obj.c:255
int db_get_btree_statistics(DB_CONSTRAINT *cons, int *num_leaf_pages, int *num_total_pages, int *num_keys, int *height)
Definition: db_info.c:2365
void db_synchronize_cache(void)
Definition: db_admin.c:1586
int db_2pc_attach_transaction(int gtrid)
Definition: db_admin.c:1403
int db_add_shared_attribute(DB_OBJECT *obj, const char *name, const char *domain, DB_VALUE *default_value)
const char * db_get_foreign_key_action(DB_CONSTRAINT *constraint, DB_FK_ACTION_TYPE type)
Definition: db_info.c:2143
DB_CLASS_MODIFICATION_STATUS db_has_modified_class(DB_SESSION *session, int stmt_id)
Definition: db_vdb.c:2874
int db_get_client_type(void)
Definition: db_admin.c:489
int db_get_variable(DB_VALUE *name, DB_VALUE *value)
Definition: db_admin.c:1072
int db_query_plan_dump_file(char *filename)
Definition: db_query.c:3541
int dbt_drop_class_method(DB_CTMPL *def, const char *name)
Definition: db_temp.c:885
DB_AUTH
Definition: dbtype_def.h:239
int db_is_vclass(DB_OBJECT *op)
Definition: db_virt.c:681
char * db_vol_label(int volid, char *vol_fullname)
Definition: db_admin.c:412
void dbt_abort_object(DB_OTMPL *def)
Definition: db_obj.c:616
Definition: dbi.h:57
int db_error_code(void)
Definition: db_admin.c:2143
int db_revoke(DB_OBJECT *user, DB_OBJECT *classobj, DB_AUTH auth)
int db_domain_scale(const DB_DOMAIN *domain)
Definition: db_macro.c:4098
int db_trigger_comment(DB_OBJECT *trobj, char **comment)
Definition: db_obj.c:1763
int db_namelist_append(DB_NAMELIST **list, const char *name)
Definition: db_virt.c:108
DB_PARAMETER * db_parameter_next(DB_PARAMETER *param)
Definition: db_vdb.c:3772
int db_attribute_is_unique(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1228
int dbt_add_resolution(DB_CTMPL *def, DB_OBJECT *super, const char *name, const char *alias)
DB_DOMAIN * db_method_arg_domain(DB_METHOD *method, int arg)
Definition: db_info.c:1671
int db_add_element_domain(DB_OBJECT *classobj, const char *name, const char *domain)
void db_session_set_xasl_cache_pinned(DB_SESSION *session, bool is_pinned, bool recompile)
Definition: db_vdb.c:1057
void db_set_client_type(int client_type)
Definition: db_admin.c:495
DB_DOMAIN * db_get_attribute_domain(DB_OBJECT *obj, const char *name)
DB_PARAMETER * db_get_parameters(DB_SESSION *session, int statement_id)
Definition: db_vdb.c:3744
const char * db_get_class_name(DB_OBJECT *classobj)
Definition: db_info.c:608
DB_CONSTRAINT * db_constraint_next(DB_CONSTRAINT *constraint)
Definition: db_info.c:1938
DB_QUERY_TYPE * db_get_query_type_list(DB_SESSION *session, int stmt)
Definition: db_vdb.c:1341
void db_clear_host_connected(void)
Definition: db_admin.c:851
DB_OBJECT * db_create(DB_OBJECT *obj)
Definition: db_obj.c:69
int dbt_add_class_method(DB_CTMPL *def, const char *name, const char *implementation)
Definition: db_temp.c:777
int db_is_system_class(DB_OBJECT *op)
DB_RESOLUTION * db_get_class_resolutions(DB_OBJECT *obj)
Definition: db_info.c:1767
int db_class_has_instance(DB_OBJECT *classobj)
Definition: db_info.c:686
int db_reset_system_parameters_from_assignments(const char *data)
Definition: db_admin.c:2742
DB_DOMAIN * db_domain_next(const DB_DOMAIN *domain)
Definition: db_macro.c:3974
DB_MARKER * db_marker_next(DB_MARKER *marker)
Definition: db_vdb.c:1238
DB_TRIGGER_EVENT
Definition: dbtype_def.h:356
int dbt_drop_query_spec(DB_CTMPL *def, const int query_no)
Definition: db_temp.c:1221
DB_OBJLIST * db_get_superclasses(DB_OBJECT *obj)
Definition: db_info.c:630
int db_drop_method_file(DB_OBJECT *classobj, const char *name)
int db_find_event_triggers(DB_TRIGGER_EVENT event, DB_OBJECT *class_obj, const char *attr, DB_OBJLIST **list)
Definition: db_obj.c:1421
int db_auth_logout(void)
int db_send_argarray(DB_OBJECT *obj, const char *name, DB_VALUE *returnval, DB_VALUE **args)
unsigned int SESSION_ID
Definition: dbtype_def.h:480
int db_trigger_condition(DB_OBJECT *trobj, char **condition)
Definition: db_obj.c:1663
DB_NAMELIST * db_get_class_method_names(DB_OBJECT *obj)
void db_include_oid(DB_SESSION *session, int include_oid)
Definition: db_vdb.c:1508
void db_set_host_status(char *hostname, int status)
Definition: db_admin.c:649
DB_OBJECT * db_get_attribute_class(DB_OBJECT *obj, const char *name)
void db_clear_host_status(void)
Definition: db_admin.c:580
int db_last_volume(void)
Definition: db_admin.c:391
int db_trigger_event(DB_OBJECT *trobj, DB_TRIGGER_EVENT *event)
Definition: db_obj.c:1603
int db_drop_user(DB_OBJECT *user)
Definition: db_admin.c:1668
DB_SESSION_ERROR * db_get_next_warning(DB_SESSION_WARNING *errors, int *linenumber, int *columnnumber)
Definition: db_vdb.c:1013
int dbt_drop_super_connect(DB_CTMPL *def, DB_OBJECT *super)
int db_object_describe(DB_OBJECT *obj, int num_attrs, const char **attrs, DB_QUERY_TYPE **col_spec)
int db_query_produce_updatable_result(DB_SESSION *session, int stmtid)
Definition: db_vdb.c:3825
int dbt_drop_method_file(DB_CTMPL *def, const char *name)
Definition: db_temp.c:1035
int db_totalpgs(const char *vlabel)
Definition: db_admin.c:2073
DB_OBJECT * db_add_user(const char *name, int *exists)
Definition: db_admin.c:1646
int dbt_rename_method_file(DB_CTMPL *def, const char *new_name, const char *old_name)
Definition: db_temp.c:1075
DB_CONSTRAINT_TYPE db_constraint_type(const DB_CONSTRAINT *constraint)
Definition: db_info.c:1978
int db_checkpoint(void)
Definition: db_admin.c:1473
int dbt_add_set_argument_domain(DB_CTMPL *def, const char *name, int class_method, int arg_index, const char *domain)
Definition: db_temp.c:823
int db_drop_resolution(DB_OBJECT *classobj, DB_OBJECT *super, const char *name)
int db_drop_class_method(DB_OBJECT *classobj, const char *name)
int db_rename_method(DB_OBJECT *classobj, const char *name, int class_method, const char *newname)
void db_namelist_remove(DB_NAMELIST **list, const char *name)
Definition: db_old.c:213
int db_dput(DB_OBJECT *obj, DB_ATTDESC *attribute, DB_VALUE *value)
Definition: db_obj.c:908
const int * db_constraint_prefix_length(DB_CONSTRAINT *constraint)
Definition: db_info.c:2089
const char * db_method_function(DB_METHOD *method)
Definition: db_info.c:1606
int db_query_execute(const char *CSQL_query, DB_QUERY_RESULT **result, DB_QUERY_ERROR *query_error)
Definition: db_query.c:1808
DB_METHOD * db_get_class_method(DB_OBJECT *obj, const char *name)
Definition: db_info.c:1484
int db_add_attribute(DB_OBJECT *obj, const char *name, const char *domain, DB_VALUE *default_value)
int db_change_method_implementation(DB_OBJECT *classobj, const char *name, int class_method, const char *newname)
DB_OBJECT * db_find_multi_unique(DB_OBJECT *classobj, int size, char *attnames[], DB_VALUE *values[], DB_FETCH_MODE purpose)
DB_TYPE db_get_attribute_type(DB_OBJECT *obj, const char *name)
const char * db_domain_raw_json_schema(const DB_DOMAIN *domain)
Definition: db_macro.c:4147
int db_check_authorization_and_grant_option(MOP op, DB_AUTH auth)
Definition: db_admin.c:1872
int db_reset_latest_query_status(void)
Definition: db_admin.c:1132
int db_get_serial_next_value(const char *serial_name, DB_VALUE *serial_value)
Definition: db_obj.c:1866
DB_METHOD * db_get_method(DB_OBJECT *obj, const char *name)
Definition: db_info.c:1454
int dbt_add_query_spec(DB_CTMPL *def, const char *query)
Definition: db_temp.c:1201
int db_marker_index(DB_MARKER *marker)
Definition: db_vdb.c:1257
int db_drop_attribute(DB_OBJECT *classobj, const char *name)
bool db_does_connected_host_have_status(int status)
Definition: db_admin.c:755
int db_attribute_is_foreign_key(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1282
int db_drop_super(DB_OBJECT *classobj, DB_OBJECT *super)
int db_query_get_tuple_valuelist(DB_QUERY_RESULT *result, int size, DB_VALUE *value_list)
Definition: db_query.c:3025
DB_FK_ACTION_TYPE
Definition: dbtype_def.h:464
DB_TRIGGER_STATUS
Definition: dbtype_def.h:344
int db_execute_statement(DB_SESSION *session, int stmt, DB_QUERY_RESULT **result)
Definition: db_vdb.c:2978
DB_FETCH_MODE
Definition: dbtype_def.h:215
int db_drop_trigger(DB_OBJECT *obj)
Definition: db_obj.c:1325
const char * db_resolution_name(DB_RESOLUTION *resolution)
Definition: db_info.c:1843
DB_OBJECT * dbt_finish_class(DB_CTMPL *def)
Definition: db_temp.c:226
const char * db_method_name(DB_METHOD *method)
Definition: db_info.c:1587
int db_drop(DB_OBJECT *obj)
Definition: db_obj.c:190
const char * db_error_string(int level)
Definition: db_admin.c:2116
DB_OBJECT * db_find_user(const char *name)
Definition: db_admin.c:1606
DB_ATTRIBUTE * db_get_class_attributes(DB_OBJECT *obj)
Definition: db_info.c:939
int dbt_add_constraint(DB_CTMPL *def, DB_CONSTRAINT_TYPE constraint_type, const char *constraint_name, const char **attnames, int class_attributes, const char *comment)
Definition: db_temp.c:423
void db_unlink_static_methods(DB_METHOD_LINK *methods)
Definition: db_admin.c:2546
DB_ATTRIBUTE * db_get_attribute_by_name(const char *class_name, const char *attribute_name)
Definition: db_info.c:823
DB_METHFILE * db_get_method_files(DB_OBJECT *obj)
Definition: db_info.c:2173
DB_QUERY_SPEC * db_get_query_specs(DB_OBJECT *obj)
Definition: db_virt.c:608
DB_QUERY_SPEC * db_query_spec_next(DB_QUERY_SPEC *query_spec)
Definition: db_virt.c:632
DB_QUERY_TYPE * db_query_format_next(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1577
int db_set_argument_domain(DB_OBJECT *classobj, const char *name, int class_method, int arg_index, const char *domain)
const int * db_constraint_asc_desc(DB_CONSTRAINT *constraint)
Definition: db_info.c:2070
DB_OBJECT * db_objlist_object(DB_OBJLIST *link)
Definition: db_info.c:2290
int db_add_argument(DB_OBJECT *classobj, const char *name, int class_method, int arg_index, const char *domain)
Definition: db_class.c:988
int dbt_add_class_resolution(DB_CTMPL *def, DB_OBJECT *super, const char *name, const char *alias)
void db_set_server_session_key(const char *key)
Definition: db_admin.c:2843
const char * program_name
Definition: cas.c:147
DB_SESSION_ERROR * db_get_errors(DB_SESSION *session)
Definition: db_vdb.c:926
int db_validate_query_spec(DB_OBJECT *vclass, const char *query_spec)
Definition: db_vdb.c:3441
int db_alter_trigger_status(DB_OBJECT *trobj, DB_TRIGGER_STATUS status)
Definition: db_obj.c:1462
DB_VALUE * default_value
Definition: esql_cli.c:348
int db_2pc_prepare_to_commit_transaction(int gtrid)
Definition: db_admin.c:1426
DB_TRIGGER_ACTION
Definition: dbtype_def.h:397
int dbt_add_argument(DB_CTMPL *def, const char *name, int class_method, int arg_index, const char *domain)
Definition: db_temp.c:800
DB_OBJECT * db_objlist_get(DB_OBJLIST *list, int psn)
Definition: db_old.c:96
int db_2pc_prepare_transaction(void)
Definition: db_admin.c:1351
int db_is_superclass(DB_OBJECT *supermop, DB_OBJECT *classobj)
DB_CONSTRAINT * db_get_constraints(DB_OBJECT *obj)
Definition: db_info.c:1909
void db_namelist_free(DB_NAMELIST *list)
Definition: db_virt.c:71
int db_get(DB_OBJECT *object, const char *attpath, DB_VALUE *value)
Definition: db_obj.c:233
int db_is_instance(DB_OBJECT *obj)
int db_truncate_class(DB_OBJECT *classobj)
Definition: db_class.c:1859
const char * db_attribute_name(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1065
void db_set_session_id(const SESSION_ID session_id)
Definition: db_admin.c:2870
DB_ATTRIBUTE * db_attribute_next(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1020
int dbt_constrain_unique(DB_CTMPL *def, const char *name, int on_or_off)
Definition: db_temp.c:382
int db_send(DB_OBJECT *obj, const char *name, DB_VALUE *returnval,...)
void db_set_preferred_hosts(const char *hosts)
Definition: db_admin.c:508
DB_OTMPL * dbt_create_object(DB_OBJECT *classobj)
char * db_get_user_name(void)
Definition: db_admin.c:1911
int db_fetch_array(DB_OBJECT **objects, DB_FETCH_MODE mode, int quit_on_error)
Definition: db_admin.c:2216
int db_attribute_id(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1124
int db_attribute_is_indexed(DB_ATTRIBUTE *attribute)
Definition: db_info.c:1375
DB_OBJECT * db_domain_class(const DB_DOMAIN *domain)
Definition: db_macro.c:4030
bool db_need_ignore_repl_delay(void)
Definition: db_admin.c:743
int db_set_suppress_repl_on_transaction(int set)
Definition: db_admin.c:1460
DB_NAMELIST * db_get_class_attribute_names(DB_OBJECT *obj)
int db_query_prefetch_columns(DB_QUERY_RESULT *result, int *columns, int col_count)
Definition: db_query.c:3520
const char * db_resolution_alias(DB_RESOLUTION *resolution)
Definition: db_info.c:1862
int db_savepoint_transaction(const char *savepoint_name)
Definition: db_admin.c:1198
DB_OBJECT * db_get_foreign_key_ref_class(DB_CONSTRAINT *constraint)
Definition: db_info.c:2124
int db_trigger_action_time(DB_OBJECT *trobj, DB_TRIGGER_TIME *tr_time)
Definition: db_obj.c:1724
int dbt_put(DB_OTMPL *def, const char *name, DB_VALUE *value)
Definition: db_obj.c:635
DB_DOMAIN * db_query_format_domain(DB_QUERY_TYPE *query_type)
Definition: db_query.c:1661
DB_METHOD * db_method_next(DB_METHOD *method)
Definition: db_info.c:1569
DB_NAMELIST * db_get_attribute_names(DB_OBJECT *obj)
int db_commit_transaction(void)
Definition: db_admin.c:1091
DB_NAMELIST * db_namelist_copy(DB_NAMELIST *list)
Definition: db_old.c:148
int db_enable_modification(void)
Definition: db_admin.c:1015
int db_get_method_descriptor(DB_OBJECT *obj, const char *methname, int class_method, DB_METHDESC **descriptor)
Definition: db_obj.c:857
void db_set_read_fetch_instance_version(LC_FETCH_VERSION_TYPE read_Fetch_Instance_Version)
Definition: db_vdb.c:3904
int db_drop_class(DB_OBJECT *classobj)
int dbt_drop_class_attribute(DB_CTMPL *def, const char *name)
Definition: db_temp.c:734
int db_set_system_parameters_for_ha_repl(const char *data)
Definition: db_admin.c:2727
int dbt_drop_class_resolution(DB_CTMPL *def, DB_OBJECT *super, const char *name)
int db_set_method_arg_domain(DB_OBJECT *classobj, const char *name, int arg_index, const char *domain)
Definition: db_class.c:1006