aboutsummaryrefslogtreecommitdiff
path: root/src/interfaces/ecpg/include/ecpglib.h
blob: 3cb3255c4a8d75989369dbf1c820180f974932d5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
#include <postgres.h>
#include <libpq-fe.h>

#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, const char *, const char *, const char *, const char *, int);
	bool		ECPGdo(int, const char *, char *,...);
	bool		ECPGtrans(int, const char *, const char *);
	bool		ECPGdisconnect(int, const char *);
	bool		ECPGprepare(int, char *, char *);
	bool		ECPGdeallocate(int, char *);
	char		*ECPGprepared_statement(char *);
	
	void		ECPGlog(const char *format,...);

#ifdef LIBPQ_FE_H
	bool		ECPGsetdb(PGconn *);

#endif

/* Here are some methods used by the lib. */
/* Returns a pointer to a string containing a simple type name. */
	const char *ECPGtype_name(enum ECPGttype);

/* A generic varchar type. */
	struct ECPGgeneric_varchar
	{
		int			len;
		char		arr[1];
	};

/* print an error message */
	void		sqlprint(void);

	struct cursor
	{
		const char *name;
		char	   *command;
		struct cursor *next;
	};

/* define this for simplicity as well as compatibility */

#define		  SQLCODE	 sqlca.sqlcode

/* dynamic SQL */

	unsigned int	ECPGDynamicType(Oid type);
	unsigned int	ECPGDynamicType_DDT(Oid type);
	PGresult *	ECPGresultByDescriptor(int line,const char *name);
	bool		ECPGdo_descriptor(int line,const char *connection,
							const char *descriptor,const char *query);
	bool		ECPGdeallocate_desc(int line,const char *name);
	bool		ECPGallocate_desc(int line,const char *name);
	void		ECPGraise(int line, int code, const char *str);
	bool		ECPGget_desc_header(int, char *, int *);
	

#ifdef __cplusplus
}

#endif

#include <ecpgerrno.h>