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
ci: run the vgi integration suite on every push + expression-filter pushdown
Add a GitHub Actions workflow that runs the canonical Query-farm/vgi
integration sqllogictest suite against the Java example worker on every
push/PR, without building the C++ extension from source. It drives a prebuilt
standalone haybarn-unittest and installs the signed vgi extension via
`INSTALL vgi FROM community` (deps from core); ci/preprocess-require.awk
rewrites each `require <ext>` gate into an explicit INSTALL+LOAD so the
standalone runner can run the tests. ci/run-integration.sh + ci/wrappers/ are
the committed, path-relative replacements for the old /tmp harness. Validated
at 172 pass / 13 skip / 0 fail (skips are the http/bearer/dynamic/
schema_reconcile require-env gates).
Greening the suite surfaced a real gap: spatial_filter_example and
expression_filter_test were zero-row stubs, and table/expression_filter.test
had always silently skipped (the dev harness can't load spatial). Implement
the expression-filter pushdown subsystem end-to-end:
- core: PushdownFilterType.EXPRESSION + PushdownFilter.Expression; decoder
renders the pushed expression tree to SQL (geoarrow.wkb -> ST_GeomFromHEXWKB),
mirroring vgi-python's ExpressionNode.to_sql; expressionPredicates() accessors.
- worker: ExpressionFilterEvaluator evaluates predicates against each batch via
an embedded haybarn_jdbc engine (spatial loaded), bridged in over the Arrow C
Data interface. haybarn_jdbc is a worker-only dependency; vgi core stays
engine-free.
- FunctionMetadata.withSupportedExpressionFilters -> FunctionInfo wire field.
- real SpatialFilterExampleFunction + ExpressionFilterTestFunction fixtures
replace the stubs. expression_filter.test now runs and passes (30 assertions,
incl. the pushdown EXPLAIN asserts).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
0 commit comments