This is an automated email from the ASF dual-hosted git repository.

rafsun42 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/age.git


The following commit(s) were added to refs/heads/master by this push:
     new b3e97a37 Issue # 1007 - Add regression tests for MATCH clause using 
labels only (#1019)
b3e97a37 is described below

commit b3e97a378a0e0b586cf0f2c394751d8ec91de60e
Author: Zainab Saad <105385638+zainab-s...@users.noreply.github.com>
AuthorDate: Mon Jul 10 21:48:18 2023 +0500

    Issue # 1007 - Add regression tests for MATCH clause using labels only 
(#1019)
    
    - Add regression tests for cypher queries that enter
      either or both last IF conditionals in
      make_directed_edge_join_conditions in cypher_clause.c
---
 regress/expected/cypher_match.out | 184 ++++++++++++++++++++++++++++++++++++++
 regress/sql/cypher_match.sql      |  81 +++++++++++++++++
 2 files changed, 265 insertions(+)

diff --git a/regress/expected/cypher_match.out 
b/regress/expected/cypher_match.out
index a207cabf..ae8905c9 100644
--- a/regress/expected/cypher_match.out
+++ b/regress/expected/cypher_match.out
@@ -138,6 +138,46 @@ $$) AS (a agtype);
  {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
 (4 rows)
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]-() RETURN e
+$$) AS (a agtype);
+                                                             a                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+(4 rows)
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]-(:v1) RETURN e
+$$) AS (a agtype);
+                                                             a                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+(4 rows)
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH ()-[]-()-[e]-(:v1) RETURN e
+$$) AS (a agtype);
+                                                             a                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+(2 rows)
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (a)-[]-()-[]-(:v1) RETURN a
+$$) AS (a agtype);
+                                        a                                      
   
