close method
Close the statement
Implementation
Future<void> close() async {
if (_disposed) {
return;
}
try {
// Release any tracked LOB variables
for (final lobVar in _lobVars) {
try {
_dpiOracle.dpiVar_release(lobVar);
} catch (_) {
// Best effort release
}
}
_lobVars.clear();
if (!PointerUtils.isNull(_statementPtr.value)) {
_dpiOracle.dpiStmt_close(_statementPtr.value, nullptr, 0);
}
} catch (e) {
// Best effort close
} finally {
_disposed = true;
_memoryManager.dispose();
}
}