Link Search Menu Expand Document

VerticaDbSetting


This class is the BaseDbSetting-derived implementation for Vertica. It is automatically registered by VerticaBootstrap — you do not need to instantiate it directly under normal use.

Configured Values

PropertyValue
AreTableHintsSupportedfalse
ClosingQuote"
DefaultSchemanull
IsAffectedRowsSupportedtrue
IsDirectionSupportedfalse
IsExecuteReaderDisposablefalse
IsInsertAllBatchabletrue
IsMultiStatementExecutablefalse
IsPreparabletrue
IsTransactionSupportedtrue
IsUseUpserttrue
MaxParameterCount1500
MultiStatementSeparator;
OpeningQuote"
ParameterPrefix@
RequiresDbTypeBeforeValuetrue
SkipsUnreferencedParameterstrue
SqlTextParameterPrefix@

IsMultiStatementExecutable is falseVerticaCommand refuses a compound ;-separated statement once it carries a parameter — yet IsInsertAllBatchable is true, so InsertAll still batches multiple rows into one genuine multi-row INSERT ... VALUES (...), (...), ... statement. MergeAll/UpdateAll have no equivalent single-statement shape and issue one round trip per row; passing an explicit batchSize greater than 1 to either throws a NotSupportedException.

RequiresDbTypeBeforeValue is trueVertica.Data lazily initializes internal parameter state inside VerticaParameter.Type’s setter and throws if Value is assigned first on a parameter fresh off VerticaCommand.CreateParameter().

SkipsUnreferencedParameters is true — Vertica strictly validates that every parameter bound to a command is actually referenced by a placeholder in the command text, rejecting the whole command otherwise (e.g. a null-valued equality filter rendered as a literal IS NULL with no placeholder at all).

Usability

Use DbSettingMapper to override it with a custom implementation.

DbSettingMapper.Add(typeof(VerticaConnection), new MyCustomVerticaDbSetting(), true);