@@ -6236,32 +6236,22 @@ NOTICE: graph "case_statement" has been created
62366236
62376237(1 row)
62386238
6239- SELECT * FROM cypher('case_statement', $$CREATE ({i: 1, j: null})$$) AS (result agtype);
6239+ SELECT * FROM cypher('case_statement', $$CREATE ({id: 1, i: 1, j: null})-[:connected_to {id: 1, k:0}]->({id: 2, i: 'a', j: 'b' })$$) AS (result agtype);
62406240 result
62416241--------
62426242(0 rows)
62436243
6244- SELECT * FROM cypher('case_statement', $$CREATE ({i: 'a' , j: 'b' })$$) AS (result agtype);
6244+ SELECT * FROM cypher('case_statement', $$CREATE ({id: 3, i: 0 , j: 1})-[:connected_to {id: 2, k:1}]->({id: 4, i: true, j: false })$$) AS (result agtype);
62456245 result
62466246--------
62476247(0 rows)
62486248
6249- SELECT * FROM cypher('case_statement', $$CREATE ({i: 0 , j: 1 })$$) AS (result agtype);
6249+ SELECT * FROM cypher('case_statement', $$CREATE ({id: 5, i: [] , j: [0,1,2] })$$) AS (result agtype);
62506250 result
62516251--------
62526252(0 rows)
62536253
6254- SELECT * FROM cypher('case_statement', $$CREATE ({i: true, j: false})$$) AS (result agtype);
6255- result
6256- --------
6257- (0 rows)
6258-
6259- SELECT * FROM cypher('case_statement', $$CREATE ({i: [], j: [0,1,2]})$$) AS (result agtype);
6260- result
6261- --------
6262- (0 rows)
6263-
6264- SELECT * FROM cypher('case_statement', $$CREATE ({i: {}, j: {i:1}})$$) AS (result agtype);
6254+ SELECT * FROM cypher('case_statement', $$CREATE ({id: 6, i: {}, j: {i:1}})$$) AS (result agtype);
62656255 result
62666256--------
62676257(0 rows)
@@ -6346,6 +6336,57 @@ $$ ) AS (j agtype, case_statement agtype);
63466336 {"i": 1} | {"i": 1}
63476337(6 rows)
63486338
6339+ --CASE agtype_vertex WHEN value THEN result END
6340+ SELECT * FROM cypher('case_statement', $$
6341+ MATCH (n)
6342+ RETURN CASE n
6343+ WHEN null THEN 'should not return me'
6344+ WHEN 'agtype_string' THEN 'wrong'
6345+ WHEN n THEN n
6346+ ELSE 'no n'
6347+ END
6348+ $$ ) AS (case_statement agtype);
6349+ case_statement
6350+ ------------------------------------------------------------------------------------------------
6351+ {"id": 281474976710657, "label": "", "properties": {"i": 1, "id": 1}}::vertex
6352+ {"id": 281474976710658, "label": "", "properties": {"i": "a", "j": "b", "id": 2}}::vertex
6353+ {"id": 281474976710659, "label": "", "properties": {"i": 0, "j": 1, "id": 3}}::vertex
6354+ {"id": 281474976710660, "label": "", "properties": {"i": true, "j": false, "id": 4}}::vertex
6355+ {"id": 281474976710661, "label": "", "properties": {"i": [], "j": [0, 1, 2], "id": 5}}::vertex
6356+ {"id": 281474976710662, "label": "", "properties": {"i": {}, "j": {"i": 1}, "id": 6}}::vertex
6357+ (6 rows)
6358+
6359+ --CASE with match and edges
6360+ SELECT * FROM cypher('case_statement', $$
6361+ MATCH (n)-[e]->(m)
6362+ RETURN CASE
6363+ WHEN null THEN 'should not return me'
6364+ WHEN n.i = 1 THEN n
6365+ WHEN n.i = 0 THEN m
6366+ ELSE 'none'
6367+ END
6368+ $$ ) AS (case_statement agtype);
6369+ case_statement
6370+ ----------------------------------------------------------------------------------------------
6371+ {"id": 281474976710657, "label": "", "properties": {"i": 1, "id": 1}}::vertex
6372+ {"id": 281474976710660, "label": "", "properties": {"i": true, "j": false, "id": 4}}::vertex
6373+ (2 rows)
6374+
6375+ SELECT * FROM cypher('case_statement', $$
6376+ MATCH (n)-[e]->(m)
6377+ RETURN CASE
6378+ WHEN null THEN 'should not return me'
6379+ WHEN e.k = 1 THEN e
6380+ WHEN e.k = 0 THEN e
6381+ ELSE 'none'
6382+ END
6383+ $$ ) AS (case_statement agtype);
6384+ case_statement
6385+ -------------------------------------------------------------------------------------------------------------------------------------------------
6386+ {"id": 844424930131969, "label": "connected_to", "end_id": 281474976710658, "start_id": 281474976710657, "properties": {"k": 0, "id": 1}}::edge
6387+ {"id": 844424930131970, "label": "connected_to", "end_id": 281474976710660, "start_id": 281474976710659, "properties": {"k": 1, "id": 2}}::edge
6388+ (2 rows)
6389+
63496390-- RETURN * and (u)--(v) optional forms
63506391SELECT create_graph('opt_forms');
63516392NOTICE: graph "opt_forms" has been created
@@ -7204,9 +7245,10 @@ NOTICE: graph "VLE" has been dropped
72047245(1 row)
72057246
72067247SELECT * FROM drop_graph('case_statement', true);
7207- NOTICE: drop cascades to 2 other objects
7248+ NOTICE: drop cascades to 3 other objects
72087249DETAIL: drop cascades to table case_statement._ag_label_vertex
72097250drop cascades to table case_statement._ag_label_edge
7251+ drop cascades to table case_statement.connected_to
72107252NOTICE: graph "case_statement" has been dropped
72117253 drop_graph
72127254------------
0 commit comments