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 @

IsMultiStatementExecutable is false — 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.

IsTransactionSupported is false — ClickHouseConnection does not support BeginTransaction().

ParameterPrefix is empty — ad-hoc parameter names in an entity-driven call carry no prefix — while SqlTextParameterPrefix (@) is used to reference a parameter placeholder embedded directly in raw SQL text.

RepoDb.ClickHouse.BulkOperations ships ClickHouseBulkDbSetting, a subclass adding IsWaitForMutationsEnabled for 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);