You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Port the breaking VGI wire-protocol change (vgi-python 0.15.0, vgi C++
extension) to the Go SDK. The TableInfo trailing field is renamed from
required_field_filter_paths to required_filters, and its type changes from a
flat AND-only []string to conjunctive normal form [][]string: an outer AND of
inner OR-groups of dotted-path column references. A group is satisfied when any
one of its member paths has a WHERE filter; every group must be satisfied. So
[["accession_number"], ["ticker","cik"]] means "accession_number AND one of
(ticker, cik)". No backward compatibility — the old name is removed entirely.
- Wire type: list<utf8> -> list<list<utf8>> (arrow.ListOf(arrow.ListOf(String))),
serialized via the nested list-builder pattern used by unique_constraints /
primary_key_constraints.
- TableInfo.RequiredFilters and CatalogTable.RequiredFilters are now [][]string.
- Add validateRequiredFilters (mirrors vgi-python's descriptor): reject empty
groups and empty strings; the leading dotted segment of each path must name a
real column.
- Convert example fixtures to singleton groups to preserve prior AND meaning and
add rff_or, a genuine OR-group ([["a","b"]]) backing required_filters_or_group.
- Add unit tests for CNF serialization round-trip and validation.
Verified: go build ./..., go vet ./..., go test ./... (green), and the full
Query-farm/vgi sqllogictest integration suite (make test: 9909 assertions,
249 cases, 0 failures), including required_filters_or_group.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
0 commit comments