+----------------------------------------------------------------------------------
+ {"id": 1125899906842625, "label": "v1", "properties": {"id": 
"initial"}}::vertex
+ {"id": 1125899906842627, "label": "v1", "properties": {"id": "end"}}::vertex
+(2 rows)
+
 -- Right Path Test
 SELECT * FROM cypher('cypher_match', $$
        MATCH (a:v1)-[:e1]->(b:v1)-[:e1]->(c:v1) RETURN a, b, c
@@ -187,6 +227,33 @@ $$) AS (a agtype);
  {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
 (1 row)
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]->() RETURN e
+$$) AS (a agtype);
+                                                             a                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+(2 rows)
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH ()-[e]->(:v1) RETURN e
+$$) AS (a agtype);
+                                                             a                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+(2 rows)
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]->(:v1) RETURN e
+$$) AS (a agtype);
+                                                             a                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+(2 rows)
+
 --Left Path Test
 SELECT * FROM cypher('cypher_match', $$
        MATCH (a:v1)<-[:e1]-(b:v1)<-[:e1]-(c:v1) RETURN a, b, c
@@ -236,6 +303,15 @@ $$) AS (a agtype);
  {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
 (1 row)
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)<-[e]-(:v1) RETURN e
+$$) AS (a agtype);
+                                                             a                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 1407374883553281, "label": "e1", "end_id": 1125899906842627, 
"start_id": 1125899906842626, "properties": {}}::edge
+ {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
+(2 rows)
+
 --Divergent Path Tests
 SELECT * FROM cypher('cypher_match', $$
        CREATE (:v2 {id:'initial'})<-[:e2]-(:v2 {id:'middle'})-[:e2]->(:v2 
{id:'end'})
@@ -278,6 +354,40 @@ $$) AS (i agtype);
  {"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex
 (4 rows)
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v2)<-[]-(:v2)-[]->(:v2)
+    MATCH p=()-[]->()
+    RETURN p
+$$) AS (i agtype);
+                                                                               
                                                                   i            
                                                                                
                                                       
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ [{"id": 1125899906842625, "label": "v1", "properties": {"id": 
"initial"}}::vertex, {"id": 1407374883553282, "label": "e1", "end_id": 
1125899906842626, "start_id": 1125899906842625, "properties": {}}::edge, {"id": 
1125899906842626, "label": "v1", "properties": {"id": "middle"}}::vertex]::path
+ [{"id": 1125899906842625, "label": "v1", "properties": {"id": 
"initial"}}::vertex, {"id": 1407374883553282, "label": "e1", "end_id": 
1125899906842626, "start_id": 1125899906842625, "properties": {}}::edge, {"id": 
1125899906842626, "label": "v1", "properties": {"id": "middle"}}::vertex]::path
+ [{"id": 1125899906842626, "label": "v1", "properties": {"id": 
"middle"}}::vertex, {"id": 1407374883553281, "label": "e1", "end_id": 
1125899906842627, "start_id": 1125899906842626, "properties": {}}::edge, {"id": 
1125899906842627, "label": "v1", "properties": {"id": "end"}}::vertex]::path
+ [{"id": 1125899906842626, "label": "v1", "properties": {"id": 
"middle"}}::vertex, {"id": 1407374883553281, "label": "e1", "end_id": 
1125899906842627, "start_id": 1125899906842626, "properties": {}}::edge, {"id": 
1125899906842627, "label": "v1", "properties": {"id": "end"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974594, "label": "e2", "end_id": 
1688849860263937, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263937, "label": "v2", "properties": {"id": "initial"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974594, "label": "e2", "end_id": 
1688849860263937, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263937, "label": "v2", "properties": {"id": "initial"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974593, "label": "e2", "end_id": 
1688849860263939, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263939, "label": "v2", "properties": {"id": "end"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974593, "label": "e2", "end_id": 
1688849860263939, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263939, "label": "v2", "properties": {"id": "end"}}::vertex]::path
+(8 rows)
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH ()<-[]-(:v2)-[]->()
+       MATCH p=()-[]->()
+    RETURN p
+$$) AS (i agtype);
+                                                                               
                                                                   i            
                                                                                
                                                       
+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
+ [{"id": 1125899906842625, "label": "v1", "properties": {"id": 
"initial"}}::vertex, {"id": 1407374883553282, "label": "e1", "end_id": 
1125899906842626, "start_id": 1125899906842625, "properties": {}}::edge, {"id": 
1125899906842626, "label": "v1", "properties": {"id": "middle"}}::vertex]::path
+ [{"id": 1125899906842625, "label": "v1", "properties": {"id": 
"initial"}}::vertex, {"id": 1407374883553282, "label": "e1", "end_id": 
1125899906842626, "start_id": 1125899906842625, "properties": {}}::edge, {"id": 
1125899906842626, "label": "v1", "properties": {"id": "middle"}}::vertex]::path
+ [{"id": 1125899906842626, "label": "v1", "properties": {"id": 
"middle"}}::vertex, {"id": 1407374883553281, "label": "e1", "end_id": 
1125899906842627, "start_id": 1125899906842626, "properties": {}}::edge, {"id": 
1125899906842627, "label": "v1", "properties": {"id": "end"}}::vertex]::path
+ [{"id": 1125899906842626, "label": "v1", "properties": {"id": 
"middle"}}::vertex, {"id": 1407374883553281, "label": "e1", "end_id": 
1125899906842627, "start_id": 1125899906842626, "properties": {}}::edge, {"id": 
1125899906842627, "label": "v1", "properties": {"id": "end"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974594, "label": "e2", "end_id": 
1688849860263937, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263937, "label": "v2", "properties": {"id": "initial"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974594, "label": "e2", "end_id": 
1688849860263937, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263937, "label": "v2", "properties": {"id": "initial"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974593, "label": "e2", "end_id": 
1688849860263939, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263939, "label": "v2", "properties": {"id": "end"}}::vertex]::path
+ [{"id": 1688849860263938, "label": "v2", "properties": {"id": 
"middle"}}::vertex, {"id": 1970324836974593, "label": "e2", "end_id": 
1688849860263939, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263939, "label": "v2", "properties": {"id": "end"}}::vertex]::path
+(8 rows)
+
 --Convergent Path Tests
 SELECT * FROM cypher('cypher_match', $$
        CREATE (:v3 {id:'initial'})-[:e3]->(:v3 {id:'middle'})<-[:e3]-(:v3 
{id:'end'})
@@ -296,6 +406,16 @@ $$) AS (i agtype);
  {"id": 1407374883553282, "label": "e1", "end_id": 1125899906842626, 
"start_id": 1125899906842625, "properties": {}}::edge
 (2 rows)
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v3)-[b:e3]->()
+    RETURN b
+$$) AS (i agtype);
+                                                             i                 
                                            
+---------------------------------------------------------------------------------------------------------------------------
+ {"id": 2533274790395905, "label": "e3", "end_id": 2251799813685250, 
"start_id": 2251799813685251, "properties": {}}::edge
+ {"id": 2533274790395906, "label": "e3", "end_id": 2251799813685250, 
"start_id": 2251799813685249, "properties": {}}::edge
+(2 rows)
+
 SELECT * FROM cypher('cypher_match', $$
        MATCH ()-[]->(n:v1)<-[]-()
        MATCH p=(n)<-[]-()
@@ -343,6 +463,16 @@ $$) AS (div_path agtype);
  [{"id": 1688849860263937, "label": "v2", "properties": {"id": 
"initial"}}::vertex, {"id": 1970324836974594, "label": "e2", "end_id": 
1688849860263937, "start_id": 1688849860263938, "properties": {}}::edge, {"id": 
1688849860263938, "label": "v2", "properties": {"id": "middle"}}::vertex, 
{"id": 1970324836974593, "label": "e2", "end_id": 1688849860263939, "start_id": 
1688849860263938, "properties": {}}::edge, {"id": 1688849860263939, "label": 
"v2", "properties": {"id": "end"}}::vertex]::path
 (1 row)
 
+SELECT * FROM cypher('cypher_match', $$
+       MATCH (a)-[]->(:v3)<-[]-(b)
+       where a.id = 'initial'
+       RETURN b       
+$$) AS (con_path agtype);
+                                   con_path                                   
+------------------------------------------------------------------------------
+ {"id": 2251799813685251, "label": "v3", "properties": {"id": "end"}}::vertex
+(1 row)
+
 --Patterns
 SELECT * FROM cypher('cypher_match', $$
        MATCH (a:v1), p=(a)-[]-()-[]-()
@@ -421,6 +551,27 @@ $$) AS (i agtype, b agtype, c agtype);
  1 | "initial" | "middle"
 (12 rows)
 
+SELECT * FROM cypher('cypher_match', $$
+       MATCH (a:v)
+       MATCH (:v1)-[]-(c)
+       RETURN a.i, c.id
+$$) AS (i agtype,  c agtype);
+ i |     c     
+---+-----------
+   | "initial"
+ 0 | "initial"
+ 1 | "initial"
+   | "middle"
+ 0 | "middle"
+ 1 | "middle"
+   | "middle"
+ 0 | "middle"
+ 1 | "middle"
+   | "end"
+ 0 | "end"
+ 1 | "end"
+(12 rows)
+
 --
 -- Property constraints
 --
@@ -1629,6 +1780,39 @@ $$) AS (a agtype, r agtype);
  {"id": 844424930131969, "label": "A", "properties": {}}::vertex | {"id": 
1125899906842625, "label": "incs", "end_id": 1407374883553281, "start_id": 
844424930131969, "properties": {}}::edge
 (1 row)
 
+SELECT * FROM cypher('test_retrieve_var', $$
+    MATCH (a:A)-[r:incs]->() WITH a, r
+    OPTIONAL MATCH (a)-[r]->(c)
+    WHERE EXISTS((:A)<-[]-(c))
+    RETURN a, r
+$$) AS (a agtype, r agtype);
+                                a                                |             
                                                r                               
                               
+-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------
+ {"id": 844424930131969, "label": "A", "properties": {}}::vertex | {"id": 
1125899906842625, "label": "incs", "end_id": 1407374883553281, "start_id": 
844424930131969, "properties": {}}::edge
+(1 row)
+
+SELECT * FROM cypher('test_retrieve_var', $$
+    MATCH (a:A)-[r:incs]->() WITH a, r
+    OPTIONAL MATCH (a)-[r]->(c)
+    WHERE EXISTS((c)<-[]-(:A))
+    RETURN a, r
+$$) AS (a agtype, r agtype);
+                                a                                |             
                                                r                               
                               
+-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------
+ {"id": 844424930131969, "label": "A", "properties": {}}::vertex | {"id": 
1125899906842625, "label": "incs", "end_id": 1407374883553281, "start_id": 
844424930131969, "properties": {}}::edge
+(1 row)
+
+SELECT * FROM cypher('test_retrieve_var', $$
+    MATCH (a:A)-[r:incs]->() WITH a, r
+    OPTIONAL MATCH (a)-[r]->(c)
+    WHERE EXISTS((:C)<-[]-(:A))
+    RETURN a, r
+$$) AS (a agtype, r agtype);
+                                a                                |             
                                                r                               
                               
+-----------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------
+ {"id": 844424930131969, "label": "A", "properties": {}}::vertex | {"id": 
1125899906842625, "label": "incs", "end_id": 1407374883553281, "start_id": 
844424930131969, "properties": {}}::edge
+(1 row)
+
 SELECT * FROM cypher('test_retrieve_var', $$
     MATCH (a:A)-[r:incs]->() WITH a, r
     OPTIONAL MATCH (a)-[r]->(c)
diff --git a/regress/sql/cypher_match.sql b/regress/sql/cypher_match.sql
index fb650842..739558d1 100644
--- a/regress/sql/cypher_match.sql
+++ b/regress/sql/cypher_match.sql
@@ -68,6 +68,22 @@ SELECT * FROM cypher('cypher_match', $$
     MATCH p=()-[e]-() RETURN e
 $$) AS (a agtype);
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]-() RETURN e
+$$) AS (a agtype);
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]-(:v1) RETURN e
+$$) AS (a agtype);
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH ()-[]-()-[e]-(:v1) RETURN e
+$$) AS (a agtype);
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (a)-[]-()-[]-(:v1) RETURN a
+$$) AS (a agtype);
+
 -- Right Path Test
 SELECT * FROM cypher('cypher_match', $$
        MATCH (a:v1)-[:e1]->(b:v1)-[:e1]->(c:v1) RETURN a, b, c
@@ -93,6 +109,18 @@ SELECT * FROM cypher('cypher_match', $$
        MATCH ()-[b:e1]-()-[]->() RETURN b
 $$) AS (a agtype);
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]->() RETURN e
+$$) AS (a agtype);
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH ()-[e]->(:v1) RETURN e
+$$) AS (a agtype);
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)-[e]->(:v1) RETURN e
+$$) AS (a agtype);
+
 --Left Path Test
 SELECT * FROM cypher('cypher_match', $$
        MATCH (a:v1)<-[:e1]-(b:v1)<-[:e1]-(c:v1) RETURN a, b, c
@@ -118,6 +146,10 @@ SELECT * FROM cypher('cypher_match', $$
        MATCH ()<-[b:e1]-()-[]-() RETURN b
 $$) AS (a agtype);
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v1)<-[e]-(:v1) RETURN e
+$$) AS (a agtype);
+
 --Divergent Path Tests
 SELECT * FROM cypher('cypher_match', $$
        CREATE (:v2 {id:'initial'})<-[:e2]-(:v2 {id:'middle'})-[:e2]->(:v2 
{id:'end'})
@@ -140,6 +172,18 @@ SELECT * FROM cypher('cypher_match', $$
        RETURN n
 $$) AS (i agtype);
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v2)<-[]-(:v2)-[]->(:v2)
+    MATCH p=()-[]->()
+    RETURN p
+$$) AS (i agtype);
+
+SELECT * FROM cypher('cypher_match', $$
+    MATCH ()<-[]-(:v2)-[]->()
+       MATCH p=()-[]->()
+    RETURN p
+$$) AS (i agtype);
+
 --Convergent Path Tests
 SELECT * FROM cypher('cypher_match', $$
        CREATE (:v3 {id:'initial'})-[:e3]->(:v3 {id:'middle'})<-[:e3]-(:v3 
{id:'end'})
@@ -150,6 +194,10 @@ SELECT * FROM cypher('cypher_match', $$
        RETURN b
 $$) AS (i agtype);
 
+SELECT * FROM cypher('cypher_match', $$
+    MATCH (:v3)-[b:e3]->()
+    RETURN b
+$$) AS (i agtype);
 
 SELECT * FROM cypher('cypher_match', $$
        MATCH ()-[]->(n:v1)<-[]-()
@@ -181,6 +229,12 @@ SELECT * FROM cypher('cypher_match', $$
        RETURN div_path
 $$) AS (div_path agtype);
 
+SELECT * FROM cypher('cypher_match', $$
+       MATCH (a)-[]->(:v3)<-[]-(b)
+       where a.id = 'initial'
+       RETURN b       
+$$) AS (con_path agtype);
+
 --Patterns
 SELECT * FROM cypher('cypher_match', $$
        MATCH (a:v1), p=(a)-[]-()-[]-()
@@ -220,6 +274,12 @@ SELECT * FROM cypher('cypher_match', $$
        RETURN a.i, b.id, c.id
 $$) AS (i agtype, b agtype, c agtype);
 
+SELECT * FROM cypher('cypher_match', $$
+       MATCH (a:v)
+       MATCH (:v1)-[]-(c)
+       RETURN a.i, c.id
+$$) AS (i agtype,  c agtype);
+
 --
 -- Property constraints
 --
@@ -794,6 +854,27 @@ SELECT * FROM cypher('test_retrieve_var', $$
     RETURN a, r
 $$) AS (a agtype, r agtype);
 
+SELECT * FROM cypher('test_retrieve_var', $$
+    MATCH (a:A)-[r:incs]->() WITH a, r
+    OPTIONAL MATCH (a)-[r]->(c)
+    WHERE EXISTS((:A)<-[]-(c))
+    RETURN a, r
+$$) AS (a agtype, r agtype);
+
+SELECT * FROM cypher('test_retrieve_var', $$
+    MATCH (a:A)-[r:incs]->() WITH a, r
+    OPTIONAL MATCH (a)-[r]->(c)
+    WHERE EXISTS((c)<-[]-(:A))
+    RETURN a, r
+$$) AS (a agtype, r agtype);
+
+SELECT * FROM cypher('test_retrieve_var', $$
+    MATCH (a:A)-[r:incs]->() WITH a, r
+    OPTIONAL MATCH (a)-[r]->(c)
+    WHERE EXISTS((:C)<-[]-(:A))
+    RETURN a, r
+$$) AS (a agtype, r agtype);
+
 SELECT * FROM cypher('test_retrieve_var', $$
     MATCH (a:A)-[r:incs]->() WITH a, r
     OPTIONAL MATCH (a)-[r]->(c)

Reply via email to