Browse Source

@- OCI8 now supports binding of NULL-values. Module cleanups. (Thies)

lots of cleanup - all invisible to the user (i hope;-)
- full refcounting of connections & statements
- cleanup of the descriptor-code (descriptors are now real resources)
- we now use SQLT_CHR instead of SQLT_STR (no trailing \0) - smarter & faster
- ocifetchinto(OCI_BOTH) will use references.
PHP-4.0.5
Thies C. Arntzen 27 years ago
parent
commit
8950aa75c4
  1. 1208
      ext/oci8/oci8.c
  2. 13
      ext/oci8/php_oci8.h

1208
ext/oci8/oci8.c
File diff suppressed because it is too large
View File

13
ext/oci8/php_oci8.h

@ -82,17 +82,17 @@ typedef struct {
OCISvcCtx *pServiceContext;
sword error;
OCIError *pError;
HashTable *descriptors;
int descriptors_count;
} oci_connection;
typedef struct {
int id;
oci_connection *conn;
dvoid *ocidescr;
ub4 type;
} oci_descriptor;
typedef struct {
pval *pval;
zval *zval;
text *name;
ub4 name_len;
ub4 type;
@ -106,18 +106,17 @@ typedef struct {
OCIStmt *pStmt;
char *last_query;
HashTable *columns;
int ncolumns;
HashTable *binds;
HashTable *defines;
int ncolumns;
int executed;
} oci_statement;
typedef struct {
OCIBind *pBind;
pval *value;
zval *zval;
dvoid *descr; /* used for binding of LOBS etc */
OCIStmt *pStmt; /* used for binding REFCURSORs */
ub4 maxsize;
sb2 indicator;
ub2 retcode;
} oci_bind;
@ -137,9 +136,9 @@ typedef struct {
ub2 is_descr;
ub2 is_cursor;
int descr;
oci_descriptor *pdescr;
oci_statement *pstmt;
int stmtid;
int descid;
void *data;
oci_define *define;
int piecewise;

Loading…
Cancel
Save