Repository navigation
chore(tiering): remove dead read_parquet query builders - #502
Conversation
BuildReadParquetExpr, BuildMultiTierQuery, buildReadParquet, and buildFullPath have had zero callers since they were introduced in the original 2-tier commit (2575746) — the query engine builds tiered read_parquet() calls inline in internal/api/query.go (buildMultiTier- ReadParquet → quotePath), never through the router. Confirmed dead by exhaustive cross-repo reference search: the four functions referenced only each other and their tests. PR #501 had just escaped and nil-guarded them as defense-in-depth, but since they are confirmed unreachable (not pending/warm-tier scaffolding — warm was removed before the 2-tier code landed), deleting is the right call: less surface to maintain, and it removes the raw-whereClause injection sink BuildMultiTierQuery carried. The live router methods (GetStoragePathsForQuery, GetGlobPathsForQuery, getBackendName) are untouched. Drops the now-unused sqlutil, storage, and strings imports.
There was a problem hiding this comment.
Code Review
This pull request removes several unused methods (BuildReadParquetExpr, BuildMultiTierQuery, buildReadParquet, and buildFullPath) and their associated imports from internal/tiering/router.go. It also deletes the corresponding unit tests that validated these methods. There are no review comments to address, and I have no additional feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
There was a problem hiding this comment.
Code Review
This pull request removes unused and unwired query-building methods (BuildReadParquetExpr, BuildMultiTierQuery, buildReadParquet, and buildFullPath) from the tiering package, along with their associated unit tests and unused imports. I have no feedback to provide.
Important
The consumer version of Gemini Code Assist on GitHub is being sunset. Starting June 18, 2026, new organization installations will be blocked, and all code review activity will officially cease on July 17, 2026.
For more details on the timeline and next steps, please review the Help Documentation.
Follow-up to #501.
Summary
Removes four dead functions from
internal/tiering/router.go:BuildReadParquetExpr,BuildMultiTierQuery(exported, never called)buildReadParquet,buildFullPath(helpers, only called by the above)These have had zero callers since they were introduced in the original 2-tier commit (
2575746). The query engine builds tieredread_parquet()calls inline ininternal/api/query.go(buildMultiTierReadParquet→quotePath) and never routes through these builders. The only live router methods —GetStoragePathsForQuery,GetGlobPathsForQuery(the one query.go actually calls), andgetBackendName— are untouched.Why delete rather than keep
#501 had just escaped and nil-guarded these as defense-in-depth. But once confirmed unreachable (exhaustive cross-repo reference search: the four functions referenced only each other + their tests; verified
GetGlobPathsForQuery, the live entry point, calls none of them), deleting is the better outcome:whereClauseSQL-fragment injection sink thatBuildMultiTierQuerycarried (documented in fix(tiering): escape paths in router read_parquet builders (#307) #501 as a hazard for any future caller — now moot).They are not pending/incomplete scaffolding: an earlier hot/warm/cold design was collapsed to 2-tier before this code landed (
tier_test.gocomments: "Warm tier removed in 2-tier system";TierWarmwas never a committed constant), androuter.gowas born in the 2-tier commit itself. This is superseded code, safe to remove.Drops the now-unused
sqlutil,storage, andstringsimports. Pure deletion (241 lines), no behavior change, no release-notes entry.Test plan
go build ./cmd/... ./internal/...go vet ./internal/tiering/,gofmt -lcleango test ./internal/tiering/ ./internal/api/ -count=1passes🤖 Generated with Claude Code