Skip to content

Remove the dead materialization machinery (V0) #307

Closed

Description

@jsam

Part of epic #305.

Problem. auto_materialize, refresh_materializations, evaluate_rule, materialize_derived_relation, set_auto_materialize (src/storage_engine/mod.rs:2342-2350,2483-2549), DerivedRelationsManager/CompiledRule (src/derived_relations.rs, 797 lines; clauses always empty per src/storage_engine/catalog_change.rs:424-429), the materialized_relations field threaded through snapshots and the change log (src/storage_engine/snapshot.rs:74,249,616-621; src/storage_engine/precondition.rs:131-135,173), install_catalog's dd.register_rule branch (catalog_change.rs:333-348), shadow_write (program_commit.rs:396-413) and materialize_tests.rs are reachable only from tests and describe a design that will not be built. They mislead readers (and the architecture doc) and add a lock around every snapshot publish when enabled.

Target. Delete all of the above and the IncrementalEngine derived-relations API (register_rule, set_materialized, notify_base_update, derived_relations()), keeping the worker-thread skeleton (IncrementalEngine::new/worker_loop/insert/delete, incremental.rs:95-330) as the seed of V2. publish_snapshot takes the simple branch only. Docs in src/ rewritten per D1.

Acceptance. grep -rn "materializ" src/ returns only comments explaining recompute-on-read; all tests pass; cargo clippy -D warnings clean; snapshot publish has no DerivedRelationsManager lock; binary size and test count reported in the PR.

Size M. Dependencies none. Order slot 1.

Activity

  1. jsam commented on Oct 5, 2026

    @jsam
    ContributorAuthor

    Done in #368 (merged, CI green).

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions