Skip to content

v2.7.1 — zero failing tests

Choose a tag to compare

@tom-dyar tom-dyar released this 29 Aug 13:53
· 254 commits to main since this release
147be49

What changed

7693 passed, 0 failed. This is a maintenance release that eliminates 24 pre-existing unit test failures while hardening the engine and IVGResult API.

Engine / translator fixes

  • MATCH (n {id: 'abc'}) — translator now treats the id property as a node_id alias: no EXISTS guard, no rdf_props JOIN, just WHERE node_id = ?. Previously generated a spurious structural guard.
  • BFS dispatch from WHERE clause — _route_var_length now extracts the source node ID from SQL parameters before branching to the labeled multi-source path. MATCH (a)-[*1..3]->(b) WHERE a.node_id = $src now correctly dispatches to execute_bfs when the translator doesn't set src_id_param directly.
  • IVGResult.metadata coercion — @field_validator("metadata", mode="before") coerces dicts and non-QueryMetadata inputs rather than raising ValidationError.
  • IVGResult.__len__ — returns len(self.rows).
  • IVGResult.get() raises TypeError — callers fail loudly instead of silently getting None; all internal callers migrated to attribute access.
  • kg_GRAPH_PATH UNION aliases — both branches now use consistent column names (from_id, rel_type, to_id).

Test suite

  • _schema_prefix = "Graph_KG" added to all remaining engine mock helpers that were missing it.
  • src_id_param added to var-length path fixtures so count/temporal/enrichment branches are actually reached.
  • MERGE DML assertions made schema-prefix-agnostic (INSERT INTO Graph_KG.nodes vs INSERT INTO nodes).
  • SKIP+LIMIT assertion updated to match actual ROW_NUMBER pagination (the translator never emitted FETCH FIRST + OFFSET; ROW_NUMBER is the correct approach).
  • Dict mocks converted to IVGResult across multiple test files.

Install

pip install iris-vector-graph==2.7.1