diff --git a/doc/src/connection.rst b/doc/src/connection.rst index 4eb66e28..076e4340 100644 --- a/doc/src/connection.rst +++ b/doc/src/connection.rst @@ -114,11 +114,8 @@ Connection Object connection will be unusable from this point forward; an Error exception will be raised if any operation is attempted with the connection. - Before the connection can be closed, all cursors created by the connection - must first be closed or all references released. In addition, all LOB - objects created by the connection must have their references released. If - this has not been done, the exception "DPI-1054: connection cannot be - closed when open statements or LOBs exist" will be raised. + All open cursors and LOBs created by the connection will be closed and will + also no longer be usable. Internally, references to the connection are held by cursor objects, LOB objects, subscription objects, etc. Once all of these references are diff --git a/odpi b/odpi index 855c8980..aa913dec 160000 --- a/odpi +++ b/odpi @@ -1 +1 @@ -Subproject commit 855c898044cc7be20de74da7d42392787dcf8d49 +Subproject commit aa913decde5c6d2905ba58bd4c25613155f52e17 diff --git a/setup.py b/setup.py index 17cef9bc..b9009a32 100644 --- a/setup.py +++ b/setup.py @@ -86,13 +86,14 @@ def run(self): "odpi/src/dpiDeqOptions.c", "odpi/src/dpiEnqOptions.c", "odpi/src/dpiEnv.c", "odpi/src/dpiError.c", "odpi/src/dpiGen.c", "odpi/src/dpiGlobal.c", - "odpi/src/dpiHandlePool.c", "odpi/src/dpiLob.c", - "odpi/src/dpiMsgProps.c", "odpi/src/dpiObject.c", - "odpi/src/dpiObjectAttr.c", "odpi/src/dpiObjectType.c", - "odpi/src/dpiOci.c", "odpi/src/dpiOracleType.c", - "odpi/src/dpiPool.c", "odpi/src/dpiRowid.c", - "odpi/src/dpiStmt.c", "odpi/src/dpiSubscr.c", - "odpi/src/dpiUtils.c", "odpi/src/dpiVar.c"]) + "odpi/src/dpiHandleList.c", "odpi/src/dpiHandlePool.c", + "odpi/src/dpiLob.c", "odpi/src/dpiMsgProps.c", + "odpi/src/dpiObject.c", "odpi/src/dpiObjectAttr.c", + "odpi/src/dpiObjectType.c", "odpi/src/dpiOci.c", + "odpi/src/dpiOracleType.c", "odpi/src/dpiPool.c", + "odpi/src/dpiRowid.c", "odpi/src/dpiStmt.c", + "odpi/src/dpiSubscr.c", "odpi/src/dpiUtils.c", + "odpi/src/dpiVar.c"]) # perform the setup setup( diff --git a/src/cx_Oracle.c b/src/cx_Oracle.c index 3bb6a7c2..b6cb1f9d 100644 --- a/src/cx_Oracle.c +++ b/src/cx_Oracle.c @@ -745,6 +745,7 @@ void initcx_Oracle(void) #include "dpiError.c" #include "dpiGen.c" #include "dpiGlobal.c" +#include "dpiHandleList.c" #include "dpiHandlePool.c" #include "dpiLob.c" #include "dpiMsgProps.c"