PostgreSQL Source Code git master
ecpglib.h
Go to the documentation of this file.
1/*
2 * Client-visible declarations for ecpglib
3 *
4 * src/interfaces/ecpg/include/ecpglib.h
5 */
6
7#ifndef _ECPGLIB_H
8#define _ECPGLIB_H
9
10#include <stdbool.h>
11#include <string.h>
12
13#include "ecpg_config.h"
14#include "ecpgtype.h"
15#include "libpq-fe.h"
16#include "sqlca.h"
17
18
19#ifdef __cplusplus
20extern "C"
21{
22#endif
23
24void ECPGdebug(int n, FILE *dbgs);
25bool ECPGstatus(int lineno, const char *connection_name);
26bool ECPGsetcommit(int lineno, const char *mode, const char *connection_name);
27bool ECPGsetconn(int lineno, const char *connection_name);
28bool ECPGconnect(int lineno, int c, const char *name, const char *user,
29 const char *passwd, const char *connection_name, int autocommit);
30bool ECPGdo(const int lineno, const int compat, const int force_indicator,
31 const char *connection_name, const bool questionmarks,
32 const int st, const char *query,...);
33bool ECPGtrans(int lineno, const char *connection_name, const char *transaction);
34bool ECPGdisconnect(int lineno, const char *connection_name);
35bool ECPGprepare(int lineno, const char *connection_name, const bool questionmarks,
36 const char *name, const char *variable);
37bool ECPGdeallocate(int lineno, int c, const char *connection_name, const char *name);
38bool ECPGdeallocate_all(int lineno, int compat, const char *connection_name);
39char *ECPGprepared_statement(const char *connection_name, const char *name, int lineno);
40PGconn *ECPGget_PGconn(const char *connection_name);
41PGTransactionStatusType ECPGtransactionStatus(const char *connection_name);
42
43 /* print an error message */
44void sqlprint(void);
45
46/* define this for simplicity as well as compatibility */
47
48#define SQLCODE sqlca.sqlcode
49#define SQLSTATE sqlca.sqlstate
50
51/* dynamic SQL */
52
53bool ECPGdo_descriptor(int line, const char *connection,
54 const char *descriptor, const char *query);
55bool ECPGdeallocate_desc(int line, const char *name);
56bool ECPGallocate_desc(int line, const char *name);
57bool ECPGget_desc_header(int lineno, const char *desc_name, int *count);
58bool ECPGget_desc(int lineno, const char *desc_name, int index,...);
59bool ECPGset_desc_header(int lineno, const char *desc_name, int count);
60bool ECPGset_desc(int lineno, const char *desc_name, int index,...);
61
62void ECPGset_noind_null(enum ECPGttype type, void *ptr);
63bool ECPGis_noind_null(enum ECPGttype type, const void *ptr);
64bool ECPGdescribe(int line, int compat, bool input,
65 const char *connection_name, const char *stmt_name,...);
66
67void ECPGset_var(int number, void *pointer, int lineno);
68void *ECPGget_var(int number);
69
70/* dynamic result allocation */
71void ECPGfree_auto_mem(void);
72
73void ecpg_pthreads_init(void);
74
75#ifdef __cplusplus
76}
77#endif
78
79#endif /* _ECPGLIB_H */
bool autocommit
Definition: ecpg.c:15
enum COMPAT_MODE compat
Definition: ecpg.c:26
bool force_indicator
Definition: ecpg.c:18
bool questionmarks
Definition: ecpg.c:19
void ECPGset_var(int number, void *pointer, int lineno)
Definition: misc.c:538
void sqlprint(void)
Definition: error.c:334
PGTransactionStatusType ECPGtransactionStatus(const char *connection_name)
Definition: misc.c:145
bool ECPGdeallocate_desc(int line, const char *name)
Definition: descriptor.c:748
bool ECPGdeallocate_all(int lineno, int compat, const char *connection_name)
Definition: prepare.c:350
bool ECPGget_desc(int lineno, const char *desc_name, int index,...)
Definition: descriptor.c:234
void ECPGdebug(int n, FILE *dbgs)
Definition: misc.c:204
void ecpg_pthreads_init(void)
Definition: connect.c:30
void ECPGset_noind_null(enum ECPGttype type, void *ptr)
Definition: misc.c:292
PGconn * ECPGget_PGconn(const char *connection_name)
Definition: connect.c:720
bool ECPGsetconn(int lineno, const char *connection_name)
Definition: connect.c:190
void ECPGfree_auto_mem(void)
Definition: memory.c:131
bool ECPGtrans(int lineno, const char *connection_name, const char *transaction)
Definition: misc.c:160
bool ECPGallocate_desc(int line, const char *name)
Definition: descriptor.c:792
bool ECPGis_noind_null(enum ECPGttype type, const void *ptr)
Definition: misc.c:361
char * ECPGprepared_statement(const char *connection_name, const char *name, int lineno)
Definition: prepare.c:368
bool ECPGsetcommit(int lineno, const char *mode, const char *connection_name)
Definition: connect.c:153
bool ECPGstatus(int lineno, const char *connection_name)
Definition: misc.c:127
bool ECPGprepare(int lineno, const char *connection_name, const bool questionmarks, const char *name, const char *variable)
Definition: prepare.c:217
bool ECPGset_desc_header(int lineno, const char *desc_name, int count)
Definition: descriptor.c:573
bool ECPGdisconnect(int lineno, const char *connection_name)
Definition: connect.c:676
bool ECPGconnect(int lineno, int c, const char *name, const char *user, const char *passwd, const char *connection_name, int autocommit)
Definition: connect.c:255
bool ECPGdo_descriptor(int line, const char *connection, const char *descriptor, const char *query)
Definition: execute.c:2290
void * ECPGget_var(int number)
Definition: misc.c:593
bool ECPGdescribe(int line, int compat, bool input, const char *connection_name, const char *stmt_name,...)
Definition: descriptor.c:847
bool ECPGdeallocate(int lineno, int c, const char *connection_name, const char *name)
Definition: prepare.c:315
bool ECPGdo(const int lineno, const int compat, const int force_indicator, const char *connection_name, const bool questionmarks, const int st, const char *query,...)
Definition: execute.c:2275
bool ECPGset_desc(int lineno, const char *desc_name, int index,...)
Definition: descriptor.c:605
bool ECPGget_desc_header(int lineno, const char *desc_name, int *count)
Definition: descriptor.c:84
ECPGttype
Definition: ecpgtype.h:42
FILE * input
PGTransactionStatusType
Definition: libpq-fe.h:141
static PgChecksumMode mode
Definition: pg_checksums.c:55
static char * user
Definition: pg_regress.c:119
char * c
Definition: type.h:96
const char * type
const char * name