The GitHub Actions job "GraphAr C++ CI Nightly" on incubator-graphar.git/main has failed. Run started by GitHub user acezen (triggered by acezen).
Head commit for run: 6f97f015719ee2586b50116092f59db9fa1945d5 / alex <[email protected]> feat(java): make a declined pushdown visible instead of silent (#972) * feat(java): let a read request name what it wants pushed down A physical read is not only a URI. A caller knows which columns it needs, which source rows, which values, and how many rows are enough - and a backend that learns all four up front can skip work that a caller would otherwise have to discard after the fact. Add the request half of the read API: an ordered projection, a half-open row range, an AND conjunction of row predicates over immutable scalars, and a row limit. A request also reports which of those hints it actually carries, so a backend can answer for each one instead of guessing. A column is addressed through ColumnRef, not a bare String. A reference is unresolved by construction because a request exists before its file is opened; a backend binds it with Schema.resolve, which matches the exact name and refuses an unknown or ambiguous column instead of picking the first hit. A Filter is a closed predicate tree: a column comparison, or AND, OR and NOT over predicates, built through one named factory per operator so a null check cannot be handed a value and a comparison cannot be handed null. A backend walks the tree through a Visitor with one callback per node kind, so adding a node kind is a compile error in every reader rather than a silently skipped branch. Constraint: filter literals stay immutable and lossless. NaN, infinity, and sub-millisecond timestamps are refused rather than silently compared against a value a stored format cannot represent. * feat(java): make a declined pushdown visible instead of silent A backend that cannot apply a hint must still return the same rows as one that can. That leaves a caller unable to tell an applied filter from an ignored one, which matters: an ignored row range or limit changes cost, not results. Add the reader half of the read API. A read returns a cursor together with a report that names every requested hint as applied or declined, and the result refuses to be built unless the report accounts for exactly the hints the request carried - no gaps, no invented ones. Directive: declining a pushdown must not change the rows or the schema a read returns. The contract test asserts that a reader declining everything produces the same output as one applying everything. Report URL: https://github.com/apache/incubator-graphar/actions/runs/35138194201 With regards, GitHub Actions via GitBox --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
