Skip to content

Fix #1219: harden pushdown null-safety keyword scanning - #1281

Merged
lmeyerov merged 1 commit into
masterfrom
issue-1219
May 4, 2026
Merged

lmeyerov merged 1 commit into
masterfrom
issue-1219

Conversation

@lmeyerov

@lmeyerov lmeyerov commented May 4, 2026 •

Copy link
Copy Markdown
Contributor

Summary

  • harden is_null_rejecting() by masking quoted/backticked segments before null-safe/operator substring scans
  • prevent false-safe classification when null-safe keywords appear only inside string literals (for example: 'x is not null', 'coalesce(')
  • add regression tests in pushdown safety + predicate pushdown pass and document in CHANGELOG

Validation

  • python -B -m pytest -q graphistry/tests/compute/gfql/test_pushdown_safety.py graphistry/tests/compute/gfql/test_predicate_pushdown_pass.py
  • python -B -m pytest -q graphistry/tests/compute/gfql/cypher/test_where_bool_conformance.py -k "PushdownExprShape"
  • uv run ruff check graphistry/compute/gfql/ir/pushdown_safety.py graphistry/tests/compute/gfql/test_pushdown_safety.py graphistry/tests/compute/gfql/test_predicate_pushdown_pass.py
  • UV_CACHE_DIR=/tmp/uv-cache MYPY_CMD='uv run mypy' MYPY_CACHE_DIR=/tmp/mypy-cache ./bin/mypy.sh graphistry/compute/gfql/ir/pushdown_safety.py

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.

1 participant