CUBRID Engine  latest
shard_proxy_function.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  * shard_proxy_function.h -
22  */
23 
24 #ifndef _SHARD_PROXY_FUNCTION_H_
25 #define _SHARD_PROXY_FUNCTION_H_
26 
27 #ident "$Id$"
28 
29 #include "cas_net_buf.h"
30 #include "shard_proxy_common.h"
31 
32 typedef int (*T_PROXY_CLIENT_FUNC) (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
33 typedef int (*T_PROXY_CAS_FUNC) (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
34 
35 extern int proxy_check_cas_error (char *read_msg);
36 extern int proxy_get_cas_error_code (char *read_msg, T_BROKER_VERSION client_version);
37 extern int proxy_send_request_to_cas (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int func_code);
38 
39 /* process client request */
40 extern int fn_proxy_client_end_tran (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
41 extern int fn_proxy_client_prepare (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
42 extern int fn_proxy_client_execute (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
43 extern int fn_proxy_client_set_db_parameter (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
44 extern int fn_proxy_client_get_db_parameter (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
45 extern int fn_proxy_client_close_req_handle (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
46 extern int fn_proxy_client_cursor (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
47 extern int fn_proxy_client_fetch (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
48 extern int fn_proxy_client_schema_info (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
49 extern int fn_proxy_client_check_cas (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
50 extern int fn_proxy_client_con_close (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
51 extern int fn_proxy_client_get_db_version (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
52 extern int fn_proxy_client_cursor_close (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
53 extern int fn_proxy_client_execute_array (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
54 extern int fn_proxy_get_shard_info (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
55 extern int fn_proxy_client_prepare_and_execute (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc,
56  char **argv);
57 extern int fn_proxy_client_not_supported (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p, int argc, char **argv);
58 
59 /* process cas response */
60 extern int fn_proxy_cas_end_tran (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
61 extern int fn_proxy_cas_prepare (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
62 extern int fn_proxy_cas_execute (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
63 extern int fn_proxy_cas_execute_array (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
64 extern int fn_proxy_cas_fetch (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
65 extern int fn_proxy_cas_schema_info (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
66 extern int fn_proxy_cas_prepare_and_execute (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
67 extern int fn_proxy_cas_check_cas (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
68 
69 extern int fn_proxy_cas_relay_only (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
70 
71 extern int fn_proxy_client_conn_error (T_PROXY_CONTEXT * ctx_p);
72 extern int fn_proxy_cas_conn_error (T_PROXY_CONTEXT * ctx_p);
73 
74 extern int proxy_send_response_to_client (T_PROXY_CONTEXT * ctx_p, T_PROXY_EVENT * event_p);
75 extern int proxy_send_response_to_client_with_new_event (T_PROXY_CONTEXT * ctx_p, unsigned int type, int from,
76  T_PROXY_EVENT_FUNC resp_func);
77 
78 
79 #endif /* _SHARD_PROXY_FUNCTION_H_ */
int(* T_PROXY_EVENT_FUNC)(char *driver_info, char **buffer)
int fn_proxy_client_execute(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_cas_conn_error(T_PROXY_CONTEXT *ctx_p)
int fn_proxy_client_conn_error(T_PROXY_CONTEXT *ctx_p)
int(* T_PROXY_CLIENT_FUNC)(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_cas_end_tran(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int fn_proxy_client_execute_array(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_cas_fetch(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int argc
Definition: dynamic_load.c:951
int fn_proxy_client_schema_info(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_get_db_version(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int proxy_check_cas_error(char *read_msg)
int fn_proxy_client_fetch(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_not_supported(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_con_close(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_check_cas(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int proxy_send_response_to_client_with_new_event(T_PROXY_CONTEXT *ctx_p, unsigned int type, int from, T_PROXY_EVENT_FUNC resp_func)
int fn_proxy_cas_schema_info(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int fn_proxy_client_end_tran(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_close_req_handle(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_cas_relay_only(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int fn_proxy_client_set_db_parameter(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_cas_check_cas(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int proxy_send_request_to_cas(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int func_code)
int fn_proxy_cas_execute(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int fn_proxy_cas_prepare_and_execute(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int fn_proxy_get_shard_info(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int proxy_get_cas_error_code(char *read_msg, T_BROKER_VERSION client_version)
int fn_proxy_client_prepare_and_execute(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_cursor(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
const char ** argv
Definition: dynamic_load.c:952
int fn_proxy_cas_prepare(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int T_BROKER_VERSION
Definition: cas_protocol.h:342
int fn_proxy_client_prepare(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_get_db_parameter(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_client_cursor_close(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p, int argc, char **argv)
int fn_proxy_cas_execute_array(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int proxy_send_response_to_client(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)
int(* T_PROXY_CAS_FUNC)(T_PROXY_CONTEXT *ctx_p, T_PROXY_EVENT *event_p)