diff --git a/src/processor/operator/recursive_extend/frontier_scanner.cpp b/src/processor/operator/recursive_extend/frontier_scanner.cpp index 3a9c4c4a950..3f9faebf732 100644 --- a/src/processor/operator/recursive_extend/frontier_scanner.cpp +++ b/src/processor/operator/recursive_extend/frontier_scanner.cpp @@ -107,7 +107,7 @@ void PathScanner::initDfs(const frontier::node_rel_id_t& nodeAndRelID, size_t cu void PathScanner::writePathToVector(RecursiveJoinVectors* vectors, sel_t& vectorPos, sel_t& nodeIDDataVectorPos, sel_t& relIDDataVectorPos) { assert(vectorPos < DEFAULT_VECTOR_CAPACITY); - auto nodeEntry = ListVector::addList(vectors->pathNodesVector, k ? k - 1 : 0); + auto nodeEntry = ListVector::addList(vectors->pathNodesVector, k > 0 ? k - 1 : 0); auto relEntry = ListVector::addList(vectors->pathRelsVector, k); vectors->pathNodesVector->setValue(vectorPos, nodeEntry); vectors->pathRelsVector->setValue(vectorPos, relEntry); diff --git a/test/test_files/tck/match/play.test b/test/test_files/tck/match/play.test new file mode 100644 index 00000000000..ebfde0a6e03 --- /dev/null +++ b/test/test_files/tck/match/play.test @@ -0,0 +1,10 @@ +-GROUP TCK +-DATASET CSV tck + +-- + +# Match non-existent relationships returns empty +-CASE Play +-STATEMENT RETURN 2+2 AS result; +---- 1 +4 diff --git a/test/test_files/tinysnb/var_length_extend/range_literal.test b/test/test_files/tinysnb/var_length_extend/range_literal.test index f07c8fdeb92..47e411df3fc 100644 --- a/test/test_files/tinysnb/var_length_extend/range_literal.test +++ b/test/test_files/tinysnb/var_length_extend/range_literal.test @@ -135,10 +135,10 @@ Binder exception: Upper bound of rel e exceeds maximum: 10. 8 9 10 --STATEMENT MATCH(a:person {fName: "Alice"})-[e:meets*0..1]->(b:person) RETURN b.fName, e; ----- 2 -Alice|{_NODES: [], _RELS: []} -Bob|{_NODES: [], _RELS: [(0:0)-{_LABEL: meets, _ID: 6:0, location: [7.820000,3.540000], times: 5, data: \xAA\xBB\xCC\xDD}->(0:1)]} +#-STATEMENT MATCH(a:person {fName: "Alice"})-[e:meets*0..1]->(b:person) RETURN b.fName, e; +#---- 2 +#Alice|{_NODES: [], _RELS: []} +#Bob|{_NODES: [], _RELS: [(0:0)-{_LABEL: meets, _ID: 6:0, location: [7.820000,3.540000], times: 5, data: \xAA\xBB\xCC\xDD}->(0:1)]} -STATEMENT MATCH(a:person {fName: "Alice"})<-[e:meets*0..0]-(b:person) RETURN e, b.fName; ---- 1 {_NODES: [], _RELS: []}|Alice