Class TigerQueryEngineOptions
- Namespace
- ItTiger.TigerQuery.Engine
- Assembly
- ItTiger.TigerQuery.dll
public sealed class TigerQueryEngineOptions
- Inheritance
-
TigerQueryEngineOptions
- Inherited Members
Remarks
Properties
CommandTimeoutSeconds
public int? CommandTimeoutSeconds { get; init; }
Property Value
- int?
Remarks
This is the batch execution timeout, not the connection-open timeout: the latter
belongs to the connection string (Connect Timeout) and is unaffected. The
value is applied to each batch independently, so a script of ten batches may run for
ten times this long without any batch timing out.
The default is null, which leaves
CommandTimeout untouched at the
provider's own default of 30 seconds. 0 means no limit and is passed to the
provider as such. A negative value is rejected: run methods throw
ArgumentOutOfRangeException before opening a connection.
A batch that exceeds the timeout fails the way any other SQL error fails. It counts towards FailedBatches, the effective continue-on-error policy decides whether later batches still run, and the run's ResultCode is not Success.
ConnectionString
public string ConnectionString { get; init; }
Property Value
Remarks
ContinueOnError
public bool ContinueOnError { get; init; }
Property Value
Remarks
:ON ERROR IGNORE and :ON ERROR EXIT update this policy for
subsequent parser-produced batches. Fatal SQL errors always stop execution.
A batch fails when SQL Server reports an error of severity 11 or higher for it, whether the provider throws or reports the error as an informational message. Under an effective exit-on-error policy the triggering batch ends unsuccessfully and no further batch is started. Under an effective continue policy the batch still counts towards FailedBatches and the next scheduled batch runs.
This policy controls how much of the script runs, not what the run reports. Either way the run's ResultCode is not Success once any batch attempt has failed.
ContinueOnErrorForUnhandledExceptions
public bool ContinueOnErrorForUnhandledExceptions { get; init; }
Property Value
Remarks
EnableTransaction
public bool EnableTransaction { get; init; }
Property Value
Remarks
ExecutionMode
public TigerQueryExecutionMode ExecutionMode { get; init; }
Property Value
Remarks
Logger
public ILogger? Logger { get; init; }
Property Value
Remarks
Mode
public SqlCmdMode Mode { get; init; }
Property Value
OnBatchEnd
public Action<BatchEnd>? OnBatchEnd { get; init; }
Property Value
Remarks
OnBatchStart
public Action<BatchStart>? OnBatchStart { get; init; }
Property Value
Remarks
OnExecutionPlanReady
public Action<ExecutionPlanReady>? OnExecutionPlanReady { get; init; }
Property Value
Remarks
OnMessage
public Action<SqlCmdMessage, bool>? OnMessage { get; init; }
Property Value
Remarks
OnResultSet
public Action<ResultSetInfo>? OnResultSet { get; init; }
Property Value
Remarks
OutputRouting
public OutputRoutingOptions OutputRouting { get; init; }
Property Value
Remarks
Variables
public IDictionary<string, string>? Variables { get; init; }
Property Value
Remarks
:setvar may replace them.
In SqlCmdEx, they take precedence and assignments
to matching names are ignored; non-conflicting script-local variables can
still be created and updated. Programmatic variables are ignored in
Normal.