[svn:dbd-oracle] r14949 - dbd-oracle/branches/FAN
[email protected] Fri, 14 Oct 2011 20:41:33 -0700 (PDT)
| Newsgroups | perl.dbd.oracle.changes |
|---|---|
| Message-ID | <[email protected]> |
Author: byterock
Date: Fri Oct 14 20:41:33 2011
New Revision: 14949
Modified:
dbd-oracle/branches/FAN/dbdimp.h
dbd-oracle/branches/FAN/oci8.c
Log:
just some more
Modified: dbd-oracle/branches/FAN/dbdimp.h
==============================================================================
--- dbd-oracle/branches/FAN/dbdimp.h (original)
+++ dbd-oracle/branches/FAN/dbdimp.h Fri Oct 14 20:41:33 2011
@@ -12,6 +12,7 @@
struct ha_context_st {
PerlInterpreter *ct_perl;
+ imp_dbh_t *imp_dbh;
char *function;
};
Modified: dbd-oracle/branches/FAN/oci8.c
==============================================================================
--- dbd-oracle/branches/FAN/oci8.c (original)
+++ dbd-oracle/branches/FAN/oci8.c Fri Oct 14 20:41:33 2011
@@ -1284,14 +1284,13 @@
ha_context_t *ctx =(ha_context_t*)ha_ctx;
dTHXa(ctx->ct_perl);
- //dTHX;
- //dSP;
+ dSP;
// XPUSHs(sv_2mortal(newSViv(evtsource)));
// XPUSHs(sv_2mortal(newSViv(evtstatus)));
// PUTBACK;
// OCIEnv *envhp = (OCIEnv *)ha_ctx;
-// imp_dbh_t *imp_dbh = (imp_dbh_t*)ha_ctx;
-// sword status;
+ imp_dbh_t *imp_dbh = (imp_dbh_t*)ctx->imp_dbh;
+ sword status;
// OraText *instname;
// ub4 sizep;
ub4 atrlen;
@@ -1300,7 +1299,7 @@
char *function;
printf ("well this far 1\n\n");
PERL_SET_CONTEXT(ctx->ct_perl);
-PerlIO_printf(DBILOGFP, " how about this my functio %s",ctx->function);
+PerlIO_printf(DBILOGFP, " how about this my functio %sn",ctx->function);
//PERL_SET_CONTEXT(my_perl);
//ENTER;
// SAVETMPS;
@@ -1327,8 +1326,8 @@
//OCI_ATTR_HA_SOURCE
printf ("well this far status=%d\n\n\n",status);
-
-/* OCIAttrGet_log_stat(eventhp, OCI_HTYPE_EVENT, (dvoid *)&evtsource, 0, OCI_ATTR_HA_SOURCE, imp_dbh->errhp, status);
+*/
+ OCIAttrGet_log_stat(eventhp, OCI_HTYPE_EVENT, (dvoid *)&evtsource, 0, OCI_ATTR_HA_SOURCE, imp_dbh->errhp, status);
dbd_verbose=0;
//
@@ -1357,6 +1356,12 @@
break;
}
+
+ XPUSHs(sv_2mortal(newSViv(evtsource)));
+ XPUSHs(sv_2mortal(newSViv(evtstatus)));
+ PUTBACK;
+ call_pv(ctx->function, G_DISCARD);
+
/*
checkerr(errhp, OCIAttrGet(eventhp, OCI_HTYPE_EVENT, (dvoid *)&evtsource,
(ub4 *)0,
@@ -1419,6 +1424,7 @@
Newz(1, ctx, 1, ha_context_t);
ctx->function= (char*)safemalloc(strlen(imp_dbh->ha_function));
ctx->ct_perl = my_perl;
+ ctx->imp_dbh = imp_dbh;
strcpy((char *)ctx->function,imp_dbh->ha_function);
/* OCIFocbkStruct ha_failover;