This is an automated email from the ASF dual-hosted git repository.
muhammadshoaib 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 932d26f2 cypher_vle: add ORDER BY to non-deterministic RETURN queries
(#2434)
932d26f2 is described below
commit 932d26f2543278ce9ce060b42d6765713aec27f2
Author: John Gemignani <[email protected]>
AuthorDate: Sat Jun 20 09:56:48 2026 -0700
cypher_vle: add ORDER BY to non-deterministic RETURN queries (#2434)
Several VLE regression queries RETURN multiple rows without an ORDER BY,
so their row order depends on traversal/scan order and can vary between
runs and platforms. Add ORDER BY ASC to those queries (on the path,
edge-list, or graphid as appropriate) so the expected output is stable.
The queries are pinned by path (p), edge list (e), or graphid
(id(u)/id(v)/id(e[n])) depending on what each RETURN projects.
Full audit of cypher_vle: all 38 multi-row result blocks were checked.
After this change, every multi-row RETURN is deterministically ordered
except the two SELECT * FROM show_list_use_vle('list01') calls, which are
already deterministic because the function body orders its results with
RETURN v ORDER BY id(v) (added in #2417); their result blocks are
unchanged by this commit.
This is a test-only change (regress/sql/cypher_vle.sql and
regress/expected/cypher_vle.out); no extension C code or SQL is modified.
Row counts are unchanged (pure reordering).
All 37 regression tests pass (installcheck) on PostgreSQL 18.3.
Co-authored-by: GitHub Copilot <[email protected]>
modified: regress/expected/cypher_vle.out
modified: regress/sql/cypher_vle.sql
---
regress/expected/cypher_vle.out | 156 ++++++++++++++++++++--------------------
regress/sql/cypher_vle.sql | 78 ++++++++++----------
2 files changed, 117 insertions(+), 117 deletions(-)
diff --git a/regress/expected/cypher_vle.out b/regress/expected/cypher_vle.out
index 0f564015..de85176b 100644
--- a/regress/expected/cypher_vle.out
+++ b/regress/expected/cypher_vle.out
@@ -281,7 +281,7 @@ SELECT * FROM cypher('cypher_vle', $$MATCH ()-[*]->(v)
RETURN count(*) $$) AS (e
(1 row)
-- Should find 2
-SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)<-[e*]-(v:end) RETURN e
$$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)<-[e*]-(v:end) RETURN e
ORDER BY e ASC $$) AS (e agtype);
e
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
[{"id": 2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, "properties": {"name": "backup
edge", "number": 2, "packages": [1, 3, 5, 7]}}::edge, {"id": 2251799813685252,
"label": "alternate_edge", "e [...]
@@ -289,7 +289,7 @@ SELECT * FROM cypher('cypher_vle', $$MATCH
(u:begin)<-[e*]-(v:end) RETURN e $$)
(2 rows)
-- Should find 5
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*1..1]-()-[]-() RETURN
p ORDER BY p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*1..1]-()-[]-() RETURN
p ORDER BY p ASC $$) AS (e agtype);
e
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842626, "label": "edge", "end_id":
1407374883553283, "start_id": 1407374883553282, "properti [...]
@@ -307,54 +307,54 @@ SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[*]->(v)
RETURN count(*) $$) AS
(1 row)
-- Should find 2
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]->(v:end) RETURN
p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]->(v:end) RETURN
p ORDER BY p ASC $$) AS (e agtype);
e
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842627, "label": "edge", "end_id":
1407374883553282, "start_id": 1407374883553281, "prope [...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
1125899906842628, "label": "edge", "end_id": 1407374883553281, "start_id":
844424930131969, "properties": {"name": "main edge", "number": 1, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281, "label":
"middle", "properties": {}}::vertex, {"id": 1125899906842627, "label": "edge",
"end_id": 1407374883553282, "start_id": 1407374883553281, "properties":
{"name": "main edge", "number": 2, [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842627, "label": "edge", "end_id":
1407374883553282, "start_id": 1407374883553281, "prope [...]
(2 rows)
-- Should find 12
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]-(v:end) RETURN
p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]-(v:end) RETURN
p ORDER BY p ASC $$) AS (e agtype);
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
1125899906842628, "label": "edge", "end_id": 1407374883553281, "start_id":
844424930131969, "properties": {"name": "main edge", "number": 1, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281, "label":
"middle", "properties": {}}::vertex, {"id": 1125899906842627, "label": "edge",
"end_id": 1407374883553282, "start_id": 1407374883553281, "properties":
{"name": "main edge", "number": 2, [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842627, "label": "edge", "end_id":
1407374883553282, "start_id": 1407374883553281, "prope [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842626, "label": "edge", "end_id":
1407374883553283, "start_id": 1407374883553282, "properti [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842626, "label": "edge", "end_id":
1407374883553283, "start_id": 1407374883553282, "properti [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842626, "label": "edge", "end_id":
1407374883553283, "start_id": 1407374883553282, "properti [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685250, "label": "alternate_edge", "end_id":
1407374883553283, "start_id": 1407374883553282, [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685250, "label": "alternate_edge", "end_id":
1407374883553283, "start_id": 1407374883553282, [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685250, "label": "alternate_edge", "end_id":
1407374883553283, "start_id": 1407374883553282, [...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2533274790395905, "label": "bypass_edge", "end_id":
1688849860263937, "start_id": 1407374883553282, "p [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685250, "label": "alternate_edge", "end_id":
1407374883553283, "start_id": 1407374883553282, [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685250, "label": "alternate_edge", "end_id":
1407374883553283, "start_id": 1407374883553282, [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685250, "label": "alternate_edge", "end_id":
1407374883553283, "start_id": 1407374883553282, [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842626, "label": "edge", "end_id":
1407374883553283, "start_id": 1407374883553282, "properti [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842626, "label": "edge", "end_id":
1407374883553283, "start_id": 1407374883553282, "properti [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842626, "label": "edge", "end_id":
1407374883553283, "start_id": 1407374883553282, "properti [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex, {"id": 1125899906842627, "label": "edge", "end_id":
1407374883553282, "start_id": 1407374883553281, "prope [...]
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
1125899906842628, "label": "edge", "end_id": 1407374883553281, "start_id":
844424930131969, "properties": {"name": "main edge", "number": 1, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281, "label":
"middle", "properties": {}}::vertex, {"id": 1125899906842627, "label": "edge",
"end_id": 1407374883553282, "start_id": 1407374883553281, "properties":
{"name": "main edge", "number": 2, [...]
(12 rows)
-- Each should find 2
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[*]-(v:end) RETURN p
$$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[*]-(v:end) RETURN p
ORDER BY p ASC $$) AS (e agtype);
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
(2 rows)
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN p
$$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN p
ORDER BY p ASC $$) AS (e agtype);
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
(2 rows)
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN e
$$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN e
ORDER BY e ASC $$) AS (e agtype);
e
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
[{"id": 2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, "properties": {"name": "backup
edge", "number": 2, "packages": [1, 3, 5, 7]}}::edge, {"id": 2251799813685252,
"label": "alternate_edge", "e [...]
[{"id": 2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, "properties": {"name": "backup
edge", "number": 2, "packages": [1, 3, 5, 7]}}::edge, {"id": 2251799813685252,
"label": "alternate_edge", "e [...]
(2 rows)
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*]-()<-[]-(:end)
RETURN p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*]-()<-[]-(:end)
RETURN p ORDER BY p ASC $$) AS (e agtype);
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553282, "label": "middle", "properties":
{}}::vertex, {"id": 2251799813685253, "label": "alternate_edge", "end_id":
1407374883553282, "start_id": 1407374883553283, [...]
@@ -460,31 +460,31 @@ $$) AS (e1 agtype, e2 agtype);
(1 row)
-- Should return 1 path
-SELECT * FROM cypher('cypher_vle', $$ MATCH p=()<-[e1*]-(:end)-[e2*]->(:begin)
RETURN p $$) AS (result agtype);
+SELECT * FROM cypher('cypher_vle', $$ MATCH p=()<-[e1*]-(:end)-[e2*]->(:begin)
RETURN p ORDER BY p ASC $$) AS (result agtype);
[...]
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
[{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
1970324836974594, "label": "self_loop", "end_id": 1688849860263937, "start_id":
1688849860263937, "properties": {"name": "self loop", "number": 2, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1688849860263937, "label":
"end", "properties": {}}::vertex, {"id": 2251799813685252, "label":
"alternate_edge", "end_id": 1407374883553283, "start_id": 1688849860263937,
"properties": {"name": "backup edge" [...]
(1 row)
-- Each should return 3
-SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)-[e*0..1]->(v) RETURN
id(u), e, id(v) $$) AS (u agtype, e agtype, v agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)-[e*0..1]->(v) RETURN
id(u), e, id(v) ORDER BY id(u) ASC, e ASC, id(v) ASC $$) AS (u agtype, e
agtype, v agtype);
u |
e
| v
-----------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+------------------
844424930131969 | []
| 844424930131969
- 844424930131969 | [{"id": 2251799813685249, "label": "alternate_edge",
"end_id": 1407374883553281, "start_id": 844424930131969, "properties": {"name":
"alternate edge", "number": 1, "packages": [2, 4, 6], "dangerous": {"type":
"poisons", "level": "all"}}}::edge] | 1407374883553281
844424930131969 | [{"id": 1125899906842628, "label": "edge", "end_id":
1407374883553281, "start_id": 844424930131969, "properties": {"name": "main
edge", "number": 1, "dangerous": {"type": "all", "level": "all"}}}::edge]
| 1407374883553281
+ 844424930131969 | [{"id": 2251799813685249, "label": "alternate_edge",
"end_id": 1407374883553281, "start_id": 844424930131969, "properties": {"name":
"alternate edge", "number": 1, "packages": [2, 4, 6], "dangerous": {"type":
"poisons", "level": "all"}}}::edge] | 1407374883553281
(3 rows)
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[e*0..1]->(v) RETURN p
$$) AS (p agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[e*0..1]->(v) RETURN p
ORDER BY p ASC $$) AS (p agtype);
p
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex]::path
- [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex]::path
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
1125899906842628, "label": "edge", "end_id": 1407374883553281, "start_id":
844424930131969, "properties": {"name": "main edge", "number": 1, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281, "label":
"middle", "properties": {}}::vertex]::path
+ [{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex]::path
(3 rows)
-- Each should return 5
-SELECT * FROM cypher('cypher_vle', $$MATCH (u)-[e*0..0]->(v) RETURN id(u), e,
id(v) $$) AS (u agtype, e agtype, v agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH (u)-[e*0..0]->(v) RETURN id(u), e,
id(v) ORDER BY id(u) ASC, e ASC, id(v) ASC $$) AS (u agtype, e agtype, v
agtype);
u | e | v
------------------+----+------------------
844424930131969 | [] | 844424930131969
@@ -494,7 +494,7 @@ SELECT * FROM cypher('cypher_vle', $$MATCH
(u)-[e*0..0]->(v) RETURN id(u), e, id
1688849860263937 | [] | 1688849860263937
(5 rows)
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u)-[e*0..0]->(v) RETURN id(u),
p, id(v) $$) AS (u agtype, p agtype, v agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u)-[e*0..0]->(v) RETURN id(u),
p, id(v) ORDER BY id(u) ASC, p ASC, id(v) ASC $$) AS (u agtype, p agtype, v
agtype);
u | p
| v
------------------+-------------------------------------------------------------------------------+------------------
844424930131969 | [{"id": 844424930131969, "label": "begin", "properties":
{}}::vertex]::path | 844424930131969
@@ -505,13 +505,13 @@ SELECT * FROM cypher('cypher_vle', $$MATCH
p=(u)-[e*0..0]->(v) RETURN id(u), p,
(5 rows)
-- Each should return 13 and will be the same
-SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[*0..0]->()-[]->() RETURN p
$$) AS (p agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[*0..0]->()-[]->() RETURN p
ORDER BY p ASC $$) AS (p agtype);
p
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
1125899906842628, "label": "edge", "end_id": 1407374883553281, "start_id":
844424930131969, "properties": {"name": "main edge", "number": 1, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281, "label":
"middle", "properties": {}}::vertex]::path
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex]::path
- [{"id": 1407374883553281, "label": "middle", "properties": {}}::vertex,
{"id": 1970324836974593, "label": "self_loop", "end_id": 1407374883553281,
"start_id": 1407374883553281, "properties": {"name": "self loop", "number": 1,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281,
"label": "middle", "properties": {}}::vertex]::path
[{"id": 1407374883553281, "label": "middle", "properties": {}}::vertex,
{"id": 1125899906842627, "label": "edge", "end_id": 1407374883553282,
"start_id": 1407374883553281, "properties": {"name": "main edge", "number": 2,
"packages": [2, 4, 6], "dangerous": {"type": "all", "level": "all"}}}::edge,
{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex]::path
+ [{"id": 1407374883553281, "label": "middle", "properties": {}}::vertex,
{"id": 1970324836974593, "label": "self_loop", "end_id": 1407374883553281,
"start_id": 1407374883553281, "properties": {"name": "self loop", "number": 1,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281,
"label": "middle", "properties": {}}::vertex]::path
[{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 1125899906842626, "label": "edge", "end_id": 1407374883553283,
"start_id": 1407374883553282, "properties": {"name": "main edge", "number": 3,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1407374883553283,
"label": "middle", "properties": {}}::vertex]::path
[{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 2251799813685250, "label": "alternate_edge", "end_id": 1407374883553283,
"start_id": 1407374883553282, "properties": {"name": "alternate edge",
"number": 2, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553283, "label": "middle", "properties":
{}}::vertex]::path
[{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 2533274790395905, "label": "bypass_edge", "end_id": 1688849860263937,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
1, "packages": [1, 3, 5, 7]}}::edge, {"id": 1688849860263937, "label": "end",
"properties": {}}::vertex]::path
@@ -519,26 +519,26 @@ SELECT * FROM cypher('cypher_vle', $$MATCH
p=()-[*0..0]->()-[]->() RETURN p $$)
[{"id": 1407374883553283, "label": "middle", "properties": {}}::vertex,
{"id": 1125899906842625, "label": "edge", "end_id": 1688849860263937,
"start_id": 1407374883553283, "properties": {"name": "main edge", "number": 4,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1688849860263937,
"label": "end", "properties": {}}::vertex]::path
[{"id": 1407374883553283, "label": "middle", "properties": {}}::vertex,
{"id": 2251799813685251, "label": "alternate_edge", "end_id": 1688849860263937,
"start_id": 1407374883553283, "properties": {"name": "alternate edge",
"number": 3, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1688849860263937, "label": "end", "properties":
{}}::vertex]::path
[{"id": 1407374883553283, "label": "middle", "properties": {}}::vertex,
{"id": 2251799813685253, "label": "alternate_edge", "end_id": 1407374883553282,
"start_id": 1407374883553283, "properties": {"name": "backup edge", "number":
2, "packages": [1, 3, 5, 7]}}::edge, {"id": 1407374883553282, "label":
"middle", "properties": {}}::vertex]::path
- [{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
2251799813685252, "label": "alternate_edge", "end_id": 1407374883553283,
"start_id": 1688849860263937, "properties": {"name": "backup edge", "number":
1, "packages": [1, 3, 5, 7]}}::edge, {"id": 1407374883553283, "label":
"middle", "properties": {}}::vertex]::path
[{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
1970324836974594, "label": "self_loop", "end_id": 1688849860263937, "start_id":
1688849860263937, "properties": {"name": "self loop", "number": 2, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1688849860263937, "label":
"end", "properties": {}}::vertex]::path
+ [{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
2251799813685252, "label": "alternate_edge", "end_id": 1407374883553283,
"start_id": 1688849860263937, "properties": {"name": "backup edge", "number":
1, "packages": [1, 3, 5, 7]}}::edge, {"id": 1407374883553283, "label":
"middle", "properties": {}}::vertex]::path
(13 rows)
-SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[]->()-[*0..0]->() RETURN p
$$) AS (p agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[]->()-[*0..0]->() RETURN p
ORDER BY p ASC $$) AS (p agtype);
p
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- [{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 844424930131969, "label": "begin", "properties":
{}}::vertex]::path
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
1125899906842628, "label": "edge", "end_id": 1407374883553281, "start_id":
844424930131969, "properties": {"name": "main edge", "number": 1, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281, "label":
"middle", "properties": {}}::vertex]::path
- [{"id": 1407374883553281, "label": "middle", "properties": {}}::vertex,
{"id": 1970324836974593, "label": "self_loop", "end_id": 1407374883553281,
"start_id": 1407374883553281, "properties": {"name": "self loop", "number": 1,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281,
"label": "middle", "properties": {}}::vertex]::path
[{"id": 844424930131969, "label": "begin", "properties": {}}::vertex, {"id":
2251799813685249, "label": "alternate_edge", "end_id": 1407374883553281,
"start_id": 844424930131969, "properties": {"name": "alternate edge", "number":
1, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553281, "label": "middle", "properties":
{}}::vertex]::path
[{"id": 1407374883553281, "label": "middle", "properties": {}}::vertex,
{"id": 1125899906842627, "label": "edge", "end_id": 1407374883553282,
"start_id": 1407374883553281, "properties": {"name": "main edge", "number": 2,
"packages": [2, 4, 6], "dangerous": {"type": "all", "level": "all"}}}::edge,
{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex]::path
- [{"id": 1407374883553283, "label": "middle", "properties": {}}::vertex,
{"id": 2251799813685253, "label": "alternate_edge", "end_id": 1407374883553282,
"start_id": 1407374883553283, "properties": {"name": "backup edge", "number":
2, "packages": [1, 3, 5, 7]}}::edge, {"id": 1407374883553282, "label":
"middle", "properties": {}}::vertex]::path
+ [{"id": 1407374883553281, "label": "middle", "properties": {}}::vertex,
{"id": 1970324836974593, "label": "self_loop", "end_id": 1407374883553281,
"start_id": 1407374883553281, "properties": {"name": "self loop", "number": 1,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1407374883553281,
"label": "middle", "properties": {}}::vertex]::path
[{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 1125899906842626, "label": "edge", "end_id": 1407374883553283,
"start_id": 1407374883553282, "properties": {"name": "main edge", "number": 3,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1407374883553283,
"label": "middle", "properties": {}}::vertex]::path
[{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 2251799813685250, "label": "alternate_edge", "end_id": 1407374883553283,
"start_id": 1407374883553282, "properties": {"name": "alternate edge",
"number": 2, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1407374883553283, "label": "middle", "properties":
{}}::vertex]::path
- [{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
2251799813685252, "label": "alternate_edge", "end_id": 1407374883553283,
"start_id": 1688849860263937, "properties": {"name": "backup edge", "number":
1, "packages": [1, 3, 5, 7]}}::edge, {"id": 1407374883553283, "label":
"middle", "properties": {}}::vertex]::path
+ [{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 2533274790395905, "label": "bypass_edge", "end_id": 1688849860263937,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
1, "packages": [1, 3, 5, 7]}}::edge, {"id": 1688849860263937, "label": "end",
"properties": {}}::vertex]::path
+ [{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 2533274790395906, "label": "bypass_edge", "end_id": 844424930131969,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
2, "packages": [1, 3, 5, 7], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 844424930131969, "label": "begin", "properties":
{}}::vertex]::path
[{"id": 1407374883553283, "label": "middle", "properties": {}}::vertex,
{"id": 1125899906842625, "label": "edge", "end_id": 1688849860263937,
"start_id": 1407374883553283, "properties": {"name": "main edge", "number": 4,
"dangerous": {"type": "all", "level": "all"}}}::edge, {"id": 1688849860263937,
"label": "end", "properties": {}}::vertex]::path
- [{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
1970324836974594, "label": "self_loop", "end_id": 1688849860263937, "start_id":
1688849860263937, "properties": {"name": "self loop", "number": 2, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1688849860263937, "label":
"end", "properties": {}}::vertex]::path
[{"id": 1407374883553283, "label": "middle", "properties": {}}::vertex,
{"id": 2251799813685251, "label": "alternate_edge", "end_id": 1688849860263937,
"start_id": 1407374883553283, "properties": {"name": "alternate edge",
"number": 3, "packages": [2, 4, 6], "dangerous": {"type": "poisons", "level":
"all"}}}::edge, {"id": 1688849860263937, "label": "end", "properties":
{}}::vertex]::path
- [{"id": 1407374883553282, "label": "middle", "properties": {}}::vertex,
{"id": 2533274790395905, "label": "bypass_edge", "end_id": 1688849860263937,
"start_id": 1407374883553282, "properties": {"name": "bypass edge", "number":
1, "packages": [1, 3, 5, 7]}}::edge, {"id": 1688849860263937, "label": "end",
"properties": {}}::vertex]::path
+ [{"id": 1407374883553283, "label": "middle", "properties": {}}::vertex,
{"id": 2251799813685253, "label": "alternate_edge", "end_id": 1407374883553282,
"start_id": 1407374883553283, "properties": {"name": "backup edge", "number":
2, "packages": [1, 3, 5, 7]}}::edge, {"id": 1407374883553282, "label":
"middle", "properties": {}}::vertex]::path
+ [{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
1970324836974594, "label": "self_loop", "end_id": 1688849860263937, "start_id":
1688849860263937, "properties": {"name": "self loop", "number": 2, "dangerous":
{"type": "all", "level": "all"}}}::edge, {"id": 1688849860263937, "label":
"end", "properties": {}}::vertex]::path
+ [{"id": 1688849860263937, "label": "end", "properties": {}}::vertex, {"id":
2251799813685252, "label": "alternate_edge", "end_id": 1407374883553283,
"start_id": 1688849860263937, "properties": {"name": "backup edge", "number":
1, "packages": [1, 3, 5, 7]}}::edge, {"id": 1407374883553283, "label":
"middle", "properties": {}}::vertex]::path
(13 rows)
--
@@ -563,7 +563,7 @@ $$) AS (g1 agtype);
/* should return 1 path with 1 edge */
SELECT * FROM cypher('mygraph', $$
MATCH p = ()-[:Edge*]->()
- RETURN p
+ RETURN p ORDER BY p ASC
$$) AS (g2 agtype);
g2
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
@@ -583,24 +583,24 @@ $$) AS (g3 agtype);
/* should find 2 paths with 1 edge */
SELECT * FROM cypher('mygraph', $$
MATCH p = ()-[:Edge]->()
- RETURN p
+ RETURN p ORDER BY p ASC
$$) AS (g4 agtype);
g4
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- [{"id": 844424930131971, "label": "Node", "properties": {"name":
"b"}}::vertex, {"id": 1125899906842626, "label": "Edge", "end_id":
844424930131970, "start_id": 844424930131971, "properties": {}}::edge, {"id":
844424930131970, "label": "Node", "properties": {"name": "c"}}::vertex]::path
[{"id": 844424930131969, "label": "Node", "properties": {"name":
"a"}}::vertex, {"id": 1125899906842627, "label": "Edge", "end_id":
844424930131971, "start_id": 844424930131969, "properties": {}}::edge, {"id":
844424930131971, "label": "Node", "properties": {"name": "b"}}::vertex]::path
+ [{"id": 844424930131971, "label": "Node", "properties": {"name":
"b"}}::vertex, {"id": 1125899906842626, "label": "Edge", "end_id":
844424930131970, "start_id": 844424930131971, "properties": {}}::edge, {"id":
844424930131970, "label": "Node", "properties": {"name": "c"}}::vertex]::path
(2 rows)
/* should return 3 paths, 2 with 1 edge, 1 with 2 edges */
SELECT * FROM cypher('mygraph', $$
MATCH p = ()-[:Edge*]->()
- RETURN p
+ RETURN p ORDER BY p ASC
$$) AS (g5 agtype);
g5
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
- [{"id": 844424930131969, "label": "Node", "properties": {"name":
"a"}}::vertex, {"id": 1125899906842627, "label": "Edge", "end_id":
844424930131971, "start_id": 844424930131969, "properties": {}}::edge, {"id":
844424930131971, "label": "Node", "properties": {"name": "b"}}::vertex, {"id":
1125899906842626, "label": "Edge", "end_id": 844424930131970, "start_id":
844424930131971, "properties": {}}::edge, {"id": 844424930131970, "label":
"Node", "properties": {"name": "c"}}::vertex]::path
- [{"id": 844424930131971, "label": "Node", "properties": {"name":
"b"}}::vertex, {"id": 1125899906842626, "label": "Edge", "end_id":
844424930131970, "start_id": 844424930131971, "properties": {}}::edge, {"id":
844424930131970, "label": "Node", "properties": {"name": "c"}}::vertex]::path
[{"id": 844424930131969, "label": "Node", "properties": {"name":
"a"}}::vertex, {"id": 1125899906842627, "label": "Edge", "end_id":
844424930131971, "start_id": 844424930131969, "properties": {}}::edge, {"id":
844424930131971, "label": "Node", "properties": {"name": "b"}}::vertex]::path
+ [{"id": 844424930131971, "label": "Node", "properties": {"name":
"b"}}::vertex, {"id": 1125899906842626, "label": "Edge", "end_id":
844424930131970, "start_id": 844424930131971, "properties": {}}::edge, {"id":
844424930131970, "label": "Node", "properties": {"name": "c"}}::vertex]::path
+ [{"id": 844424930131969, "label": "Node", "properties": {"name":
"a"}}::vertex, {"id": 1125899906842627, "label": "Edge", "end_id":
844424930131971, "start_id": 844424930131969, "properties": {}}::edge, {"id":
844424930131971, "label": "Node", "properties": {"name": "b"}}::vertex, {"id":
1125899906842626, "label": "Edge", "end_id": 844424930131970, "start_id":
844424930131971, "properties": {}}::edge, {"id": 844424930131970, "label":
"Node", "properties": {"name": "c"}}::vertex]::path
(3 rows)
SELECT drop_graph('mygraph', true);
@@ -842,22 +842,22 @@ SELECT * FROM cypher('access',$$ CREATE ()-[:knows {id:2,
arry:[0,1,2,3,{name: "
---------
(0 rows)
-SELECT * FROM cypher('access', $$ MATCH (u)-[e*]->(v) RETURN e $$)as (edges
agtype);
+SELECT * FROM cypher('access', $$ MATCH (u)-[e*]->(v) RETURN e ORDER BY e ASC
$$)as (edges agtype);
edges
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[{"id": 844424930131969, "label": "knows", "end_id": 281474976710658,
"start_id": 281474976710657, "properties": {}}::edge]
+ [{"id": 844424930131970, "label": "knows", "end_id": 281474976710661,
"start_id": 281474976710660, "properties": {}}::edge]
[{"id": 844424930131971, "label": "knows", "end_id": 281474976710660,
"start_id": 281474976710659, "properties": {}}::edge]
[{"id": 844424930131971, "label": "knows", "end_id": 281474976710660,
"start_id": 281474976710659, "properties": {}}::edge, {"id": 844424930131970,
"label": "knows", "end_id": 281474976710661, "start_id": 281474976710660,
"properties": {}}::edge]
- [{"id": 844424930131970, "label": "knows", "end_id": 281474976710661,
"start_id": 281474976710660, "properties": {}}::edge]
+ [{"id": 844424930131972, "label": "knows", "end_id": 281474976710664,
"start_id": 281474976710663, "properties": {"id": 1}}::edge]
[{"id": 844424930131973, "label": "knows", "end_id": 281474976710663,
"start_id": 281474976710662, "properties": {"id": 0}}::edge]
[{"id": 844424930131973, "label": "knows", "end_id": 281474976710663,
"start_id": 281474976710662, "properties": {"id": 0}}::edge, {"id":
844424930131972, "label": "knows", "end_id": 281474976710664, "start_id":
281474976710663, "properties": {"id": 1}}::edge]
- [{"id": 844424930131972, "label": "knows", "end_id": 281474976710664,
"start_id": 281474976710663, "properties": {"id": 1}}::edge]
+ [{"id": 844424930131974, "label": "knows", "end_id": 281474976710667,
"start_id": 281474976710666, "properties": {"id": 3, "arry": [1, 3, {"name":
"john", "stats": {"age": 1000}}]}}::edge]
[{"id": 844424930131975, "label": "knows", "end_id": 281474976710666,
"start_id": 281474976710665, "properties": {"id": 2, "arry": [0, 1, 2, 3,
{"name": "joe"}]}}::edge]
[{"id": 844424930131975, "label": "knows", "end_id": 281474976710666,
"start_id": 281474976710665, "properties": {"id": 2, "arry": [0, 1, 2, 3,
{"name": "joe"}]}}::edge, {"id": 844424930131974, "label": "knows", "end_id":
281474976710667, "start_id": 281474976710666, "properties": {"id": 3, "arry":
[1, 3, {"name": "john", "stats": {"age": 1000}}]}}::edge]
- [{"id": 844424930131974, "label": "knows", "end_id": 281474976710667,
"start_id": 281474976710666, "properties": {"id": 3, "arry": [1, 3, {"name":
"john", "stats": {"age": 1000}}]}}::edge]
(10 rows)
-SELECT * FROM cypher('access', $$ MATCH (u)-[e*2..2]->(v) RETURN e $$)as
(edges agtype);
+SELECT * FROM cypher('access', $$ MATCH (u)-[e*2..2]->(v) RETURN e ORDER BY e
ASC $$)as (edges agtype);
edges
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[{"id": 844424930131971, "label": "knows", "end_id": 281474976710660,
"start_id": 281474976710659, "properties": {}}::edge, {"id": 844424930131970,
"label": "knows", "end_id": 281474976710661, "start_id": 281474976710660,
"properties": {}}::edge]
@@ -865,7 +865,7 @@ SELECT * FROM cypher('access', $$ MATCH (u)-[e*2..2]->(v)
RETURN e $$)as (edges
[{"id": 844424930131975, "label": "knows", "end_id": 281474976710666,
"start_id": 281474976710665, "properties": {"id": 2, "arry": [0, 1, 2, 3,
{"name": "joe"}]}}::edge, {"id": 844424930131974, "label": "knows", "end_id":
281474976710667, "start_id": 281474976710666, "properties": {"id": 3, "arry":
[1, 3, {"name": "john", "stats": {"age": 1000}}]}}::edge]
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[0])
$$) as (prop_first_edge agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[0])
ORDER BY id(e[0]) ASC $$) as (prop_first_edge agtype);
prop_first_edge
--------------------------------------------------
{}
@@ -873,7 +873,7 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN properties(e[0]) $
{"id": 2, "arry": [0, 1, 2, 3, {"name": "joe"}]}
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].id $$) as
(results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].id ORDER BY
id(e[0]) ASC $$) as (results agtype);
results
---------
@@ -881,7 +881,7 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN e[0].id $$) as (re
2
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].arry[2] $$)
as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].arry[2]
ORDER BY id(e[0]) ASC $$) as (results agtype);
results
---------
@@ -889,7 +889,7 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN e[0].arry[2] $$) a
2
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[1])
$$) as (prop_second_edge agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[1])
ORDER BY id(e[1]) ASC $$) as (prop_second_edge agtype);
prop_second_edge
---------------------------------------------------------------------
{}
@@ -897,7 +897,7 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN properties(e[1]) $
{"id": 3, "arry": [1, 3, {"name": "john", "stats": {"age": 1000}}]}
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].id $$) as
(results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].id ORDER BY
id(e[1]) ASC $$) as (results agtype);
results
---------
@@ -905,7 +905,7 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN e[1].id $$) as (re
3
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].arry[2] $$)
as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].arry[2]
ORDER BY id(e[1]) ASC $$) as (results agtype);
results
------------------------------------------
@@ -913,7 +913,7 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN e[1].arry[2] $$) a
{"name": "john", "stats": {"age": 1000}}
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN
e[1].arry[2].stats $$) as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN
e[1].arry[2].stats ORDER BY id(e[1]) ASC $$) as (results agtype);
results
---------------
@@ -921,7 +921,7 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN e[1].arry[2].stats
{"age": 1000}
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[2])
$$) as (prop_third_edge agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[2])
ORDER BY id(e[2]) ASC $$) as (prop_third_edge agtype);
prop_third_edge
-----------------
@@ -929,37 +929,37 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->()
RETURN properties(e[2]) $
(3 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN properties(e[0]),
properties(e[1]) $$) as (prop_1st agtype, prop_2nd agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN properties(e[0]),
properties(e[1]) ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (prop_1st agtype,
prop_2nd agtype);
prop_1st |
prop_2nd
---------------------------------------------------------------------+---------------------------------------------------------------------
{} |
{} |
{} | {}
{} |
- {"id": 0} |
- {"id": 0} | {"id":
1}
{"id": 1} |
- {"id": 2, "arry": [0, 1, 2, 3, {"name": "joe"}]} |
- {"id": 2, "arry": [0, 1, 2, 3, {"name": "joe"}]} | {"id":
3, "arry": [1, 3, {"name": "john", "stats": {"age": 1000}}]}
+ {"id": 0} | {"id":
1}
+ {"id": 0} |
{"id": 3, "arry": [1, 3, {"name": "john", "stats": {"age": 1000}}]} |
+ {"id": 2, "arry": [0, 1, 2, 3, {"name": "joe"}]} | {"id":
3, "arry": [1, 3, {"name": "john", "stats": {"age": 1000}}]}
+ {"id": 2, "arry": [0, 1, 2, 3, {"name": "joe"}]} |
(10 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].id, e[1].id $$)
as (results_1st agtype, results_2nd agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].id, e[1].id
ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (results_1st agtype, results_2nd
agtype);
results_1st | results_2nd
-------------+-------------
|
|
|
|
- 0 |
- 0 | 1
1 |
- 2 |
- 2 | 3
+ 0 | 1
+ 0 |
3 |
+ 2 | 3
+ 2 |
(10 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry, e[1].arry
$$) as (results_1st agtype, results_2nd agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry, e[1].arry
ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (results_1st agtype, results_2nd
agtype);
results_1st |
results_2nd
--------------------------------------------------+--------------------------------------------------
|
@@ -969,12 +969,12 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN
e[0].arry, e[1].arry $
|
|
|
- [0, 1, 2, 3, {"name": "joe"}] |
- [0, 1, 2, 3, {"name": "joe"}] | [1, 3, {"name": "john",
"stats": {"age": 1000}}]
[1, 3, {"name": "john", "stats": {"age": 1000}}] |
+ [0, 1, 2, 3, {"name": "joe"}] | [1, 3, {"name": "john",
"stats": {"age": 1000}}]
+ [0, 1, 2, 3, {"name": "joe"}] |
(10 rows)
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry[2],
e[1].arry[2] $$) as (results_1st agtype, results_2nd agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry[2],
e[1].arry[2] ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (results_1st agtype,
results_2nd agtype);
results_1st | results_2nd
------------------------------------------+------------------------------------------
|
@@ -984,9 +984,9 @@ SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN
e[0].arry[2], e[1].arr
|
|
|
- 2 |
- 2 | {"name": "john", "stats": {"age":
1000}}
{"name": "john", "stats": {"age": 1000}} |
+ 2 | {"name": "john", "stats": {"age":
1000}}
+ 2 |
(10 rows)
SELECT drop_graph('access', true);
@@ -1013,7 +1013,7 @@ SELECT * FROM cypher('issue_1043', $$ CREATE (n)-[:KNOWS
{n:'hello'}]->({n:'hell
---
(0 rows)
-SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x $$) as (a agtype);
+SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x ORDER BY id(x) ASC $$) as (a agtype);
a
----------------------------------------------------------------------------
{"id": 281474976710658, "label": "", "properties": {"n": "hello"}}::vertex
@@ -1024,13 +1024,13 @@ SELECT * FROM cypher('issue_1043', $$ CREATE
(n)-[:KNOWS {n:'hello'}]->({n:'hell
---
(0 rows)
-SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x $$) as (a agtype);
+SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x ORDER BY id(x) ASC $$) as (a agtype);
a
----------------------------------------------------------------------------
{"id": 281474976710658, "label": "", "properties": {"n": "hello"}}::vertex
- {"id": 281474976710660, "label": "", "properties": {"n": "hello"}}::vertex
{"id": 281474976710658, "label": "", "properties": {"n": "hello"}}::vertex
{"id": 281474976710660, "label": "", "properties": {"n": "hello"}}::vertex
+ {"id": 281474976710660, "label": "", "properties": {"n": "hello"}}::vertex
(4 rows)
SELECT drop_graph('issue_1043', true);
@@ -1053,7 +1053,7 @@ NOTICE: graph "issue_1910" has been created
(1 row)
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE EXISTS((n)-[*1]-({name:
'Willem Defoe'}))
- RETURN n.full_name $$) AS (full_name
agtype);
+ RETURN n.full_name ORDER BY id(n) ASC
$$) AS (full_name agtype);
full_name
-----------
(0 rows)
@@ -1075,7 +1075,7 @@ SELECT * FROM cypher('issue_1910', $$ MATCH (u {name:
'John Doe'})
(0 rows)
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE EXISTS((n)-[*]-({name:
'Willem Defoe'}))
- RETURN n.name $$) AS (name agtype);
+ RETURN n.name ORDER BY id(n) ASC $$) AS
(name agtype);
name
----------------
"Jane Doe"
@@ -1084,7 +1084,7 @@ SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE
EXISTS((n)-[*]-({name: 'Wi
(3 rows)
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE EXISTS((n)-[*1]-({name:
'Willem Defoe'}))
- RETURN n.name $$) AS (name agtype);
+ RETURN n.name ORDER BY id(n) ASC $$) AS
(name agtype);
name
----------------
"John Doe"
@@ -1092,7 +1092,7 @@ SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE
EXISTS((n)-[*1]-({name: 'W
(2 rows)
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE
EXISTS((n)-[*2..2]-({name: 'Willem Defoe'}))
- RETURN n.name $$) AS (name agtype);
+ RETURN n.name ORDER BY id(n) ASC $$) AS
(name agtype);
name
------------
"Jane Doe"
diff --git a/regress/sql/cypher_vle.sql b/regress/sql/cypher_vle.sql
index 4592a7fb..5f3f54ed 100644
--- a/regress/sql/cypher_vle.sql
+++ b/regress/sql/cypher_vle.sql
@@ -105,20 +105,20 @@ SELECT * FROM cypher('cypher_vle', $$MATCH ()-[*]->()
RETURN count(*) $$) AS (e
SELECT * FROM cypher('cypher_vle', $$MATCH (u)-[*]->() RETURN count(*) $$) AS
(e agtype);
SELECT * FROM cypher('cypher_vle', $$MATCH ()-[*]->(v) RETURN count(*) $$) AS
(e agtype);
-- Should find 2
-SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)<-[e*]-(v:end) RETURN e
$$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)<-[e*]-(v:end) RETURN e
ORDER BY e ASC $$) AS (e agtype);
-- Should find 5
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*1..1]-()-[]-() RETURN
p ORDER BY p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*1..1]-()-[]-() RETURN
p ORDER BY p ASC $$) AS (e agtype);
-- Should find 2922
SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[*]->(v) RETURN count(*) $$)
AS (e agtype);
-- Should find 2
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]->(v:end) RETURN
p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]->(v:end) RETURN
p ORDER BY p ASC $$) AS (e agtype);
-- Should find 12
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]-(v:end) RETURN
p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[*3..3]-(v:end) RETURN
p ORDER BY p ASC $$) AS (e agtype);
-- Each should find 2
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[*]-(v:end) RETURN p
$$) AS (e agtype);
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN p
$$) AS (e agtype);
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN e
$$) AS (e agtype);
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*]-()<-[]-(:end)
RETURN p $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[*]-(v:end) RETURN p
ORDER BY p ASC $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN p
ORDER BY p ASC $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)<-[e*]-(v:end) RETURN e
ORDER BY e ASC $$) AS (e agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(:begin)<-[*]-()<-[]-(:end)
RETURN p ORDER BY p ASC $$) AS (e agtype);
-- Each should return 31
SELECT count(*) FROM cypher('cypher_vle', $$ MATCH ()-[e1]->(v)-[e2]->()
RETURN e1,e2 $$) AS (e1 agtype, e2 agtype);
SELECT count(*) FROM cypher('cypher_vle', $$
@@ -163,16 +163,16 @@ FROM cypher('cypher_vle', $$
RETURN a, e
$$) AS (e1 agtype, e2 agtype);
-- Should return 1 path
-SELECT * FROM cypher('cypher_vle', $$ MATCH p=()<-[e1*]-(:end)-[e2*]->(:begin)
RETURN p $$) AS (result agtype);
+SELECT * FROM cypher('cypher_vle', $$ MATCH p=()<-[e1*]-(:end)-[e2*]->(:begin)
RETURN p ORDER BY p ASC $$) AS (result agtype);
-- Each should return 3
-SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)-[e*0..1]->(v) RETURN
id(u), e, id(v) $$) AS (u agtype, e agtype, v agtype);
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[e*0..1]->(v) RETURN p
$$) AS (p agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH (u:begin)-[e*0..1]->(v) RETURN
id(u), e, id(v) ORDER BY id(u) ASC, e ASC, id(v) ASC $$) AS (u agtype, e
agtype, v agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u:begin)-[e*0..1]->(v) RETURN p
ORDER BY p ASC $$) AS (p agtype);
-- Each should return 5
-SELECT * FROM cypher('cypher_vle', $$MATCH (u)-[e*0..0]->(v) RETURN id(u), e,
id(v) $$) AS (u agtype, e agtype, v agtype);
-SELECT * FROM cypher('cypher_vle', $$MATCH p=(u)-[e*0..0]->(v) RETURN id(u),
p, id(v) $$) AS (u agtype, p agtype, v agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH (u)-[e*0..0]->(v) RETURN id(u), e,
id(v) ORDER BY id(u) ASC, e ASC, id(v) ASC $$) AS (u agtype, e agtype, v
agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=(u)-[e*0..0]->(v) RETURN id(u),
p, id(v) ORDER BY id(u) ASC, p ASC, id(v) ASC $$) AS (u agtype, p agtype, v
agtype);
-- Each should return 13 and will be the same
-SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[*0..0]->()-[]->() RETURN p
$$) AS (p agtype);
-SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[]->()-[*0..0]->() RETURN p
$$) AS (p agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[*0..0]->()-[]->() RETURN p
ORDER BY p ASC $$) AS (p agtype);
+SELECT * FROM cypher('cypher_vle', $$MATCH p=()-[]->()-[*0..0]->() RETURN p
ORDER BY p ASC $$) AS (p agtype);
--
-- Test VLE inside of a BEGIN/COMMIT block
@@ -189,7 +189,7 @@ $$) AS (g1 agtype);
/* should return 1 path with 1 edge */
SELECT * FROM cypher('mygraph', $$
MATCH p = ()-[:Edge*]->()
- RETURN p
+ RETURN p ORDER BY p ASC
$$) AS (g2 agtype);
/* should delete the original path and replace it with a path with 2 edges */
@@ -202,13 +202,13 @@ $$) AS (g3 agtype);
/* should find 2 paths with 1 edge */
SELECT * FROM cypher('mygraph', $$
MATCH p = ()-[:Edge]->()
- RETURN p
+ RETURN p ORDER BY p ASC
$$) AS (g4 agtype);
/* should return 3 paths, 2 with 1 edge, 1 with 2 edges */
SELECT * FROM cypher('mygraph', $$
MATCH p = ()-[:Edge*]->()
- RETURN p
+ RETURN p ORDER BY p ASC
$$) AS (g5 agtype);
SELECT drop_graph('mygraph', true);
@@ -312,48 +312,48 @@ SELECT * FROM cypher('access',$$ CREATE ()-[:knows]->()
$$) as (results agtype);
SELECT * FROM cypher('access',$$ CREATE ()-[:knows]->()-[:knows]->()$$) as
(results agtype);
SELECT * FROM cypher('access',$$ CREATE ()-[:knows {id:0}]->()-[:knows {id:
1}]->() $$) as (results agtype);
SELECT * FROM cypher('access',$$ CREATE ()-[:knows {id:2, arry:[0,1,2,3,{name:
"joe"}]}]->()-[:knows {id: 3, arry:[1,3,{name:"john", stats: {age:
1000}}]}]->() $$) as (results agtype);
-SELECT * FROM cypher('access', $$ MATCH (u)-[e*]->(v) RETURN e $$)as (edges
agtype);
-SELECT * FROM cypher('access', $$ MATCH (u)-[e*2..2]->(v) RETURN e $$)as
(edges agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[0])
$$) as (prop_first_edge agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].id $$) as
(results agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].arry[2] $$)
as (results agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[1])
$$) as (prop_second_edge agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].id $$) as
(results agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].arry[2] $$)
as (results agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN
e[1].arry[2].stats $$) as (results agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[2])
$$) as (prop_third_edge agtype);
-
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN properties(e[0]),
properties(e[1]) $$) as (prop_1st agtype, prop_2nd agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].id, e[1].id $$)
as (results_1st agtype, results_2nd agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry, e[1].arry
$$) as (results_1st agtype, results_2nd agtype);
-SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry[2],
e[1].arry[2] $$) as (results_1st agtype, results_2nd agtype);
+SELECT * FROM cypher('access', $$ MATCH (u)-[e*]->(v) RETURN e ORDER BY e ASC
$$)as (edges agtype);
+SELECT * FROM cypher('access', $$ MATCH (u)-[e*2..2]->(v) RETURN e ORDER BY e
ASC $$)as (edges agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[0])
ORDER BY id(e[0]) ASC $$) as (prop_first_edge agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].id ORDER BY
id(e[0]) ASC $$) as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[0].arry[2]
ORDER BY id(e[0]) ASC $$) as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[1])
ORDER BY id(e[1]) ASC $$) as (prop_second_edge agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].id ORDER BY
id(e[1]) ASC $$) as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN e[1].arry[2]
ORDER BY id(e[1]) ASC $$) as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN
e[1].arry[2].stats ORDER BY id(e[1]) ASC $$) as (results agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*2..2]->() RETURN properties(e[2])
ORDER BY id(e[2]) ASC $$) as (prop_third_edge agtype);
+
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN properties(e[0]),
properties(e[1]) ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (prop_1st agtype,
prop_2nd agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].id, e[1].id
ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (results_1st agtype, results_2nd
agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry, e[1].arry
ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (results_1st agtype, results_2nd
agtype);
+SELECT * FROM cypher('access',$$ MATCH ()-[e*]->() RETURN e[0].arry[2],
e[1].arry[2] ORDER BY id(e[0]) ASC, id(e[1]) ASC $$) as (results_1st agtype,
results_2nd agtype);
SELECT drop_graph('access', true);
-- issue 1043
SELECT create_graph('issue_1043');
SELECT * FROM cypher('issue_1043', $$ CREATE (n)-[:KNOWS
{n:'hello'}]->({n:'hello'}) $$) as (a agtype);
-SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x $$) as (a agtype);
+SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x ORDER BY id(x) ASC $$) as (a agtype);
SELECT * FROM cypher('issue_1043', $$ CREATE (n)-[:KNOWS
{n:'hello'}]->({n:'hello'}) $$) as (a agtype);
-SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x $$) as (a agtype);
+SELECT * FROM cypher('issue_1043', $$ MATCH (x)<-[y *]-(),({n:y[0].n}) RETURN
x ORDER BY id(x) ASC $$) as (a agtype);
SELECT drop_graph('issue_1043', true);
-- issue 1910
SELECT create_graph('issue_1910');
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE EXISTS((n)-[*1]-({name:
'Willem Defoe'}))
- RETURN n.full_name $$) AS (full_name
agtype);
+ RETURN n.full_name ORDER BY id(n) ASC
$$) AS (full_name agtype);
SELECT * FROM cypher('issue_1910', $$ CREATE ({name: 'Jane
Doe'})-[:KNOWS]->({name: 'John Doe'}) $$) AS (result agtype);
SELECT * FROM cypher('issue_1910', $$ CREATE ({name: 'Donald
Defoe'})-[:KNOWS]->({name: 'Willem Defoe'}) $$) AS (result agtype);
SELECT * FROM cypher('issue_1910', $$ MATCH (u {name: 'John Doe'})
MERGE (u)-[:KNOWS]->({name: 'Willem
Defoe'}) $$) AS (result agtype);
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE EXISTS((n)-[*]-({name:
'Willem Defoe'}))
- RETURN n.name $$) AS (name agtype);
+ RETURN n.name ORDER BY id(n) ASC $$) AS
(name agtype);
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE EXISTS((n)-[*1]-({name:
'Willem Defoe'}))
- RETURN n.name $$) AS (name agtype);
+ RETURN n.name ORDER BY id(n) ASC $$) AS
(name agtype);
SELECT * FROM cypher('issue_1910', $$ MATCH (n) WHERE
EXISTS((n)-[*2..2]-({name: 'Willem Defoe'}))
- RETURN n.name $$) AS (name agtype);
+ RETURN n.name ORDER BY id(n) ASC $$) AS
(name agtype);
SELECT drop_graph('issue_1910', true);