Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cand v1.90 #3

Open
wants to merge 768 commits into
base: master
Choose a base branch
from
Open

Cand v1.90 #3

wants to merge 768 commits into from

Conversation

avorop
Copy link

@avorop avorop commented Apr 9, 2022

After trying to compile it against OCI 12 I had to add few compile-time checks since 2 defines are added to oci.h after OCI 12.

Additionally I've fixed some of the warnings produced by Makefile.PL.

Note, there is still warning about mismatch between MANIFEST and actual files. I didn't fix that, since I'm not sure who has removed the files and why.
dbd-ora-patch.txt

whindsx and others added 30 commits January 21, 2022 22:35
Tested with instantclient version 21.5 and also this version should be added to @bad_oci_vers.
Removing outdated information from the list.
This changes the way things are done during login6 (connect). In
particular:

1. OCIEnv is cached based on character sets and mode. One copy
is used in all threads (so OCI_THREADED is important!)

2. There are no more global variables for character sets. So each
connection uses exactly what is specified at connection time. Thus
option ora_envhp is removed.

3. Improved support for DRCP. Now the pools are independent from
threads. The pool is defined by DSN and UID. No more leaking of
connections or pools. When last imp_drh goes away the pools
are released. It is now also possible to tag sessions in addition
to using connection_class (the latter works only with DRCP).

4. Reauthenticate now keeps old session as long as possible, so
if new identity is wrong, then old session stays intact.

5. Support for using shared variables is also improved. There is
now additional function ora_shared_release that cleans up shared
connection, when it is not needed anymore. Though it is still
cleaner to used DRCP. No more handles are leaking.

6. Support for imp_take is improved. No handles are leaking.
But it is cleaner to use DRCP.

7. Small fixes for compilation and handling of attributes.
This version uses to defines from oci.h, which where added after
version 12. Since I don't know exact version, when they were added,
I protect their usage by check for OCI above 18. For older OCI
these variables will be unavailable.

Additionally I've tried to fix some warnings in Makefile.PL and
stopped t/25plsql.t from checking if OCI has bug. After all DBD::Oracle
does not protect against this bug, so there is no sense to check if
OCI has it.
Added freeing of allocated handle. It is not needed anymore since OCIAttrSet copies its conent (according to Oracle developers)
The GHA will build against the "latest" Ubuntu/Perl/OracleXE/InstantClient
that is currently available.
Some old systems can not use inline function
The latest stable release of DBD::Oracle listed the wrong bug tracker
and repository because it was released from a fork, and the [GithubMeta]
plugin used that fork to set the metadata.

Remove that plugin, and instead specify the bug tracker and repository
explicitly.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.