1) Simplify management of threads for callbacks performed by database
change notification and eliminate a crash that occurred under high
load in certain situations. Thanks to Calvin S. for noting the issue
and suggesting a solution and testing the patch.
2) Force server detach on close so that the connection is completely
closed and not just the session as before.
3) Force use of OCI_UTF16ID for NCLOBs as using the default character
set would result in ORA-03127 with Oracle 18.104.22.168 and UTF8 character
4) Avoid attempting to clear temporary LOBs a second time when
destroying the variable as in certain situations this results in
5) Added additional parameter service_name to makedsn() which can be
used to use the service_name rather than the SID in the DSN string
that is generated.
6) Fix cursor description in test suite to take into account the
number of bytes per character.