[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;