pg: Statement preparing + inspection; less wonky object handling?
This commit is contained in:
parent
c51b5f3598
commit
187417f160
5 changed files with 186 additions and 10 deletions
38
FU.xs
38
FU.xs
|
|
@ -1,5 +1,7 @@
|
|||
#include <stdio.h>
|
||||
#include <dlfcn.h>
|
||||
|
||||
#undef PERL_IMPLICIT_SYS
|
||||
#define PERL_NO_GET_CONTEXT
|
||||
#include "EXTERN.h"
|
||||
#include "perl.h"
|
||||
|
|
@ -20,11 +22,16 @@ PROTOTYPES: DISABLE
|
|||
TYPEMAP: <<EOT
|
||||
TYPEMAP
|
||||
fupg_conn * FUPG_CONN
|
||||
fupg_st * FUPG_ST
|
||||
|
||||
INPUT
|
||||
FUPG_CONN
|
||||
if (sv_derived_from($arg, \"FU::PG::conn\")) $var = (fupg_conn *)SvIVX(SvRV($arg));
|
||||
else croak(\"invalid object\");
|
||||
else croak(\"invalid connection object\");
|
||||
|
||||
FUPG_ST
|
||||
if (sv_derived_from($arg, \"FU::PG::st\")) $var = (fupg_st *)SvIVX(SvRV($arg));
|
||||
else croak(\"invalid statement object\");
|
||||
#"
|
||||
EOT
|
||||
|
||||
|
|
@ -56,7 +63,7 @@ int lib_version()
|
|||
void connect(const char *pkg, const char *conninfo)
|
||||
CODE:
|
||||
(void)pkg;
|
||||
ST(0) = sv_setref_pv(sv_newmortal(), "FU::PG::conn", fupg_connect(aTHX_ conninfo));
|
||||
ST(0) = fupg_connect(aTHX_ conninfo);
|
||||
|
||||
|
||||
MODULE = FU PACKAGE = FU::PG::conn
|
||||
|
|
@ -67,10 +74,35 @@ int server_version(fupg_conn *c)
|
|||
OUTPUT:
|
||||
RETVAL
|
||||
|
||||
void _debug_trace(fupg_conn *c, bool on)
|
||||
CODE:
|
||||
if (on) PQtrace(c->conn, stderr);
|
||||
else PQuntrace(c->conn);
|
||||
ST(0) = c->self;
|
||||
|
||||
void exec(fupg_conn *c, SV *sv)
|
||||
CODE:
|
||||
ST(0) = fupg_exec(c, SvPVutf8_nolen(sv));
|
||||
ST(0) = fupg_exec(aTHX_ c, SvPVutf8_nolen(sv));
|
||||
|
||||
void q(fupg_conn *c, SV *sv, ...)
|
||||
CODE:
|
||||
ST(0) = fupg_q(aTHX_ c, SvPVutf8_nolen(sv), ax, items);
|
||||
|
||||
void DESTROY(fupg_conn *c)
|
||||
CODE:
|
||||
fupg_destroy(c);
|
||||
|
||||
|
||||
MODULE = FU PACKAGE = FU::PG::st
|
||||
|
||||
void params(fupg_st *st)
|
||||
CODE:
|
||||
ST(0) = fupg_st_params(aTHX_ st);
|
||||
|
||||
void columns(fupg_st *st)
|
||||
CODE:
|
||||
ST(0) = fupg_st_columns(aTHX_ st);
|
||||
|
||||
void DESTROY(fupg_st *st)
|
||||
CODE:
|
||||
fupg_st_destroy(st);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue