CUBRID Engine  latest
transaction_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  * transaction_cl.h - transaction manager (at client)
22  *
23  */
24 
25 #ifndef _TRANSACTION_CL_H_
26 #define _TRANSACTION_CL_H_
27 
28 #ident "$Id$"
29 
30 #if defined (SERVER_MODE)
31 #error Does not belong to server module
32 #endif /* SERVER_MODE */
33 
34 #include "config.h"
35 
36 #include "error_manager.h"
37 #include "locator.h"
38 #include "storage_common.h"
39 #include "log_comm.h"
40 
41 #define TM_TRAN_INDEX() (tm_Tran_index)
42 #define TM_TRAN_ISOLATION() (tm_Tran_isolation)
43 #define TM_TRAN_ASYNC_WS() (tm_Tran_async_ws)
44 #define TM_TRAN_WAIT_MSECS() (tm_Tran_wait_msecs)
45 #define TM_TRAN_ID() (tm_Tran_ID)
46 #define TM_TRAN_REP_READ_LOCK() (tm_Tran_rep_read_lock)
47 #define TM_TRAN_READ_FETCH_VERSION() (tm_Tran_read_fetch_instance_version)
48 
49 typedef enum savepoint_type
50 {
54 
55 extern int tm_Tran_index;
57 extern bool tm_Tran_async_ws;
58 extern int tm_Tran_wait_msecs;
59 extern int tm_Tran_ID;
60 extern bool tm_Tran_check_interrupt;
61 extern bool tm_Use_OID_preflush;
65 
66 extern void tran_cache_tran_settings (int tran_index, int lock_timeout, TRAN_ISOLATION tran_isolation);
67 extern void tran_get_tran_settings (int *lock_timeout_in_msecs, TRAN_ISOLATION * tran_isolation, bool * async_ws);
68 extern int tran_reset_wait_times (int wait_in_msecs);
69 extern int tran_reset_isolation (TRAN_ISOLATION isolation, bool async_ws);
70 extern int tran_flush_to_commit (void);
71 extern int tran_commit (bool retain_lock);
72 extern int tran_abort (void);
73 extern int tran_unilaterally_abort (void);
74 extern int tran_abort_only_client (bool is_server_down);
75 extern bool tran_has_updated (void);
76 extern bool tran_is_active_and_has_updated (void);
77 extern int tran_set_global_tran_info (int gtrid, void *info, int size);
78 extern int tran_get_global_tran_info (int gtrid, void *buffer, int size);
79 extern int tran_2pc_start (void);
80 extern int tran_2pc_prepare (void);
81 extern int tran_2pc_recovery_prepared (int gtrids[], int size);
82 extern int tran_2pc_attach_global_tran (int gtrid);
83 extern int tran_2pc_prepare_global_tran (int gtrid);
84 extern void tran_free_savepoint_list (void);
85 extern int tran_system_savepoint (const char *savept_name);
86 extern int tran_savepoint_internal (const char *savept_name, SAVEPOINT_TYPE savepoint_type);
87 extern int tran_abort_upto_user_savepoint (const char *savepoint_name);
88 extern int tran_abort_upto_system_savepoint (const char *savepoint_name);
89 extern int tran_internal_abort_upto_savepoint (const char *savepoint_name, SAVEPOINT_TYPE savepoint_type,
90  bool client_decache_only_insts);
91 extern void tran_set_query_timeout (int query_timeout);
92 extern int tran_get_query_timeout (void);
93 extern void tran_begin_libcas_function (void);
94 extern void tran_end_libcas_function (void);
95 extern bool tran_is_in_libcas (void);
96 extern bool tran_set_check_interrupt (bool flag);
97 extern bool tran_get_check_interrupt (void);
98 
99 extern void tran_set_latest_query_status (int end_query_result, int tran_state, int should_conn_reset);
100 extern bool tran_was_latest_query_ended (void);
101 extern bool tran_was_latest_query_committed (void);
102 extern bool tran_was_latest_query_aborted (void);
103 extern bool tran_is_reset_required (void);
104 extern void tran_reset_latest_query_status (void);
105 #endif /* _TRANSACTION_CL_H_ */
LC_FETCH_VERSION_TYPE
Definition: locator.h:178
bool tran_set_check_interrupt(bool flag)
void tran_begin_libcas_function(void)
int tm_Tran_wait_msecs
int tm_Tran_invalidate_snapshot
int tran_savepoint_internal(const char *savept_name, SAVEPOINT_TYPE savepoint_type)
int tm_Tran_index
int tran_get_query_timeout(void)
int tran_abort_upto_user_savepoint(const char *savepoint_name)
void tran_end_libcas_function(void)
int tran_abort(void)
int tran_2pc_prepare(void)
int tran_system_savepoint(const char *savept_name)
bool tran_get_check_interrupt(void)
void tran_reset_latest_query_status(void)
bool tm_Tran_async_ws
int tran_reset_wait_times(int wait_in_msecs)
int tran_commit(bool retain_lock)
bool tran_was_latest_query_committed(void)
LOCK
int tran_abort_upto_system_savepoint(const char *savepoint_name)
int tran_get_global_tran_info(int gtrid, void *buffer, int size)
int tran_flush_to_commit(void)
void tran_set_query_timeout(int query_timeout)
int tran_2pc_prepare_global_tran(int gtrid)
bool tran_was_latest_query_aborted(void)
bool tran_was_latest_query_ended(void)
bool tran_is_active_and_has_updated(void)
DB_TRAN_ISOLATION
Definition: dbtran_def.h:26
bool tran_is_reset_required(void)
void tran_set_latest_query_status(int end_query_result, int tran_state, int should_conn_reset)
void tran_cache_tran_settings(int tran_index, int lock_timeout, TRAN_ISOLATION tran_isolation)
TRAN_ISOLATION tm_Tran_isolation
bool tm_Use_OID_preflush
int tran_unilaterally_abort(void)
LC_FETCH_VERSION_TYPE tm_Tran_read_fetch_instance_version
int tran_reset_isolation(TRAN_ISOLATION isolation, bool async_ws)
int tran_2pc_recovery_prepared(int gtrids[], int size)
LOCK tm_Tran_rep_read_lock
int tran_2pc_attach_global_tran(int gtrid)
bool tran_has_updated(void)
int query_timeout
Definition: cas.c:160
int tm_Tran_ID
enum savepoint_type SAVEPOINT_TYPE
savepoint_type
int tran_set_global_tran_info(int gtrid, void *info, int size)
int tran_internal_abort_upto_savepoint(const char *savepoint_name, SAVEPOINT_TYPE savepoint_type, bool client_decache_only_insts)
void tran_get_tran_settings(int *lock_timeout_in_msecs, TRAN_ISOLATION *tran_isolation, bool *async_ws)
bool tran_is_in_libcas(void)
int tran_2pc_start(void)
bool tm_Tran_check_interrupt
int tran_abort_only_client(bool is_server_down)
void tran_free_savepoint_list(void)