2010-07-XX Version 3.7.0 Vincent Rogier vince.rogier@ocilib.net * Added support for Oracle Streams AQ (advanded Queues) * Added support for Session Pools - Added support for Oracle Session pools : - This features has beed introduced in Oracle 9.2 - For Oracle clients < 9.2, sessions are handled as regular connection pools - Renamed type OCI_ConnPool to OCI_Pool - Renamed all OCI_ConnPooXXX() calls to OCI_PoolXXX() - Added macros that maps old OCI_ConnPoolXXX() prototypes to OCI_PoolXXX() functions - Added new parameter 'type' to OCI_PoolCreate(). Possible values are - OCI_POOL_CONNECTION : creates a connection pool - OCI_POOL_SESSION : creates a session pool - Added support for session pool tagging : - Added OCI_GetSessionTag() - Added OCI_SetSessionTag() - Added new parameter 'tag' to OCI_PoolGetConnection() - Updated documentation : - Renamed page , section to - Added Information abour session pooling * Extended fetch interface - Added OCI_GetStruct() - Added OCI_SetStructNumericType() - Added demo file fetch_struct.c * Improved Execute/Fetch performance with prepared statement - Improved by x15 fetch performance when executing and fetching prepared statements that return resultsets - Prior to v3.7.0 : - Before a prepared statement was re-executed, any previous resultset was freed - Then, once the statement was re-executed, the resultset was recreated by OCI_GetResultset() - From v3.7.0 : - the resulset is create only once and is just reinitialized before re-execution - Avoiding these unecessary memory allocations/deallocations improves drastically the performances * Extended Array interface - Added OCI_SetBindAllocation() - Added OCI_GetBindAllocation() - Improved drastically performance for handle based array internally created or externally created with OCI_xxxxArrayCreate() - Added demo file array_internal.c * Miscellaneous changes - Modified connection internal handles allocation/deallocation: - Server handle is now allocated/deallocated when physical connection to server is created/freed - Session and context handles are now allocated/deallocated at logon/logoff time - Before theses handles were all allocated/deallocated when physical connection to server was created/freed - The old way could cause problems with old Oracle versions - Existing programs must be recompiled (in order to use this new version of ocilib) with no co change (as compatibilty macros are provided) * Miscellaneous fixes - Fixed OCI_Object binding : - internal objects indicator structures were not binded properly - even if the internal objects indicators were updated correctly, it was not seen by the server - Only the object itself nullity flag was sent to server - Fixed OCI_Object members internal offset computation for 64bits builds - Fixed OCI_DirPathSave() that couln't execute on a loaded stream - Fixed Connection Pooling emulation for Oracle 8i - Fixed warnings when compiling OCILIB with OCI_IMPORT_LINKAGE and Oracle 8i - Fixed Batch error handling : - some errors could not have be caught - Added checks in OCI_GetBatchErrorCount()