mirror of
https://github.com/php/php-src.git
synced 2024-11-24 10:24:11 +08:00
@- 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.
This commit is contained in:
parent
83097f136a
commit
8950aa75c4
1214
ext/oci8/oci8.c
1214
ext/oci8/oci8.c
File diff suppressed because it is too large
Load Diff
@ -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…
Reference in New Issue
Block a user