@@ -741,6 +741,135 @@ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE NOT 35 < u.age + 1 <=
741741 {"id": 844424930131973, "label": "people", "properties": {"age": 15, "name": "David"}}::vertex
742742(3 rows)
743743
744+ -- order of operations
745+ -- expressions
746+ SELECT * FROM cypher('chained', $$ RETURN 1 = 1 = 1 $$) AS (result agtype);
747+ result
748+ --------
749+ true
750+ (1 row)
751+
752+ SELECT * FROM cypher('chained', $$ RETURN 1 = 2 = 1 $$) AS (result agtype);
753+ result
754+ --------
755+ false
756+ (1 row)
757+
758+ SELECT * FROM cypher('chained', $$ RETURN (1 = 1) = 1 $$) AS (result agtype);
759+ result
760+ --------
761+ false
762+ (1 row)
763+
764+ SELECT * FROM cypher('chained', $$ RETURN 1 = (1 = 1) $$) AS (result agtype);
765+ result
766+ --------
767+ false
768+ (1 row)
769+
770+ SELECT * FROM cypher('chained', $$ RETURN 1 = 1 = true $$) AS (result agtype);
771+ result
772+ --------
773+ false
774+ (1 row)
775+
776+ SELECT * FROM cypher('chained', $$ RETURN (1 = 1) = true $$) AS (result agtype);
777+ result
778+ --------
779+ true
780+ (1 row)
781+
782+ SELECT * FROM cypher('chained', $$ RETURN true = ((1 = 1) = true) $$) AS (result agtype);
783+ result
784+ --------
785+ true
786+ (1 row)
787+
788+ SELECT * FROM cypher('chained', $$ RETURN ((1 = 1) = 1) = 1 $$) AS (result agtype);
789+ result
790+ --------
791+ false
792+ (1 row)
793+
794+ SELECT * FROM cypher('chained', $$ RETURN (1 = (1 = 1)) = 1 $$) AS (result agtype);
795+ result
796+ --------
797+ false
798+ (1 row)
799+
800+ SELECT * FROM cypher('chained', $$ RETURN ((1 = (1 = 1)) = 1) = 1 $$) AS (result agtype);
801+ result
802+ --------
803+ false
804+ (1 row)
805+
806+ -- in clause
807+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE 35 = u.age = 35 RETURN u $$) AS (result agtype);
808+ result
809+ ---------------------------------------------------------------------------------------------------
810+ {"id": 844424930131971, "label": "people", "properties": {"age": 35, "name": "Samantha"}}::vertex
811+ (1 row)
812+
813+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE (35 = u.age) = 35 RETURN u $$) AS (result agtype);
814+ result
815+ --------
816+ (0 rows)
817+
818+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE (35 = 35) = u.age RETURN u $$) AS (result agtype);
819+ result
820+ --------
821+ (0 rows)
822+
823+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE u.age = u.age = u.age RETURN u $$) AS (result agtype);
824+ result
825+ ---------------------------------------------------------------------------------------------------
826+ {"id": 844424930131969, "label": "people", "properties": {"age": 50, "name": "Jason"}}::vertex
827+ {"id": 844424930131970, "label": "people", "properties": {"age": 25, "name": "Amy"}}::vertex
828+ {"id": 844424930131971, "label": "people", "properties": {"age": 35, "name": "Samantha"}}::vertex
829+ {"id": 844424930131972, "label": "people", "properties": {"age": 40, "name": "Mark"}}::vertex
830+ {"id": 844424930131973, "label": "people", "properties": {"age": 15, "name": "David"}}::vertex
831+ (5 rows)
832+
833+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE (u.age = u.age) = u.age RETURN u $$) AS (result agtype);
834+ result
835+ --------
836+ (0 rows)
837+
838+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE u.age = (u.age = u.age) RETURN u $$) AS (result agtype);
839+ result
840+ --------
841+ (0 rows)
842+
843+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE (u.age = u.age) = (u.age = u.age) RETURN u $$) AS (result agtype);
844+ result
845+ ---------------------------------------------------------------------------------------------------
846+ {"id": 844424930131969, "label": "people", "properties": {"age": 50, "name": "Jason"}}::vertex
847+ {"id": 844424930131970, "label": "people", "properties": {"age": 25, "name": "Amy"}}::vertex
848+ {"id": 844424930131971, "label": "people", "properties": {"age": 35, "name": "Samantha"}}::vertex
849+ {"id": 844424930131972, "label": "people", "properties": {"age": 40, "name": "Mark"}}::vertex
850+ {"id": 844424930131973, "label": "people", "properties": {"age": 15, "name": "David"}}::vertex
851+ (5 rows)
852+
853+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE u.age = (u.age = (u.age = u.age)) RETURN u $$) AS (result agtype);
854+ result
855+ --------
856+ (0 rows)
857+
858+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE u.age = 35 = ((u.age = u.age) = u.age) RETURN u $$) AS (result agtype);
859+ result
860+ --------
861+ (0 rows)
862+
863+ SELECT * FROM cypher('chained', $$ MATCH (u:people) WHERE ((u.age = u.age) = (u.age = u.age)) = (u.age = u.age) RETURN u $$) AS (result agtype);
864+ result
865+ ---------------------------------------------------------------------------------------------------
866+ {"id": 844424930131969, "label": "people", "properties": {"age": 50, "name": "Jason"}}::vertex
867+ {"id": 844424930131970, "label": "people", "properties": {"age": 25, "name": "Amy"}}::vertex
868+ {"id": 844424930131971, "label": "people", "properties": {"age": 35, "name": "Samantha"}}::vertex
869+ {"id": 844424930131972, "label": "people", "properties": {"age": 40, "name": "Mark"}}::vertex
870+ {"id": 844424930131973, "label": "people", "properties": {"age": 15, "name": "David"}}::vertex
871+ (5 rows)
872+
744873--
745874-- Test transform logic for IS NULL & IS NOT NULL
746875--
0 commit comments