OracleResultSet constructor

OracleResultSet({
  1. required DpiOracle dpiOracle,
  2. required Pointer<dpiStmt> statement,
  3. required Pointer<dpiContext> context,
  4. required MemoryManager memoryManager,
  5. required int columnCount,
})

Implementation

OracleResultSet({
  required DpiOracle dpiOracle,
  required Pointer<dpiStmt> statement,
  required Pointer<dpiContext> context,
  required MemoryManager memoryManager,
  required int columnCount,
})  : _dpiOracle = dpiOracle,
      _statement = statement,
      _context = context,
      _memoryManager = memoryManager,
      _columnCount = columnCount {
  // Pre-allocate reusable buffers to avoid per-column allocation overhead
  _nativeTypeNum = _memoryManager.allocate<dpiNativeTypeNum>(sizeOf<dpiNativeTypeNum>());
  _dataPtr = _memoryManager.allocate<Pointer<dpiData>>(sizeOf<Pointer<dpiData>>());
  _foundPtr = _memoryManager.allocate<Int>(sizeOf<Int>());
  _bufferRowIndex = _memoryManager.allocate<Uint32>(sizeOf<Uint32>());
}