Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
Temporary LOB caching #10
There is a problem in the folowing function (dpiLob.c:1427):
It creates temporary lob with cache=false, which leads to unnecessary physical io every time such a variable is created.
For example, if we try to pass empty string from python code to plsql procedure with CLOB in parameter using cx_Oracle and ODPI, it would generate physical IO (could be easily seen in 10046 trace).
I believe it should be changed to chache=true, or, which is probably better, make this parameter configurable.
added a commit
Apr 27, 2017
You make an excellent point. Thanks. I have changed cache=True in this function as suggested. Only very large temporary LOBs (multiple GB) would benefit from cache=False and these are unlikely to be used. The parameter could be added to make it configurable with the documentation indicating that the value True should be used in almost all cases -- but that seems an unnecessary complication so I'll leave it the way it is for now.