first commit for openGauss connect odbc code
This commit is contained in:
86
connexp.h
Normal file
86
connexp.h
Normal file
@ -0,0 +1,86 @@
|
||||
/* File: connexp.h
|
||||
*
|
||||
* Description: See "connection.c"
|
||||
*
|
||||
* Comments: See "notice.txt" for copyright and license information.
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef __CONNEXPORT_H__
|
||||
#define __CONNEXPORT_H__
|
||||
|
||||
/*
|
||||
* The psqlodbc dll exports functions below used in the pgenlist dll.
|
||||
*
|
||||
*/
|
||||
|
||||
#undef DLL_DECLARE
|
||||
#ifdef _PGDTC_FUNCS_IMPLEMENT_
|
||||
#define DLL_DECLARE _declspec(dllexport)
|
||||
#else
|
||||
#ifdef _PGDTC_FUNCS_IMPORT_
|
||||
#define DLL_DECLARE _declspec(dllimport)
|
||||
#else
|
||||
#define DLL_DECLARE
|
||||
#endif /* _PGDTC_FUNC_IMPORT_ */
|
||||
#endif /* _PGDTC_FUNCS_IMPLEMENT_ */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define KEYWORD_DTC_CHECK "dtchk"
|
||||
#define DTC_CHECK_LINK_ONLY 1
|
||||
#define DTC_CHECK_BEFORE_LINK 2
|
||||
#define DTC_CHECK_RM_CONNECTION 3
|
||||
|
||||
/* Property */
|
||||
enum {
|
||||
inprogress
|
||||
,enlisted
|
||||
,inTrans /* read-only */
|
||||
,errorNumber /* read_only */
|
||||
,idleInGlobalTransaction /* read-only */
|
||||
,connected /* read-only */
|
||||
,prepareRequested
|
||||
};
|
||||
|
||||
/* PgDtc_isolate option */
|
||||
enum {
|
||||
disposingConnection = 1L
|
||||
,useAnotherRoom = (1L << 1)
|
||||
};
|
||||
|
||||
/* One phase commit operations */
|
||||
enum {
|
||||
ONE_PHASE_COMMIT = 0
|
||||
,ONE_PHASE_ROLLBACK
|
||||
,ABORT_GLOBAL_TRANSACTION
|
||||
,SHUTDOWN_LOCAL_TRANSACTION
|
||||
};
|
||||
|
||||
/* Two phase commit operations */
|
||||
enum {
|
||||
PREPARE_TRANSACTION = 0
|
||||
,COMMIT_PREPARED
|
||||
,ROLLBACK_PREPARED
|
||||
};
|
||||
|
||||
DLL_DECLARE void PgDtc_create_connect_string(void *self, char *connstr, int strsize);
|
||||
DLL_DECLARE int PgDtc_is_recovery_available(void *self, char *reason, int rsize);
|
||||
DLL_DECLARE void PgDtc_set_async(void *self, void *async);
|
||||
DLL_DECLARE void *PgDtc_get_async(void *self);
|
||||
DLL_DECLARE void PgDtc_set_property(void *self, int property, void *value);
|
||||
DLL_DECLARE void PgDtc_set_error(void *self, const char *message, const char *func);
|
||||
DLL_DECLARE int PgDtc_get_property(void *self, int property);
|
||||
DLL_DECLARE BOOL PgDtc_connect(void *self);
|
||||
DLL_DECLARE void PgDtc_free_connect(void *self);
|
||||
DLL_DECLARE BOOL PgDtc_one_phase_operation(void *self, int operation);
|
||||
DLL_DECLARE BOOL PgDtc_two_phase_operation(void *self, int operation, const char *gxid);
|
||||
DLL_DECLARE BOOL PgDtc_lock_cntrl(void *self, BOOL acquire, BOOL bTrial);
|
||||
DLL_DECLARE void *PgDtc_isolate(void *self, DWORD option);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
#endif /* __CONNEXPORT_H__ */
|
Reference in New Issue
Block a user