blob: d96d80049ebf0550708b25fb87b27a9ce9054bd9 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
* distributed with this work for additional information
* regarding copyright ownership. The ASF licenses this file
* to you under the Apache License, Version 2.0 (the
* "License"); you may not use this file except in compliance
* with the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
SET extra_float_digits = 0;
LOAD 'age';
SET search_path TO ag_catalog;
SELECT create_graph('scan');
NOTICE: graph "scan" has been created
create_graph
--------------
(1 row)
SELECT create_graph('scan');
ERROR: graph "scan" already exists
--
-- multi-line comment
--
SELECT * FROM cypher('scan', $$
/*
* multi-line comment
*/
RETURN 0
/**/
$$) AS t(a agtype);
a
---
0
(1 row)
SELECT * FROM cypher('scan', $$
/* unterminated /* comment
RETURN 0
$$) AS t(a int);
ERROR: unterminated /* comment at or near "/* unterminated /* comment
RETURN 0
"
LINE 2: /* unterminated /* comment
^
-- recover syntax highlighting */
--
-- single-line comment
--
SELECT * FROM cypher('scan', $$
// single-line
// comment
RETURN 0
$$) AS t(a agtype);
a
---
0
(1 row)
--
-- decimal integer
--
SELECT * FROM cypher('scan', $$
RETURN 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype,
f agtype, g agtype, h agtype, i agtype, j agtype);
a | b | c | d | e | f | g | h | i | j
---+---+---+---+---+---+---+---+---+----
1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10
(1 row)
SELECT * FROM cypher('scan', $$
RETURN 11, 22, 33, 44, 55, 66, 77, 88, 99
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype,
f agtype, g agtype, h agtype, i agtype);
a | b | c | d | e | f | g | h | i
----+----+----+----+----+----+----+----+----
11 | 22 | 33 | 44 | 55 | 66 | 77 | 88 | 99
(1 row)
-- 2^31 - 1, 2^31
SELECT * FROM cypher('scan', $$
RETURN 2147483647, 2147483648
$$) AS t(a agtype, b agtype);
a | b
------------+------------
2147483647 | 2147483648
(1 row)
--
-- octal integer
--
SELECT * FROM cypher('scan', $$
RETURN 00, 01, 02, 03, 04, 05, 06, 07, 010
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype,
f agtype, g agtype, h agtype, i agtype);
a | b | c | d | e | f | g | h | i
---+---+---+---+---+---+---+---+---
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8
(1 row)
SELECT * FROM cypher('scan', $$
RETURN 000, 011, 022, 033, 044, 055, 066, 077
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype,
f agtype, g agtype, h agtype);
a | b | c | d | e | f | g | h
---+---+----+----+----+----+----+----
0 | 9 | 18 | 27 | 36 | 45 | 54 | 63
(1 row)
-- 2^31 - 1, 2^31
SELECT * FROM cypher('scan', $$
RETURN 000000000000, 017777777777, 0020000000000
$$) AS t(a agtype, b agtype, c agtype);
a | b | c
---+------------+------------
0 | 2147483647 | 2147483648
(1 row)
-- 2^60 - 1, 2^64 - 1
SELECT * FROM cypher('scan', $$
RETURN 077777777777777777777, 01777777777777777777777
$$) AS t(a agtype, b agtype);
a | b
---------------------+----------------------
1152921504606846975 | 1.84467440737096e+19
(1 row)
-- an invalid character after reading valid digits
SELECT * FROM cypher('scan', $$
RETURN 012345678
$$) AS t(a int);
ERROR: invalid octal integer literal at or near "012345678"
LINE 2: RETURN 012345678
^
-- an invalid character after the leading "0"
SELECT * FROM cypher('scan', $$
RETURN 09
$$) AS t(a int);
ERROR: invalid octal integer literal at or near "09"
LINE 2: RETURN 09
^
--
-- hexadecimal integer
--
SELECT * FROM cypher('scan', $$
RETURN 0x0, 0x1, 0x2, 0x3, 0x4, 0x5, 0x6, 0x7, 0x8, 0x9
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype,
f agtype, g agtype, h agtype, i agtype, j agtype);
a | b | c | d | e | f | g | h | i | j
---+---+---+---+---+---+---+---+---+---
0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
(1 row)
SELECT * FROM cypher('scan', $$
RETURN 0xA, 0xB, 0xC, 0xD, 0xE, 0xF
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype, f agtype);
a | b | c | d | e | f
----+----+----+----+----+----
10 | 11 | 12 | 13 | 14 | 15
(1 row)
SELECT * FROM cypher('scan', $$
RETURN 0X00, 0X11, 0X22, 0X33, 0X44, 0X55, 0X66, 0X77, 0X88, 0X99
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype,
f agtype, g agtype, h agtype, i agtype, j agtype);
a | b | c | d | e | f | g | h | i | j
---+----+----+----+----+----+-----+-----+-----+-----
0 | 17 | 34 | 51 | 68 | 85 | 102 | 119 | 136 | 153
(1 row)
SELECT * FROM cypher('scan', $$
RETURN 0XAa, 0XBb, 0XCc, 0XDd, 0XEe, 0xFf
$$) AS t(a agtype, b agtype, c agtype, d agtype, e agtype, f agtype);
a | b | c | d | e | f
-----+-----+-----+-----+-----+-----
170 | 187 | 204 | 221 | 238 | 255
(1 row)
-- 2^31 - 1, 2^31
SELECT * FROM cypher('scan', $$
RETURN 0x00000000, 0x7FFFFFFF, 0x080000000
$$) AS t(a agtype, b agtype, c agtype);
a | b | c
---+------------+------------
0 | 2147483647 | 2147483648
(1 row)
-- 10^18, 2^64 - 1
SELECT * FROM cypher('scan', $$
RETURN 0xde0b6b3a7640000, 0xffffffffffffffff
$$) AS t(a agtype, b agtype);
a | b
---------------------+----------------------
1000000000000000000 | 1.84467440737096e+19
(1 row)
-- an invalid character after reading valid digits
SELECT * FROM cypher('scan', $$
RETURN 0xF~
$$) AS t(a int);
ERROR: unexpected character at or near "~"
LINE 2: RETURN 0xF~
^
-- an invalid character after the leading "0x"
SELECT * FROM cypher('scan', $$
RETURN 0x~
$$) AS t(a int);
ERROR: invalid hexadecimal integer literal at or near "0x"
LINE 2: RETURN 0x~
^
-- "0x" followed by nothing
SELECT * FROM cypher('scan', $$
RETURN 0x
$$) AS t(a int);
ERROR: invalid hexadecimal integer literal at or near "0x"
LINE 2: RETURN 0x
^
--
-- decimal
--
SELECT * FROM cypher('scan', $$
RETURN 03., 3.141592, .141592
$$) AS t(a agtype, b agtype, c agtype);
a | b | c
-----+----------+----------
3.0 | 3.141592 | 0.141592
(1 row)
-- "0" and ".."
SELECT * FROM cypher('scan', $$
RETURN 0..
$$) AS t(a text, b text, c text);
ERROR: syntax error at or near ".."
LINE 2: RETURN 0..
^
--
-- scientific notation
--
SELECT * FROM cypher('scan', $$
RETURN 3141592e-6, 3.141592E0, .3141592e+1
$$) AS t(a agtype, b agtype, c agtype);
a | b | c
----------+----------+----------
3.141592 | 3.141592 | 3.141592
(1 row)
-- invalid exponent parts
SELECT * FROM cypher('scan', $$
RETURN 3141592e-
$$) AS t(a text);
ERROR: invalid scientific notation literal at or near "3141592e-"
LINE 2: RETURN 3141592e-
^
SELECT * FROM cypher('scan', $$
RETURN 3.141592E
$$) AS t(a text);
ERROR: invalid scientific notation literal at or near "3.141592E"
LINE 2: RETURN 3.141592E
^
SELECT * FROM cypher('scan', $$
RETURN .3141592e+
$$) AS t(a text);
ERROR: invalid scientific notation literal at or near ".3141592e+"
LINE 2: RETURN .3141592e+
^
--
-- quoted string
--
-- a long string
SELECT * FROM cypher('scan', $$
RETURN " !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
$$) AS t(a agtype);
a
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
" !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~ !#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~"
(1 row)
-- escape sequences
SELECT * FROM cypher('scan', $$
RETURN " \" \" ' \' ", ' \' \' " \" ', " / \/ \\ \b \f \n \r \t "
$$) AS t(a agtype, b agtype, c agtype);
a | b | c
---------------+---------------+---------------------------
" \" \" ' ' " | " ' ' \" \" " | " / / \\ \b \f \n \r \t "
(1 row)
-- invalid escape sequence
SELECT * FROM cypher('scan', $$
RETURN "\a"
$$) AS t(a text);
ERROR: invalid escape sequence at or near "\a"
LINE 2: RETURN "\a"
^
DETAIL: Valid escape sequences are \", \', \/, \\, \b, \f, \n, \r, \t, \uXXXX, and \UXXXXXXXX.
-- Unicode escape sequences
SELECT * FROM cypher('scan', $$
RETURN "\u03A9 (GREEK CAPITAL LETTER OMEGA, U+03A9, Ω)",
"\U0001d6e9 (MATHEMATICAL ITALIC CAPITAL THETA, U+1D6E9, 𝛩)",
"\ud835\U0000DEF0 (MATHEMATICAL ITALIC CAPITAL OMICRON, U+1D6F0, 𝛰)",
"\u002E (FULL STOP, U+002E, .)"
$$) AS t(a agtype, b agtype, c agtype, d agtype);
a | b | c | d
---------------------------------------------+-----------------------------------------------------+-------------------------------------------------------+----------------------------
"Ω (GREEK CAPITAL LETTER OMEGA, U+03A9, Ω)" | "𝛩 (MATHEMATICAL ITALIC CAPITAL THETA, U+1D6E9, 𝛩)" | "𝛰 (MATHEMATICAL ITALIC CAPITAL OMICRON, U+1D6F0, 𝛰)" | ". (FULL STOP, U+002E, .)"
(1 row)
-- invalid Unicode surrogate pair (need a low surrogate)
SELECT * FROM cypher('scan', $$
RETURN "\uD835"
$$) AS t(a text);
ERROR: invalid Unicode surrogate pair at or near """
LINE 2: RETURN "\uD835"
^
DETAIL: A low surrogate must follow a high surrogate.
-- invalid Unicode surrogate pair (not a low surrogate)
SELECT * FROM cypher('scan', $$
RETURN "\uD835\u002E"
$$) AS t(a text);
ERROR: invalid Unicode surrogate pair at or near "\u002E"
LINE 2: RETURN "\uD835\u002E"
^
DETAIL: A low surrogate must follow a high surrogate.
-- invalid Unicode surrogate pair (need a high surrogate)
SELECT * FROM cypher('scan', $$
RETURN "\uDEF0"
$$) AS t(a text);
ERROR: invalid Unicode surrogate pair at or near "\uDEF0"
LINE 2: RETURN "\uDEF0"
^
DETAIL: A low surrogate must follow a high surrogate.
-- invalid Unicode escape value (must be less than or equal to 10FFFF)
SELECT * FROM cypher('scan', $$
RETURN "\U00110000"
$$) AS t(a text);
ERROR: invalid Unicode escape value at or near "\U00110000"
LINE 2: RETURN "\U00110000"
^
DETAIL: Unicode escape values cannot be greater than 10FFFF, which is the maximum value of a code point.
-- unsupported Unicode escape value ('\0' is not allowed)
SELECT * FROM cypher('scan', $$
RETURN "\u0000"
$$) AS t(a text);
ERROR: unsupported Unicode escape value at or near "\u0000"
LINE 2: RETURN "\u0000"
^
DETAIL: Unicode code point value 0000 is not allowed in quoted strings.
-- unsupported Unicode escape value (the server encoding is not UTF8)
CREATE DATABASE contrib_regression_age_euc_kr
TEMPLATE template0
ENCODING EUC_KR
LC_COLLATE 'C' LC_CTYPE 'C';
\c contrib_regression_age_euc_kr
CREATE EXTENSION age;
LOAD 'age';
SET search_path TO ag_catalog;
SELECT create_graph('scan');
NOTICE: graph "scan" has been created
create_graph
--------------
(1 row)
SELECT * FROM cypher('scan', $$
RETURN "\U0001D706"
$$) AS t(a text);
ERROR: unsupported Unicode escape value at or near "\U0001D706"
LINE 2: RETURN "\U0001D706"
^
DETAIL: Unicode escape values cannot be used for code point values above 007F when the server encoding is not UTF8.
SELECT drop_graph('scan', true);
NOTICE: drop cascades to 2 other objects
DETAIL: drop cascades to table scan._ag_label_vertex
drop cascades to table scan._ag_label_edge
NOTICE: graph "scan" has been dropped
drop_graph
------------
(1 row)
\c contrib_regression
DROP DATABASE contrib_regression_age_euc_kr;
LOAD 'age';
SET search_path TO ag_catalog;
-- invalid Unicode escape sequence (must be \uXXXX or \UXXXXXXXX)
SELECT * FROM cypher('scan', $$
RETURN "\UD835"
$$) AS t(a text);
ERROR: invalid Unicode escape sequence at or near "\UD835"
LINE 2: RETURN "\UD835"
^
HINT: Unicode escape sequences must be \uXXXX or \UXXXXXXXX.
SELECT * FROM cypher('scan', $$
RETURN "\uD835\uDEF"
$$) AS t(a text);
ERROR: invalid Unicode escape sequence at or near "\uDEF"
LINE 2: RETURN "\uD835\uDEF"
^
HINT: Unicode escape sequences must be \uXXXX or \UXXXXXXXX.
-- unterminated quoted strings
SELECT * FROM cypher('scan', $$RETURN "unterminated quoted string$$) AS t(a text);
ERROR: unterminated quoted string at or near ""unterminated quoted string"
LINE 1: SELECT * FROM cypher('scan', $$RETURN "unterminated quoted s...
^
-- recover syntax highlighting "
SELECT * FROM cypher('scan', $$RETURN 'unterminated quoted string$$) AS t(a text);
ERROR: unterminated quoted string at or near "'unterminated quoted string"
LINE 1: SELECT * FROM cypher('scan', $$RETURN 'unterminated quoted s...
^
-- recover syntax highlighting '
SELECT * FROM cypher('scan', $$RETURN "escape \$$) AS t(a text);
ERROR: unterminated quoted string at or near ""escape \"
LINE 1: SELECT * FROM cypher('scan', $$RETURN "escape \$$) AS t(a te...
^
-- recover syntax highlighting "
SELECT * FROM cypher('scan', $$RETURN "high surrogate \uD835$$) AS t(a text);
ERROR: unterminated quoted string at or near ""high surrogate \uD835"
LINE 1: SELECT * FROM cypher('scan', $$RETURN "high surrogate \uD835...
^
-- recover syntax highlighting "
--
-- identifier
--
-- check that they are accepted as identifier (all tests throw an error)
SELECT * FROM cypher('scan', $$
RETURN _$09A_z
$$) AS t(id text);
ERROR: could not find rte for _$09A_z
LINE 2: RETURN _$09A_z
^
SELECT * FROM cypher('scan', $$
RETURN A
$$) AS t(id text);
ERROR: could not find rte for A
LINE 2: RETURN A
^
SELECT * FROM cypher('scan', $$
RETURN z
$$) AS t(id text);
ERROR: could not find rte for z
LINE 2: RETURN z
^
SELECT * FROM cypher('scan', $$
RETURN `$`
$$) AS t(id text);
ERROR: could not find rte for $
LINE 2: RETURN `$`
^
SELECT * FROM cypher('scan', $$
RETURN `0`
$$) AS t(id text);
ERROR: could not find rte for 0
LINE 2: RETURN `0`
^
SELECT * FROM cypher('scan', $$
RETURN ````
$$) AS t(id text);
ERROR: could not find rte for `
LINE 2: RETURN ````
^
-- zero-length quoted identifier
SELECT * FROM cypher('scan', $$
RETURN ``
$$) AS t(a text);
ERROR: zero-length quoted identifier at or near "``"
LINE 2: RETURN ``
^
SELECT * FROM cypher('scan', $$
RETURN `unterminated quoted identifier
$$) AS t(a text);
ERROR: unterminated quoted identifier at or near "`unterminated quoted identifier
"
LINE 2: RETURN `unterminated quoted identifier
^
-- recover syntax highlighting `
--
-- parameter
--
-- invalid parameter names
SELECT * FROM cypher('scan', $cypher$
RETURN $$
$cypher$) AS t(a text);
ERROR: unexpected character at or near "$"
LINE 2: RETURN $$
^
SELECT * FROM cypher('scan', $$
RETURN $0
$$) AS t(a text);
ERROR: unexpected character at or near "$"
LINE 2: RETURN $0
^
SELECT drop_graph('scan', true);
NOTICE: drop cascades to 2 other objects
DETAIL: drop cascades to table scan._ag_label_vertex
drop cascades to table scan._ag_label_edge
NOTICE: graph "scan" has been dropped
drop_graph
------------
(1 row)