Skip to content

Deduplicate the TPC-H table schema across scheduler tests and benchmarks #2603

Closed

Description

@andygrove

Is your feature request related to a problem or challenge? Please describe what you are trying to do.

The ~90-line TPC-H table schema match exists as three byte-identical copies:

A schema change (for example a decimal precision change) has to be made in all three, and nothing checks that they stay the same.

Describe the solution you'd like

Expose a single tpch_schema(table) from one shared location that the scheduler tests and the benchmarks can both depend on, e.g. a ballista_core::test_utils::tpch module, or reuse an existing DataFusion TPC-H helper if one fits. Delete the three copies, and have get_tbl_tpch_table_schema derive from the shared function.

Describe alternatives you've considered

None.

Additional context

This is small and self-contained, a good first issue. Line references are pinned to commit ea1126c.

Activity

  1. added
    enhancementNew feature or request
    help wantedExtra attention is needed
    rustPull requests that update Rust code
    tech debtCode complexity, duplication or structure that makes the codebase harder to change
    on Oct 14, 2026
  2. cestercian commented on Oct 14, 2026

    @cestercian

    take

    I'll move the schema into one shared helper that the scheduler tests and the tpch benchmark both use, delete the copies, and have get_tbl_tpch_table_schema build on it.

  3. added a commit that references this issue on Oct 15, 2026
    b219e05
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

    enhancementNew feature or requestgood first issueGood for newcomershelp wantedExtra attention is neededrustPull requests that update Rust codetech debtCode complexity, duplication or structure that makes the codebase harder to change

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions