Skip to content

Phase 2.8: Wire up stubbed batch/snapshot RPC methods #32

Description

@aesslinger

Part of the Phase 2 set of PostgreSQL-specific features beyond the built-in driver.

Problem

Four RPC methods are already registered in rpc.rs's dispatch table but stubbed with not_implemented() in src/handlers/metadata.rs, returning a -32601 error instead of real data:

  • get_schema_snapshot
  • get_all_columns_batch
  • get_all_foreign_keys_batch
  • get_materialized_view_definition

Found during a README audit (2026-08-18) and surfaced in the README's "Known Limitations" section pointing back here.

Why this differs from the other Phase 2 items

Every other Phase 2 issue (#25#31) is new-feature design work — deciding what the feature should even look like. This is different: the RPC surface and method names already exist in the dispatch table, so this is implementation work against an already-agreed contract, not feature design.

Proposed approach

  • get_materialized_view_definition — low-effort. Same pattern as the existing get_view_definition, reading from pg_matviews.definition.
  • get_all_columns_batch, get_all_foreign_keys_batch, get_schema_snapshot — need a host-side caller check first. There's no existing caller in this repo to infer the expected response shape from, so confirm what tabularis's frontend actually expects (likely a batched/aggregated response across multiple tables, given the naming) before implementing — check tabularis's frontend source for any code that calls these method names, or ask the maintainers if the contract isn't otherwise discoverable.

Acceptance criteria

  • All 4 methods return real data instead of -32601 errors
  • get_materialized_view_definition matches get_view_definition's existing response shape/conventions
  • The two *_batch methods and get_schema_snapshot match whatever shape the frontend caller actually expects (verified against real caller code, not guessed)
  • README's "Known Limitations" section is removed/updated once all 4 land
  • No regressions in existing Phase 1 parity tests

References

  • Priority: Sprint 7 — low effort, already-agreed contract

Activity

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

Metadata

Metadata

Assignees

Labels

enhancementNew feature or request

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions