CUBRID Engine  latest
network_interface_cl.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  * network_interface_cl.h - Definitions for client network support
22  */
23 
24 #ifndef _NETWORK_INTERFACE_CL_H_
25 #define _NETWORK_INTERFACE_CL_H_
26 
27 #ident "$Id$"
28 
29 #if defined (SERVER_MODE)
30 #error Does not belong to server module
31 #endif /* SERVER_MODE */
32 
33 #include <stdio.h>
34 
35 #include "dbtype_def.h"
36 #include "lob_locator.hpp"
37 #include "replication.h"
38 #include "server_interface.h"
39 #include "perf_monitor.h"
40 #include "storage_common.h"
41 #include "object_domain.h"
42 #include "query_list.h"
43 #include "query_monitoring.hpp"
44 #include "statistics.h"
45 #include "connection_defs.h"
46 #include "log_writer.h"
47 #include "language_support.h"
48 #include "log_common_impl.h"
49 #include "parse_tree.h"
50 #include "load_common.hpp"
51 #include "timezone_lib_common.h"
52 
53 // forward declarations
54 #if defined (SA_MODE)
55 struct bo_restart_arg;
56 #endif
57 struct compile_context;
58 struct xasl_node_header;
59 struct xasl_stream;
60 
61 /* killtran supporting structures and functions */
64 {
68  char *db_user;
69  char *program_name;
70  char *login_name;
71  char *host_name;
73 };
74 
75 typedef struct trans_info TRANS_INFO;
76 struct trans_info
77 {
78  int num_trans;
80  ONE_TRAN_INFO tran[1]; /* really [num_trans] */
81 };
82 
83 extern int locator_fetch (OID * oidp, int chn, LOCK lock, LC_FETCH_VERSION_TYPE fetch_type, OID * class_oid,
84  int class_chn, int prefetch, LC_COPYAREA ** fetch_copyarea);
85 extern int locator_get_class (OID * class_oid, int class_chn, const OID * oid, LOCK lock, int prefetching,
86  LC_COPYAREA ** fetch_copyarea);
87 extern int locator_fetch_all (const HFID * hfid, LOCK * lock, LC_FETCH_VERSION_TYPE fetch_version_type,
88  OID * class_oidp, int *nobjects, int *nfetched, OID * last_oidp,
89  LC_COPYAREA ** fetch_copyarea);
90 extern int locator_does_exist (OID * oidp, int chn, LOCK lock, OID * class_oid, int class_chn, int need_fetching,
91  int prefetch, LC_COPYAREA ** fetch_copyarea, LC_FETCH_VERSION_TYPE fetch_version_type);
92 extern int locator_notify_isolation_incons (LC_COPYAREA ** synch_copyarea);
93 extern int locator_force (LC_COPYAREA * copy_area, int num_ignore_error_list, int *ignore_error_list, int content_size);
94 extern int locator_repl_force (LC_COPYAREA * copy_area, LC_COPYAREA ** reply_copy_area);
95 extern int locator_fetch_lockset (LC_LOCKSET * lockset, LC_COPYAREA ** fetch_copyarea);
96 extern int locator_fetch_all_reference_lockset (OID * oid, int chn, OID * class_oid, int class_chn, LOCK lock,
97  int quit_on_errors, int prune_level, LC_LOCKSET ** lockset,
98  LC_COPYAREA ** fetch_copyarea);
99 extern LC_FIND_CLASSNAME locator_find_class_oid (const char *class_name, OID * class_oid, LOCK lock);
100 extern LC_FIND_CLASSNAME locator_reserve_class_names (const int num_classes, const char **class_names,
101  OID * class_oids);
102 extern int locator_get_reserved_class_name_oid (const char *classname, OID * class_oid);
103 extern LC_FIND_CLASSNAME locator_delete_class_name (const char *class_name);
104 extern LC_FIND_CLASSNAME locator_rename_class_name (const char *old_name, const char *new_name, OID * class_oid);
105 extern int locator_assign_oid (const HFID * hfid, OID * perm_oid, int expected_length, OID * class_oid,
106  const char *class_name);
107 extern int locator_assign_oid_batch (LC_OIDSET * oidset);
108 extern LC_FIND_CLASSNAME locator_find_lockhint_class_oids (int num_classes, const char **many_classnames,
109  LOCK * many_locks, int *many_need_subclasses,
110  LC_PREFETCH_FLAGS * many_flags, OID * guessed_class_oids,
111  int *guessed_class_chns, int quit_on_errors,
112  LOCK lock_rr_tran, LC_LOCKHINT ** lockhint,
113  LC_COPYAREA ** fetch_copyarea);
114 extern int locator_fetch_lockhint_classes (LC_LOCKHINT * lockhint, LC_COPYAREA ** fetch_area);
115 extern int locator_check_fk_validity (OID * cls_oid, HFID * hfid, TP_DOMAIN * key_type, int n_attrs, int *attr_ids,
116  OID * pk_cls_oid, BTID * pk_btid, char *fk_name);
117 extern int locator_prefetch_repl_insert (OID * class_oid, RECDES * recdes);
118 extern int heap_create (HFID * hfid, const OID * class_oid, bool reuse_oid);
119 #if defined(ENABLE_UNUSED_FUNCTION)
120 extern int heap_destroy (const HFID * hfid);
121 #endif
122 extern int heap_destroy_newly_created (const HFID * hfid, const OID * class_oid);
123 extern int heap_reclaim_addresses (const HFID * hfid);
124 extern int file_apply_tde_to_class_files (const OID * class_oid);
125 #ifdef UNSTABLE_TDE_FOR_REPLICATION_LOG
126 extern int tde_get_data_keys ();
127 #endif /* UNSTABLE_TDE_FOR_REPLICATION_LOG */
128 extern int tde_get_mk_file_path (char *mk_path);
129 extern int tde_get_mk_info (int *mk_index, time_t * created_time, time_t * set_time);
130 extern int tde_change_mk_on_server (int mk_index);
131 extern DKNPAGES disk_get_total_numpages (VOLID volid);
132 extern DKNPAGES disk_get_free_numpages (VOLID volid);
133 extern char *disk_get_remarks (VOLID volid);
134 extern char *disk_get_fullname (VOLID volid, char *vol_fullname);
135 extern int log_reset_wait_msecs (int wait_msecs);
136 extern int log_reset_isolation (TRAN_ISOLATION isolation);
137 extern void log_set_interrupt (int set);
138 extern int log_checkpoint (void);
139 extern void log_dump_stat (FILE * outfp);
140 extern int log_set_suppress_repl_on_transaction (int set);
141 
142 #if defined (CS_MODE)
143 extern LOB_LOCATOR_STATE log_find_lob_locator (const char *locator, char *real_locator);
144 extern int log_add_lob_locator (const char *locator, LOB_LOCATOR_STATE state);
145 extern int log_change_state_of_locator (const char *locator, const char *real_locator, LOB_LOCATOR_STATE state);
146 extern int log_drop_lob_locator (const char *locator);
147 #endif // CS_MODE
148 
149 extern TRAN_STATE tran_server_commit (bool retain_lock);
150 extern TRAN_STATE tran_server_abort (void);
151 #ifdef __cplusplus
152 extern "C"
153 {
154 #endif
155  extern bool tran_is_blocked (int tran_index);
156 #ifdef __cplusplus
157 }
158 #endif
159 
160 extern int tran_server_has_updated (void);
161 extern int tran_server_is_active_and_has_updated (void);
162 extern int tran_wait_server_active_trans (void);
163 extern int tran_server_set_global_tran_info (int gtrid, void *info, int size);
164 extern int tran_server_get_global_tran_info (int gtrid, void *buffer, int size);
165 extern int tran_server_2pc_start (void);
166 extern TRAN_STATE tran_server_2pc_prepare (void);
167 extern int tran_server_2pc_recovery_prepared (int gtrids[], int size);
168 extern int tran_server_2pc_attach_global_tran (int gtrid);
170 #if defined (ENABLE_UNUSED_FUNCTION)
171 extern int tran_server_start_topop (LOG_LSA * topop_lsa);
172 extern TRAN_STATE tran_server_end_topop (LOG_RESULT_TOPOP result, LOG_LSA * topop_lsa);
173 #endif
174 extern int tran_server_savepoint (const char *savept_name, LOG_LSA * savept_lsa);
175 extern TRAN_STATE tran_server_partial_abort (const char *savept_name, LOG_LSA * savept_lsa);
176 extern const char *tran_get_tranlist_state_name (TRAN_STATE state);
177 #ifdef __cplusplus
178 extern "C"
179 {
180 #endif
181  extern void lock_dump (FILE * outfp);
182  extern void vacuum_dump (FILE * outfp);
183 #ifdef __cplusplus
184 }
185 #endif
186 extern int acl_reload (void);
187 extern void acl_dump (FILE * outfp);
188 
189 int boot_initialize_server (const BOOT_CLIENT_CREDENTIAL * client_credential, BOOT_DB_PATH_INFO * db_path_info,
190  bool db_overwrite, const char *file_addmore_vols, DKNPAGES db_npages,
191  PGLENGTH db_desired_pagesize, DKNPAGES log_npages, PGLENGTH db_desired_log_page_size,
192  OID * rootclass_oid, HFID * rootclass_hfid, int client_lock_wait,
193  TRAN_ISOLATION client_isolation);
194 int boot_register_client (BOOT_CLIENT_CREDENTIAL * client_credential, int client_lock_wait,
195  TRAN_ISOLATION client_isolation, TRAN_STATE * tran_state,
196  BOOT_SERVER_CREDENTIAL * server_credential);
197 extern int boot_unregister_client (int tran_index);
198 extern int boot_backup (const char *backup_path, FILEIO_BACKUP_LEVEL backup_level, bool delete_unneeded_logarchives,
199  const char *backup_verbose_file, int num_threads, FILEIO_ZIP_METHOD zip_method,
200  FILEIO_ZIP_LEVEL zip_level, int skip_activelog, int sleep_msecs, bool separate_keys);
202 extern int boot_check_db_consistency (int check_flag, OID * oids, int num_oids, BTID * idx_btid);
203 extern int boot_find_number_permanent_volumes (void);
204 extern int boot_find_number_temp_volumes (void);
205 extern VOLID boot_find_last_permanent (void);
206 extern int boot_find_last_temp (void);
207 extern int boot_delete (const char *db_name, bool force_delete);
208 #if defined (SA_MODE)
209 extern int boot_restart_from_backup (int print_restart, const char *db_name, bo_restart_arg * r_args);
210 #endif // SA_MODE
211 extern bool boot_shutdown_server (ER_FINAL_CODE iserfinal);
212 extern int boot_soft_rename (const char *old_db_name, const char *new_db_name, const char *new_db_path,
213  const char *new_log_path, const char *new_db_server_host, const char *new_volext_path,
214  const char *fileof_vols_and_renamepaths, bool newdb_overwrite, bool extern_rename,
215  bool force_delete);
216 extern int boot_copy (const char *from_dbname, const char *new_db_name, const char *new_db_path,
217  const char *new_log_path, const char *new_lob_path,
218  const char *new_db_server_host, const char *new_volext_path,
219  const char *fileof_vols_and_copypaths, bool newdb_overwrite);
220 extern int boot_emergency_patch (const char *db_name, bool recreate_log, DKNPAGES log_npages, const char *db_locale,
221  FILE * out_fp);
222 extern HA_SERVER_STATE boot_change_ha_mode (HA_SERVER_STATE state, bool force, int timeout);
224 extern int stats_get_statistics_from_server (OID * classoid, unsigned int timestamp, int *length_ptr,
225  char **stats_buffer);
226 extern int stats_update_statistics (OID * classoid, int with_fullscan);
227 extern int stats_update_all_statistics (int with_fullscan);
228 
229 extern int btree_add_index (BTID * btid, TP_DOMAIN * key_type, OID * class_oid, int attr_id, int unique_pk);
230 extern int btree_load_index (BTID * btid, const char *bt_name, TP_DOMAIN * key_type, OID * class_oids, int n_classes,
231  int n_attrs, int *attr_ids, int *attrs_prefix_length, HFID * hfids, int unique_pk,
232  int not_null_flag, OID * fk_refcls_oid, BTID * fk_refcls_pk_btid, const char *fk_name,
233  char *pred_stream, int pred_stream_size, char *expr_stream, int expr_stream_size,
234  int func_col_id, int func_attr_index_start, SM_INDEX_STATUS index_status);
235 extern int btree_delete_index (BTID * btid);
236 extern int locator_log_force_nologging (void);
237 extern int locator_remove_class_from_index (OID * oid, BTID * btid, HFID * hfid);
238 extern BTREE_SEARCH btree_find_unique (BTID * btid, DB_VALUE * key, OID * class_oid, OID * oid);
239 extern BTREE_SEARCH repl_btree_find_unique (BTID * btid, DB_VALUE * key, OID * class_oid, OID * oid);
240 extern BTREE_SEARCH btree_find_multi_uniques (OID * class_oid, int pruning_type, BTID * btids, DB_VALUE * keys,
241  int count, SCAN_OPERATION_TYPE op_type, OID ** oids, int *oids_count);
242 extern int btree_class_test_unique (char *buf, int buf_size);
243 extern int qfile_get_list_file_page (QUERY_ID query_id, VOLID volid, PAGEID pageid, char *buffer, int *buffer_size);
244 extern int qmgr_prepare_query (struct compile_context *context, xasl_stream * stream);
245 
246 extern QFILE_LIST_ID *qmgr_execute_query (const XASL_ID * xasl_id, QUERY_ID * query_idp, int dbval_cnt,
247  const DB_VALUE * dbvals, QUERY_FLAG flag, CACHE_TIME * clt_cache_time,
248  CACHE_TIME * srv_cache_time, int query_timeout);
249 extern QFILE_LIST_ID *qmgr_prepare_and_execute_query (char *xasl_stream, int xasl_stream_size, QUERY_ID * query_id,
250  int dbval_cnt, DB_VALUE * dbval_ptr, QUERY_FLAG flag,
251  int query_timeout);
252 extern int qmgr_end_query (QUERY_ID query_id);
253 extern int qmgr_drop_all_query_plans (void);
254 extern void qmgr_dump_query_plans (FILE * outfp);
255 extern void qmgr_dump_query_cache (FILE * outfp);
256 #if defined(ENABLE_UNUSED_FUNCTION)
257 extern int qp_get_sys_timestamp (DB_VALUE * value);
258 #endif
259 extern int serial_get_next_value (DB_VALUE * value, OID * oid_p, int cached_num, int num_alloc, int is_auto_increment);
260 extern int serial_get_current_value (DB_VALUE * value, OID * oid_p, int cached_num);
261 extern int serial_decache (OID * oid);
262 
263 extern int perfmon_server_start_stats (void);
264 extern int perfmon_server_stop_stats (void);
265 extern int perfmon_server_copy_stats (UINT64 * to_stats);
266 extern int perfmon_server_copy_global_stats (UINT64 * to_stats);
267 extern int catalog_check_rep_dir (OID * class_id, OID * rep_dir_p);
268 extern int thread_kill_tran_index (int kill_tran_index, char *kill_user, char *kill_host, int kill_pid);
269 extern int thread_kill_or_interrupt_tran (int *tran_index_list, int num_tran_index, bool is_dba_group_member,
270  bool interrupt_only, int *num_killed);
271 extern void thread_dump_cs_stat (FILE * outfp);
272 
273 extern int logtb_get_pack_tran_table (char **buffer_p, int *size_p, bool include_query_exec_info);
274 extern void logtb_free_trans_info (TRANS_INFO * info);
275 extern TRANS_INFO *logtb_get_trans_info (bool include_query_exec_info);
276 extern void logtb_dump_trantable (FILE * outfp);
277 
278 extern int heap_get_class_num_objects_pages (HFID * hfid, int approximation, int *nobjs, int *npages);
279 
280 extern int btree_get_statistics (BTID * btid, BTREE_STATS * stat_info);
281 extern int btree_get_index_key_type (BTID btid, TP_DOMAIN ** key_type_p);
282 extern int db_local_transaction_id (DB_VALUE * trid);
283 extern int qp_get_server_info (PARSER_CONTEXT * parser, int server_info_bits);
284 extern int heap_has_instance (HFID * hfid, OID * class_oid, int has_visible_instance);
285 extern int locator_redistribute_partition_data (OID * class_oid, int no_oids, OID * oid_list);
286 
287 extern int jsp_get_server_port (void);
288 extern int repl_log_get_append_lsa (LOG_LSA * lsa);
289 extern int repl_set_info (REPL_INFO * repl_info);
290 
291 extern int logwr_get_log_pages (LOGWR_CONTEXT * ctx_ptr);
292 
293 
294 extern bool histo_is_supported (void);
295 extern int histo_start (bool for_all_trans);
296 extern int histo_stop (void);
297 extern int histo_print (FILE * stream);
298 extern int histo_print_global_stats (FILE * stream, bool cumulative, const char *substr);
299 extern void histo_clear (void);
300 
301 extern int net_histo_start (bool for_all_trans);
302 extern int net_histo_stop (void);
303 extern int net_histo_print (FILE * stream);
304 extern int net_histo_print_global_stats (FILE * stream, bool cumulative, const char *substr);
305 extern void net_histo_clear (void);
306 
307 extern int net_client_request_no_reply (int request, char *argbuf, int argsize);
308 extern int net_client_request (int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf,
309  int datasize, char *replydata, int replydatasize);
310 #if defined(ENABLE_UNUSED_FUNCTION)
311 extern int net_client_request_send_large_data (int request, char *argbuf, int argsize, char *replybuf, int replysize,
312  char *databuf, INT64 datasize, char *replydata, int replydatasize);
313 #endif
314 extern int net_client_request2 (int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf,
315  int datasize, char **replydata_ptr, int *replydatasize_ptr);
316 extern int net_client_request2_no_malloc (int request, char *argbuf, int argsize, char *replybuf, int replysize,
317  char *databuf, int datasize, char *replydata, int *replydatasize_ptr);
318 extern int net_client_request_3_data (int request, char *argbuf, int argsize, char *databuf1, int datasize1,
319  char *databuf2, int datasize2, char *replydata0, int replydatasize0,
320  char *replydata1, int replydatasize1, char *replydata2, int replydatasize2);
321 extern int net_client_request_with_callback (int request, char *argbuf, int argsize, char *replybuf, int replysize,
322  char *databuf1, int datasize1, char *databuf2, int datasize2,
323  char **replydata_ptr1, int *replydatasize_ptr1, char **replydata_ptr2,
324  int *replydatasize_ptr2, char **replydata_ptr3, int *replydatasize_ptr3);
325 extern int net_client_check_log_header (LOGWR_CONTEXT * ctx_ptr, char *argbuf, int argsize, char *replybuf,
326  int replysize, char **logpg_area_buf, bool verbose);
327 extern int net_client_request_with_logwr_context (LOGWR_CONTEXT * ctx_ptr, int request, char *argbuf, int argsize,
328  char *replybuf, int replysize, char *databuf1, int datasize1,
329  char *databuf2, int datasize2, char **replydata_ptr1,
330  int *replydatasize_ptr1, char **replydata_ptr2,
331  int *replydatasize_ptr2);
332 extern void net_client_logwr_send_end_msg (int rc, int error);
333 extern int net_client_get_next_log_pages (int rc, char *replybuf, int replysize, int length);
334 #if defined(ENABLE_UNUSED_FUNCTION)
335 extern int net_client_request3 (int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf,
336  int datasize, char **replydata_ptr, int *replydatasize_ptr, char **replydata_ptr2,
337  int *replydatasize_ptr2);
338 #endif
339 
340 extern int net_client_request_recv_copyarea (int request, char *argbuf, int argsize, char *replybuf, int replysize,
341  LC_COPYAREA ** reply_copy_area);
342 #if defined(ENABLE_UNUSED_FUNCTION)
343 extern int net_client_request_recv_large_data (int request, char *argbuf, int argsize, char *replybuf, int replysize,
344  char *databuf, int datasize, char *replydata, INT64 * replydatasize_ptr);
345 #endif
346 extern int net_client_request_2recv_copyarea (int request, char *argbuf, int argsize, char *replybuf, int replysize,
347  char *databuf, int datasize, char *recvbuffer, int recvbuffer_size,
348  LC_COPYAREA ** reply_copy_area, int *eid);
349 extern int net_client_recv_copyarea (int request, char *replybuf, int replysize, char *recvbuffer, int recvbuffer_size,
350  LC_COPYAREA ** reply_copy_area, int eid);
351 extern int net_client_request_3_data_recv_copyarea (int request, char *argbuf, int argsize, char *databuf1,
352  int datasize1, char *databuf2, int datasize2, char *replybuf,
353  int replysize, LC_COPYAREA ** reply_copy_area);
354 extern int net_client_request_3recv_copyarea (int request, char *argbuf, int argsize, char *replybuf, int replysize,
355  char *databuf, int datasize, char **recvbuffer, int *recvbuffer_size,
356  LC_COPYAREA ** reply_copy_area);
357 extern int net_client_request_recv_stream (int request, char *argbuf, int argsize, char *replybuf, int replybuf_size,
358  char *databuf, int datasize, FILE * outfp);
359 extern int net_client_ping_server (int client_val, int *server_val, int timeout);
360 extern int net_client_ping_server_with_handshake (int client_type, bool check_capabilities, int opt_cap);
361 
362 /* Startup/Shutdown */
363 #if defined(ENABLE_UNUSED_FUNCTION)
364 extern void net_client_shutdown_server (void);
365 #endif
366 extern int net_client_init (const char *dbname, const char *hostname);
367 extern int net_client_final (void);
368 
369 extern void net_cleanup_client_queues (void);
370 extern int net_client_send_data (char *host, unsigned int rc, char *databuf, int datasize);
371 extern int net_client_receive_action (int rc, int *action);
372 
373 extern char *net_client_get_server_host (void);
374 
375 extern int boot_compact_classes (OID ** class_oids, int num_classes, int space_to_process, int instance_lock_timeout,
376  int class_lock_timeout, bool delete_old_repr, OID * last_processed_class_oid,
377  OID * last_processed_oid, int *total_objects, int *failed_objects,
378  int *modified_objects, int *big_objects, int *ids_repr);
379 
380 extern int boot_heap_compact (OID * class_oid);
381 
382 extern int compact_db_start (void);
383 extern int compact_db_stop (void);
384 
385 /* external storage supports */
386 extern int es_posix_create_file (char *new_path);
387 extern ssize_t es_posix_write_file (const char *path, const void *buf, size_t count, off_t offset);
388 extern ssize_t es_posix_read_file (const char *path, void *buf, size_t count, off_t offset);
389 extern int es_posix_delete_file (const char *path);
390 extern int es_posix_copy_file (const char *src_path, const char *metaname, char *new_path);
391 extern int es_posix_rename_file (const char *src_path, const char *metaname, char *new_path);
392 extern off_t es_posix_get_file_size (const char *path);
393 
394 extern int locator_upgrade_instances_domain (OID * class_oid, int attribute_id);
395 extern int boot_get_server_locales (LANG_COLL_COMPAT ** server_collations, LANG_LOCALE_COMPAT ** server_locales,
396  int *server_coll_cnt, int *server_locales_cnt);
397 extern int boot_get_server_timezone_checksum (char *timezone_checksum);
398 
399 /* session state API */
400 extern int csession_find_or_create_session (SESSION_ID * session_id, int *row_count, char *server_session_key,
401  const char *db_user, const char *host, const char *program_name);
402 extern int csession_end_session (SESSION_ID session_id);
403 extern int csession_set_row_count (int rows);
404 extern int csession_get_row_count (int *rows);
405 extern int csession_get_last_insert_id (DB_VALUE * value, bool update_last_insert_id);
406 extern int csession_reset_cur_insert_id (void);
407 extern int csession_create_prepared_statement (const char *name, const char *alias_print, char *stmt_info,
408  int info_length);
409 extern int csession_get_prepared_statement (const char *name, XASL_ID * xasl_id, char **stmt_info,
410  xasl_node_header * xasl_header_p);
411 
412 extern int csession_delete_prepared_statement (const char *name);
413 
414 extern int clogin_user (const char *username);
415 
416 extern int csession_set_session_variables (DB_VALUE * variables, const int count);
417 extern int csession_get_variable (DB_VALUE * name, DB_VALUE * value);
418 extern int csession_drop_session_variables (DB_VALUE * variables, const int count);
419 
420 extern int cvacuum (void);
421 extern int log_get_mvcc_snapshot (void);
422 extern int tran_lock_rep_read (LOCK lock_rr_tran);
423 
424 extern int chksum_insert_repl_log_and_demote_table_lock (REPL_INFO * repl_info, const OID * class_oidp);
425 
426 extern int log_does_active_user_exist (const char *user_name, bool * existed);
427 
428 extern int netcl_spacedb (SPACEDB_ALL * spaceall, SPACEDB_ONEVOL ** spacevols, SPACEDB_FILES * spacefiles);
429 
430 extern int locator_demote_class_lock (const OID * class_oid, LOCK lock, LOCK * ex_lock);
431 
432 extern int loaddb_init (cubload::load_args & args);
433 extern int loaddb_install_class (const cubload::batch & batch, bool & class_is_ignored, std::string & class_name);
434 /* *INDENT-OFF* */
435 extern int loaddb_load_batch (const cubload::batch &batch, bool use_temp_batch, bool &is_batch_accepted,
436  load_status &status);
437 /* *INDENT-ON* */
438 extern int loaddb_fetch_status (load_status & status);
439 extern int loaddb_destroy ();
440 extern int loaddb_interrupt ();
441 extern int loaddb_update_stats ();
442 #endif /* _NETWORK_INTERFACE_CL_H_ */
int net_histo_print_global_stats(FILE *stream, bool cumulative, const char *substr)
Definition: network_cl.c:756
int boot_find_number_permanent_volumes(void)
LC_FETCH_VERSION_TYPE
Definition: locator.h:178
int loaddb_destroy()
int csession_get_row_count(int *rows)
int boot_get_server_timezone_checksum(char *timezone_checksum)
int logwr_get_log_pages(LOGWR_CONTEXT *ctx_ptr)
int locator_force(LC_COPYAREA *copy_area, int num_ignore_error_list, int *ignore_error_list, int content_size)
void log_set_interrupt(int set)
int net_client_check_log_header(LOGWR_CONTEXT *ctx_ptr, char *argbuf, int argsize, char *replybuf, int replysize, char **logpg_area_buf, bool verbose)
Definition: network_cl.c:2216
int net_client_final(void)
Definition: network_cl.c:3991
int net_client_send_data(char *host, unsigned int rc, char *databuf, int datasize)
Definition: network_cl.c:4010
int loaddb_install_class(const cubload::batch &batch, bool &class_is_ignored, std::string &class_name)
int btree_get_index_key_type(BTID btid, TP_DOMAIN **key_type_p)
int net_client_request_recv_copyarea(int request, char *argbuf, int argsize, char *replybuf, int replysize, LC_COPYAREA **reply_copy_area)
Definition: network_cl.c:2583
int qmgr_prepare_query(struct compile_context *context, xasl_stream *stream)
int net_client_init(const char *dbname, const char *hostname)
Definition: network_cl.c:3921
int boot_check_db_consistency(int check_flag, OID *oids, int num_oids, BTID *idx_btid)
bool histo_is_supported(void)
int boot_find_number_temp_volumes(void)
int tran_server_2pc_start(void)
int db_local_transaction_id(DB_VALUE *trid)
int tde_get_mk_info(int *mk_index, time_t *created_time, time_t *set_time)
TRAN_STATE tran_server_partial_abort(const char *savept_name, LOG_LSA *savept_lsa)
PAGEID DKNPAGES
int qp_get_server_info(PARSER_CONTEXT *parser, int server_info_bits)
int loaddb_update_stats()
char * disk_get_fullname(VOLID volid, char *vol_fullname)
TRAN_STATE tran_server_2pc_prepare(void)
int heap_create(HFID *hfid, const OID *class_oid, bool reuse_oid)
int es_posix_copy_file(const char *src_path, const char *metaname, char *new_path)
int boot_compact_classes(OID **class_oids, int num_classes, int space_to_process, int instance_lock_timeout, int class_lock_timeout, bool delete_old_repr, OID *last_processed_class_oid, OID *last_processed_oid, int *total_objects, int *failed_objects, int *modified_objects, int *big_objects, int *ids_repr)
int net_client_request_3_data(int request, char *argbuf, int argsize, char *databuf1, int datasize1, char *databuf2, int datasize2, char *replydata0, int replydatasize0, char *replydata1, int replydatasize1, char *replydata2, int replydatasize2)
Definition: network_cl.c:1490
int net_client_request_2recv_copyarea(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char *recvbuffer, int recvbuffer_size, LC_COPYAREA **reply_copy_area, int *eid)
Definition: network_cl.c:2769
int boot_backup(const char *backup_path, FILEIO_BACKUP_LEVEL backup_level, bool delete_unneeded_logarchives, const char *backup_verbose_file, int num_threads, FILEIO_ZIP_METHOD zip_method, FILEIO_ZIP_LEVEL zip_level, int skip_activelog, int sleep_msecs, bool separate_keys)
void net_histo_clear(void)
Definition: network_cl.c:666
int csession_find_or_create_session(SESSION_ID *session_id, int *row_count, char *server_session_key, const char *db_user, const char *host, const char *program_name)
int log_checkpoint(void)
int tran_server_2pc_attach_global_tran(int gtrid)
VOLID boot_add_volume_extension(DBDEF_VOL_EXT_INFO *ext_info)
int cvacuum(void)
int jsp_get_server_port(void)
int boot_initialize_server(const BOOT_CLIENT_CREDENTIAL *client_credential, BOOT_DB_PATH_INFO *db_path_info, bool db_overwrite, const char *file_addmore_vols, DKNPAGES db_npages, PGLENGTH db_desired_pagesize, DKNPAGES log_npages, PGLENGTH db_desired_log_page_size, OID *rootclass_oid, HFID *rootclass_hfid, int client_lock_wait, TRAN_ISOLATION client_isolation)
INT16 VOLID
int serial_decache(OID *oid)
int log_reset_wait_msecs(int wait_msecs)
bool tran_is_blocked(int tran_index)
int logtb_get_pack_tran_table(char **buffer_p, int *size_p, bool include_query_exec_info)
int locator_prefetch_repl_insert(OID *class_oid, RECDES *recdes)
static int eid
Definition: cas_error_log.c:61
int locator_fetch(OID *oidp, int chn, LOCK lock, LC_FETCH_VERSION_TYPE fetch_type, OID *class_oid, int class_chn, int prefetch, LC_COPYAREA **fetch_copyarea)
int locator_get_class(OID *class_oid, int class_chn, const OID *oid, LOCK lock, int prefetching, LC_COPYAREA **fetch_copyarea)
enum lc_prefetch_flags LC_PREFETCH_FLAGS
Definition: locator.h:339
int chksum_insert_repl_log_and_demote_table_lock(REPL_INFO *repl_info, const OID *class_oidp)
int net_client_request_recv_stream(int request, char *argbuf, int argsize, char *replybuf, int replybuf_size, char *databuf, int datasize, FILE *outfp)
Definition: network_cl.c:3587
int repl_set_info(REPL_INFO *repl_info)
int tran_server_get_global_tran_info(int gtrid, void *buffer, int size)
int log_reset_isolation(TRAN_ISOLATION isolation)
void histo_clear(void)
int locator_notify_isolation_incons(LC_COPYAREA **synch_copyarea)
bool include_query_exec_info
int clogin_user(const char *username)
int net_client_request2_no_malloc(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char *replydata, int *replydatasize_ptr)
Definition: network_cl.c:1395
QFILE_LIST_ID * qmgr_prepare_and_execute_query(char *xasl_stream, int xasl_stream_size, QUERY_ID *query_id, int dbval_cnt, DB_VALUE *dbval_ptr, QUERY_FLAG flag, int query_timeout)
void logtb_free_trans_info(TRANS_INFO *info)
LOCK
int boot_delete(const char *db_name, bool force_delete)
int locator_assign_oid(const HFID *hfid, OID *perm_oid, int expected_length, OID *class_oid, const char *class_name)
ssize_t es_posix_write_file(const char *path, const void *buf, size_t count, off_t offset)
void lock_dump(FILE *outfp)
int log_does_active_user_exist(const char *user_name, bool *existed)
int tran_server_is_active_and_has_updated(void)
int stats_get_statistics_from_server(OID *classoid, unsigned int timestamp, int *length_ptr, char **stats_buffer)
BTREE_SEARCH btree_find_unique(BTID *btid, DB_VALUE *key, OID *class_oid, OID *oid)
int loaddb_load_batch(const cubload::batch &batch, bool use_temp_batch, bool &is_batch_accepted, load_status &status)
bool boot_shutdown_server(ER_FINAL_CODE iserfinal)
const char * tran_get_tranlist_state_name(TRAN_STATE state)
int qfile_get_list_file_page(QUERY_ID query_id, VOLID volid, PAGEID pageid, char *buffer, int *buffer_size)
int csession_delete_prepared_statement(const char *name)
int locator_log_force_nologging(void)
DKNPAGES disk_get_free_numpages(VOLID volid)
LC_FIND_CLASSNAME locator_reserve_class_names(const int num_classes, const char **class_names, OID *class_oids)
int net_histo_print(FILE *stream)
Definition: network_cl.c:695
int heap_has_instance(HFID *hfid, OID *class_oid, int has_visible_instance)
FILEIO_ZIP_LEVEL
Definition: file_io.h:113
void qmgr_dump_query_plans(FILE *outfp)
int btree_load_index(BTID *btid, const char *bt_name, TP_DOMAIN *key_type, OID *class_oids, int n_classes, int n_attrs, int *attr_ids, int *attrs_prefix_length, HFID *hfids, int unique_pk, int not_null_flag, OID *fk_refcls_oid, BTID *fk_refcls_pk_btid, const char *fk_name, char *pred_stream, int pred_stream_size, char *expr_stream, int expr_stream_size, int func_col_id, int func_attr_index_start, SM_INDEX_STATUS index_status)
int perfmon_server_start_stats(void)
HA_SERVER_STATE boot_change_ha_mode(HA_SERVER_STATE state, bool force, int timeout)
TRAN_STATE tran_server_abort(void)
int boot_soft_rename(const char *old_db_name, const char *new_db_name, const char *new_db_path, const char *new_log_path, const char *new_db_server_host, const char *new_volext_path, const char *fileof_vols_and_renamepaths, bool newdb_overwrite, bool extern_rename, bool force_delete)
int boot_find_last_temp(void)
int boot_emergency_patch(const char *db_name, bool recreate_log, DKNPAGES log_npages, const char *db_locale, FILE *out_fp)
int csession_drop_session_variables(DB_VALUE *variables, const int count)
int repl_log_get_append_lsa(LOG_LSA *lsa)
int qmgr_drop_all_query_plans(void)
int net_client_recv_copyarea(int request, char *replybuf, int replysize, char *recvbuffer, int recvbuffer_size, LC_COPYAREA **reply_copy_area, int eid)
Definition: network_cl.c:3169
int thread_kill_or_interrupt_tran(int *tran_index_list, int num_tran_index, bool is_dba_group_member, bool interrupt_only, int *num_killed)
int heap_get_class_num_objects_pages(HFID *hfid, int approximation, int *nobjs, int *npages)
int locator_get_reserved_class_name_oid(const char *classname, OID *class_oid)
int net_client_request(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char *replydata, int replydatasize)
Definition: network_cl.c:1053
int perfmon_server_copy_global_stats(UINT64 *to_stats)
int perfmon_server_copy_stats(UINT64 *to_stats)
int locator_check_fk_validity(OID *cls_oid, HFID *hfid, TP_DOMAIN *key_type, int n_attrs, int *attr_ids, OID *pk_cls_oid, BTID *pk_btid, char *fk_name)
int serial_get_next_value(DB_VALUE *value, OID *oid_p, int cached_num, int num_alloc, int is_auto_increment)
LC_FIND_CLASSNAME locator_find_lockhint_class_oids(int num_classes, const char **many_classnames, LOCK *many_locks, int *many_need_subclasses, LC_PREFETCH_FLAGS *many_flags, OID *guessed_class_oids, int *guessed_class_chns, int quit_on_errors, LOCK lock_rr_tran, LC_LOCKHINT **lockhint, LC_COPYAREA **fetch_copyarea)
int compact_db_stop(void)
BTREE_SEARCH
BTREE_SEARCH btree_find_multi_uniques(OID *class_oid, int pruning_type, BTID *btids, DB_VALUE *keys, int count, SCAN_OPERATION_TYPE op_type, OID **oids, int *oids_count)
int loaddb_init(cubload::load_args &args)
int es_posix_rename_file(const char *src_path, const char *metaname, char *new_path)
DB_TRAN_ISOLATION
Definition: dbtran_def.h:26
int compact_db_start(void)
void qmgr_dump_query_cache(FILE *outfp)
enum ha_log_applier_state HA_LOG_APPLIER_STATE
int netcl_spacedb(SPACEDB_ALL *spaceall, SPACEDB_ONEVOL **spacevols, SPACEDB_FILES *spacefiles)
int substr(std::string &result, bool &is_matched, const cub_regex_object &reg, const std::string &src, const int position, const int occurrence, const INTL_CODESET codeset)
void vacuum_dump(FILE *outfp)
int tde_change_mk_on_server(int mk_index)
int btree_delete_index(BTID *btid)
int boot_notify_ha_log_applier_state(HA_LOG_APPLIER_STATE state)
int locator_upgrade_instances_domain(OID *class_oid, int attribute_id)
SP_PARSER_CTX * parser
int net_client_request_3recv_copyarea(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char **recvbuffer, int *recvbuffer_size, LC_COPYAREA **reply_copy_area)
Definition: network_cl.c:3392
int log_get_mvcc_snapshot(void)
int boot_get_server_locales(LANG_COLL_COMPAT **server_collations, LANG_LOCALE_COMPAT **server_locales, int *server_coll_cnt, int *server_locales_cnt)
static int total_objects
Definition: compactdb.c:56
int locator_redistribute_partition_data(OID *class_oid, int no_oids, OID *oid_list)
int net_client_request_with_callback(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf1, int datasize1, char *databuf2, int datasize2, char **replydata_ptr1, int *replydatasize_ptr1, char **replydata_ptr2, int *replydatasize_ptr2, char **replydata_ptr3, int *replydatasize_ptr3)
Definition: network_cl.c:1611
int catalog_check_rep_dir(OID *class_id, OID *rep_dir_p)
int btree_get_statistics(BTID *btid, BTREE_STATS *stat_info)
static char * dbname
LC_FIND_CLASSNAME locator_delete_class_name(const char *class_name)
LC_FIND_CLASSNAME locator_rename_class_name(const char *old_name, const char *new_name, OID *class_oid)
int tran_server_savepoint(const char *savept_name, LOG_LSA *savept_lsa)
int net_client_get_next_log_pages(int rc, char *replybuf, int replysize, int length)
Definition: network_cl.c:2518
LC_FIND_CLASSNAME
LC_FIND_CLASSNAME locator_find_class_oid(const char *class_name, OID *class_oid, LOCK lock)
int boot_heap_compact(OID *class_oid)
int tran_lock_rep_read(LOCK lock_rr_tran)
int locator_fetch_all(const HFID *hfid, LOCK *lock, LC_FETCH_VERSION_TYPE fetch_version_type, OID *class_oidp, int *nobjects, int *nfetched, OID *last_oidp, LC_COPYAREA **fetch_copyarea)
int locator_fetch_lockhint_classes(LC_LOCKHINT *lockhint, LC_COPYAREA **fetch_area)
int locator_fetch_all_reference_lockset(OID *oid, int chn, OID *class_oid, int class_chn, LOCK lock, int quit_on_errors, int prune_level, LC_LOCKSET **lockset, LC_COPYAREA **fetch_copyarea)
int net_client_ping_server(int client_val, int *server_val, int timeout)
Definition: network_cl.c:3727
int file_apply_tde_to_class_files(const OID *class_oid)
static int failed_objects
Definition: compactdb.c:57
int locator_does_exist(OID *oidp, int chn, LOCK lock, OID *class_oid, int class_chn, int need_fetching, int prefetch, LC_COPYAREA **fetch_copyarea, LC_FETCH_VERSION_TYPE fetch_version_type)
int boot_copy(const char *from_dbname, const char *new_db_name, const char *new_db_path, const char *new_log_path, const char *new_lob_path, const char *new_db_server_host, const char *new_volext_path, const char *fileof_vols_and_copypaths, bool newdb_overwrite)
SCAN_OPERATION_TYPE
int serial_get_current_value(DB_VALUE *value, OID *oid_p, int cached_num)
TRAN_STATE tran_server_2pc_prepare_global_tran(int gtrid)
DKNPAGES disk_get_total_numpages(VOLID volid)
void acl_dump(FILE *outfp)
int histo_print_global_stats(FILE *stream, bool cumulative, const char *substr)
VOLID boot_find_last_permanent(void)
char * db_name
int count(int &result, const cub_regex_object &reg, const std::string &src, const int position, const INTL_CODESET codeset)
off_t es_posix_get_file_size(const char *path)
int csession_end_session(SESSION_ID session_id)
int heap_reclaim_addresses(const HFID *hfid)
void log_dump_stat(FILE *outfp)
int acl_reload(void)
static void error(const char *msg)
Definition: gencat.c:331
int locator_demote_class_lock(const OID *class_oid, LOCK lock, LOCK *ex_lock)
int tran_wait_server_active_trans(void)
static int rc
Definition: serial.c:50
int es_posix_create_file(char *new_path)
int csession_get_prepared_statement(const char *name, XASL_ID *xasl_id, char **stmt_info, xasl_node_header *xasl_header_p)
ssize_t es_posix_read_file(const char *path, void *buf, size_t count, off_t offset)
int es_posix_delete_file(const char *path)
int locator_assign_oid_batch(LC_OIDSET *oidset)
int net_client_receive_action(int rc, int *action)
Definition: network_cl.c:4037
int net_client_request_3_data_recv_copyarea(int request, char *argbuf, int argsize, char *databuf1, int datasize1, char *databuf2, int datasize2, char *replybuf, int replysize, LC_COPYAREA **reply_copy_area)
Definition: network_cl.c:3004
int locator_fetch_lockset(LC_LOCKSET *lockset, LC_COPYAREA **fetch_copyarea)
INT16 PGLENGTH
void net_client_logwr_send_end_msg(int rc, int error)
Definition: network_cl.c:2487
QFILE_LIST_ID * qmgr_execute_query(const XASL_ID *xasl_id, QUERY_ID *query_idp, int dbval_cnt, const DB_VALUE *dbvals, QUERY_FLAG flag, CACHE_TIME *clt_cache_time, CACHE_TIME *srv_cache_time, int query_timeout)
int boot_register_client(BOOT_CLIENT_CREDENTIAL *client_credential, int client_lock_wait, TRAN_ISOLATION client_isolation, TRAN_STATE *tran_state, BOOT_SERVER_CREDENTIAL *server_credential)
int heap_destroy_newly_created(const HFID *hfid, const OID *class_oid)
char * disk_get_remarks(VOLID volid)
void thread_dump_cs_stat(FILE *outfp)
int loaddb_fetch_status(load_status &status)
int csession_set_row_count(int rows)
int thread_kill_tran_index(int kill_tran_index, char *kill_user, char *kill_host, int kill_pid)
int locator_repl_force(LC_COPYAREA *copy_area, LC_COPYAREA **reply_copy_area)
int csession_get_variable(DB_VALUE *name, DB_VALUE *value)
unsigned int SESSION_ID
Definition: dbtype_def.h:480
int net_histo_stop(void)
Definition: network_cl.c:804
int query_timeout
Definition: cas.c:160
int net_client_request_with_logwr_context(LOGWR_CONTEXT *ctx_ptr, int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf1, int datasize1, char *databuf2, int datasize2, char **replydata_ptr1, int *replydatasize_ptr1, char **replydata_ptr2, int *replydatasize_ptr2)
Definition: network_cl.c:2329
int btree_add_index(BTID *btid, TP_DOMAIN *key_type, OID *class_oid, int attr_id, int unique_pk)
int csession_get_last_insert_id(DB_VALUE *value, bool update_last_insert_id)
char * net_client_get_server_host(void)
Definition: network_cl.c:936
enum lob_locator_state LOB_LOCATOR_STATE
Definition: lob_locator.hpp:62
BTREE_SEARCH repl_btree_find_unique(BTID *btid, DB_VALUE *key, OID *class_oid, OID *oid)
int net_histo_start(bool for_all_trans)
Definition: network_cl.c:775
int tde_get_mk_file_path(char *mk_path)
int log_set_suppress_repl_on_transaction(int set)
int net_client_ping_server_with_handshake(int client_type, bool check_capabilities, int opt_cap)
Definition: network_cl.c:3782
int btree_class_test_unique(char *buf, int buf_size)
int net_client_request_no_reply(int request, char *argbuf, int argsize)
Definition: network_cl.c:896
TRAN_STATE
Definition: log_comm.h:36
int QUERY_FLAG
Definition: query_list.h:585
int perfmon_server_stop_stats(void)
int stats_update_statistics(OID *classoid, int with_fullscan)
int tran_server_set_global_tran_info(int gtrid, void *info, int size)
int tran_server_has_updated(void)
enum ha_server_state HA_SERVER_STATE
Definition: boot.h:126
INT32 PAGEID
int stats_update_all_statistics(int with_fullscan)
LOG_RESULT_TOPOP
Definition: log_comm.h:73
int qmgr_end_query(QUERY_ID query_id)
TRAN_STATE tran_server_commit(bool retain_lock)
int net_client_request2(int request, char *argbuf, int argsize, char *replybuf, int replysize, char *databuf, int datasize, char **replydata_ptr, int *replydatasize_ptr)
Definition: network_cl.c:1288
static char * host
int histo_print(FILE *stream)
int histo_start(bool for_all_trans)
int csession_reset_cur_insert_id(void)
void net_cleanup_client_queues(void)
Definition: network_cl.c:3975
FILEIO_BACKUP_LEVEL
Definition: file_io.h:96
FILEIO_ZIP_METHOD
Definition: file_io.h:104
int loaddb_interrupt()
SM_INDEX_STATUS
Definition: class_object.h:510
TRAN_QUERY_EXEC_INFO query_exec_info
int histo_stop(void)
int locator_remove_class_from_index(OID *oid, BTID *btid, HFID *hfid)
int class_id
Definition: load_common.hpp:40
int csession_set_session_variables(DB_VALUE *variables, const int count)
enum er_final_code ER_FINAL_CODE
int boot_unregister_client(int tran_index)
int csession_create_prepared_statement(const char *name, const char *alias_print, char *stmt_info, int info_length)
void logtb_dump_trantable(FILE *outfp)
TRANS_INFO * logtb_get_trans_info(bool include_query_exec_info)
int tran_server_2pc_recovery_prepared(int gtrids[], int size)