Repository navigation
bindings docs: known issues for upstream #9014, #9017, #9021, and #9027, with workaround tests and strict xfail tripwires - #109
Merged
Conversation
…9017, ArcadeData#9021, and ArcadeData#9027, with workaround tests and strict xfail tripwires (#106) Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DeKEhHXJTy1H1GgbfBZ8mL
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01DeKEhHXJTy1H1GgbfBZ8mL
tae898
added a commit
that referenced
this pull request
Oct 4, 2026
…le records, and re-pin rows 60-64 (#162) * /next page: LSQB's id-form queries, the narrow analytical view, sparse whole records, and the documents load in the list of what the next measurement changes - Graph OLAP (l2olap, pending; appears when the table lands): a sentence that the LSQB queries a row without `lsqb_text` measured (of q5, q6, q8, and q9, named as the table's columns name them) compared the matched nodes' ids where LSQB's own text compares the nodes, which keeps ArcadeDB off the operators it has for them and slows other engines too, and that the next measurement runs LSQB's own text (BUGS F174, DECISIONS #154 items 1 and 2; export_web._lsqb_id_form_note). page_check checks the disclosure the way it checks F169's. - Graph OLAP: a sentence that ArcadeDB's Graph Analytical View covers only the persons and their friendships, so no LSQB query can use it, and that the next measurement builds it over every type and keeps the rows without it; keyed on ArcadeDB with-view rows without `gav_types` (DECISIONS #154 item 3). - Sparse vector search (l3s): a sentence that each ArcadeDB search returns every hit's whole record while every other engine returns ids; keyed on ArcadeDB sparse rows without `sparse_result` (DECISIONS #153 item 1). - Page-level list: one line each for the LSQB text, the view over every type, the sparse ids (each shown while its table sentence is on the page), and ArcadeDB embedded's columnar documents load, keyed directly on the ArcadeDB embedded documents rows without `columnar_insert`, since the tables' ingest-path sentence already says what ran (DECISIONS #153 item 2). - CAMPAIGN section 7 rows 60-64: LSQB's own text on every engine and the #109 re-decision; the view over every type; the sparse arms return ids; the documents lane's columnar insert once own issue #150 ships (the user's choice over my recommendation); the sparse multipass driver keeps each comparator's version (F173, own issue #158). Payload regenerated by refresh_web_page steps 2 and 3 by hand (BENCH_ENGINE_COMMIT=417314c18, BENCH_INSTRUMENT=2026-10, BENCH_ONLY_LANES=e2,l1tpc,l2,l3s,lifecycle; untracked runs.jsonl, e4decomp_417314c18, and sparse_mp_417314c18 copied from the main checkout); the unchanged generator reproduced the tracked payload byte for byte first. No table, entry, cell, column, or top-level field changed: l3s gains one condition, the page conditions gain two lines, and condition_provenance gains their three records. Gates: equivalence, provenance, fairness, version consistency, version pin, and structure ok with logs identical to the baseline; page_check against the real site rc=0, 0 condition findings. The l2olap sentences and list lines were checked on stand-in rows (the laptop skeleton's sf1 graph analytics rows at sf1full): they render, name LSQB Q5 and LSQB Q8 when q6 and q9 are excluded at the tier, and leave with `lsqb_text`, `gav_types`, `sparse_result`, and `columnar_insert` set. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi * /next page: the LSQB id-form sentence says only what holds for every query it can name On the real October rows the l2olap sentence names LSQB Q5 and LSQB Q8 (q6 and q9 are excluded at sf1full), and two clauses were not sourced for those two: "the operators it has for these queries" (the hunt found count operators for q5, q6, and q9, not q8) and "slows other engines too" (measured on Neo4j, on q9 only). The second sentence now reads "The answers are the same either way, but on the build measured here the id form keeps ArcadeDB on a slower plan than LSQB's own text gets.", which holds at the pin for each of q5, q6, q8, and q9 with and without the lane's view (perf-lsqb-q9-20261004 out/summary-all-runs.md, recA1-oct and recA2-oct; q5's order reverses on newer main, hence "the build measured here"). The page_check docstring, the exporter comment, and CAMPAIGN row 60's status say the same. The page-list item is unchanged. Payload regenerated the same way (refresh_web_page steps 2 and 3 by hand): byte-identical to the previous commit's, since l2olap is pending. Gates: equivalence, provenance, fairness, version consistency, version pin, and structure ok; page_check against the real site rc=0, 0 condition findings; every gate log identical to the previous commit's run. Stand-in rows render the new sentence for LSQB Q5 and LSQB Q8 and for all four, page_check reports it disclosed (and missing once removed), and `lsqb_text` retires it. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01Ubz3m6QXHESerCkehC1qgi --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Closes #106.
Four engine findings from today's schema hunt reach Python users and are wrong answers or wrong stored values, which is what this page lists. Each was measured through the bindings on a 26.10.1 snapshot, with the workaround checked on the same reproduction.
CREATE PROPERTY ... (mandatory true, notnull true)over records that lack the property, thenORDER BYover an index drops those records (new on main since 6212446 and 35eb31e). Workaround: give every record the property first, or relax the constraints withALTER PROPERTY; both returned all five records.WHERE i = 12.5returns the record holding 12,i >= 12.5returns 12,i < 12.5misses 12, andl = 1e19returns Long.MAX_VALUE; openCyphern.i < 12.5misses 12 since 179cf8dcdc ArcadeData/arcadedb#9021: an index on an INTEGER or LONG answers for a bound with a fraction as if it were rounded (i = 12.5returns 12,i < 12.5misses 12, afloatof1e19findsLong.MAX_VALUE). Workaround: round the bound in the direction of the operator; the rounded bound matched the unindexed scan for all four range operators.bool,list, ordictwritten to a declared numeric property is stored as NULL, and''as 0 in SHORT, INTEGER, LONG, FLOAT, and DOUBLE. Workaround: convert in Python first.tests/test_declared_type_known_issues.pyhas a test of each workaround and a strictxfailper finding that fails the suite when an engine fix reaches the wheel. I ran thexfailtests with--runxfailto confirm each fails on its intended assertion ([1, 2, 3, 4]against five records,[12]against[],DID NOT RAISE,0 != 0). The page header now says what aTests:line means. ArcadeData#9024 has no entry: a Python int past int64 raisesOverflowErrorbefore the engine sees it.Rebased onto #105 (the two entries append to the same place; both kept). Full suite on a wheel built from the cecb369 engine: 503 passed, 3 skipped, 11 xfailed. black and bandit (run after the formatter this time) are clean.
🤖 Generated with Claude Code
https://claude.ai/code/session_01DeKEhHXJTy1H1GgbfBZ8mL