Repository navigation
Conversation
Leading CREATE/DROP GFQL INDEX statements separated by ';' build the indexes in order and the query that follows runs on them; the caller's g is unchanged. ';' inside literals is not a break; DDL after the query or SHOW inside a list is a typed error; a lone DDL statement keeps its path. indexing.rst's two-calls note becomes the fused example. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_012Me1E7ZdDuGqJGu3mMEzhp
Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_012Me1E7ZdDuGqJGu3mMEzhp
…r the routes-off replay Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_012Me1E7ZdDuGqJGu3mMEzhp
… docs sentences Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_012Me1E7ZdDuGqJGu3mMEzhp
…egister it in the polars lane Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_012Me1E7ZdDuGqJGu3mMEzhp
|
Real-GPU receipt (dgx-spark, |
|
Closing as superseded. Master landed the same feature independently in cdac877 (#2119 is marked done in the 0.59.1 changelog): The one residual this branch still carried was the |
Read-only review (parallel session) — supersession audit vs master #2132Nothing here touches the branch; findings only, fixes deferred. Mode: findings, fixes deferred. Read-only; the branch is the colleague's. Method: #2130's own
Verdict: superseded. Every accepted shape in #2130 is accepted by master with the same result, and The docs paragraph fix the colleague wants to carry is already going into #2131 per their note. Recommendation: close #2130 with a comment pointing at #2132 and the one-line error-message follow-up Draft close comment:
🤖 Generated with Claude Code |
Summary
Closes #2119.
CREATE GFQL INDEX ...was matched whole-string, so building an index and querying it were twogfql()calls (theindexing.rst"two calls today" note). Now leadingCREATE GFQL INDEX FOR <kind>/DROP GFQL INDEX ...statements separated by;build the indexes in order and the query that follows runs on them; the caller'sgis unchanged:cypher_ddl.py:split_top_level_statements(;outside quotes/brackets) andparse_index_ddl_prefix, gated by an unanchored(CREATE|DROP|SHOW) GFQL INDEXsearch so a plain query pays nothing; a lone DDL statement returns None and keeps today's whole-string path (and today's "Malformed" error).ComputeMixin.gfql: applies the leading ops withapply_index_op, then runs the remainder on the indexed graph (or returns the indexed graph for a DDL-only list), honoringindex_policy/engine.SHOW GFQL INDEXESinside a list (it returns a table), malformed DDL.;inside a string literal is not a statement break.indexing.rst: the two-calls sentence becomes the fused example (an unmarked block, sodocs/test_doc_examples.pyruns it).Design note and the deferred
GRAPH { CALL graphistry.index.* }form are inplans/gfql-benchmark-numbers/plan.md("QUEUE ITEM #2119"): the issue's "or a statement list in gfql()" is met here; the CALL form needs a new procedure backend + safelist entry and is left as an owner call.Test plan
graphistry/tests/compute/gfql/index/test_index_ddl_statement_list_2119.py(9): fused query takes the index and leaves the caller untouched, DDL-only list, literal;, four typed rejections, lone statements keep their paths, splitter/prefix contractdocs/test_doc_examples.py -k indexing: passedbin/lint.sh, mypy clean🤖 Generated with Claude Code
https://claude.ai/code/session_012Me1E7ZdDuGqJGu3mMEzhp