37#define LIBPQ_HAS_PIPELINING 1
39#define LIBPQ_HAS_TRACE_FLAGS 1
43#define LIBPQ_HAS_SSL_LIBRARY_DETECTION 1
47#define LIBPQ_HAS_ASYNC_CANCEL 1
49#define LIBPQ_HAS_CHANGE_PASSWORD 1
51#define LIBPQ_HAS_CHUNK_MODE 1
53#define LIBPQ_HAS_CLOSE_PREPARED 1
55#define LIBPQ_HAS_SEND_PIPELINE_SYNC 1
57#define LIBPQ_HAS_SOCKET_POLL 1
61#define LIBPQ_HAS_FULL_PROTOCOL_VERSION 1
66#define PG_COPYRES_ATTRS 0x01
67#define PG_COPYRES_TUPLES 0x02
68#define PG_COPYRES_EVENTS 0x04
69#define PG_COPYRES_NOTICEHOOKS 0x08
317 const char *
const *
values,
int expand_dbname);
323 const char *
const *
values,
int expand_dbname);
325 const char *pgoptions,
const char *pgtty,
327 const char *login,
const char *pwd);
329#define PQsetdb(M_PGHOST,M_PGPORT,M_PGOPT,M_PGTTY,M_DBNAME) \
330 PQsetdbLogin(M_PGHOST, M_PGPORT, M_PGOPT, M_PGTTY, M_DBNAME, NULL, NULL)
401 const char *paramName);
469#define PQTRACE_SUPPRESS_TIMESTAMPS (1<<0)
471#define PQTRACE_REGRESS_MODE (1<<1)
481 const Oid *paramTypes,
482 const char *
const *paramValues,
483 const int *paramLengths,
484 const int *paramFormats,
487 const char *query,
int nParams,
488 const Oid *paramTypes);
490 const char *stmtName,
492 const char *
const *paramValues,
493 const int *paramLengths,
494 const int *paramFormats,
498#define PQ_QUERY_PARAM_MAX_LIMIT 65535
504 const Oid *paramTypes,
505 const char *
const *paramValues,
506 const int *paramLengths,
507 const int *paramFormats,
510 const char *query,
int nParams,
511 const Oid *paramTypes);
513 const char *stmtName,
515 const char *
const *paramValues,
516 const int *paramLengths,
517 const int *paramFormats,
555 const char *
const *
values,
int expand_dbname);
620#define PQfreeNotify(ptr) PQfreemem(ptr)
624#define PQnoPasswordSupplied "fe_sendauth: no password supplied\n"
636 char *to,
const char *from,
size_t length,
641 const unsigned char *from,
size_t from_length,
647extern size_t PQescapeString(
char *to,
const char *from,
size_t length);
648extern unsigned char *
PQescapeBytea(
const unsigned char *from,
size_t from_length,
665 const char *fieldSep,
703extern int PQsocketPoll(
int sock,
int forRead,
int forWrite,
static Datum values[MAXATTR]
static PGcancel *volatile cancelConn
static void PGresult * res
int errmsg(const char *fmt,...)
static const JsonPathKeyword keywords[]
@ CONNECTION_AUTHENTICATING
@ CONNECTION_CHECK_STANDBY
@ CONNECTION_AWAITING_RESPONSE
@ CONNECTION_CHECK_WRITABLE
@ CONNECTION_CHECK_TARGET
int PQserverVersion(const PGconn *conn)
char * PQencryptPasswordConn(PGconn *conn, const char *passwd, const char *user, const char *algorithm)
int PQprotocolVersion(const PGconn *conn)
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)
int PQsetSingleRowMode(PGconn *conn)
char * PQoptions(const PGconn *conn)
int PQbinaryTuples(const PGresult *res)
int PQflush(PGconn *conn)
PGresult * PQcopyResult(const PGresult *src, int flags)
void PQfreemem(void *ptr)
void PQdisplayTuples(const PGresult *res, FILE *fp, int fillAlign, const char *fieldSep, int printHeader, int quiet)
int PQgetline(PGconn *conn, char *buffer, int length)
char * PQdb(const PGconn *conn)
void PQinitSSL(int do_init)
Oid PQftype(const PGresult *res, int field_num)
PGresult * PQchangePassword(PGconn *conn, const char *user, const char *passwd)
void(* pgthreadlock_t)(int acquire)
int lo_tell(PGconn *conn, int fd)
void * PQgetssl(PGconn *conn)
char * PQresultVerboseErrorMessage(const PGresult *res, PGVerbosity verbosity, PGContextVisibility show_context)
PGresult * PQdescribePrepared(PGconn *conn, const char *stmt)
PGresult * PQexecParams(PGconn *conn, const char *command, int nParams, const Oid *paramTypes, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
int PQexitPipelineMode(PGconn *conn)
PGresult * PQexecPrepared(PGconn *conn, const char *stmtName, int nParams, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
int PQsendClosePortal(PGconn *conn, const char *portal)
PGcancel * PQgetCancel(PGconn *conn)
int PQsetResultAttrs(PGresult *res, int numAttributes, PGresAttDesc *attDescs)
void PQcancelReset(PGcancelConn *cancelConn)
int lo_close(PGconn *conn, int fd)
struct _PQconninfoOption PQconninfoOption
unsigned char * PQunescapeBytea(const unsigned char *strtext, size_t *retbuflen)
pg_int64 lo_tell64(PGconn *conn, int fd)
const char * pg_encoding_to_char(int encoding)
PQsslKeyPassHook_OpenSSL_type PQgetSSLKeyPassHook_OpenSSL(void)
void * PQsslStruct(PGconn *conn, const char *struct_name)
int PQfullProtocolVersion(const PGconn *conn)
void PQreset(PGconn *conn)
int PQenterPipelineMode(PGconn *conn)
int PQsocketPoll(int sock, int forRead, int forWrite, pg_usec_time_t end_time)
size_t PQescapeStringConn(PGconn *conn, char *to, const char *from, size_t length, int *error)
void PQtrace(PGconn *conn, FILE *debug_port)
char * PQport(const PGconn *conn)
PGresult * PQclosePrepared(PGconn *conn, const char *stmt)
PGTransactionStatusType PQtransactionStatus(const PGconn *conn)
PGcancelConn * PQcancelCreate(PGconn *conn)
char * PQgetvalue(const PGresult *res, int tup_num, int field_num)
void * PQgetgssctx(PGconn *conn)
PGresult * PQclosePortal(PGconn *conn, const char *portal)
PGresult * PQgetResult(PGconn *conn)
ExecStatusType PQresultStatus(const PGresult *res)
Oid PQparamtype(const PGresult *res, int param_num)
PGconn * PQconnectdb(const char *conninfo)
char * PQhost(const PGconn *conn)
int PQnparams(const PGresult *res)
int PQdefaultSSLKeyPassHook_OpenSSL(char *buf, int size, PGconn *conn)
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 * PQservice(const PGconn *conn)
char * PQcmdTuples(PGresult *res)
struct _PQprintOpt PQprintOpt
int PQconnectionUsedPassword(const PGconn *conn)
PQconninfoOption * PQconninfo(PGconn *conn)
int PQfformat(const PGresult *res, int field_num)
void(* PQnoticeReceiver)(void *arg, const PGresult *res)
void(* PQnoticeProcessor)(void *arg, const char *message)
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 PQsendPipelineSync(PGconn *conn)
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
char * PQtty(const PGconn *conn)
int PQputCopyData(PGconn *conn, const char *buffer, int nbytes)
PQconninfoOption * PQconninfoParse(const char *conninfo, char **errmsg)
const char * PQparameterStatus(const PGconn *conn, const char *paramName)
PGresult * PQmakeEmptyPGresult(PGconn *conn, ExecStatusType status)
ConnStatusType PQcancelStatus(const PGcancelConn *cancelConn)
PGresult * PQprepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes)
int lo_write(PGconn *conn, int fd, const char *buf, size_t len)
int PQconnectionNeedsPassword(const PGconn *conn)
char * PQresultErrorMessage(const PGresult *res)
char * PQencryptPassword(const char *passwd, const char *user)
char * PQpass(const PGconn *conn)
void PQinitOpenSSL(int do_ssl, int do_crypto)
int PQcancelBlocking(PGcancelConn *cancelConn)
int lo_truncate(PGconn *conn, int fd, size_t len)
int PQsendDescribePrepared(PGconn *conn, const char *stmt)
char * PQfname(const PGresult *res, int field_num)
Oid lo_create(PGconn *conn, Oid lobjId)
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)
int PQcancel(PGcancel *cancel, char *errbuf, int errbufsize)
ConnStatusType PQstatus(const PGconn *conn)
PGconn * PQconnectStart(const char *conninfo)
Oid PQftable(const PGresult *res, int field_num)
int PQfnumber(const PGresult *res, const char *field_name)
unsigned char * PQescapeBytea(const unsigned char *from, size_t from_length, size_t *to_length)
int PQsetnonblocking(PGconn *conn, int arg)
int PQclientEncoding(const PGconn *conn)
PGconn * PQconnectStartParams(const char *const *keywords, const char *const *values, int expand_dbname)
char * PQescapeLiteral(PGconn *conn, const char *str, size_t len)
void PQfinish(PGconn *conn)
PGresult * PQfn(PGconn *conn, int fnid, int *result_buf, int *result_len, int result_is_int, const PQArgBlock *args, int nargs)
PGPing PQping(const char *conninfo)
int PQsendPrepare(PGconn *conn, const char *stmtName, const char *query, int nParams, const Oid *paramTypes)
PGresult * PQdescribePortal(PGconn *conn, const char *portal)
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)
int PQftablecol(const PGresult *res, int field_num)
int PQsetChunkedRowsMode(PGconn *conn, int chunkSize)
const char * PQsslAttribute(PGconn *conn, const char *attribute_name)
char * PQresultErrorField(const PGresult *res, int fieldcode)
int PQsetvalue(PGresult *res, int tup_num, int field_num, char *value, int len)
int PQsendQuery(PGconn *conn, const char *query)
char * PQcmdStatus(PGresult *res)
int PQpipelineSync(PGconn *conn)
PostgresPollingStatusType PQcancelPoll(PGcancelConn *cancelConn)
char * PQoidStatus(const PGresult *res)
PQnoticeReceiver PQsetNoticeReceiver(PGconn *conn, PQnoticeReceiver proc, void *arg)
int PQsendDescribePortal(PGconn *conn, const char *portal)
void PQcancelFinish(PGcancelConn *cancelConn)
PGconn * PQsetdbLogin(const char *pghost, const char *pgport, const char *pgoptions, const char *pgtty, const char *dbName, const char *login, const char *pwd)
void PQsetTraceFlags(PGconn *conn, int flags)
char * PQhostaddr(const PGconn *conn)
char * PQresStatus(ExecStatusType status)
size_t PQresultMemorySize(const PGresult *res)
int PQbackendPID(const PGconn *conn)
void * PQresultAlloc(PGresult *res, size_t nBytes)
PQconninfoOption * PQconndefaults(void)
int PQisBusy(PGconn *conn)
PGresult * PQexec(PGconn *conn, const char *query)
pg_usec_time_t PQgetCurrentTimeUSec(void)
unsigned char * PQescapeByteaConn(PGconn *conn, const unsigned char *from, size_t from_length, size_t *to_length)
int PQsendQueryPrepared(PGconn *conn, const char *stmtName, int nParams, const char *const *paramValues, const int *paramLengths, const int *paramFormats, int resultFormat)
char * PQescapeIdentifier(PGconn *conn, const char *str, size_t len)
int PQsendFlushRequest(PGconn *conn)
int PQrequestCancel(PGconn *conn)
void PQfreeCancel(PGcancel *cancel)
char * PQuser(const PGconn *conn)
int PQcancelSocket(const PGcancelConn *cancelConn)
PGpipelineStatus PQpipelineStatus(const PGconn *conn)
int lo_unlink(PGconn *conn, Oid lobjId)
int PQisnonblocking(const PGconn *conn)
void PQuntrace(PGconn *conn)
PGVerbosity PQsetErrorVerbosity(PGconn *conn, PGVerbosity verbosity)
PQnoticeProcessor PQsetNoticeProcessor(PGconn *conn, PQnoticeProcessor proc, void *arg)
char * PQcancelErrorMessage(const PGcancelConn *cancelConn)
Oid lo_import(PGconn *conn, const char *filename)
Oid PQoidValue(const PGresult *res)
int PQmblenBounded(const char *s, int encoding)
int lo_export(PGconn *conn, Oid lobjId, const char *filename)
const char *const * PQsslAttributeNames(PGconn *conn)
int PQcancelStart(PGcancelConn *cancelConn)
int PQnfields(const PGresult *res)
char * PQerrorMessage(const PGconn *conn)
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)
int PQfsize(const PGresult *res, int field_num)
PGnotify * PQnotifies(PGconn *conn)
int lo_truncate64(PGconn *conn, int fd, pg_int64 len)
int PQsetClientEncoding(PGconn *conn, const char *encoding)
PGconn * PQconnectdbParams(const char *const *keywords, const char *const *values, int expand_dbname)
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 const char * pghost
static const char * pgport
static const char * dbName
static int fd(const char *x, int i)
static pg_noinline void Size size