callProcedure method
Future<MssqlExecutionResult>
callProcedure(
- String procedure, {
- Object parameters = const <String, Object?>{},
- Set<
String> outputParameters = const <String>{}, - MssqlQueryOptions options = MssqlQueryOptions.defaults,
- Duration? timeout,
- MssqlCancellationToken? cancellationToken,
- int? batchRows,
- int? maximumRows,
- int? maximumBytes,
- MssqlProcedureMetadata? declared,
- MssqlMetadataDriftPolicy driftPolicy = MssqlMetadataDriftPolicy.preferDeclared,
Calls a stored procedure, binding parameters from its declared metadata.
Never retried: a procedure's body is opaque to the driver.
declared is generator-supplied parameter metadata. When it is
present and driftPolicy is MssqlMetadataDriftPolicy.preferDeclared,
the catalog is not queried. MssqlMetadataDriftPolicy.verifyDeclared
still describes (through the cache) and refuses when the two disagree.
Implementation
@override
Future<MssqlExecutionResult> callProcedure(
String procedure, {
Object parameters = const <String, Object?>{},
Set<String> outputParameters = const <String>{},
MssqlQueryOptions options = MssqlQueryOptions.defaults,
Duration? timeout,
MssqlCancellationToken? cancellationToken,
int? batchRows,
int? maximumRows,
int? maximumBytes,
MssqlProcedureMetadata? declared,
MssqlMetadataDriftPolicy driftPolicy =
MssqlMetadataDriftPolicy.preferDeclared,
}) => _watch(
procedure,
parameters,
MssqlOrmQueryKind.procedure,
() => inner.callProcedure(
procedure,
parameters: parameters,
outputParameters: outputParameters,
options: options,
timeout: timeout,
cancellationToken: cancellationToken,
batchRows: batchRows,
maximumRows: maximumRows,
maximumBytes: maximumBytes,
declared: declared,
driftPolicy: driftPolicy,
),
rows: _rowsOf,
affected: (result) => result.affectedRows,
batchRows: batchRows ?? options.batchRows,
queryName: options.queryName,
);