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

Comments are closed.

/