DBD-PgAsync

 view release on metacpan or  search on metacpan

PgAsync.xs  view on Meta::CPAN

}


void
_ping(dbh)
    SV * dbh
    CODE:
        ST(0) = sv_2mortal(newSViv(dbd_db_ping(dbh)));


void
getfd(dbh)
    SV * dbh
    CODE:
        int ret;
        D_imp_dbh(dbh);
        ret = pg_db_getfd(imp_dbh);
        ST(0) = sv_2mortal( newSViv( ret ) );


void
pg_endcopy(dbh)
    SV * dbh
    CODE:
        ST(0) = (pg_db_endcopy(dbh)!=0) ? &PL_sv_no : &PL_sv_yes;

  
void
pg_error_field(dbh, fieldname)
    SV * dbh
    char * fieldname;
    CODE:
        ST(0) = pg_db_error_field(dbh, fieldname);


void
pg_notifies(dbh)
    SV * dbh
    CODE:
        D_imp_dbh(dbh);
        ST(0) = pg_db_pg_notifies(dbh, imp_dbh);


void
pg_savepoint(dbh,name)
    SV * dbh
    char * name
    CODE:
        D_imp_dbh(dbh);
        if (DBIc_has(imp_dbh,DBIcf_AutoCommit) && DBIc_WARN(imp_dbh))
            warn("savepoint ineffective with AutoCommit enabled");
        ST(0) = (pg_db_savepoint(dbh, imp_dbh, name)!=0) ? &PL_sv_yes : &PL_sv_no;

void
pg_savepoints(dbh)
    SV * dbh
    PREINIT:
        AV *sps;
        SV **sps_a;
        size_t a_len, ndx;
    PPCODE:
        D_imp_dbh(dbh);
        sps = imp_dbh->savepoints;
        a_len = av_count(sps);
        if (!a_len) XSRETURN(0);
        sps_a = AvARRAY(sps);
        EXTEND(SP, a_len);
        ndx = 0;
        do PUSHs(sps_a[ndx]); while (++ndx < a_len);

void
pg_rollback_to(dbh,name)
    SV * dbh
    char * name
    CODE:
        D_imp_dbh(dbh);
        if (DBIc_has(imp_dbh,DBIcf_AutoCommit) && DBIc_WARN(imp_dbh))
            warn("rollback_to ineffective with AutoCommit enabled");
        ST(0) = (pg_db_rollback_to(dbh, imp_dbh, name)!=0) ? &PL_sv_yes : &PL_sv_no;


void
pg_release(dbh,name)
    SV * dbh
    char * name
    CODE:
        D_imp_dbh(dbh);
        if (DBIc_has(imp_dbh,DBIcf_AutoCommit) && DBIc_WARN(imp_dbh))
            warn("release ineffective with AutoCommit enabled");
        ST(0) = (pg_db_release(dbh, imp_dbh, name)!=0) ? &PL_sv_yes : &PL_sv_no;

void
pg_lo_creat(dbh, mode)
    SV * dbh
    int mode
    CODE:
        const unsigned int ret = pg_db_lo_creat(dbh, mode);
        ST(0) = (ret > 0) ? sv_2mortal(newSVuv(ret)) : &PL_sv_undef;

void
pg_lo_open(dbh, lobjId, mode)
    SV * dbh
    unsigned int lobjId
    int mode
    CODE:
        const int ret = pg_db_lo_open(dbh, lobjId, mode);
        ST(0) = (ret >= 0) ? sv_2mortal(newSViv(ret)) : &PL_sv_undef;


void
pg_lo_write(dbh, fd, buf, len)
    SV * dbh
    int fd
    char * buf
    size_t len
    CODE:
        const int ret = pg_db_lo_write(dbh, fd, buf, len);
        ST(0) = (ret >= 0) ? sv_2mortal(newSViv(ret)) : &PL_sv_undef;


void



( run in 1.927 second using v1.01-cache-2.11-cpan-71847e10f99 )