Visitar URL original
known issues: SQL = on a list or map misses a list written from Python (ArcadeData/arcadedb#10448) by tae898 · Pull Request #358 · humemai/arcadedb-embedded-python · GitHub
Skip to content

known issues: SQL = on a list or map misses a list written from Python (ArcadeData/arcadedb#10448) - #358

Merged
tae898 merged 2 commits into
mainfrom
known-issue-10448
Oct 20, 2026
Merged

tae898 merged 2 commits into
mainfrom
known-issue-10448

Conversation

@tae898

@tae898 tae898 commented Oct 20, 2026 •

Copy link
Copy Markdown

Fixes #357.

ArcadeData#10448 reaches Python users directly: Document.set, Vertex.set and GraphBatch.create_vertices store a Python int as a Long, a SQL literal such as [1, 2] parses to Integer elements, and SQL = compares list and map elements with Java equals(), so WHERE li = [1, 2] misses a list written from Python and li <> [1, 2] returns it.

  • docs/guide/known-issues.md: a new entry (versions, what you see, the workaround), and the intro now says the first entry is an engine bug.
  • tests/test_collection_equality_known_issues.py: the two workarounds (openCypher =, a named SQL parameter) as plain tests, and strict xfail tripwires on the SQL list and map literals, which fail the suite once the fix reaches the wheel. With a BY ITEM index on the list, SQL = is answered from the index and matches nothing (literal or parameter; SQL = on a list or map compares elements with Java equals, so [1L, 2L] is not equal to [1, 2] (CONTAINSALL, GROUP BY and Cypher say it is) ArcadeData/arcadedb#10448 comment 6291702807), so the entry says the parameter does not help there, and the test checks openCypher through the index with a tripwire on the parameter.
  • docs/development/testing.md: the file's row in the test table.

Ran locally: uv run pytest bindings/python/tests/test_collection_equality_known_issues.py (3 passed, 3 xfailed on the 26.10.2 wheel), uvx pre-commit run --files on the three files, uv run mkdocs build --strict -f bindings/python/mkdocs.yml.

🤖 Generated with Claude Code

tae898 and others added 2 commits October 20, 2026 22:11
ArcadeData#10448) (#357)

Document.set, Vertex.set and GraphBatch store a Python int as a Long; a SQL
literal parses to Integer elements, and SQL = compares list and map elements
with Java equals. Entry with the checked workarounds (openCypher =, a named
SQL parameter) and a test of them with strict xfail tripwires on the literals.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…BY ITEM index (#357)

With a BY ITEM index on the list, SQL = is answered from the index and matches
nothing (ArcadeData#10448, comment 6291702807). openCypher = still
matches: tested through the index, with a strict xfail tripwire on the
parameter.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@tae898
tae898 merged commit d8abb03 into main Oct 20, 2026
91 of 96 checks passed
@tae898
tae898 deleted the known-issue-10448 branch October 20, 2026 14:36
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.

known issues: SQL = on a list or map misses lists written from Python (ArcadeData/arcadedb#10448)

1 participant