Skip to content

introspect: widen supported engine set (S3, integration engines, VersionedCollapsing, Graphite, ...) #86

Description

@orian

Symptom

The engine switch in internal/loader/hcl/introspect.go:529-689 covers the MergeTree family (+ Replicated variants), Distributed, Log, Join, Null, Memory, Merge, Buffer, Kafka and TimeSeries. Everything else falls through to "unsupported engine" and aborts introspection (or requires -allow-raw).

Missing: S3, URL, File, MySQL, PostgreSQL, MongoDB, RabbitMQ, NATS, EmbeddedRocksDB, Dictionary-engine tables, VersionedCollapsingMergeTree, GraphiteMergeTree, and their Replicated variants.

Impact

Any database containing one of these engines cannot be introspected strictly; with -allow-raw the objects degrade to opaque raw{} blocks (text-diffed, DROP+CREATE on change).

Fix direction

Add typed engine specs incrementally, prioritized by what real deployments use (VersionedCollapsingMergeTree and the integration engines are the likeliest). Each addition per project rule needs introspect + dump + sqlgen + diff coverage.

Found in the 2026-07-02 deep-dive audit (docs/plans/2026-07-02-deep-dive-improvement-areas.md, B2).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions