wrap static method
Wrap an existing LOB pointer
This method is used when retrieving LOB values from query results. It adds a reference to the LOB to keep it alive beyond the statement's lifetime.
Note: Wrapped LOBs are assumed to be non-temporary (persistent LOBs from database). Always call dispose() when done to release the reference.
Implementation
static OracleLob wrap({
required DpiOracle dpiOracle,
required Pointer<dpiLob> lobPtr,
required Pointer<dpiContext> context,
required LobType lobType,
bool isTemporary = false,
}) {
final memoryManager = MemoryManager();
// Add a reference to keep the LOB alive
// This is necessary when the LOB comes from a query result
dpiOracle.dpiLob_addRef(lobPtr);
return OracleLob._(
dpiOracle,
lobPtr,
context,
memoryManager,
lobType,
isTemporary,
);
}