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
| Property | Value |
|---|---|
| AreTableHintsSupported | false |
| ClosingQuote | " |
| DefaultSchema | null |
| IsAffectedRowsSupported | true |
| IsDirectionSupported | false |
| IsExecuteReaderDisposable | false |
| IsInsertAllBatchable | true |
| IsMultiStatementExecutable | false |
| IsPreparable | true |
| IsTransactionSupported | true |
| IsUseUpsert | true |
| MaxParameterCount | 1500 |
| MultiStatementSeparator | ; |
| OpeningQuote | " |
| ParameterPrefix | @ |
| RequiresDbTypeBeforeValue | true |
| SkipsUnreferencedParameters | true |
| SqlTextParameterPrefix | @ |
IsMultiStatementExecutableisfalse—VerticaCommandrefuses a compound;-separated statement once it carries a parameter — yetIsInsertAllBatchableistrue, so InsertAll still batches multiple rows into one genuine multi-rowINSERT ... VALUES (...), (...), ...statement. MergeAll/UpdateAll have no equivalent single-statement shape and issue one round trip per row; passing an explicitbatchSizegreater than1to either throws aNotSupportedException.
RequiresDbTypeBeforeValueistrue—Vertica.Datalazily initializes internal parameter state insideVerticaParameter.Type’s setter and throws ifValueis assigned first on a parameter fresh offVerticaCommand.CreateParameter().
SkipsUnreferencedParametersistrue— 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 literalIS NULLwith no placeholder at all).
Usability
Use DbSettingMapper to override it with a custom implementation.
DbSettingMapper.Add(typeof(VerticaConnection), new MyCustomVerticaDbSetting(), true);