File: scan_tests.c

package info (click to toggle)
libpg-query 17-6.1.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid, trixie
  • size: 32,420 kB
  • sloc: ansic: 171,152; sql: 78,873; ruby: 1,547; makefile: 266; cpp: 221
file content (101 lines) | stat: -rw-r--r-- 4,154 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
const char* const tests[] = {
  "SELECT 1",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "1 = ICONST, NO_KEYWORD\n",
  "SELECT * FROM x WHERE z = 2",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "* = ASCII_42, NO_KEYWORD\n"
    "FROM = FROM, RESERVED_KEYWORD\n"
    "x = IDENT, NO_KEYWORD\n"
    "WHERE = WHERE, RESERVED_KEYWORD\n"
    "z = IDENT, NO_KEYWORD\n"
    "= = ASCII_61, NO_KEYWORD\n"
    "2 = ICONST, NO_KEYWORD\n",
  "SELECT 5.41414",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "5.41414 = FCONST, NO_KEYWORD\n",
  "SELECT $1",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "$1 = PARAM, NO_KEYWORD\n",
	"SELECT update AS left /* comment */ FROM between",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "update = UPDATE, UNRESERVED_KEYWORD\n"
    "AS = AS, RESERVED_KEYWORD\n"
    "left = LEFT, TYPE_FUNC_NAME_KEYWORD\n"
    "/* comment */ = C_COMMENT, NO_KEYWORD\n"
    "FROM = FROM, RESERVED_KEYWORD\n"
    "between = BETWEEN, COL_NAME_KEYWORD\n",
  "SELECT 999999999999999999999::numeric/1000000000000000000000",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "999999999999999999999 = FCONST, NO_KEYWORD\n"
    ":: = TYPECAST, NO_KEYWORD\n"
    "numeric = NUMERIC, COL_NAME_KEYWORD\n"
    "/ = ASCII_47, NO_KEYWORD\n"
    "1000000000000000000000 = FCONST, NO_KEYWORD\n",
  "SELECT 4790999999999999999999999999999999999999999999999999999999999999999999999999999999999999 * 9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "4790999999999999999999999999999999999999999999999999999999999999999999999999999999999999 = FCONST, NO_KEYWORD\n"
    "* = ASCII_42, NO_KEYWORD\n"
    "9999999999999999999999999999999999999999999999999999999999999999999999999999999999999999 = FCONST, NO_KEYWORD\n",
  "SELECT $foo$test$foo$, '123' FROM \"xy\", abc",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "$foo$test$foo$ = SCONST, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "'123' = SCONST, NO_KEYWORD\n"
    "FROM = FROM, RESERVED_KEYWORD\n"
    "\"xy\" = IDENT, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "abc = IDENT, NO_KEYWORD\n",
  "SELECT '/*not a comment*/', E'\\134', B'10', X'12', -Infinity, U&\"d!0061t!+000061\" UESCAPE '!', U&'d!0061t!+000061' UESCAPE '!'",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "'/*not a comment*/' = SCONST, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "E'\\134' = SCONST, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "B'10' = BCONST, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "X'12' = XCONST, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "- = ASCII_45, NO_KEYWORD\n"
    "Infinity = IDENT, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "U&\"d!0061t!+000061\" = UIDENT, NO_KEYWORD\n"
    "UESCAPE = UESCAPE, UNRESERVED_KEYWORD\n"
    "'!' = SCONST, NO_KEYWORD\n"
    ", = ASCII_44, NO_KEYWORD\n"
    "U&'d!0061t!+000061' = USCONST, NO_KEYWORD\n"
    "UESCAPE = UESCAPE, UNRESERVED_KEYWORD\n"
    "'!' = SCONST, NO_KEYWORD\n",
  "SELECT 'a'/*;*/'b'; SELECT ';';",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "'a' = SCONST, NO_KEYWORD\n"
    "/*;*/ = C_COMMENT, NO_KEYWORD\n"
    "'b' = SCONST, NO_KEYWORD\n"
    "; = ASCII_59, NO_KEYWORD\n"
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "';' = SCONST, NO_KEYWORD\n"
    "; = ASCII_59, NO_KEYWORD\n",
  "CREATE RULE x AS ON SELECT TO tbl DO (SELECT 1; SELECT 2)",
    "CREATE = CREATE, RESERVED_KEYWORD\n"
    "RULE = RULE, UNRESERVED_KEYWORD\n"
    "x = IDENT, NO_KEYWORD\n"
    "AS = AS, RESERVED_KEYWORD\n"
    "ON = ON, RESERVED_KEYWORD\n"
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "TO = TO, RESERVED_KEYWORD\n"
    "tbl = IDENT, NO_KEYWORD\n"
    "DO = DO, RESERVED_KEYWORD\n"
    "( = ASCII_40, NO_KEYWORD\n"
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "1 = ICONST, NO_KEYWORD\n"
    "; = ASCII_59, NO_KEYWORD\n"
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "2 = ICONST, NO_KEYWORD\n"
    ") = ASCII_41, NO_KEYWORD\n",
  "SELECT $identifier",
    "SELECT = SELECT, RESERVED_KEYWORD\n"
    "$ = ASCII_36, NO_KEYWORD\n"
    "identifier = IDENT, NO_KEYWORD\n",
};

const size_t testsCount = sizeof(tests)/sizeof(*tests)/2;