OCILIB C++ value types (Date, Number, Interval and Timestamp) uses the default HandlerHolder parent class assignment implementation that is performing a C handle assignment, thus changing the internal handle value.
These handle assignment were meant to avoid creating different handles and doing value assignment between them.
This behavior causes a issue when these host variables are bound to a statement as single value, their handles are passed to Oracle client. Reassigning them between execution iterations, leads Oracle to fill previous handles (that might be dangling pointers).
OCILIB C++ value types (Date, Number, Interval and Timestamp) uses the default HandlerHolder parent class assignment implementation that is performing a C handle assignment, thus changing the internal handle value.
These handle assignment were meant to avoid creating different handles and doing value assignment between them.
This behavior causes a issue when these host variables are bound to a statement as single value, their handles are passed to Oracle client. Reassigning them between execution iterations, leads Oracle to fill previous handles (that might be dangling pointers).