Skip to content

Conversation

@DatGuyJonathan
Copy link
Contributor

@DatGuyJonathan DatGuyJonathan commented Dec 1, 2025

Note

Adds end-to-end support for ClickHouse MATERIALIZED columns across schema, DDL, parsing/diffing, codegen (TS/Python), validation, tests, and docs.

  • Core/Infra:
    • Add materialized to Column/ClickHouseColumn models, proto (infrastructure_map.proto), JSON/proto (de)serialization, and equivalence/diff logic.
    • Enforce mutual exclusivity with default and forbid primary keys when materialized is set.
  • ClickHouse DDL/Mapper:
    • Generate MATERIALIZED in CREATE TABLE and ALTER TABLE ... MODIFY/ADD COLUMN; support REMOVE MATERIALIZED paths.
    • Parse system.columns to capture MATERIALIZED default_type and expressions.
  • Codegen:
    • TypeScript: introduce ClickHouseMaterialized type, handle annotation in converters, import/export, and emit correct type tags with TTL/Codec ordering.
    • Python: add ClickHouseMaterialized dataclass; generator applies Annotated[..., ClickHouseMaterialized("...")] and validates against default.
  • E2E/Tests:
    • Expand schema definitions with MaterializedTest; add validation in e2e utils for column materialized.
    • Add extensive unit tests across Rust/TS/Python for materialized handling, SQL generation, diffing, and exclusivity rules.
  • Docs:
    • New guides for Materialized Columns in TS/Python and Moose docs; navigation updated.

Written by Cursor Bugbot for commit 1a6f273. This will update automatically on new commits. Configure here.

@vercel
Copy link

vercel bot commented Dec 1, 2025

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Preview Comments Updated (UTC)
docs-v2 Ready Ready Preview Comment Dec 1, 2025 7:50pm
framework-docs Ready Ready Preview Comment Dec 1, 2025 7:50pm

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants