Skip to content

Wire batch_row_counts trait call into rocky-adapter-sdk conformance runner #475

@hugocorreia90

Description

@hugocorreia90

engine/crates/rocky-adapter-sdk/src/conformance.rs::run_conformance currently iterates every TestSpec and marks all supported tests as Passed with zero duration. #383 wires one real trait call (SqlDialect::format_table_ref). This issue is the next deliberately narrow slice: wire one more trait call so the runner exercises another adapter method against a real fixture.

Depends on #383 — read its merged PR as your template; this issue follows the same shape with one different trait.

Scope

When the spec name is "batch_row_counts", invoke BatchCheckAdapter::row_counts(...) against a stub TableRef (or stub adapter) and assert the returned counts vector is non-empty. Leave the other ~25 specs on the current Passed-stub path — follow-up issues will wire them incrementally.

Stronger assertions are adapter-specific — keep this first wiring simple.

Code refs

  • engine/crates/rocky-adapter-sdk/src/conformance.rs:282-286 — the batch_row_counts spec entry
  • engine/crates/rocky-adapter-sdk/src/conformance.rs:309run_conformance signature
  • engine/crates/rocky-adapter-sdk/src/conformance.rs:337-348 — the "all supported tests marked Passed" placeholder block
  • engine/crates/rocky-adapter-sdk/src/traits.rsBatchCheckAdapter::row_counts

Acceptance criteria

  • run_conformance invokes BatchCheckAdapter::row_counts for the batch_row_counts spec only
  • A new in-crate test exercises the wiring with a stub adapter that returns at least one row count
  • All other specs continue to land on the current Passed-stub path
  • cargo test -p rocky-adapter-sdk is green
  • docs/src/content/docs/guides/adapter-sdk.md gains a one-line note that batch_row_counts is now wired, matching the style of the note added in Wire one trait call into rocky-adapter-sdk conformance runner #383

Effort

2–3 hours. The bigger trait-unification work is deliberately out of scope.

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type
    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