EV-Pg
view release on metacpan or search on metacpan
REQUIRE_CONN(self);
RETVAL = (int)PQsetErrorContextVisibility(self->conn, (PGContextVisibility)visibility);
}
OUTPUT:
RETVAL
SV*
conninfo(EV::Pg self)
CODE:
{
PQconninfoOption *opts;
REQUIRE_CONN(self);
opts = PQconninfo(self->conn);
if (!opts)
croak("PQconninfo failed");
RETVAL = conninfo_opts_to_hv(opts);
}
OUTPUT:
RETVAL
int
connection_used_password(EV::Pg self)
CODE:
{
RETVAL = (NULL != self->conn) ? PQconnectionUsedPassword(self->conn) : 0;
}
OUTPUT:
RETVAL
int
connection_used_gssapi(EV::Pg self)
CODE:
{
RETVAL = (NULL != self->conn) ? PQconnectionUsedGSSAPI(self->conn) : 0;
}
OUTPUT:
RETVAL
int
connection_needs_password(EV::Pg self)
CODE:
{
RETVAL = (NULL != self->conn) ? PQconnectionNeedsPassword(self->conn) : 0;
}
OUTPUT:
RETVAL
SV*
hostaddr(EV::Pg self)
CODE:
{
RETVAL = conn_str_or_undef(self->conn ? PQhostaddr(self->conn) : NULL);
}
OUTPUT:
RETVAL
void
ssl_attribute_names(EV::Pg self)
PPCODE:
{
const char * const *names;
AV *av;
int i;
if (!self->conn) XSRETURN_UNDEF;
names = PQsslAttributeNames(self->conn);
if (!names) XSRETURN_UNDEF;
av = newAV();
for (i = 0; names[i]; i++)
av_push(av, newSVpv(names[i], 0));
PUSHs(sv_2mortal(newRV_noinc((SV*)av)));
XSRETURN(1);
}
int
protocol_version(EV::Pg self)
CODE:
{
RETVAL = self->conn ? PQprotocolVersion(self->conn) : 0;
}
OUTPUT:
RETVAL
SV*
encrypt_password(EV::Pg self, const char *password, const char *user, ...)
CODE:
{
const char *algorithm;
char *enc;
REQUIRE_CONN(self);
algorithm = (items > 3 && SvOK(ST(3))) ? SvPV_nolen(ST(3)) : NULL;
enc = PQencryptPasswordConn(self->conn, password, user, algorithm);
if (!enc)
croak("PQencryptPasswordConn failed: %s", PQerrorMessage(self->conn));
RETVAL = newSVpv(enc, 0);
PQfreemem(enc);
}
OUTPUT:
RETVAL
void
trace(EV::Pg self, const char *filename)
CODE:
{
REQUIRE_CONN(self);
if (self->trace_fp) {
PQuntrace(self->conn);
fclose(self->trace_fp);
self->trace_fp = NULL;
}
self->trace_fp = fopen(filename, "w");
if (!self->trace_fp)
croak("cannot open %s: %s", filename, strerror(errno));
PQtrace(self->conn, self->trace_fp);
}
void
( run in 0.907 second using v1.01-cache-2.11-cpan-71847e10f99 )