executeQueryParamBuffer method
Executes a parameterised query with a pre-serialised buffer (legacy v0 or DRT1 directed parameters).
Implementation
Future<Uint8List?> executeQueryParamBuffer(
int connectionId,
String sql,
Uint8List? paramBuffer, {
int? maxBufferBytes,
Duration? timeout,
ResultEncoding resultEncoding = ResultEncoding.rowMajor,
}) async {
final bytes =
paramBuffer == null || paramBuffer.isEmpty ? Uint8List(0) : paramBuffer;
if (resultEncoding == ResultEncoding.rowMajor) {
final asyncRequestId = await executeAsyncStartParams(
connectionId,
sql,
bytes,
);
if (asyncRequestId > 0) {
return _waitForAsyncResult(
asyncRequestId,
maxBufferBytes: maxBufferBytes,
timeout: timeout,
);
}
}
_recordFallbackToBlocking(connectionId);
return _executeQueryParamsBlocking(
connectionId,
sql,
bytes,
maxBufferBytes: maxBufferBytes,
resultEncoding: resultEncoding,
);
}