mirror of
https://github.com/postgres/postgres.git
synced 2025-11-04 20:11:56 +03:00
Massive commit to run PGINDENT on all *.c and *.h files.
This commit is contained in:
@@ -1,18 +1,18 @@
|
||||
/*-------------------------------------------------------------------------
|
||||
*
|
||||
* libpq.h--
|
||||
* POSTGRES LIBPQ buffer structure definitions.
|
||||
* POSTGRES LIBPQ buffer structure definitions.
|
||||
*
|
||||
*
|
||||
* Copyright (c) 1994, Regents of the University of California
|
||||
*
|
||||
* $Id: libpq.h,v 1.5 1996/11/05 07:38:17 scrappy Exp $
|
||||
* $Id: libpq.h,v 1.6 1997/09/07 04:58:24 momjian Exp $
|
||||
*
|
||||
* NOTES
|
||||
* This file contains definitions for structures and
|
||||
* externs for functions used by both frontend applications
|
||||
* and the POSTGRES backend. See the files libpq-fe.h and
|
||||
* libpq-be.h for frontend/backend specific information
|
||||
* This file contains definitions for structures and
|
||||
* externs for functions used by both frontend applications
|
||||
* and the POSTGRES backend. See the files libpq-fe.h and
|
||||
* libpq-be.h for frontend/backend specific information
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
@@ -23,118 +23,130 @@
|
||||
|
||||
/* ----------------
|
||||
* PQArgBlock --
|
||||
* Information (pointer to array of this structure) required
|
||||
* for the PQfn() call.
|
||||
* Information (pointer to array of this structure) required
|
||||
* for the PQfn() call.
|
||||
* ----------------
|
||||
*/
|
||||
typedef struct {
|
||||
int len;
|
||||
int isint;
|
||||
union {
|
||||
int *ptr; /* can't use void (dec compiler barfs) */
|
||||
int integer;
|
||||
} u;
|
||||
} PQArgBlock;
|
||||
typedef struct
|
||||
{
|
||||
int len;
|
||||
int isint;
|
||||
union
|
||||
{
|
||||
int *ptr; /* can't use void (dec compiler barfs) */
|
||||
int integer;
|
||||
} u;
|
||||
} PQArgBlock;
|
||||
|
||||
/* ----------------
|
||||
* TypeBlock --
|
||||
* Information about an attribute.
|
||||
* Information about an attribute.
|
||||
* ----------------
|
||||
*/
|
||||
#define NameLength 16
|
||||
|
||||
typedef struct TypeBlock {
|
||||
char name[NAMEDATALEN]; /* name of the attribute */
|
||||
int adtid; /* adtid of the type */
|
||||
int adtsize; /* adtsize of the type */
|
||||
} TypeBlock;
|
||||
typedef struct TypeBlock
|
||||
{
|
||||
char name[NAMEDATALEN]; /* name of the attribute */
|
||||
int adtid; /* adtid of the type */
|
||||
int adtsize; /* adtsize of the type */
|
||||
} TypeBlock;
|
||||
|
||||
/* ----------------
|
||||
* TupleBlock --
|
||||
* Data of a tuple.
|
||||
* Data of a tuple.
|
||||
* ----------------
|
||||
*/
|
||||
#define TupleBlockSize 100
|
||||
|
||||
typedef struct TupleBlock {
|
||||
char **values[TupleBlockSize]; /* an array of tuples */
|
||||
int *lengths[TupleBlockSize]; /* an array of length vec. foreach
|
||||
tuple */
|
||||
struct TupleBlock *next; /* next tuple block */
|
||||
int tuple_index; /* current tuple index */
|
||||
} TupleBlock;
|
||||
typedef struct TupleBlock
|
||||
{
|
||||
char **values[TupleBlockSize]; /* an array of tuples */
|
||||
int *lengths[TupleBlockSize]; /* an array of length vec.
|
||||
* foreach tuple */
|
||||
struct TupleBlock *next; /* next tuple block */
|
||||
int tuple_index;/* current tuple index */
|
||||
} TupleBlock;
|
||||
|
||||
/* ----------------
|
||||
* GroupBuffer --
|
||||
* A group of tuples with the same attributes.
|
||||
* A group of tuples with the same attributes.
|
||||
* ----------------
|
||||
*/
|
||||
typedef struct GroupBuffer {
|
||||
int no_tuples; /* number of tuples in this group */
|
||||
int no_fields; /* number of attributes */
|
||||
TypeBlock *types; /* types of the attributes */
|
||||
TupleBlock *tuples; /* tuples in this group */
|
||||
struct GroupBuffer *next; /* next group */
|
||||
} GroupBuffer;
|
||||
typedef struct GroupBuffer
|
||||
{
|
||||
int no_tuples; /* number of tuples in this group */
|
||||
int no_fields; /* number of attributes */
|
||||
TypeBlock *types; /* types of the attributes */
|
||||
TupleBlock *tuples; /* tuples in this group */
|
||||
struct GroupBuffer *next; /* next group */
|
||||
} GroupBuffer;
|
||||
|
||||
/* ----------------
|
||||
* PortalBuffer --
|
||||
* Data structure of a portal buffer.
|
||||
* Data structure of a portal buffer.
|
||||
* ----------------
|
||||
*/
|
||||
typedef struct PortalBuffer {
|
||||
int rule_p; /* 1 if this is an asynchronized portal. */
|
||||
int no_tuples; /* number of tuples in this portal buffer */
|
||||
int no_groups; /* number of tuple groups */
|
||||
GroupBuffer *groups; /* linked list of tuple groups */
|
||||
} PortalBuffer;
|
||||
typedef struct PortalBuffer
|
||||
{
|
||||
int rule_p; /* 1 if this is an asynchronized portal. */
|
||||
int no_tuples; /* number of tuples in this portal buffer */
|
||||
int no_groups; /* number of tuple groups */
|
||||
GroupBuffer *groups; /* linked list of tuple groups */
|
||||
} PortalBuffer;
|
||||
|
||||
/* ----------------
|
||||
* PortalEntry --
|
||||
* an entry in the global portal table
|
||||
* an entry in the global portal table
|
||||
*
|
||||
* Note: the portalcxt is only meaningful for PQcalls made from
|
||||
* within a postgres backend. frontend apps should ignore it.
|
||||
* within a postgres backend. frontend apps should ignore it.
|
||||
* ----------------
|
||||
*/
|
||||
#define PortalNameLength 32
|
||||
|
||||
typedef struct PortalEntry {
|
||||
char name[PortalNameLength]; /* name of this portal */
|
||||
PortalBuffer *portal; /* tuples contained in this portal */
|
||||
Pointer portalcxt; /* memory context (for backend) */
|
||||
Pointer result; /* result for PQexec */
|
||||
} PortalEntry;
|
||||
typedef struct PortalEntry
|
||||
{
|
||||
char name[PortalNameLength]; /* name of this portal */
|
||||
PortalBuffer *portal; /* tuples contained in this portal */
|
||||
Pointer portalcxt; /* memory context (for backend) */
|
||||
Pointer result; /* result for PQexec */
|
||||
} PortalEntry;
|
||||
|
||||
#define PORTALS_INITIAL_SIZE 32
|
||||
#define PORTALS_GROW_BY 32
|
||||
#define PORTALS_GROW_BY 32
|
||||
|
||||
/* in portalbuf.c */
|
||||
extern PortalEntry** portals;
|
||||
extern size_t portals_array_size;
|
||||
extern PortalEntry **portals;
|
||||
extern size_t portals_array_size;
|
||||
|
||||
/*
|
||||
* Asynchronous notification
|
||||
* Asynchronous notification
|
||||
*/
|
||||
typedef struct PQNotifyList {
|
||||
char relname[NAMEDATALEN]; /* name of relation containing data */
|
||||
int be_pid; /* process id of backend */
|
||||
int valid; /* has this already been handled by user. */
|
||||
/* SLNode Node; */
|
||||
} PQNotifyList;
|
||||
typedef struct PQNotifyList
|
||||
{
|
||||
char relname[NAMEDATALEN]; /* name of relation
|
||||
* containing data */
|
||||
int be_pid; /* process id of backend */
|
||||
int valid; /* has this already been handled by user. */
|
||||
/* SLNode Node; */
|
||||
} PQNotifyList;
|
||||
|
||||
/*
|
||||
* Exceptions.
|
||||
*/
|
||||
|
||||
#define libpq_raise(X, Y) ExcRaise((Exception *)(X), (ExcDetail) (Y),\
|
||||
(ExcData)0, (ExcMessage) 0)
|
||||
(ExcData)0, (ExcMessage) 0)
|
||||
|
||||
/* in portal.c */
|
||||
extern Exception MemoryError, PortalError, PostquelError, ProtocolError;
|
||||
extern Exception MemoryError,
|
||||
PortalError,
|
||||
PostquelError,
|
||||
ProtocolError;
|
||||
|
||||
/*
|
||||
* POSTGRES backend dependent Constants.
|
||||
/*
|
||||
* POSTGRES backend dependent Constants.
|
||||
*/
|
||||
|
||||
/* ERROR_MSG_LENGTH should really be the same as ELOG_MAXLEN in utils/elog.h*/
|
||||
@@ -142,107 +154,111 @@ extern Exception MemoryError, PortalError, PostquelError, ProtocolError;
|
||||
#define COMMAND_LENGTH 20
|
||||
#define REMARK_LENGTH 80
|
||||
|
||||
extern char PQerrormsg[ERROR_MSG_LENGTH]; /* in portal.c */
|
||||
extern char PQerrormsg[ERROR_MSG_LENGTH]; /* in portal.c */
|
||||
|
||||
/*
|
||||
* External functions.
|
||||
*/
|
||||
|
||||
/*
|
||||
* prototypes for functions in portal.c
|
||||
/*
|
||||
* prototypes for functions in portal.c
|
||||
*/
|
||||
extern void pqdebug(char *target, char *msg);
|
||||
extern void pqdebug2(char *target, char *msg1, char *msg2);
|
||||
extern void PQtrace(void);
|
||||
extern void PQuntrace(void);
|
||||
extern int PQnportals(int rule_p);
|
||||
extern void PQpnames(char **pnames, int rule_p);
|
||||
extern void pqdebug(char *target, char *msg);
|
||||
extern void pqdebug2(char *target, char *msg1, char *msg2);
|
||||
extern void PQtrace(void);
|
||||
extern void PQuntrace(void);
|
||||
extern int PQnportals(int rule_p);
|
||||
extern void PQpnames(char **pnames, int rule_p);
|
||||
extern PortalBuffer *PQparray(char *pname);
|
||||
extern int PQrulep(PortalBuffer *portal);
|
||||
extern int PQntuples(PortalBuffer *portal);
|
||||
extern int PQninstances(PortalBuffer *portal);
|
||||
extern int PQngroups(PortalBuffer *portal);
|
||||
extern int PQntuplesGroup(PortalBuffer *portal, int group_index);
|
||||
extern int PQninstancesGroup(PortalBuffer *portal, int group_index);
|
||||
extern int PQnfieldsGroup(PortalBuffer *portal, int group_index);
|
||||
extern int PQfnumberGroup(PortalBuffer *portal, int group_index, char *field_name);
|
||||
extern char *PQfnameGroup(PortalBuffer *portal, int group_index, int field_number);
|
||||
extern int PQftypeGroup(PortalBuffer *portal, int group_index,
|
||||
int field_number);
|
||||
extern int PQfsizeGroup(PortalBuffer *portal, int group_index,
|
||||
int field_number);
|
||||
extern GroupBuffer *PQgroup(PortalBuffer *portal, int tuple_index);
|
||||
extern int PQgetgroup(PortalBuffer *portal, int tuple_index);
|
||||
extern int PQnfields(PortalBuffer *portal, int tuple_index);
|
||||
extern int PQfnumber(PortalBuffer *portal, int tuple_index, char *field_name);
|
||||
extern char *PQfname(PortalBuffer *portal, int tuple_index, int field_number);
|
||||
extern int PQftype(PortalBuffer *portal, int tuple_index, int field_number);
|
||||
extern int PQfsize(PortalBuffer *portal, int tuple_index, int field_number);
|
||||
extern int PQsametype(PortalBuffer *portal, int tuple_index1, int tuple_index2);
|
||||
extern char *PQgetvalue(PortalBuffer *portal, int tuple_index, int field_number);
|
||||
extern char *PQgetAttr(PortalBuffer *portal, int tuple_index, int field_number);
|
||||
extern int PQgetlength(PortalBuffer *portal, int tuple_index, int field_number);
|
||||
extern void PQclear(char *pname);
|
||||
extern void PQcleanNotify(void);
|
||||
extern void PQnotifies_init(void);
|
||||
extern int PQrulep(PortalBuffer * portal);
|
||||
extern int PQntuples(PortalBuffer * portal);
|
||||
extern int PQninstances(PortalBuffer * portal);
|
||||
extern int PQngroups(PortalBuffer * portal);
|
||||
extern int PQntuplesGroup(PortalBuffer * portal, int group_index);
|
||||
extern int PQninstancesGroup(PortalBuffer * portal, int group_index);
|
||||
extern int PQnfieldsGroup(PortalBuffer * portal, int group_index);
|
||||
extern int PQfnumberGroup(PortalBuffer * portal, int group_index, char *field_name);
|
||||
extern char *PQfnameGroup(PortalBuffer * portal, int group_index, int field_number);
|
||||
extern int
|
||||
PQftypeGroup(PortalBuffer * portal, int group_index,
|
||||
int field_number);
|
||||
extern int
|
||||
PQfsizeGroup(PortalBuffer * portal, int group_index,
|
||||
int field_number);
|
||||
extern GroupBuffer *PQgroup(PortalBuffer * portal, int tuple_index);
|
||||
extern int PQgetgroup(PortalBuffer * portal, int tuple_index);
|
||||
extern int PQnfields(PortalBuffer * portal, int tuple_index);
|
||||
extern int PQfnumber(PortalBuffer * portal, int tuple_index, char *field_name);
|
||||
extern char *PQfname(PortalBuffer * portal, int tuple_index, int field_number);
|
||||
extern int PQftype(PortalBuffer * portal, int tuple_index, int field_number);
|
||||
extern int PQfsize(PortalBuffer * portal, int tuple_index, int field_number);
|
||||
extern int PQsametype(PortalBuffer * portal, int tuple_index1, int tuple_index2);
|
||||
extern char *PQgetvalue(PortalBuffer * portal, int tuple_index, int field_number);
|
||||
extern char *PQgetAttr(PortalBuffer * portal, int tuple_index, int field_number);
|
||||
extern int PQgetlength(PortalBuffer * portal, int tuple_index, int field_number);
|
||||
extern void PQclear(char *pname);
|
||||
extern void PQcleanNotify(void);
|
||||
extern void PQnotifies_init(void);
|
||||
extern PQNotifyList *PQnotifies(void);
|
||||
extern void PQremoveNotify(PQNotifyList *nPtr);
|
||||
extern void PQappendNotify(char *relname, int pid);
|
||||
/*
|
||||
* prototypes for functions in portalbuf.c
|
||||
extern void PQremoveNotify(PQNotifyList * nPtr);
|
||||
extern void PQappendNotify(char *relname, int pid);
|
||||
|
||||
/*
|
||||
* prototypes for functions in portalbuf.c
|
||||
*/
|
||||
extern caddr_t pbuf_alloc(size_t size);
|
||||
extern void pbuf_free(caddr_t pointer);
|
||||
extern caddr_t pbuf_alloc(size_t size);
|
||||
extern void pbuf_free(caddr_t pointer);
|
||||
extern PortalBuffer *pbuf_addPortal(void);
|
||||
extern GroupBuffer *pbuf_addGroup(PortalBuffer *portal);
|
||||
extern GroupBuffer *pbuf_addGroup(PortalBuffer * portal);
|
||||
extern TypeBlock *pbuf_addTypes(int n);
|
||||
extern TupleBlock *pbuf_addTuples(void);
|
||||
extern char **pbuf_addTuple(int n);
|
||||
extern int *pbuf_addTupleValueLengths(int n);
|
||||
extern char *pbuf_addValues(int n);
|
||||
extern char **pbuf_addTuple(int n);
|
||||
extern int *pbuf_addTupleValueLengths(int n);
|
||||
extern char *pbuf_addValues(int n);
|
||||
extern PortalEntry *pbuf_addEntry(void);
|
||||
extern void pbuf_freeEntry(int i);
|
||||
extern void pbuf_freeTypes(TypeBlock *types);
|
||||
extern void pbuf_freeTuples(TupleBlock *tuples, int no_tuples, int no_fields);
|
||||
extern void pbuf_freeGroup(GroupBuffer *group);
|
||||
extern void pbuf_freePortal(PortalBuffer *portal);
|
||||
extern int pbuf_getIndex(char *pname);
|
||||
extern void pbuf_setportalinfo(PortalEntry *entry, char *pname);
|
||||
extern void pbuf_freeEntry(int i);
|
||||
extern void pbuf_freeTypes(TypeBlock * types);
|
||||
extern void pbuf_freeTuples(TupleBlock * tuples, int no_tuples, int no_fields);
|
||||
extern void pbuf_freeGroup(GroupBuffer * group);
|
||||
extern void pbuf_freePortal(PortalBuffer * portal);
|
||||
extern int pbuf_getIndex(char *pname);
|
||||
extern void pbuf_setportalinfo(PortalEntry * entry, char *pname);
|
||||
extern PortalEntry *pbuf_setup(char *pname);
|
||||
extern void pbuf_close(char *pname);
|
||||
extern GroupBuffer *pbuf_findGroup(PortalBuffer *portal, int group_index);
|
||||
extern int pbuf_findFnumber(GroupBuffer *group, char *field_name);
|
||||
extern void pbuf_checkFnumber(GroupBuffer *group, int field_number);
|
||||
extern char *pbuf_findFname(GroupBuffer *group, int field_number);
|
||||
extern void pbuf_close(char *pname);
|
||||
extern GroupBuffer *pbuf_findGroup(PortalBuffer * portal, int group_index);
|
||||
extern int pbuf_findFnumber(GroupBuffer * group, char *field_name);
|
||||
extern void pbuf_checkFnumber(GroupBuffer * group, int field_number);
|
||||
extern char *pbuf_findFname(GroupBuffer * group, int field_number);
|
||||
|
||||
/*
|
||||
* prototypes for functions in pqcomm.c
|
||||
/*
|
||||
* prototypes for functions in pqcomm.c
|
||||
*/
|
||||
extern void pq_init(int fd);
|
||||
extern void pq_gettty(char *tp);
|
||||
extern int pq_getport(void);
|
||||
extern void pq_close(void);
|
||||
extern void pq_flush(void);
|
||||
extern int pq_getstr(char *s, int maxlen);
|
||||
extern int PQgetline(char *s, int maxlen);
|
||||
extern int PQputline(char *s);
|
||||
extern int pq_getnchar(char *s, int off, int maxlen);
|
||||
extern int pq_getint(int b);
|
||||
extern void pq_putstr(char *s);
|
||||
extern void pq_putnchar(char *s, int n);
|
||||
extern void pq_putint(int i, int b);
|
||||
extern int pq_sendoob(char *msg, int len);
|
||||
extern int pq_recvoob(char *msgPtr, int *lenPtr);
|
||||
extern int pq_getinaddr(struct sockaddr_in *sin, char *host, int port);
|
||||
extern int pq_getinserv(struct sockaddr_in *sin, char *host, char *serv);
|
||||
extern int pq_connect(char *dbname, char *user, char *args, char *hostName,
|
||||
char *debugTty, char *execFile, short portName);
|
||||
extern int StreamOpen(char *hostName, short portName, Port *port);
|
||||
extern void pq_regoob(void (*fptr)());
|
||||
extern void pq_unregoob(void);
|
||||
extern void pq_async_notify(void);
|
||||
extern int StreamServerPort(char *hostName, short portName, int *fdP);
|
||||
extern int StreamConnection(int server_fd, Port *port);
|
||||
extern void StreamClose(int sock);
|
||||
extern void pq_init(int fd);
|
||||
extern void pq_gettty(char *tp);
|
||||
extern int pq_getport(void);
|
||||
extern void pq_close(void);
|
||||
extern void pq_flush(void);
|
||||
extern int pq_getstr(char *s, int maxlen);
|
||||
extern int PQgetline(char *s, int maxlen);
|
||||
extern int PQputline(char *s);
|
||||
extern int pq_getnchar(char *s, int off, int maxlen);
|
||||
extern int pq_getint(int b);
|
||||
extern void pq_putstr(char *s);
|
||||
extern void pq_putnchar(char *s, int n);
|
||||
extern void pq_putint(int i, int b);
|
||||
extern int pq_sendoob(char *msg, int len);
|
||||
extern int pq_recvoob(char *msgPtr, int *lenPtr);
|
||||
extern int pq_getinaddr(struct sockaddr_in * sin, char *host, int port);
|
||||
extern int pq_getinserv(struct sockaddr_in * sin, char *host, char *serv);
|
||||
extern int
|
||||
pq_connect(char *dbname, char *user, char *args, char *hostName,
|
||||
char *debugTty, char *execFile, short portName);
|
||||
extern int StreamOpen(char *hostName, short portName, Port * port);
|
||||
extern void pq_regoob(void (*fptr) ());
|
||||
extern void pq_unregoob(void);
|
||||
extern void pq_async_notify(void);
|
||||
extern int StreamServerPort(char *hostName, short portName, int *fdP);
|
||||
extern int StreamConnection(int server_fd, Port * port);
|
||||
extern void StreamClose(int sock);
|
||||
|
||||
#endif /* LIBPQ_H */
|
||||
#endif /* LIBPQ_H */
|
||||
|
||||
Reference in New Issue
Block a user