Skip to content

feat(locate): add table column selection - #234

Merged
orian merged 1 commit into
mainfrom
feat/locate-column-selection
Sep 7, 2026
Merged

orian merged 1 commit into
mainfrom
feat/locate-column-selection

Conversation

@orian

@orian orian commented Sep 7, 2026

Copy link
Copy Markdown
Collaborator

Summary

  • add table and column selector mode to hclexp locate across manifests, ad-hoc layers, and per-node dumps
  • accept comma-separated exact names or globs and report database, table, column, file, line, placement, and snapshot node identity
  • keep existing positional object lookup and duplicate auditing unchanged, with explicit errors for incompatible combinations
  • return success and a structured columns: [] result when no selected columns remain
  • document selector syntax, matching rules, output, and exit semantics

Verification

  • go test ./...
  • go test -race ./internal/... ./cmd/...
  • go vet ./...
  • go build ./...
  • command-level end-to-end test covering the four-table/six-column report shape, empty success, and malformed-input failure

Closes #233

@orian
orian merged commit 61a046c into main Sep 7, 2026
16 checks passed
@orian
orian deleted the feat/locate-column-selection branch September 7, 2026 09:49
orian added a commit that referenced this pull request Sep 7, 2026
## Summary

- change table/column lookup to load and resolve models before searching
them
- compose every manifest role/environment stack, treat the ordered
-layer list as one model, and load every dump file as an independent
node model
- load independent models through a bounded 32-worker pool while
preserving deterministic result order, allowing all 30 nodes in a
typical cluster to load concurrently
- search final resolved table columns so inheritance, patches,
modifications, overrides, and drops are reflected
- return each matching manifest, layer, or dump model in text and JSON
output and update the public documentation

## End-to-end coverage

- run the CLI in a subprocess for the multi-table/multi-column report,
empty-success behavior, and malformed-input failure
- run the CLI in a subprocess against 30 real node dump files and verify
all 30 resolved model references
- use a worker barrier test to prove 30 loads start concurrently before
any finishes and that results retain source order

## Verification

- go test ./... (1360 tests)
- go test -race ./internal/... ./cmd/... (1346 tests)
- go vet ./...
- go build ./...
- gofmt -s -l .
- git diff --check

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Extend locate with column selection across schema inputs

1 participant