diff options
| author | Antony Dovgal <tony2001@php.net> | 2005-12-01 13:39:48 +0000 |
|---|---|---|
| committer | Antony Dovgal <tony2001@php.net> | 2005-12-01 13:39:48 +0000 |
| commit | 3756201e048585a891540645ea22adf3b1b96d20 (patch) | |
| tree | 83bbb31ef0ae4d58f0de5f4a7ec62ffce0afb568 /ext/oci8/php_oci8.h | |
| parent | 916ad6c8f71b340a13800f2be08cd83c96242874 (diff) | |
| download | php-git-3756201e048585a891540645ea22adf3b1b96d20.tar.gz | |
upgrade bundled OCI8 to v.1.1
Diffstat (limited to 'ext/oci8/php_oci8.h')
| -rw-r--r-- | ext/oci8/php_oci8.h | 193 |
1 files changed, 18 insertions, 175 deletions
diff --git a/ext/oci8/php_oci8.h b/ext/oci8/php_oci8.h index 9da34f85f1..6397d3fede 100644 --- a/ext/oci8/php_oci8.h +++ b/ext/oci8/php_oci8.h @@ -14,6 +14,14 @@ +----------------------------------------------------------------------+ | Authors: Stig Sæther Bakken <ssb@php.net> | | Thies C. Arntzen <thies@thieso.net> | + | | + | Collection support by Andy Sautins <asautins@veripost.net> | + | Temporary LOB support by David Benson <dbenson@mancala.com> | + | ZTS per process OCIPLogon by Harald Radi <harald.radi@nme.at> | + | | + | Redesigned by: Antony Dovgal <antony@zend.com> | + | Andi Gutmans <andi@zend.com> | + | Wez Furlong <wez@omniti.com> | +----------------------------------------------------------------------+ */ @@ -22,19 +30,6 @@ #if HAVE_OCI8 # ifndef PHP_OCI8_H # define PHP_OCI8_H -# endif - -# if (defined(__osf__) && defined(__alpha)) -# ifndef A_OSF -# define A_OSF -# endif -# ifndef OSF1 -# define OSF1 -# endif -# ifndef _INTRINSICS -# define _INTRINSICS -# endif -# endif /* osf alpha */ #ifdef PHP_WIN32 #define PHP_OCI_API __declspec(dllexport) @@ -42,175 +37,21 @@ #define PHP_OCI_API #endif -#if defined(min) -#undef min -#endif -#if defined(max) -#undef max -#endif - -#include <oci.h> - -#define OCI_SEEK_SET 0 -#define OCI_SEEK_CUR 1 -#define OCI_SEEK_END 2 - -typedef struct { - int num; - int persistent; - int is_open; - char *dbname; - OCIServer *pServer; -#if 0 - OCIFocbkStruct failover; -#endif -} oci_server; - -typedef struct { - int num; - zend_bool persistent; - zend_bool is_open; - zend_bool exclusive; -#if ZTS - THREAD_T thread; -#else - zend_bool thread; +#ifdef ZTS +# include "TSRM.h" #endif - zend_llist *sessions_list; - oci_server *server; - OCISession *pSession; - OCIEnv *pEnv; /* sessions own environment */ - ub2 charsetId; /* sessions used character set (mostly this will be 0, so NLS_LANG will be used. */ -} oci_session; - -typedef struct { - int id; - int is_open; - oci_session *session; - OCISvcCtx *pServiceContext; - sword error; - OCIError *pError; - int needs_commit; - HashTable *descriptors; -} oci_connection; - -typedef struct { - int id; - oci_connection *conn; - dvoid *ocidescr; - ub4 type; - int lob_current_position; - int lob_size; /* -1 = Lob wasn't initialized yet */ - int buffering; /* 0 - off, 1 - on, 2 - on and buffer was used */ -} oci_descriptor; - -typedef struct { - int id; - oci_connection *conn; - OCIType *tdo; - OCITypeCode coll_typecode; - OCIRef *elem_ref; - OCIType *element_type; - OCITypeCode element_typecode; - OCIColl *coll; -} oci_collection; - -typedef struct { - zval *zval; - text *name; - ub4 name_len; - ub4 type; -} oci_define; - -typedef struct { - int id; - oci_connection *conn; - sword error; - OCIError *pError; - OCIStmt *pStmt; - char *last_query; - HashTable *columns; - HashTable *binds; - HashTable *defines; - int ncolumns; - int executed; - int has_data; - ub2 stmttype; -} oci_statement; - -typedef struct { - OCIBind *pBind; - zval *zval; - dvoid *descr; /* used for binding of LOBS etc */ - OCIStmt *pStmt; /* used for binding REFCURSORs */ - sb2 indicator; - ub2 retcode; -} oci_bind; - -typedef struct { - oci_statement *statement; - OCIDefine *pDefine; - char *name; - ub4 name_len; - ub2 data_type; - ub2 data_size; - ub4 storage_size4; - sb2 indicator; - ub2 retcode; - ub2 retlen; - ub4 retlen4; - ub2 is_descr; - ub2 is_cursor; - int descr; - oci_statement *pstmt; - int stmtid; - int descid; - void *data; - oci_define *define; - int piecewise; - ub4 cb_retlen; - ub2 scale; - ub2 precision; -} oci_out_column; - -typedef struct { - sword error; - OCIError *pError; - - /* - char *default_username; - char *default_password; - char *default_dbname; - */ - - long debug_mode; - - int shutdown; - - /* XXX NYI - long allow_persistent; - long max_persistent; - long max_links; - */ - - OCIEnv *pEnv; - - int in_call; -} php_oci_globals; extern zend_module_entry oci8_module_entry; #define phpext_oci8_ptr &oci8_module_entry -#define OCI_MAX_NAME_LEN 64 -#define OCI_MAX_DATA_SIZE INT_MAX -#define OCI_PIECE_SIZE (64*1024)-1 -#ifdef ZTS -#define OCI(v) TSRMG(oci_globals_id, php_oci_globals *, v) -#else -#define OCI(v) (oci_globals.v) -#endif +PHP_MINIT_FUNCTION(oci); +PHP_RINIT_FUNCTION(oci); +PHP_MSHUTDOWN_FUNCTION(oci); +PHP_RSHUTDOWN_FUNCTION(oci); +PHP_MINFO_FUNCTION(oci); +# endif /* !PHP_OCI8_H */ #else /* !HAVE_OCI8 */ # define oci8_module_ptr NULL @@ -223,3 +64,5 @@ extern zend_module_entry oci8_module_entry; * c-basic-offset: 4 * End: */ + + |
