#13998·skywalking

[Chore] Remove row-based query from Stream, Measure and Trace

Author: hanahmilyCreated Aug 24, 2026Updated Sep 17, 2026
Labelschoredatabase

Summary

Remove the legacy row-based query code path from the Stream, Measure and Trace query engines in BanyanDB.

Motivation

Row-based query is the old (per-row / per-data-point) execution path. The newer columnar / vectorized execution model has been the default for some time, and the row-based path is now dead weight: duplicated tests, larger binary, and a maintenance tax. Removing it shrinks the surface area and forces callers onto the supported code path.

Scope

  • Identify every reference to the row-based query path in:
    • banyand/internal/query (or wherever the query engines live — verify during research).
    • Public API / proto definitions, if row-mode is exposed there.
    • Tests, fixtures, benchmarks.
  • Remove the code paths, their flags / options, and any still-supported APIs.
  • Update docs (docs/concept/, docs/api-reference.md) to drop row-mode mentions.
  • Ensure all existing tests pass on the remaining code path.

Tasks

  1. Research — enumerate call sites and the public surface that exposes row-mode (CLI flags, HTTP/gRPC fields, env vars).
  2. Removal — delete the row-mode code, its tests, and benchmarks.
  3. Compatibility — if any documented option still names row-mode, return a clear error / 410 Gone for a transition period (decision in design step).
  4. Tests — make sure CI is green after deletion; update coverage reports.
  5. Docs — sweep docs and examples.

Acceptance Criteria

  • No remaining row-mode code, tests, or flags in the repo.
  • All previously-passing tests still pass on the columnar/vectorized path.
  • Docs no longer reference row-mode.
  • Binary size / build time measurably reduced.

Related

  • Parent milestone: BanyanDB - 0.12.0 (#264)