Documentation
¶
Index ¶
Constants ¶
View Source
const (
MergeTree = "MergeTree"
)
Variables ¶
View Source
var JSONSchema string
Functions ¶
This section is empty.
Types ¶
type Engine ¶
type Engine struct {
// Name of the table engine.
// Only [`*MergeTree` family](https://clickhouse.com/docs/en/engines/table-engines/mergetree-family) is supported at the moment.
Name string `json:"name,omitempty" jsonschema:"pattern=^.*MergeTree$,default=MergeTree"`
// Engine parameters.
// Currently, no restrictions are imposed on the parameter types.
Parameters []any `json:"parameters,omitempty"`
}
Engine allows to specify a custom table engine to be used.
func DefaultEngine ¶
func DefaultEngine() *Engine
type OrderByStrategy ¶
type OrderByStrategy struct {
// Table glob patterns that apply for this ORDER BY clause.
//
// If unset, the ORDER BY clause will apply to all tables.
//
// If a table matches both a pattern in `tables` and `skip_tables`, the table will be skipped.
//
// Order by strategy table patterns should be disjointed sets: if a table matches two order by strategies,
// an error will be raised at runtime.
Tables []string `json:"tables,omitempty"`
// Table glob patterns that should be skipped for this ORDER BY clause.
//
// If unset, no tables will be skipped.
//
// If a table matches both a pattern in `tables` and `skip_tables`, the table will be skipped.
//
// Order by strategy table patterns should be disjointed sets: if a table matches two order by strategies,
// an error will be raised at runtime.
SkipTables []string `json:"skip_tables,omitempty"`
// ORDER BY list of expressions to use, e.g. `_cq_sync_group_id, toYYYYMM(_cq_sync_time), _cq_id`,
// the strings are passed as is after "ORDER BY" clause, separated by commas, with no validation or quoting.
//
// An unset order_by is not valid.
OrderBy []string `json:"order_by"`
}
type PartitionStrategy ¶
type PartitionStrategy struct {
// Table glob patterns that apply for this partitioning.
//
// If unset, the partitioning will apply to all tables.
//
// If a table matches both a pattern in `tables` and `skip_tables`, the table will be skipped.
//
// Partition strategy table patterns should be disjointed sets: if a table matches two partition strategies,
// an error will be raised at runtime.
Tables []string `json:"tables,omitempty"`
// Table glob patterns that should be skipped for this partitioning.
//
// If unset, no tables will be skipped.
//
// If a table matches both a pattern in `tables` and `skip_tables`, the table will be skipped.
//
// Partition strategy table patterns should be disjointed sets: if a table matches two partition strategies,
// an error will be raised at runtime.
SkipTables []string `json:"skip_tables,omitempty"`
// Partitioning strategy to use, e.g. `toYYYYMM(_cq_sync_time)`,
// the string is passed as is after "PARTITION BY" clause with no validation or quoting.
//
// An unset partition_by is not valid.
PartitionBy string `json:"partition_by"`
}
type Spec ¶
type Spec struct {
// Connection string to connect to the database.
// See [SDK documentation](https://github.com/ClickHouse/clickhouse-go#dsn) for more details.
//
// Example connection string:
//
// - `"clickhouse://username:password@host1:9000,host2:9000/database?dial_timeout=200ms&max_execution_time=60"`
ConnectionString string `json:"connection_string,omitempty" jsonschema:"required,minLength=1"`
// Cluster name to be used for [distributed DDL](https://clickhouse.com/docs/en/sql-reference/distributed-ddl).
// If the value is empty, DDL operations will affect only the server the plugin is connected to.
Cluster string `json:"cluster,omitempty"`
// Engine to be used for tables.
// Only [`*MergeTree` family](https://clickhouse.com/docs/en/engines/table-engines/mergetree-family) is supported at the moment.
Engine *Engine `json:"engine,omitempty"`
// PEM-encoded certificate authorities.
// When set, a certificate pool will be created by appending the certificates to the system pool.
//
// See [file variable substitution](/docs/advanced-topics/environment-variable-substitution#file-variable-substitution-example)
// for how to read this value from a file.
CACert string `json:"ca_cert,omitempty"`
// Maximum number of items that may be grouped together to be written in a single write.
BatchSize int64 `json:"batch_size,omitempty" jsonschema:"minimum=1,default=10000"`
// Maximum size of items that may be grouped together to be written in a single write.
BatchSizeBytes int64 `json:"batch_size_bytes,omitempty" jsonschema:"minimum=1,default=5242880"`
// Maximum interval between batch writes.
BatchTimeout *configtype.Duration `json:"batch_timeout,omitempty"`
// Enables partitioning of tables via the `PARTITION BY` clause.
Partition []PartitionStrategy `json:"partition,omitempty"`
// Enables setting table sort keys via the `ORDER BY` clause.
OrderBy []OrderByStrategy `json:"order,omitempty"`
}
CloudQuery ClickHouse destination plugin spec.
func (Spec) JSONSchemaExtend ¶
func (Spec) JSONSchemaExtend(sc *jsonschema.Schema)
we need to set default for batch_timeout
func (*Spec) SetDefaults ¶
func (s *Spec) SetDefaults()
Click to show internal directories.
Click to hide internal directories.