Visitar URL original
bindings docs and tests: known issues and tripwires for upstream #9277, #9278, and #9281 by tae898 · Pull Request #198 · humemai/arcadedb-embedded-python · GitHub
Skip to content

bindings docs and tests: known issues and tripwires for upstream #9277, #9278, and #9281 - #198

Merged
tae898 merged 1 commit into
mainfrom
bindings-known-9277
Oct 6, 2026
Merged

tae898 merged 1 commit into
mainfrom
bindings-known-9277

Conversation

@tae898

@tae898 tae898 commented Oct 5, 2026

Copy link
Copy Markdown

Summary

Three engine bugs found while verifying upstream fixes reach Python users, each with a known-issues entry, a verified workaround, and tests.

The workarounds are plain tests (a WITH before the WHERE, which keeps the query off the push-down, and b.asInteger() or toInteger(n.b) before the aggregate), with tests of the cases that are not affected; the wrong answers are strict xfail tests that start failing the suite when the engine fixes them. The plan check calls pytest.fail, so a tripwire cannot pass by comparing the row pipeline with itself.

Verification

Through the bindings on the CI jar of upstream d36b4ca (the wheel's bundled JDK 25): 15 passed and 9 xfailed in tests/test_count_pushdown_known_issues.py. With the 26.9.1 engine jars only the two id() cases fail, because that engine does not push them down, which is what the plan check is for. In Java, byte-identical repros on Temurin 25 with compact object headers and on Temurin 21 give the same answers on 26.9.1, 5a90b0f, and d36b4ca.

Closes #197.

🤖 Generated with Claude Code

https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi

…upstream ArcadeData#9277, ArcadeData#9278, and ArcadeData#9281

The openCypher COUNT ANTI-JOIN CHAIN push-down counts wrong when the far end of the chain has another label than the first hop's target (ArcadeData#9277; upstream ArcadeData#9271 lets id(a) <> id(b) reach it) and when the negated pattern's relationship has a property map (ArcadeData#9278), and sum() and avg() over a BYTE property raise IllegalArgumentException (ArcadeData#9281). Each entry has a workaround that is a plain test (a WITH before the WHERE, a conversion before the aggregate), tests of the cases that are not affected, and strict xfail tests of the wrong answers that start failing the suite when the engine fixes them. The plan check calls pytest.fail so a tripwire cannot pass by comparing the row pipeline with itself.

Closes #197.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi
@tae898
tae898 force-pushed the bindings-known-9277 branch from d37db01 to 8ca1cfd Compare October 6, 2026 00:39
@tae898
tae898 merged commit 41fcbbd into main Oct 6, 2026
48 checks passed
@tae898
tae898 deleted the bindings-known-9277 branch October 6, 2026 01:20
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.

docs and tests: known-issues entries and tripwires for upstream #9277, #9278, and #9281

1 participant