[svn:dbd-oracle] r14974 - dbd-oracle/branches/FAN
[email protected] Fri, 28 Oct 2011 17:00:41 -0700 (PDT)
| Newsgroups | perl.dbd.oracle.changes |
|---|---|
| Message-ID | <[email protected]> |
Author: byterock
Date: Fri Oct 28 17:00:41 2011
New Revision: 14974
Modified:
dbd-oracle/branches/FAN/oci8.c
Log:
back again
Modified: dbd-oracle/branches/FAN/oci8.c
==============================================================================
--- dbd-oracle/branches/FAN/oci8.c (original)
+++ dbd-oracle/branches/FAN/oci8.c Fri Oct 28 17:00:41 2011
@@ -58,7 +58,7 @@
dTHX;
SV *sv;
switch (source) {
- case OCI_HA_SOURCE_INSTANCE: return "INSATNCE";
+ case OCI_HA_SOURCE_INSTANCE: return "INSATNCE";
case OCI_HA_SOURCE_DATABASE: return "DATABASE";
case OCI_HA_SOURCE_NODE: return "NODE";
case OCI_HA_SOURCE_SERVICE: return "SERVICE";
@@ -1299,16 +1299,13 @@
}
-void
-hacb_fn( dvoid *ha_ctx, OCIEvent *eventhp) {
+void
+event_info (ha_context_t *ha_ctx, HV *ha_event, imp_dbh_t *imp_dbh, OCIEvent *eventhp) {
ha_context_t *ctx =(ha_context_t*)ha_ctx;
dTHXa(ctx->ct_perl);
dSP;
- imp_dbh_t *imp_dbh = (imp_dbh_t*)ctx->imp_dbh;
- sword status = OCI_SUCCESS;
- HV* ha_event;
- AV* servers;
+ sword status;
OCIDateTime *event_ts;
OCIServer *srvhp;
ub4 str_len = 200;
@@ -1325,14 +1322,8 @@
text instance_att;
ub4 service_len;
text service_att;
- ub4 event_att_len;
- text event_att;
-
- PERL_SET_CONTEXT(ctx->ct_perl);
- ha_event = newHV();
- servers = newAV();
-
+PERL_SET_CONTEXT(ctx->ct_perl);
PerlIO_printf(DBILOGFP, " event info \n");
OCIAttrGet_log_stat(eventhp, OCI_HTYPE_EVENT, (dvoid *)&source_att, 0, OCI_ATTR_HA_SOURCE, imp_dbh->errhp, status);
@@ -1400,7 +1391,32 @@
PerlIO_printf(DBILOGFP, " hacb 8 OCI_HA_TIMESTAMP=%s \n",str_buf);
+
+}
+
+void
+hacb_fn( dvoid *ha_ctx, OCIEvent *eventhp) {
+
+ ha_context_t *ctx =(ha_context_t*)ha_ctx;
+ OCIServer *srvhp;
+ dTHXa(ctx->ct_perl);
+ dSP;
+ imp_dbh_t *imp_dbh = (imp_dbh_t*)ctx->imp_dbh;
+ sword status = OCI_SUCCESS;
+ text *event_att;
+ OCIDateTime *event_ts;
+ OraText tsbuff[50];
+ ub4 event_att_len;
+ ub4 event_code;
+ HV* ha_event;
+ AV* servers;
+
+ PERL_SET_CONTEXT(ctx->ct_perl);
+ ha_event = newHV();
+ servers = newAV();
+
+ event_info(ha_ctx,ha_event,imp_dbh,eventhp);
OCIAttrGet_log_stat(eventhp, OCI_HTYPE_EVENT, (dvoid *)&srvhp,0, OCI_ATTR_HA_SRVFIRST, imp_dbh->errhp, status);
@@ -1423,7 +1439,7 @@
}
else {
PerlIO_printf(DBILOGFP, " hacb 10 found another server handle.\n");
-
+
OCIAttrGet_log_stat(srvhp, OCI_HTYPE_SERVER, (dvoid *)&event_att,&event_att_len, OCI_ATTR_INSTNAME, imp_dbh->errhp, status);
av_push(servers, newSVpv( (char *) event_att,0));
@@ -1662,7 +1678,7 @@
{
dTHX;
OCIStmt *stmhp_nested = ((OCIStmt **)fbh->fb_ary->abuf)[0];
-
+
D_imp_sth(sth);
D_imp_dbh_from_sth;
dSP;