Releases
v4.5.1
Enhancements (C API)
Updated driver information set by OCILIB since v3.1.0 (column CLIENT_DRIVER in V$SESSION_CONNECT_INFO)
it is now including OCILIB version (e.g. "OCILIB : x.y.z" instead of "OCILIB")
Extended OCI_SeTrace() and OCI_GetTrace():
Added OCI_TRC_OPERATION: Name of the database operation set by the client application to be monitored (according Oracle docs)
This value is stored the database in the column DBOP_NAME of the system view V$SQLMONITOR
OCI_GetTrace() returns now NULL instead of an empty string if the given trace is not set or nullified
Release Windows binaries are now built using VS 2017 15.5.6 (instead of VS2017 15.3.2)
Fixes (C API)
Driver information (introduced in Oracle 11gR1: was set by OCILIB if
Oracle version >= 11gR1 for standalone connections and connections retrieved from connection pools
Oracle version >= 11gR2 for connections retrieved from session pools
Now it sets it correctly in all cases when Oracle version >= 11gR1
Issue #141 : OCIBindRaw() now accepts empty buffers (non null data with size = 0)
Issue #142 : OCI_GetStruct() was filling numeric fields with garbage values since v4.5.0
Issue #143 : OCI_SetTrace(): passing NULL values for clearing trace information leads to segfaults
Issue #144 : OCI_SetTrace(); If called at least once, it was causing small memory leak in OCI_ConnectionFree()
Issue #145 : Using OCI_BAM_INTERNAL for types using handles was leading to segfault when executing the statement
Impacted types:OCI_Object, OCI_Lob, OCI_File, OCI_Timestamp, OCI_Interval, OCI_Ref and OCI_Collection
Fixes (C++ API)
Issue #141 : ocilib::Statement::Bind<ocilib::Raw, unsigned int>() accepts now empty ocilib::Raw
Miscellaneous
OCILIB requires now C99 to be activated for compiling:
When using autotools (Unixes): Enforcing C99 compiler flags using AC_PROG_CC_STDC() macro
When using Visual Studio: OCILIB cannot be compiled anymore with VS2010 and earlier versions (released binaries use VS 2017)
This was motivated for using variadic macros and allow variable declarations not only at beginning of blocks
Addressed static code analysis hints and warnings
Internal code refactoring and factorization
Reduced cyclomatic complexity of some internal functions
Some methods (connection logon/logoff, bindings) were far too long and had been decomposed and split in smaller ones
Fixed demo an script files
You can’t perform that action at this time.