/* * this is a small part of c.h since we don't want to leak all openGauss * definitions into ecpg programs * src/interfaces/ecpg/include/ecpglib.h */ #ifndef _ECPGLIB_H #define _ECPGLIB_H #include "libpq/libpq-fe.h" #include "ecpgtype.h" #include "sqlca.h" #include #ifdef ENABLE_NLS extern char* ecpg_gettext(const char* msgid) __attribute__((format_arg(1))); #else #define ecpg_gettext(x) (x) #endif #ifndef __cplusplus #ifndef bool #define bool char #endif /* ndef bool */ #ifndef true #define true ((bool)1) #endif /* ndef true */ #ifndef false #define false ((bool)0) #endif /* ndef false */ #endif /* not C++ */ #ifndef TRUE #define TRUE 1 #endif /* TRUE */ #ifndef FALSE #define FALSE 0 #endif /* FALSE */ #ifdef __cplusplus extern "C" { #endif void ECPGdebug(int, FILE*); bool ECPGstatus(int, const char*); bool ECPGsetcommit(int, const char*, const char*); bool ECPGsetconn(int, const char*); bool ECPGconnect(int, int, const char*, const char*, const char*, const char*, int); bool ECPGdo(const int, const int, const int, const char*, const bool, const int, const char*, ...); bool ECPGtrans(int, const char*, const char*); bool ECPGdisconnect(int, const char*); bool ECPGprepare(int, const char*, const bool, const char*, const char*); bool ECPGdeallocate(int, int, const char*, const char*); bool ECPGdeallocate_all(int, int, const char*); char* ECPGprepared_statement(const char*, const char*, int); PGconn* ECPGget_PGconn(const char*); PGTransactionStatusType ECPGtransactionStatus(const char*); char* ECPGerrmsg(void); /* print an error message */ void sqlprint(void); /* define this for simplicity as well as compatibility */ #define SQLCODE sqlca.sqlcode #define SQLSTATE sqlca.sqlstate /* dynamic SQL */ bool ECPGdo_descriptor(int, const char*, const char*, const char*); bool ECPGdeallocate_desc(int, const char*); bool ECPGallocate_desc(int, const char*); bool ECPGget_desc_header(int, const char*, int*); bool ECPGget_desc(int, const char*, int, ...); bool ECPGset_desc_header(int, const char*, int); bool ECPGset_desc(int, const char*, int, ...); void ECPGset_noind_null(enum ECPGttype, void*); bool ECPGis_noind_null(enum ECPGttype, void*); bool ECPGdescribe(int, int, bool, const char*, const char*, ...); void ECPGset_var(int, void*, int); void* ECPGget_var(int number); /* dynamic result allocation */ void ECPGfree_auto_mem(void); #ifdef ENABLE_THREAD_SAFETY void ecpg_pthreads_init(void); #endif #ifdef __cplusplus } #endif #endif /* _ECPGLIB_H */