ClickHouseDbSetting
A setting class used for the ClickHouse data provider.
This class is the BaseDbSetting-derived implementation for ClickHouse. It is automatically registered by ClickHouseBootstrap — you do not need to instantiate it directly under normal use.
Configured Values
| Property | Value |
|---|---|
| AreTableHintsSupported | false |
| ClosingQuote | ` |
| DefaultSchema | null |
| IsAffectedRowsSupported | false |
| IsDirectionSupported | false |
| IsExecuteReaderDisposable | false |
| IsMultiStatementExecutable | false |
| IsInsertAllBatchable | false |
| IsPreparable | false |
| IsTransactionSupported | false |
| IsUseUpsert | false |
| RequiresDbTypeBeforeValue | false |
| SkipsUnreferencedParameters | false |
| MaxParameterCount | 2098 |
| MultiStatementSeparator | ; |
| OpeningQuote | ` |
| ParameterPrefix | (empty string) |
| SqlTextParameterPrefix | @ |
IsMultiStatementExecutableisfalse— every SQL text method emits exactly one statement, so operations that need several steps (e.g. the bulk merge pipeline) issue them as separate round trips rather than one semicolon-joined batch.
IsTransactionSupportedisfalse—ClickHouseConnectiondoes not supportBeginTransaction().
ParameterPrefixis empty — ad-hoc parameter names in an entity-driven call carry no prefix — whileSqlTextParameterPrefix(@) is used to reference a parameter placeholder embedded directly in raw SQL text.
RepoDb.ClickHouse.BulkOperations ships ClickHouseBulkDbSetting, a subclass adding
IsWaitForMutationsEnabledfor BulkMerge/BulkUpdate/BulkDelete — it is not registered by default.
Usability
Use DbSettingMapper to override it with a custom implementation.
DbSettingMapper.Add(typeof(ClickHouseConnection), new MyCustomClickHouseDbSetting(), true);