36 #define LIBPQ_HAS_PIPELINING 1
38 #define LIBPQ_HAS_TRACE_FLAGS 1
40 #define LIBPQ_HAS_SSL_LIBRARY_DETECTION 1
45 #define PG_COPYRES_ATTRS 0x01
46 #define PG_COPYRES_TUPLES 0x02
47 #define PG_COPYRES_EVENTS 0x04
48 #define PG_COPYRES_NOTICEHOOKS 0x08
283 const char *
const *
values,
int expand_dbname);
289 const char *
const *
values,
int expand_dbname);
291 const char *pgoptions,
const char *pgtty,
293 const char *login,
const char *pwd);
295 #define PQsetdb(M_PGHOST,M_PGPORT,M_PGOPT,M_PGTTY,M_DBNAME) \
296 PQsetdbLogin(M_PGHOST, M_PGPORT, M_PGOPT, M_PGTTY, M_DBNAME, NULL, NULL)
348 const char *paramName);
415 #define PQTRACE_SUPPRESS_TIMESTAMPS (1<<0)
417 #define PQTRACE_REGRESS_MODE (1<<1)
427 const Oid *paramTypes,
428 const char *
const *paramValues,
429 const int *paramLengths,
430 const int *paramFormats,
433 const char *query,
int nParams,
434 const Oid *paramTypes);
436 const char *stmtName,
438 const char *
const *paramValues,
439 const int *paramLengths,
440 const int *paramFormats,
444 #define PQ_QUERY_PARAM_MAX_LIMIT 65535
450 const Oid *paramTypes,
451 const char *
const *paramValues,
452 const int *paramLengths,
453 const int *paramFormats,
456 const char *query,
int nParams,
457 const Oid *paramTypes);
459 const char *stmtName,
461 const char *
const *paramValues,
462 const int *paramLengths,
463 const int *paramFormats,
499 const char *
const *
values,
int expand_dbname);
564 #define PQfreeNotify(ptr) PQfreemem(ptr)
568 #define PQnoPasswordSupplied "fe_sendauth: no password supplied\n"
580 char *to,
const char *from,
size_t length,
585 const unsigned char *from,
size_t from_length,
591 extern size_t PQescapeString(
char *to,
const char *from,
size_t length);
592 extern unsigned char *
PQescapeBytea(
const unsigned char *from,
size_t from_length,
599 extern void PQprint(FILE *fout,
609 const char *fieldSep,
static Datum values[MAXATTR]
static void PGresult * res
int errmsg(const char *fmt,...)
@ CONNECTION_CHECK_STANDBY
@ CONNECTION_AWAITING_RESPONSE
@ CONNECTION_CHECK_WRITABLE
@ CONNECTION_CHECK_TARGET
const char * PQparameterStatus(const PGconn *conn, const char *paramName)
int PQserverVersion(const PGconn *conn)
int PQprotocolVersion(const PGconn *conn)
PQconninfoOption * PQconninfoParse(const char *conninfo, char **errmsg)
unsigned char * PQescapeBytea(const unsigned char *from, size_t from_length, size_t *to_length)
PGresult * PQfn(PGconn *conn, int fnid, int *result_buf, int *result_len, int result_is_int, const PQArgBlock *args, int nargs)
int PQresetStart(PGconn *conn)
int PQsendQueryParams(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
int PQgetlength(const PGresult *res, int tup_num, int field_num)
PGcancel * PQgetCancel(PGconn *conn)
int PQsetSingleRowMode(PGconn *conn)
int PQbinaryTuples(const PGresult *res)
int PQflush(PGconn *conn)
void PQfreemem(void *ptr)
PGconn * PQconnectStartParams(const char *const *keywords, const char *const *values, int expand_dbname)
void PQdisplayTuples(const PGresult *res, FILE *fp, int fillAlign, const char *fieldSep, int printHeader, int quiet)
PGnotify * PQnotifies(PGconn *conn)
PGresult * PQprepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes)
int PQgetline(PGconn *conn, char *buffer, int length)
unsigned char * PQunescapeBytea(const unsigned char *strtext, size_t *retbuflen)
void PQinitSSL(int do_init)
Oid PQftype(const PGresult *res, int field_num)
void(* pgthreadlock_t)(int acquire)
int lo_tell(PGconn *conn, int fd)
int PQexitPipelineMode(PGconn *conn)
char * PQhost(const PGconn *conn)
int PQsendClosePortal(PGconn *conn, const char *portal)
int PQsetResultAttrs(PGresult *res, int numAttributes, PGresAttDesc *attDescs)
int lo_close(PGconn *conn, int fd)
struct _PQconninfoOption PQconninfoOption
pg_int64 lo_tell64(PGconn *conn, int fd)
PGconn * PQconnectStart(const char *conninfo)
PQsslKeyPassHook_OpenSSL_type PQgetSSLKeyPassHook_OpenSSL(void)
PGconn * PQconnectdbParams(const char *const *keywords, const char *const *values, int expand_dbname)
char * PQdb(const PGconn *conn)
char * PQescapeIdentifier(PGconn *conn, const char *str, size_t len)
void PQreset(PGconn *conn)
int PQenterPipelineMode(PGconn *conn)
size_t PQescapeStringConn(PGconn *conn, char *to, const char *from, size_t length, int *error)
void PQtrace(PGconn *conn, FILE *debug_port)
PGTransactionStatusType PQtransactionStatus(const PGconn *conn)
PGresult * PQexecParams(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
ExecStatusType PQresultStatus(const PGresult *res)
Oid PQparamtype(const PGresult *res, int param_num)
PGresult * PQdescribePrepared(PGconn *conn, const char *stmt)
int PQnparams(const PGresult *res)
int PQdefaultSSLKeyPassHook_OpenSSL(char *buf, int size, PGconn *conn)
char * PQencryptPassword(const char *passwd, const char *user)
int pg_char_to_encoding(const char *name)
void PQprintTuples(const PGresult *res, FILE *fout, int PrintAttNames, int TerseOutput, int colWidth)
void PQclear(PGresult *res)
int PQsendClosePrepared(PGconn *conn, const char *stmt)
char * PQcmdTuples(PGresult *res)
char * PQresultErrorMessage(const PGresult *res)
PQconninfoOption * PQconndefaults(void)
struct _PQprintOpt PQprintOpt
int PQconnectionUsedPassword(const PGconn *conn)
int PQfformat(const PGresult *res, int field_num)
void(* PQnoticeReceiver)(void *arg, const PGresult *res)
PGresult * PQclosePortal(PGconn *conn, const char *portal)
char * PQtty(const PGconn *conn)
void(* PQnoticeProcessor)(void *arg, const char *message)
char * PQhostaddr(const PGconn *conn)
int PQendcopy(PGconn *conn)
int PQgssEncInUse(PGconn *conn)
PostgresPollingStatusType PQconnectPoll(PGconn *conn)
int PQputCopyEnd(PGconn *conn, const char *errormsg)
void PQconninfoFree(PQconninfoOption *connOptions)
Oid lo_creat(PGconn *conn, int mode)
int(* PQsslKeyPassHook_OpenSSL_type)(char *buf, int size, PGconn *conn)
int lo_read(PGconn *conn, int fd, char *buf, size_t len)
int lo_lseek(PGconn *conn, int fd, int offset, int whence)
int PQntuples(const PGresult *res)
int PQputnbytes(PGconn *conn, const char *buffer, int nbytes)
void PQprint(FILE *fout, const PGresult *res, const PQprintOpt *po)
pg_int64 lo_lseek64(PGconn *conn, int fd, pg_int64 offset, int whence)
int pg_valid_server_encoding_id(int encoding)
int PQmblen(const char *s, int encoding)
int PQputline(PGconn *conn, const char *string)
int PQgetlineAsync(PGconn *conn, char *buffer, int bufsize)
int lo_open(PGconn *conn, Oid lobjId, int mode)
PostgresPollingStatusType
int PQputCopyData(PGconn *conn, const char *buffer, int nbytes)
PGresult * PQexecPrepared(PGconn *conn, const char *stmtName, int nParams, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
PQconninfoOption * PQconninfo(PGconn *conn)
int lo_write(PGconn *conn, int fd, const char *buf, size_t len)
char * PQfname(const PGresult *res, int field_num)
int PQconnectionNeedsPassword(const PGconn *conn)
void PQinitOpenSSL(int do_ssl, int do_crypto)
char * PQescapeLiteral(PGconn *conn, const char *str, size_t len)
int lo_truncate(PGconn *conn, int fd, size_t len)
PGresult * PQdescribePortal(PGconn *conn, const char *portal)
int PQsendDescribePrepared(PGconn *conn, const char *stmt)
PGresult * PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status)
Oid lo_create(PGconn *conn, Oid lobjId)
PGresult * PQexec(PGconn *conn, const char *query)
unsigned char * PQescapeByteaConn(PGconn *conn, const unsigned char *from, size_t from_length, size_t *to_length)
PostgresPollingStatusType PQresetPoll(PGconn *conn)
int PQsslInUse(PGconn *conn)
int PQconnectionUsedGSSAPI(const PGconn *conn)
size_t PQescapeString(char *to, const char *from, size_t length)
int PQconsumeInput(PGconn *conn)
char * PQerrorMessage(const PGconn *conn)
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize)
char * PQgetvalue(const PGresult *res, int tup_num, int field_num)
ConnStatusType PQstatus(const PGconn *conn)
Oid PQftable(const PGresult *res, int field_num)
int PQfnumber(const PGresult *res, const char *field_name)
char * PQcmdStatus(PGresult *res)
int PQsetnonblocking(PGconn *conn, int arg)
int PQclientEncoding(const PGconn *conn)
const char *const * PQsslAttributeNames(PGconn *conn)
PGconn * PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions, const char *pgtty, const char *dbName, const char *login, const char *pwd)
void PQfinish(PGconn *conn)
PGPing PQping(const char *conninfo)
int PQsendPrepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes)
PGconn * PQconnectdb(const char *conninfo)
int PQfmod(const PGresult *res, int field_num)
PGContextVisibility PQsetErrorContextVisibility(PGconn *conn, PGContextVisibility show_context)
int PQdsplen(const char *s, int encoding)
int PQgetisnull(const PGresult *res, int tup_num, int field_num)
char * PQuser(const PGconn *conn)
int PQftablecol(const PGresult *res, int field_num)
void * PQgetssl(PGconn *conn)
int PQsetvalue(PGresult *res, int tup_num, int field_num, char *value, int len)
void * PQsslStruct(PGconn *conn, const char *struct_name)
char * PQpass(const PGconn *conn)
int PQsendQuery(PGconn *conn, const char *query)
int PQpipelineSync(PGconn *conn)
char * PQresStatus(ExecStatusType status)
PQnoticeReceiver PQsetNoticeReceiver(PGconn *conn, PQnoticeReceiver proc, void *arg)
int PQsendDescribePortal(PGconn *conn, const char *portal)
PGresult * PQclosePrepared(PGconn *conn, const char *stmt)
void PQsetTraceFlags(PGconn *conn, int flags)
size_t PQresultMemorySize(const PGresult *res)
int PQbackendPID(const PGconn *conn)
int PQisBusy(PGconn *conn)
int PQsendQueryPrepared(PGconn *conn, const char *stmtName, int nParams, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
void * PQgetgssctx(PGconn *conn)
int PQsendFlushRequest(PGconn *conn)
int PQrequestCancel(PGconn *conn)
char * PQencryptPasswordConn(PGconn *conn, const char *passwd, const char *user, const char *algorithm)
void PQfreeCancel(PGcancel *cancel)
char * PQoidStatus(const PGresult *res)
char * PQresultErrorField(const PGresult *res, int fieldcode)
char * PQport(const PGconn *conn)
PGpipelineStatus PQpipelineStatus(const PGconn *conn)
int lo_unlink(PGconn *conn, Oid lobjId)
int PQisnonblocking(const PGconn *conn)
void PQuntrace(PGconn *conn)
PGresult * PQcopyResult(const PGresult *src, int flags)
PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity)
PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg)
void * PQresultAlloc(PGresult *res, size_t nBytes)
Oid lo_import(PGconn *conn, const char *filename)
Oid PQoidValue(const PGresult *res)
int PQmblenBounded(const char *s, int encoding)
const char * PQsslAttribute(PGconn *conn, const char *attribute_name)
const char * pg_encoding_to_char(int encoding)
int lo_export(PGconn *conn, Oid lobjId, const char *filename)
char * PQresultVerboseErrorMessage(const PGresult *res, PGVerbosity verbosity, PGContextVisibility show_context)
int PQnfields(const PGresult *res)
Oid lo_import_with_oid(PGconn *conn, const char *filename, Oid lobjId)
void PQsetSSLKeyPassHook_OpenSSL(PQsslKeyPassHook_OpenSSL_type hook)
PGPing PQpingParams(const char *const *keywords, const char *const *values, int expand_dbname)
int PQsocket(const PGconn *conn)
char * PQoptions(const PGconn *conn)
PGresult * PQgetResult(PGconn *conn)
int PQfsize(const PGresult *res, int field_num)
int lo_truncate64(PGconn *conn, int fd, pg_int64 len)
int PQsetClientEncoding(PGconn *conn, const char *encoding)
struct pgresAttDesc PGresAttDesc
pgthreadlock_t PQregisterThreadLock(pgthreadlock_t newhandler)
int PQgetCopyData(PGconn *conn, char **buffer, int async)
static PgChecksumMode mode
static void do_init(void)
static int fd(const char *x, int i)