driver-pgsql.c revision 87b8a4b6805d0b13af6a417dc70bdc74027bf1d3
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi/* Copyright (c) 2004-2012 Dovecot authors, see the included COPYING file */
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi unsigned char *value;
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi const char **fields;
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi const char **values;
57da8c32f85c0255efa61ee32e260068afdaa565KATOH Yasufumi ARRAY_DEFINE(binary_values, struct pgsql_binary_value);
const char *msg;
int ret;
switch (ret) {
case PGRES_POLLING_READING:
case PGRES_POLLING_WRITING:
case PGRES_POLLING_OK:
case PGRES_POLLING_FAILED:
if (io_dir != 0) {
if (io_dir == 0) {
T_BEGIN {
} T_END;
bool success;
if (success) {
T_BEGIN {
} T_END;
if (free_result)
int ret;
if (ret > 0) {
if (ret < 0) {
int ret;
if (ret > 0) {
char *to;
#ifdef HAVE_PQESCAPE_STRING_CONN
return to;
bool add_to_connect;
if (add_to_connect) {
static struct sql_result *
case SQL_DB_STATE_CONNECTING:
case SQL_DB_STATE_BUSY:
i_unreached();
return &sql_not_connected_result;
case SQL_DB_STATE_IDLE:
return result;
static struct sql_result *
return result;
case PGRES_COMMAND_OK:
case PGRES_TUPLES_OK:
case PGRES_EMPTY_QUERY:
case PGRES_NONFATAL_ERROR:
const char *field_name)
unsigned int idx)
return NULL;
const char *value;
*size_r = 0;
return NULL;
const char *field_name)
int idx;
if (idx < 0)
return NULL;
const char *msg;
static struct sql_transaction_context *
static struct sql_result *
return NULL;
const char **error_r)
const char **error_r)
unsigned int *affected_rows)
void driver_pgsql_init(void);
void driver_pgsql_deinit(void);
void driver_pgsql_init(void)
void driver_pgsql_deinit(void)