Author: byterock
Date: Wed Jul 15 18:10:05 2009
New Revision: 13065
Modified:
dbd-oracle/branches/rs_array/oci8.c
Log:
sort of working version
Modified: dbd-oracle/branches/rs_array/oci8.c
==============================================================================
--- dbd-oracle/branches/rs_array/oci8.c (original)
+++ dbd-oracle/branches/rs_array/oci8.c Wed Jul 15 18:10:05 2009
@@ -384,17 +384,17 @@
case OCI_ATTR_PRECISION: return
"OCI_ATTR_PRECISION"; /* precision if number type */
case OCI_ATTR_SCALE: return
"OCI_ATTR_SCALE"; /* scale if number type */
case OCI_ATTR_IS_NULL: return
"OCI_ATTR_IS_NULL"; /* is it null ? */
- case OCI_ATTR_TYPE_NAME: return
"OCI_ATTR_TYPE_NAME";
+ case OCI_ATTR_TYPE_NAME: return
"OCI_ATTR_TYPE_NAME";
/* name of the named data type or a package name for package private types */
case OCI_ATTR_SCHEMA_NAME: return
"OCI_ATTR_SCHEMA_NAME"; /* the schema name */
case OCI_ATTR_SUB_NAME: return
"OCI_ATTR_SUB_NAME"; /* type name if package private type */
- case OCI_ATTR_POSITION: return
"OCI_ATTR_POSITION";
+ case OCI_ATTR_POSITION: return
"OCI_ATTR_POSITION";
case OCI_ATTR_CHAR_USED: return "OCI_ATTR_CHAR_USED";
/* char length semantics */
case OCI_ATTR_CHAR_SIZE: return "OCI_ATTR_CHAR_SIZE";
/* char length */
case OCI_ATTR_CHARSET_ID: return
"OCI_ATTR_CHARSET_ID"; /* Character Set ID */
case OCI_ATTR_CHARSET_FORM: return
"OCI_ATTR_CHARSET_FORM"; /* Character Set Form */
}
-
+
sv = sv_2mortal(newSViv((IV)attr));
return SvPV(sv,na);
@@ -410,7 +410,7 @@
switch (attr) {
/*=============================Attribute
Types===============================*/
-
+
case OCI_ATTR_FNCODE: return
"OCI_ATTR_FNCODE"; /* the OCI function code */
case OCI_ATTR_OBJECT: return
"OCI_ATTR_OBJECT"; /* is the environment initialized in object mode */
case OCI_ATTR_NONBLOCKING_MODE: return
"OCI_ATTR_NONBLOCKING_MODE"; /* non blocking mode */
@@ -980,7 +980,6 @@
OCIAttrGet_stmhp_stat(imp_sth, &imp_sth->stmt_type, 0,
OCI_ATTR_STMT_TYPE, status);
-
if (DBIS->debug >= 3 || dbd_verbose >= 3 )
PerlIO_printf(DBILOGFP, " dbd_st_prepare'd sql %s (pl%d,
auto_lob%d, check_sql%d)\n",
oci_stmt_type_name(imp_sth->stmt_type),
@@ -3432,7 +3431,7 @@
imp_fbh_t *fbh = &imp_sth->fbh[i-1];
int ftype = fbh->ftype;
/* add space for STRING null term, or VAR len prefix */
-
+
sb4 define_len = (ftype==94||ftype==95) ? fbh->disize+4 :
fbh->disize;
fb_ary_t *fb_ary;
if (fbh->clbk_lob || fbh->piece_lob ){/*init the cb_abuf with
this call*/
@@ -3453,7 +3452,7 @@
(dvoid*)&((OCIStmt **)fb_ary->abuf)[0],
OCI_HTYPE_STMT, status);
}
-
+
OCIDefineByPos_log_stat(imp_sth->stmhp,
&fbh->defnp,
imp_sth->errhp,
@@ -3466,7 +3465,7 @@
fb_ary->arcode,
fbh->define_mode,
status);
-
+
if (fbh->clbk_lob){
/* use a dynamic callback for persistent binary and
char lobs*/
OCIDefineDynamic_log_stat(fbh->defnp,imp_sth->errhp,(dvoid *) fbh,status);
@@ -3592,7 +3591,7 @@
imp_dbh->RowsInCache--;
imp_sth->rs_array_idx++;
-
+
if
(imp_sth->rs_array_num_rows<=imp_sth->rs_array_idx &&
(imp_sth->rs_array_status==OCI_SUCCESS ||
imp_sth->rs_array_status==OCI_SUCCESS_WITH_INFO)) {
if (imp_sth->rs_all_fetched){
imp_sth->rs_array_status =
OCI_NO_DATA;
@@ -3609,11 +3608,11 @@
imp_dbh->RowsInCache
=imp_sth->rs_array_size;
if (DBIS->debug >= 4 ||
dbd_verbose >= 4 || oci_warn)
PerlIO_printf(DBILOGFP,"...Fetched %d rows\n",imp_sth->rs_array_num_rows);
- }
-
+ }
+
}
- if
(imp_sth->rs_array_num_rows>imp_sth->rs_array_idx )
+ if
(imp_sth->rs_array_num_rows>imp_sth->rs_array_idx )
/* set status to success if rows in cache */
/* if No data then all the rows are already
in cache */
status=OCI_SUCCESS;