OCILIB version 3.9.0 coming on April the 27th !
Hi,
OCILIB version 3.9.0 will be finally released in 3 days, on April the 27th !
The SVN repository is already up to date with this version.
Here is the summary of this version :
-
Added support Oracle XA
-
Added support for statement cache
-
Added support for TAF (Transparent Application Failover) and HA (High Availability)
-
Added support for new connection attributes introduced in Oracle 10gR2
-
Improved bind tuning
-
Miscellaneous new calls
-
Miscellaneous changes
-
Miscellaneous fixes
Here is the final changelog :
2011-04-20 Version 3.9.0 Vincent Rogier vince.rogier@ocilib.net
* Added support Oracle XA
- Oracle XA integration in OCLIB is transparent by using OCI_ConnectionCreate() and requires just :
- an XA db name for parameter 'db'
- an extra flag OCI_SESSION_XA for parametrer 'mode'
- no user or password
- See the OCI_ConnectionCreate() documentation for the XA open string needed by OCILIB to pass to the TMP
* Added support for statement cache
- Statement cache is now automatically enabled when using an Oracle client >= 9iR2
- Added statement cache size customization when using an Oracle client >= 10gR1 :
- Added OCI_SetStatementCacheSize()
- Added OCI_GetStatementCacheSize()
- Added OCI_PoolSetStatementCacheSize()
- Added OCI_PoolGetStatementCacheSize()
* Added support for TAF (Transparent Application Failover) and HA (High availabality)
- The following handler has been added when using an Oracle client >= 10gR2
- Added OCI_IsTAFCapable()
- Added OCI_SetTAFHandler()
- Added OCI_SetHAHandler()
* Added support for Connection attributes introduced in Oracle 10gR2
- Added OCI_GetDBName()
- Added OCI_GetInstanceName()
- Added OCI_GetServiceName()
- Added OCI_GetServerName()
- Added OCI_GetDomainName()
- Added OCI_GetInstanceStartTime()
* Improved bind tuning. Now it is possible to set the bind direction mode (in, out, in/out) for slightly better performance
- Added OCI_BindSetDirection()
- Added OCI_BindGetDirection()
* Miscellaneous new calls :
- Added OCI_Describe() and OCI_DescribeFmt() to enable the retrieving of an OCI_Resultset object for 'select' statement wihtout exectuing the SQL
* Miscellaneous changes :
- Reenforced checks on OCI_Statement handle related methods that checks the statement state (prepared, executed, parsed,...) that now can throw more exceptions
- Updated layout of some internal structure to supress unnecessary padding
- Manual update of source code formatted with Uncrustify (wrong indentation of preprocessor directives)
- User callbacks were not correctly documented
- Updated Doxygen version used to generate the documentation (update in the output html style)
* Miscellaneous fixes :
- Fixed Binding call using the binding mode OCI_BAM_INTERNAL :
- arrays of Lobs, Files, Intervals and timestamps : internal objects were not properly initialized
- big_int : single bind and array bind were incorrectly implemented (allocation size wrongly computed that lead to a segfault for arrays)
- strings :
- single binds : if the length parameter was set to 0, a segfault happened
- Wide strings : if the native Oracle Unicode used a different size than the C runtime for wchar_t (like unix like system) translation were not performed by OCILIB
- Fixed 11Gr2 compile time detection when using OCI_IMPORT_LINKAGE (default on Unix platform)
- Fixed OCI_ImmediateFmt() : the method returned FALSE even on success
- Fixed OCI_PoolGetConnection() : OCILIB tried to set the driver name attribute (appeared in 10gR2) on the session that is not allowed anymore in 11g
- Fixed OCI_SetFormatDate() macro : fixed macros parameters declaration
- Fixed OCI_ColumnGetNullable() returned value
- Fixed OCI_ConnectionCreate() : 2 OCI handles not freed if connection failed
- Fixed OCI_SetPrefetchSize(), OCI_SetPrefetchMemory() : the given value was not really passed to Oracle
- Fixed OCI_TypeInfoGet() called internally when fetching object owned by a different schema
- Fixed OCI_Parse() : the method was internally doing a describe operation instead of just a parse (which gave same results from an end user view)
- Fixed OCI_LobAssign() that was not handling correclty Lob arrays created with OCI_LobArrayCreate()
- Fixed OCI_BindDouble() and OCI_BindArrayOfDoubles() : internal sub numeric type OCI_NUM_DOUBLE was not set on the bind handle
- Fixed OCI_StringGetFromAttrHandle() allocation of insuffucient buffer in unicode mode
- Fixed OCI_ObjectSetxxx() could return true if attribute not found
- Fixed Queues function in OCI_CHARSET_MIXED mode