v2.7.1 — zero failing tests
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 theidproperty as anode_idalias: no EXISTS guard, nordf_propsJOIN, justWHERE node_id = ?. Previously generated a spurious structural guard.- BFS dispatch from WHERE clause —
_route_var_lengthnow 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 = $srcnow correctly dispatches toexecute_bfswhen the translator doesn't setsrc_id_paramdirectly. IVGResult.metadatacoercion —@field_validator("metadata", mode="before")coerces dicts and non-QueryMetadatainputs rather than raisingValidationError.IVGResult.__len__— returnslen(self.rows).IVGResult.get()raisesTypeError— callers fail loudly instead of silently gettingNone; all internal callers migrated to attribute access.kg_GRAPH_PATHUNION 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_paramadded to var-length path fixtures so count/temporal/enrichment branches are actually reached.- MERGE DML assertions made schema-prefix-agnostic (
INSERT INTO Graph_KG.nodesvsINSERT 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
IVGResultacross multiple test files.
Install
pip install iris-vector-graph==2.7.1