Closed kubo closed 3 years ago
@kubo This looks like the case I mentioned in https://github.com/oracle/node-oracledb/issues/1388#issuecomment-860052165 If you have the environment still set up, can you set the statement cache size to 0 and see the behavior?
@cjbj Thanks. dpiConn_setStmtCacheSize(conn, 0)
fixed the issue.
It's an Oracle Client statement caching issue. We are hopeful some improvements will be forthcoming.
ODPI-C version: 4.2.1 Client OS: Linux x86_64 (Ubuntu 20.04) Oracle Client: Instant Client 21.1 Server OS: Oracle Linux 7.9 on docker (The docker host is the above client os.) Oracle Server: 19.3 downloaded from OTN
I made the test code: https://gist.github.com/kubo/d893528c2294463f199eaf3f76be8097
Here is the output:
The code does the following in short:
DPI_ORACLE_TYPE_LONG_VARCHAR
andDPI_NATIVE_TYPE_BYTE
DPI_ORACLE_TYPE_LONG_CLOB
andDPI_NATIVE_TYPE_LOB
The error occurs only when
DPI_ORACLE_TYPE_LONG_VARCHAR
is used beforeDPI_ORACLE_TYPE_LONG_CLOB
. Any other combination looks fine.If it isn't an issue in ODPI-C but an issue in Oracle server or Oracle client library (I guess so), feel free to close this.