rupg-sql 0.1.84

The lexer, the parser from the vendored gram.y, the parse tree and its printer.
Documentation
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
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
2746
2747
2748
2749
2750
2751
2752
2753
2754
2755
2756
2757
2758
2759
2760
2761
2762
2763
2764
2765
2766
2767
2768
2769
2770
2771
2772
2773
2774
2775
2776
2777
2778
2779
2780
2781
2782
2783
2784
2785
2786
2787
2788
2789
2790
2791
2792
2793
2794
2795
2796
2797
2798
2799
2800
2801
2802
2803
2804
2805
2806
2807
2808
2809
2810
2811
2812
2813
2814
2815
2816
2817
2818
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2829
2830
2831
2832
2833
2834
2835
2836
2837
2838
2839
2840
2841
2842
2843
2844
2845
2846
2847
2848
2849
2850
2851
2852
2853
2854
2855
2856
2857
2858
2859
2860
2861
2862
2863
2864
2865
2866
2867
2868
2869
2870
2871
2872
2873
2874
2875
2876
2877
2878
2879
2880
2881
2882
2883
2884
2885
2886
2887
2888
2889
2890
2891
2892
2893
2894
2895
2896
2897
2898
2899
2900
2901
2902
2903
2904
2905
2906
2907
2908
2909
2910
2911
2912
2913
2914
2915
2916
2917
2918
2919
2920
2921
2922
2923
2924
2925
2926
2927
2928
2929
2930
2931
2932
2933
2934
2935
2936
2937
2938
2939
2940
2941
2942
2943
2944
2945
2946
2947
2948
2949
2950
2951
2952
2953
2954
2955
2956
2957
2958
2959
2960
2961
2962
2963
2964
2965
2966
2967
2968
2969
2970
2971
2972
2973
2974
2975
2976
2977
2978
2979
2980
2981
2982
2983
2984
2985
2986
2987
2988
2989
2990
2991
2992
2993
2994
2995
2996
2997
2998
2999
3000
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
3056
3057
3058
3059
3060
3061
3062
3063
3064
3065
3066
3067
3068
3069
3070
3071
3072
3073
3074
3075
3076
3077
3078
3079
3080
3081
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
3242
3243
3244
3245
3246
3247
3248
3249
3250
3251
3252
3253
3254
3255
3256
3257
3258
3259
3260
3261
3262
3263
3264
3265
3266
3267
3268
3269
3270
3271
3272
3273
3274
3275
3276
3277
3278
3279
3280
3281
3282
3283
3284
3285
3286
3287
3288
3289
3290
3291
3292
3293
3294
3295
3296
3297
3298
3299
3300
3301
3302
3303
3304
3305
3306
3307
3308
3309
3310
3311
3312
3313
3314
3315
3316
3317
3318
3319
3320
3321
3322
3323
3324
3325
3326
3327
3328
3329
3330
3331
3332
3333
3334
3335
3336
3337
3338
3339
3340
3341
3342
3343
3344
3345
3346
3347
3348
3349
3350
3351
3352
3353
3354
3355
3356
3357
3358
3359
3360
3361
3362
3363
3364
3365
3366
3367
3368
3369
3370
3371
3372
3373
3374
3375
3376
3377
3378
3379
3380
3381
3382
3383
3384
3385
3386
3387
3388
3389
3390
3391
3392
3393
3394
3395
3396
3397
3398
3399
3400
3401
3402
3403
3404
3405
3406
3407
3408
3409
3410
3411
3412
3413
3414
3415
3416
3417
3418
3419
3420
3421
3422
3423
3424
3425
3426
3427
3428
3429
3430
3431
3432
3433
3434
3435
3436
3437
3438
3439
3440
3441
3442
3443
3444
3445
3446
3447
3448
3449
3450
3451
3452
3453
3454
3455
3456
3457
3458
3459
3460
3461
3462
3463
3464
3465
3466
3467
3468
3469
3470
3471
3472
3473
3474
3475
3476
3477
3478
3479
3480
3481
3482
/*
 * Every alternative of the PostgreSQL grammar, as the rule name and the number of the alternative from 1, then its right side. The actions in `crates/rupg-sql/src/actions` and the glue use these names.
 *
 * Generated by `cargo xtask sql` from vendor/postgres-19/src/backend/parser/gram.y. Do not edit. `cargo xtask sql --check` runs in CI and fails if this file and gram.y disagree.
 */

parse_toplevel.1: stmtmulti
parse_toplevel.2: MODE_TYPE_NAME Typename
parse_toplevel.3: MODE_PLPGSQL_EXPR PLpgSQL_Expr
parse_toplevel.4: MODE_PLPGSQL_ASSIGN1 PLAssignStmt
parse_toplevel.5: MODE_PLPGSQL_ASSIGN2 PLAssignStmt
parse_toplevel.6: MODE_PLPGSQL_ASSIGN3 PLAssignStmt
stmtmulti.1: stmtmulti ';' toplevel_stmt
stmtmulti.2: toplevel_stmt
toplevel_stmt.1: stmt
toplevel_stmt.2: TransactionStmtLegacy
stmt.1: AlterEventTrigStmt
stmt.2: AlterCollationStmt
stmt.3: AlterDatabaseStmt
stmt.4: AlterDatabaseSetStmt
stmt.5: AlterDefaultPrivilegesStmt
stmt.6: AlterDomainStmt
stmt.7: AlterEnumStmt
stmt.8: AlterExtensionStmt
stmt.9: AlterExtensionContentsStmt
stmt.10: AlterFdwStmt
stmt.11: AlterForeignServerStmt
stmt.12: AlterFunctionStmt
stmt.13: AlterGroupStmt
stmt.14: AlterObjectDependsStmt
stmt.15: AlterObjectSchemaStmt
stmt.16: AlterOwnerStmt
stmt.17: AlterOperatorStmt
stmt.18: AlterTypeStmt
stmt.19: AlterPolicyStmt
stmt.20: AlterSeqStmt
stmt.21: AlterSystemStmt
stmt.22: AlterTableStmt
stmt.23: AlterTblSpcStmt
stmt.24: AlterCompositeTypeStmt
stmt.25: AlterPublicationStmt
stmt.26: AlterRoleSetStmt
stmt.27: AlterRoleStmt
stmt.28: AlterSubscriptionStmt
stmt.29: AlterStatsStmt
stmt.30: AlterTSConfigurationStmt
stmt.31: AlterTSDictionaryStmt
stmt.32: AlterUserMappingStmt
stmt.33: AnalyzeStmt
stmt.34: CallStmt
stmt.35: CheckPointStmt
stmt.36: ClosePortalStmt
stmt.37: CommentStmt
stmt.38: ConstraintsSetStmt
stmt.39: CopyStmt
stmt.40: CreateAmStmt
stmt.41: CreateAsStmt
stmt.42: CreateAssertionStmt
stmt.43: CreateCastStmt
stmt.44: CreateConversionStmt
stmt.45: CreateDomainStmt
stmt.46: CreateExtensionStmt
stmt.47: CreateFdwStmt
stmt.48: CreateForeignServerStmt
stmt.49: CreateForeignTableStmt
stmt.50: CreateFunctionStmt
stmt.51: CreateGroupStmt
stmt.52: CreateMatViewStmt
stmt.53: CreateOpClassStmt
stmt.54: CreateOpFamilyStmt
stmt.55: CreatePublicationStmt
stmt.56: AlterOpFamilyStmt
stmt.57: CreatePolicyStmt
stmt.58: CreatePLangStmt
stmt.59: CreateSchemaStmt
stmt.60: CreateSeqStmt
stmt.61: CreateStmt
stmt.62: CreateSubscriptionStmt
stmt.63: CreateStatsStmt
stmt.64: CreateTableSpaceStmt
stmt.65: CreateTransformStmt
stmt.66: CreateTrigStmt
stmt.67: CreateEventTrigStmt
stmt.68: CreateRoleStmt
stmt.69: CreateUserStmt
stmt.70: CreateUserMappingStmt
stmt.71: CreatedbStmt
stmt.72: DeallocateStmt
stmt.73: DeclareCursorStmt
stmt.74: DefineStmt
stmt.75: DeleteStmt
stmt.76: DiscardStmt
stmt.77: DoStmt
stmt.78: DropCastStmt
stmt.79: DropOpClassStmt
stmt.80: DropOpFamilyStmt
stmt.81: DropOwnedStmt
stmt.82: DropStmt
stmt.83: DropSubscriptionStmt
stmt.84: DropTableSpaceStmt
stmt.85: DropTransformStmt
stmt.86: DropRoleStmt
stmt.87: DropUserMappingStmt
stmt.88: DropdbStmt
stmt.89: ExecuteStmt
stmt.90: ExplainStmt
stmt.91: FetchStmt
stmt.92: GrantStmt
stmt.93: GrantRoleStmt
stmt.94: ImportForeignSchemaStmt
stmt.95: IndexStmt
stmt.96: InsertStmt
stmt.97: ListenStmt
stmt.98: RefreshMatViewStmt
stmt.99: LoadStmt
stmt.100: LockStmt
stmt.101: MergeStmt
stmt.102: NotifyStmt
stmt.103: PrepareStmt
stmt.104: ReassignOwnedStmt
stmt.105: ReindexStmt
stmt.106: RemoveAggrStmt
stmt.107: RemoveFuncStmt
stmt.108: RemoveOperStmt
stmt.109: RenameStmt
stmt.110: RepackStmt
stmt.111: RevokeStmt
stmt.112: RevokeRoleStmt
stmt.113: RuleStmt
stmt.114: SecLabelStmt
stmt.115: SelectStmt
stmt.116: TransactionStmt
stmt.117: TruncateStmt
stmt.118: UnlistenStmt
stmt.119: UpdateStmt
stmt.120: VacuumStmt
stmt.121: VariableResetStmt
stmt.122: VariableSetStmt
stmt.123: VariableShowStmt
stmt.124: ViewStmt
stmt.125: WaitStmt
stmt.126: /* empty */
opt_single_name.1: ColId
opt_single_name.2: /* empty */
opt_qualified_name.1: any_name
opt_qualified_name.2: /* empty */
opt_concurrently.1: CONCURRENTLY
opt_concurrently.2: /* empty */
opt_usingindex.1: USING INDEX
opt_usingindex.2: /* empty */
opt_drop_behavior.1: CASCADE
opt_drop_behavior.2: RESTRICT
opt_drop_behavior.3: /* empty */
opt_utility_option_list.1: '(' utility_option_list ')'
opt_utility_option_list.2: /* empty */
utility_option_list.1: utility_option_elem
utility_option_list.2: utility_option_list ',' utility_option_elem
utility_option_elem.1: utility_option_name utility_option_arg
utility_option_name.1: NonReservedWord
utility_option_name.2: analyze_keyword
utility_option_name.3: FORMAT_LA
utility_option_arg.1: opt_boolean_or_string
utility_option_arg.2: NumericOnly
utility_option_arg.3: /* empty */
CallStmt.1: CALL func_application
CreateRoleStmt.1: CREATE ROLE RoleId opt_with OptRoleList
opt_with.1: WITH
opt_with.2: WITH_LA
opt_with.3: /* empty */
OptRoleList.1: OptRoleList CreateOptRoleElem
OptRoleList.2: /* empty */
AlterOptRoleList.1: AlterOptRoleList AlterOptRoleElem
AlterOptRoleList.2: /* empty */
AlterOptRoleElem.1: PASSWORD Sconst
AlterOptRoleElem.2: PASSWORD NULL_P
AlterOptRoleElem.3: ENCRYPTED PASSWORD Sconst
AlterOptRoleElem.4: UNENCRYPTED PASSWORD Sconst
AlterOptRoleElem.5: INHERIT
AlterOptRoleElem.6: CONNECTION LIMIT SignedIconst
AlterOptRoleElem.7: VALID UNTIL Sconst
AlterOptRoleElem.8: USER role_list
AlterOptRoleElem.9: IDENT
CreateOptRoleElem.1: AlterOptRoleElem
CreateOptRoleElem.2: SYSID Iconst
CreateOptRoleElem.3: ADMIN role_list
CreateOptRoleElem.4: ROLE role_list
CreateOptRoleElem.5: IN_P ROLE role_list
CreateOptRoleElem.6: IN_P GROUP_P role_list
CreateUserStmt.1: CREATE USER RoleId opt_with OptRoleList
AlterRoleStmt.1: ALTER ROLE RoleSpec opt_with AlterOptRoleList
AlterRoleStmt.2: ALTER USER RoleSpec opt_with AlterOptRoleList
opt_in_database.1: /* empty */
opt_in_database.2: IN_P DATABASE name
AlterRoleSetStmt.1: ALTER ROLE RoleSpec opt_in_database SetResetClause
AlterRoleSetStmt.2: ALTER ROLE ALL opt_in_database SetResetClause
AlterRoleSetStmt.3: ALTER USER RoleSpec opt_in_database SetResetClause
AlterRoleSetStmt.4: ALTER USER ALL opt_in_database SetResetClause
DropRoleStmt.1: DROP ROLE role_list
DropRoleStmt.2: DROP ROLE IF_P EXISTS role_list
DropRoleStmt.3: DROP USER role_list
DropRoleStmt.4: DROP USER IF_P EXISTS role_list
DropRoleStmt.5: DROP GROUP_P role_list
DropRoleStmt.6: DROP GROUP_P IF_P EXISTS role_list
CreateGroupStmt.1: CREATE GROUP_P RoleId opt_with OptRoleList
AlterGroupStmt.1: ALTER GROUP_P RoleSpec add_drop USER role_list
add_drop.1: ADD_P
add_drop.2: DROP
CreateSchemaStmt.1: CREATE SCHEMA opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList
CreateSchemaStmt.2: CREATE SCHEMA ColId OptSchemaEltList
CreateSchemaStmt.3: CREATE SCHEMA IF_P NOT EXISTS opt_single_name AUTHORIZATION RoleSpec OptSchemaEltList
CreateSchemaStmt.4: CREATE SCHEMA IF_P NOT EXISTS ColId OptSchemaEltList
OptSchemaEltList.1: OptSchemaEltList schema_stmt
OptSchemaEltList.2: /* empty */
schema_stmt.1: CreateStmt
schema_stmt.2: IndexStmt
schema_stmt.3: CreateSeqStmt
schema_stmt.4: CreateTrigStmt
schema_stmt.5: GrantStmt
schema_stmt.6: ViewStmt
VariableSetStmt.1: SET set_rest
VariableSetStmt.2: SET LOCAL set_rest
VariableSetStmt.3: SET SESSION set_rest
set_rest.1: TRANSACTION transaction_mode_list
set_rest.2: SESSION CHARACTERISTICS AS TRANSACTION transaction_mode_list
set_rest.3: set_rest_more
generic_set.1: var_name TO var_list
generic_set.2: var_name '=' var_list
generic_set.3: var_name TO NULL_P
generic_set.4: var_name '=' NULL_P
generic_set.5: var_name TO DEFAULT
generic_set.6: var_name '=' DEFAULT
set_rest_more.1: generic_set
set_rest_more.2: var_name FROM CURRENT_P
set_rest_more.3: TIME ZONE zone_value
set_rest_more.4: CATALOG_P Sconst
set_rest_more.5: SCHEMA Sconst
set_rest_more.6: NAMES opt_encoding
set_rest_more.7: ROLE NonReservedWord_or_Sconst
set_rest_more.8: SESSION AUTHORIZATION NonReservedWord_or_Sconst
set_rest_more.9: SESSION AUTHORIZATION DEFAULT
set_rest_more.10: XML_P OPTION document_or_content
set_rest_more.11: TRANSACTION SNAPSHOT Sconst
var_name.1: ColId
var_name.2: var_name '.' ColId
var_list.1: var_value
var_list.2: var_list ',' var_value
var_value.1: opt_boolean_or_string
var_value.2: NumericOnly
iso_level.1: READ UNCOMMITTED
iso_level.2: READ COMMITTED
iso_level.3: REPEATABLE READ
iso_level.4: SERIALIZABLE
opt_boolean_or_string.1: TRUE_P
opt_boolean_or_string.2: FALSE_P
opt_boolean_or_string.3: ON
opt_boolean_or_string.4: NonReservedWord_or_Sconst
zone_value.1: Sconst
zone_value.2: IDENT
zone_value.3: ConstInterval Sconst opt_interval
zone_value.4: ConstInterval '(' Iconst ')' Sconst
zone_value.5: NumericOnly
zone_value.6: DEFAULT
zone_value.7: LOCAL
opt_encoding.1: Sconst
opt_encoding.2: DEFAULT
opt_encoding.3: /* empty */
NonReservedWord_or_Sconst.1: NonReservedWord
NonReservedWord_or_Sconst.2: Sconst
VariableResetStmt.1: RESET reset_rest
reset_rest.1: generic_reset
reset_rest.2: TIME ZONE
reset_rest.3: TRANSACTION ISOLATION LEVEL
reset_rest.4: SESSION AUTHORIZATION
generic_reset.1: var_name
generic_reset.2: ALL
SetResetClause.1: SET set_rest
SetResetClause.2: VariableResetStmt
FunctionSetResetClause.1: SET set_rest_more
FunctionSetResetClause.2: VariableResetStmt
VariableShowStmt.1: SHOW var_name
VariableShowStmt.2: SHOW TIME ZONE
VariableShowStmt.3: SHOW TRANSACTION ISOLATION LEVEL
VariableShowStmt.4: SHOW SESSION AUTHORIZATION
VariableShowStmt.5: SHOW ALL
ConstraintsSetStmt.1: SET CONSTRAINTS constraints_set_list constraints_set_mode
constraints_set_list.1: ALL
constraints_set_list.2: qualified_name_list
constraints_set_mode.1: DEFERRED
constraints_set_mode.2: IMMEDIATE
CheckPointStmt.1: CHECKPOINT opt_utility_option_list
DiscardStmt.1: DISCARD ALL
DiscardStmt.2: DISCARD TEMP
DiscardStmt.3: DISCARD TEMPORARY
DiscardStmt.4: DISCARD PLANS
DiscardStmt.5: DISCARD SEQUENCES
AlterTableStmt.1: ALTER TABLE relation_expr alter_table_cmds
AlterTableStmt.2: ALTER TABLE IF_P EXISTS relation_expr alter_table_cmds
AlterTableStmt.3: ALTER TABLE relation_expr partition_cmd
AlterTableStmt.4: ALTER TABLE IF_P EXISTS relation_expr partition_cmd
AlterTableStmt.5: ALTER TABLE ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait
AlterTableStmt.6: ALTER TABLE ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait
AlterTableStmt.7: ALTER INDEX qualified_name alter_table_cmds
AlterTableStmt.8: ALTER INDEX IF_P EXISTS qualified_name alter_table_cmds
AlterTableStmt.9: ALTER INDEX qualified_name index_partition_cmd
AlterTableStmt.10: ALTER INDEX ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait
AlterTableStmt.11: ALTER INDEX ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait
AlterTableStmt.12: ALTER SEQUENCE qualified_name alter_table_cmds
AlterTableStmt.13: ALTER SEQUENCE IF_P EXISTS qualified_name alter_table_cmds
AlterTableStmt.14: ALTER VIEW qualified_name alter_table_cmds
AlterTableStmt.15: ALTER VIEW IF_P EXISTS qualified_name alter_table_cmds
AlterTableStmt.16: ALTER MATERIALIZED VIEW qualified_name alter_table_cmds
AlterTableStmt.17: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name alter_table_cmds
AlterTableStmt.18: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name SET TABLESPACE name opt_nowait
AlterTableStmt.19: ALTER MATERIALIZED VIEW ALL IN_P TABLESPACE name OWNED BY role_list SET TABLESPACE name opt_nowait
AlterTableStmt.20: ALTER FOREIGN TABLE relation_expr alter_table_cmds
AlterTableStmt.21: ALTER FOREIGN TABLE IF_P EXISTS relation_expr alter_table_cmds
alter_table_cmds.1: alter_table_cmd
alter_table_cmds.2: alter_table_cmds ',' alter_table_cmd
partition_cmd.1: ATTACH PARTITION qualified_name PartitionBoundSpec
partition_cmd.2: DETACH PARTITION qualified_name opt_concurrently
partition_cmd.3: DETACH PARTITION qualified_name FINALIZE
index_partition_cmd.1: ATTACH PARTITION qualified_name
alter_table_cmd.1: ADD_P columnDef
alter_table_cmd.2: ADD_P IF_P NOT EXISTS columnDef
alter_table_cmd.3: ADD_P COLUMN columnDef
alter_table_cmd.4: ADD_P COLUMN IF_P NOT EXISTS columnDef
alter_table_cmd.5: ALTER opt_column ColId alter_column_default
alter_table_cmd.6: ALTER opt_column ColId DROP NOT NULL_P
alter_table_cmd.7: ALTER opt_column ColId SET NOT NULL_P
alter_table_cmd.8: ALTER opt_column ColId SET EXPRESSION AS '(' a_expr ')'
alter_table_cmd.9: ALTER opt_column ColId DROP EXPRESSION
alter_table_cmd.10: ALTER opt_column ColId DROP EXPRESSION IF_P EXISTS
alter_table_cmd.11: ALTER opt_column ColId SET STATISTICS set_statistics_value
alter_table_cmd.12: ALTER opt_column Iconst SET STATISTICS set_statistics_value
alter_table_cmd.13: ALTER opt_column ColId SET reloptions
alter_table_cmd.14: ALTER opt_column ColId RESET reloptions
alter_table_cmd.15: ALTER opt_column ColId SET column_storage
alter_table_cmd.16: ALTER opt_column ColId SET column_compression
alter_table_cmd.17: ALTER opt_column ColId ADD_P GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList
alter_table_cmd.18: ALTER opt_column ColId alter_identity_column_option_list
alter_table_cmd.19: ALTER opt_column ColId DROP IDENTITY_P
alter_table_cmd.20: ALTER opt_column ColId DROP IDENTITY_P IF_P EXISTS
alter_table_cmd.21: DROP opt_column IF_P EXISTS ColId opt_drop_behavior
alter_table_cmd.22: DROP opt_column ColId opt_drop_behavior
alter_table_cmd.23: ALTER opt_column ColId opt_set_data TYPE_P Typename opt_collate_clause alter_using
alter_table_cmd.24: ALTER opt_column ColId alter_generic_options
alter_table_cmd.25: ADD_P TableConstraint
alter_table_cmd.26: ALTER CONSTRAINT name ConstraintAttributeSpec
alter_table_cmd.27: ALTER CONSTRAINT name INHERIT
alter_table_cmd.28: VALIDATE CONSTRAINT name
alter_table_cmd.29: DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior
alter_table_cmd.30: DROP CONSTRAINT name opt_drop_behavior
alter_table_cmd.31: SET WITHOUT OIDS
alter_table_cmd.32: CLUSTER ON name
alter_table_cmd.33: SET WITHOUT CLUSTER
alter_table_cmd.34: SET LOGGED
alter_table_cmd.35: SET UNLOGGED
alter_table_cmd.36: ENABLE_P TRIGGER name
alter_table_cmd.37: ENABLE_P ALWAYS TRIGGER name
alter_table_cmd.38: ENABLE_P REPLICA TRIGGER name
alter_table_cmd.39: ENABLE_P TRIGGER ALL
alter_table_cmd.40: ENABLE_P TRIGGER USER
alter_table_cmd.41: DISABLE_P TRIGGER name
alter_table_cmd.42: DISABLE_P TRIGGER ALL
alter_table_cmd.43: DISABLE_P TRIGGER USER
alter_table_cmd.44: ENABLE_P RULE name
alter_table_cmd.45: ENABLE_P ALWAYS RULE name
alter_table_cmd.46: ENABLE_P REPLICA RULE name
alter_table_cmd.47: DISABLE_P RULE name
alter_table_cmd.48: INHERIT qualified_name
alter_table_cmd.49: NO INHERIT qualified_name
alter_table_cmd.50: OF any_name
alter_table_cmd.51: NOT OF
alter_table_cmd.52: OWNER TO RoleSpec
alter_table_cmd.53: SET ACCESS METHOD set_access_method_name
alter_table_cmd.54: SET TABLESPACE name
alter_table_cmd.55: SET reloptions
alter_table_cmd.56: RESET reloptions
alter_table_cmd.57: REPLICA IDENTITY_P replica_identity
alter_table_cmd.58: ENABLE_P ROW LEVEL SECURITY
alter_table_cmd.59: DISABLE_P ROW LEVEL SECURITY
alter_table_cmd.60: FORCE ROW LEVEL SECURITY
alter_table_cmd.61: NO FORCE ROW LEVEL SECURITY
alter_table_cmd.62: alter_generic_options
alter_column_default.1: SET DEFAULT a_expr
alter_column_default.2: DROP DEFAULT
opt_collate_clause.1: COLLATE any_name
opt_collate_clause.2: /* empty */
alter_using.1: USING a_expr
alter_using.2: /* empty */
replica_identity.1: NOTHING
replica_identity.2: FULL
replica_identity.3: DEFAULT
replica_identity.4: USING INDEX name
reloptions.1: '(' reloption_list ')'
opt_reloptions.1: WITH reloptions
opt_reloptions.2: /* empty */
reloption_list.1: reloption_elem
reloption_list.2: reloption_list ',' reloption_elem
reloption_elem.1: ColLabel '=' def_arg
reloption_elem.2: ColLabel
reloption_elem.3: ColLabel '.' ColLabel '=' def_arg
reloption_elem.4: ColLabel '.' ColLabel
alter_identity_column_option_list.1: alter_identity_column_option
alter_identity_column_option_list.2: alter_identity_column_option_list alter_identity_column_option
alter_identity_column_option.1: RESTART
alter_identity_column_option.2: RESTART opt_with NumericOnly
alter_identity_column_option.3: SET SeqOptElem
alter_identity_column_option.4: SET GENERATED generated_when
set_statistics_value.1: SignedIconst
set_statistics_value.2: DEFAULT
set_access_method_name.1: ColId
set_access_method_name.2: DEFAULT
PartitionBoundSpec.1: FOR VALUES WITH '(' hash_partbound ')'
PartitionBoundSpec.2: FOR VALUES IN_P '(' expr_list ')'
PartitionBoundSpec.3: FOR VALUES FROM '(' expr_list ')' TO '(' expr_list ')'
PartitionBoundSpec.4: DEFAULT
hash_partbound_elem.1: NonReservedWord Iconst
hash_partbound.1: hash_partbound_elem
hash_partbound.2: hash_partbound ',' hash_partbound_elem
AlterCompositeTypeStmt.1: ALTER TYPE_P any_name alter_type_cmds
alter_type_cmds.1: alter_type_cmd
alter_type_cmds.2: alter_type_cmds ',' alter_type_cmd
alter_type_cmd.1: ADD_P ATTRIBUTE TableFuncElement opt_drop_behavior
alter_type_cmd.2: DROP ATTRIBUTE IF_P EXISTS ColId opt_drop_behavior
alter_type_cmd.3: DROP ATTRIBUTE ColId opt_drop_behavior
alter_type_cmd.4: ALTER ATTRIBUTE ColId opt_set_data TYPE_P Typename opt_collate_clause opt_drop_behavior
ClosePortalStmt.1: CLOSE cursor_name
ClosePortalStmt.2: CLOSE ALL
CopyStmt.1: COPY opt_binary qualified_name opt_column_list copy_from opt_program copy_file_name copy_delimiter opt_with copy_options where_clause
CopyStmt.2: COPY '(' PreparableStmt ')' TO opt_program copy_file_name opt_with copy_options
copy_from.1: FROM
copy_from.2: TO
opt_program.1: PROGRAM
opt_program.2: /* empty */
copy_file_name.1: Sconst
copy_file_name.2: STDIN
copy_file_name.3: STDOUT
copy_options.1: copy_opt_list
copy_options.2: '(' copy_generic_opt_list ')'
copy_opt_list.1: copy_opt_list copy_opt_item
copy_opt_list.2: /* empty */
copy_opt_item.1: BINARY
copy_opt_item.2: FREEZE
copy_opt_item.3: DELIMITER opt_as Sconst
copy_opt_item.4: NULL_P opt_as Sconst
copy_opt_item.5: CSV
copy_opt_item.6: JSON
copy_opt_item.7: HEADER_P
copy_opt_item.8: QUOTE opt_as Sconst
copy_opt_item.9: ESCAPE opt_as Sconst
copy_opt_item.10: FORCE QUOTE columnList
copy_opt_item.11: FORCE QUOTE '*'
copy_opt_item.12: FORCE NOT NULL_P columnList
copy_opt_item.13: FORCE NOT NULL_P '*'
copy_opt_item.14: FORCE NULL_P columnList
copy_opt_item.15: FORCE NULL_P '*'
copy_opt_item.16: ENCODING Sconst
opt_binary.1: BINARY
opt_binary.2: /* empty */
copy_delimiter.1: opt_using DELIMITERS Sconst
copy_delimiter.2: /* empty */
opt_using.1: USING
opt_using.2: /* empty */
copy_generic_opt_list.1: copy_generic_opt_elem
copy_generic_opt_list.2: copy_generic_opt_list ',' copy_generic_opt_elem
copy_generic_opt_elem.1: ColLabel copy_generic_opt_arg
copy_generic_opt_elem.2: FORMAT_LA copy_generic_opt_arg
copy_generic_opt_arg.1: opt_boolean_or_string
copy_generic_opt_arg.2: NumericOnly
copy_generic_opt_arg.3: '*'
copy_generic_opt_arg.4: DEFAULT
copy_generic_opt_arg.5: '(' copy_generic_opt_arg_list ')'
copy_generic_opt_arg.6: /* empty */
copy_generic_opt_arg_list.1: copy_generic_opt_arg_list_item
copy_generic_opt_arg_list.2: copy_generic_opt_arg_list ',' copy_generic_opt_arg_list_item
copy_generic_opt_arg_list_item.1: opt_boolean_or_string
CreateStmt.1: CREATE OptTemp TABLE qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace
CreateStmt.2: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace
CreateStmt.3: CREATE OptTemp TABLE qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace
CreateStmt.4: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name OF any_name OptTypedTableElementList OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace
CreateStmt.5: CREATE OptTemp TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace
CreateStmt.6: CREATE OptTemp TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec OptPartitionSpec table_access_method_clause OptWith OnCommitOption OptTableSpace
OptTemp.1: TEMPORARY
OptTemp.2: TEMP
OptTemp.3: LOCAL TEMPORARY
OptTemp.4: LOCAL TEMP
OptTemp.5: GLOBAL TEMPORARY
OptTemp.6: GLOBAL TEMP
OptTemp.7: UNLOGGED
OptTemp.8: /* empty */
OptTableElementList.1: TableElementList
OptTableElementList.2: /* empty */
OptTypedTableElementList.1: '(' TypedTableElementList ')'
OptTypedTableElementList.2: /* empty */
TableElementList.1: TableElement
TableElementList.2: TableElementList ',' TableElement
TypedTableElementList.1: TypedTableElement
TypedTableElementList.2: TypedTableElementList ',' TypedTableElement
TableElement.1: columnDef
TableElement.2: TableLikeClause
TableElement.3: TableConstraint
TypedTableElement.1: columnOptions
TypedTableElement.2: TableConstraint
columnDef.1: ColId Typename opt_column_storage opt_column_compression create_generic_options ColQualList
columnOptions.1: ColId ColQualList
columnOptions.2: ColId WITH OPTIONS ColQualList
column_compression.1: COMPRESSION ColId
column_compression.2: COMPRESSION DEFAULT
opt_column_compression.1: column_compression
opt_column_compression.2: /* empty */
column_storage.1: STORAGE ColId
column_storage.2: STORAGE DEFAULT
opt_column_storage.1: column_storage
opt_column_storage.2: /* empty */
ColQualList.1: ColQualList ColConstraint
ColQualList.2: /* empty */
ColConstraint.1: CONSTRAINT name ColConstraintElem
ColConstraint.2: ColConstraintElem
ColConstraint.3: ConstraintAttr
ColConstraint.4: COLLATE any_name
ColConstraintElem.1: NOT NULL_P opt_no_inherit
ColConstraintElem.2: NULL_P
ColConstraintElem.3: UNIQUE opt_unique_null_treatment opt_definition OptConsTableSpace
ColConstraintElem.4: PRIMARY KEY opt_definition OptConsTableSpace
ColConstraintElem.5: CHECK '(' a_expr ')' opt_no_inherit
ColConstraintElem.6: DEFAULT b_expr
ColConstraintElem.7: GENERATED generated_when AS IDENTITY_P OptParenthesizedSeqOptList
ColConstraintElem.8: GENERATED generated_when AS '(' a_expr ')' opt_virtual_or_stored
ColConstraintElem.9: REFERENCES qualified_name opt_column_list key_match key_actions
opt_unique_null_treatment.1: NULLS_P DISTINCT
opt_unique_null_treatment.2: NULLS_P NOT DISTINCT
opt_unique_null_treatment.3: /* empty */
generated_when.1: ALWAYS
generated_when.2: BY DEFAULT
opt_virtual_or_stored.1: STORED
opt_virtual_or_stored.2: VIRTUAL
opt_virtual_or_stored.3: /* empty */
ConstraintAttr.1: DEFERRABLE
ConstraintAttr.2: NOT DEFERRABLE
ConstraintAttr.3: INITIALLY DEFERRED
ConstraintAttr.4: INITIALLY IMMEDIATE
ConstraintAttr.5: ENFORCED
ConstraintAttr.6: NOT ENFORCED
TableLikeClause.1: LIKE qualified_name TableLikeOptionList
TableLikeOptionList.1: TableLikeOptionList INCLUDING TableLikeOption
TableLikeOptionList.2: TableLikeOptionList EXCLUDING TableLikeOption
TableLikeOptionList.3: /* empty */
TableLikeOption.1: COMMENTS
TableLikeOption.2: COMPRESSION
TableLikeOption.3: CONSTRAINTS
TableLikeOption.4: DEFAULTS
TableLikeOption.5: IDENTITY_P
TableLikeOption.6: GENERATED
TableLikeOption.7: INDEXES
TableLikeOption.8: STATISTICS
TableLikeOption.9: STORAGE
TableLikeOption.10: ALL
TableConstraint.1: CONSTRAINT name ConstraintElem
TableConstraint.2: ConstraintElem
ConstraintElem.1: CHECK '(' a_expr ')' ConstraintAttributeSpec
ConstraintElem.2: NOT NULL_P ColId ConstraintAttributeSpec
ConstraintElem.3: UNIQUE opt_unique_null_treatment '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec
ConstraintElem.4: UNIQUE ExistingIndex ConstraintAttributeSpec
ConstraintElem.5: PRIMARY KEY '(' columnList opt_without_overlaps ')' opt_c_include opt_definition OptConsTableSpace ConstraintAttributeSpec
ConstraintElem.6: PRIMARY KEY ExistingIndex ConstraintAttributeSpec
ConstraintElem.7: EXCLUDE access_method_clause '(' ExclusionConstraintList ')' opt_c_include opt_definition OptConsTableSpace OptWhereClause ConstraintAttributeSpec
ConstraintElem.8: FOREIGN KEY '(' columnList optionalPeriodName ')' REFERENCES qualified_name opt_column_and_period_list key_match key_actions ConstraintAttributeSpec
DomainConstraint.1: CONSTRAINT name DomainConstraintElem
DomainConstraint.2: DomainConstraintElem
DomainConstraintElem.1: CHECK '(' a_expr ')' ConstraintAttributeSpec
DomainConstraintElem.2: NOT NULL_P ConstraintAttributeSpec
opt_no_inherit.1: NO INHERIT
opt_no_inherit.2: /* empty */
opt_without_overlaps.1: WITHOUT OVERLAPS
opt_without_overlaps.2: /* empty */
opt_column_list.1: '(' columnList ')'
opt_column_list.2: /* empty */
columnList.1: columnElem
columnList.2: columnList ',' columnElem
optionalPeriodName.1: ',' PERIOD columnElem
optionalPeriodName.2: /* empty */
opt_column_and_period_list.1: '(' columnList optionalPeriodName ')'
opt_column_and_period_list.2: /* empty */
columnElem.1: ColId
opt_c_include.1: INCLUDE '(' columnList ')'
opt_c_include.2: /* empty */
key_match.1: MATCH FULL
key_match.2: MATCH PARTIAL
key_match.3: MATCH SIMPLE
key_match.4: /* empty */
ExclusionConstraintList.1: ExclusionConstraintElem
ExclusionConstraintList.2: ExclusionConstraintList ',' ExclusionConstraintElem
ExclusionConstraintElem.1: index_elem WITH any_operator
ExclusionConstraintElem.2: index_elem WITH OPERATOR '(' any_operator ')'
OptWhereClause.1: WHERE '(' a_expr ')'
OptWhereClause.2: /* empty */
key_actions.1: key_update
key_actions.2: key_delete
key_actions.3: key_update key_delete
key_actions.4: key_delete key_update
key_actions.5: /* empty */
key_update.1: ON UPDATE key_action
key_delete.1: ON DELETE_P key_action
key_action.1: NO ACTION
key_action.2: RESTRICT
key_action.3: CASCADE
key_action.4: SET NULL_P opt_column_list
key_action.5: SET DEFAULT opt_column_list
OptInherit.1: INHERITS '(' qualified_name_list ')'
OptInherit.2: /* empty */
OptPartitionSpec.1: PartitionSpec
OptPartitionSpec.2: /* empty */
PartitionSpec.1: PARTITION BY ColId '(' part_params ')'
part_params.1: part_elem
part_params.2: part_params ',' part_elem
part_elem.1: ColId opt_collate opt_qualified_name
part_elem.2: func_expr_windowless opt_collate opt_qualified_name
part_elem.3: '(' a_expr ')' opt_collate opt_qualified_name
table_access_method_clause.1: USING name
table_access_method_clause.2: /* empty */
OptWith.1: WITH reloptions
OptWith.2: WITHOUT OIDS
OptWith.3: /* empty */
OnCommitOption.1: ON COMMIT DROP
OnCommitOption.2: ON COMMIT DELETE_P ROWS
OnCommitOption.3: ON COMMIT PRESERVE ROWS
OnCommitOption.4: /* empty */
OptTableSpace.1: TABLESPACE name
OptTableSpace.2: /* empty */
OptConsTableSpace.1: USING INDEX TABLESPACE name
OptConsTableSpace.2: /* empty */
ExistingIndex.1: USING INDEX name
CreateStatsStmt.1: CREATE STATISTICS opt_qualified_name opt_name_list ON stats_params FROM from_list
CreateStatsStmt.2: CREATE STATISTICS IF_P NOT EXISTS any_name opt_name_list ON stats_params FROM from_list
stats_params.1: stats_param
stats_params.2: stats_params ',' stats_param
stats_param.1: ColId
stats_param.2: func_expr_windowless
stats_param.3: '(' a_expr ')'
AlterStatsStmt.1: ALTER STATISTICS any_name SET STATISTICS set_statistics_value
AlterStatsStmt.2: ALTER STATISTICS IF_P EXISTS any_name SET STATISTICS set_statistics_value
CreateAsStmt.1: CREATE OptTemp TABLE create_as_target AS SelectStmt opt_with_data
CreateAsStmt.2: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS SelectStmt opt_with_data
create_as_target.1: qualified_name opt_column_list table_access_method_clause OptWith OnCommitOption OptTableSpace
opt_with_data.1: WITH DATA_P
opt_with_data.2: WITH NO DATA_P
opt_with_data.3: /* empty */
CreateMatViewStmt.1: CREATE OptNoLog MATERIALIZED VIEW create_mv_target AS SelectStmt opt_with_data
CreateMatViewStmt.2: CREATE OptNoLog MATERIALIZED VIEW IF_P NOT EXISTS create_mv_target AS SelectStmt opt_with_data
create_mv_target.1: qualified_name opt_column_list table_access_method_clause opt_reloptions OptTableSpace
OptNoLog.1: UNLOGGED
OptNoLog.2: /* empty */
RefreshMatViewStmt.1: REFRESH MATERIALIZED VIEW opt_concurrently qualified_name opt_with_data
CreateSeqStmt.1: CREATE OptTemp SEQUENCE qualified_name OptSeqOptList
CreateSeqStmt.2: CREATE OptTemp SEQUENCE IF_P NOT EXISTS qualified_name OptSeqOptList
AlterSeqStmt.1: ALTER SEQUENCE qualified_name SeqOptList
AlterSeqStmt.2: ALTER SEQUENCE IF_P EXISTS qualified_name SeqOptList
OptSeqOptList.1: SeqOptList
OptSeqOptList.2: /* empty */
OptParenthesizedSeqOptList.1: '(' SeqOptList ')'
OptParenthesizedSeqOptList.2: /* empty */
SeqOptList.1: SeqOptElem
SeqOptList.2: SeqOptList SeqOptElem
SeqOptElem.1: AS SimpleTypename
SeqOptElem.2: CACHE NumericOnly
SeqOptElem.3: CYCLE
SeqOptElem.4: NO CYCLE
SeqOptElem.5: INCREMENT opt_by NumericOnly
SeqOptElem.6: LOGGED
SeqOptElem.7: MAXVALUE NumericOnly
SeqOptElem.8: MINVALUE NumericOnly
SeqOptElem.9: NO MAXVALUE
SeqOptElem.10: NO MINVALUE
SeqOptElem.11: OWNED BY any_name
SeqOptElem.12: SEQUENCE NAME_P any_name
SeqOptElem.13: START opt_with NumericOnly
SeqOptElem.14: RESTART
SeqOptElem.15: RESTART opt_with NumericOnly
SeqOptElem.16: UNLOGGED
opt_by.1: BY
opt_by.2: /* empty */
NumericOnly.1: FCONST
NumericOnly.2: '+' FCONST
NumericOnly.3: '-' FCONST
NumericOnly.4: SignedIconst
NumericOnly_list.1: NumericOnly
NumericOnly_list.2: NumericOnly_list ',' NumericOnly
CreatePLangStmt.1: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name
CreatePLangStmt.2: CREATE opt_or_replace opt_trusted opt_procedural LANGUAGE name HANDLER handler_name opt_inline_handler opt_validator
opt_trusted.1: TRUSTED
opt_trusted.2: /* empty */
handler_name.1: name
handler_name.2: name attrs
opt_inline_handler.1: INLINE_P handler_name
opt_inline_handler.2: /* empty */
validator_clause.1: VALIDATOR handler_name
validator_clause.2: NO VALIDATOR
opt_validator.1: validator_clause
opt_validator.2: /* empty */
opt_procedural.1: PROCEDURAL
opt_procedural.2: /* empty */
CreateTableSpaceStmt.1: CREATE TABLESPACE name OptTableSpaceOwner LOCATION Sconst opt_reloptions
OptTableSpaceOwner.1: OWNER RoleSpec
OptTableSpaceOwner.2: /* empty */
DropTableSpaceStmt.1: DROP TABLESPACE name
DropTableSpaceStmt.2: DROP TABLESPACE IF_P EXISTS name
CreateExtensionStmt.1: CREATE EXTENSION name opt_with create_extension_opt_list
CreateExtensionStmt.2: CREATE EXTENSION IF_P NOT EXISTS name opt_with create_extension_opt_list
create_extension_opt_list.1: create_extension_opt_list create_extension_opt_item
create_extension_opt_list.2: /* empty */
create_extension_opt_item.1: SCHEMA name
create_extension_opt_item.2: VERSION_P NonReservedWord_or_Sconst
create_extension_opt_item.3: FROM NonReservedWord_or_Sconst
create_extension_opt_item.4: CASCADE
AlterExtensionStmt.1: ALTER EXTENSION name UPDATE alter_extension_opt_list
alter_extension_opt_list.1: alter_extension_opt_list alter_extension_opt_item
alter_extension_opt_list.2: /* empty */
alter_extension_opt_item.1: TO NonReservedWord_or_Sconst
AlterExtensionContentsStmt.1: ALTER EXTENSION name add_drop object_type_name name
AlterExtensionContentsStmt.2: ALTER EXTENSION name add_drop object_type_any_name any_name
AlterExtensionContentsStmt.3: ALTER EXTENSION name add_drop AGGREGATE aggregate_with_argtypes
AlterExtensionContentsStmt.4: ALTER EXTENSION name add_drop CAST '(' Typename AS Typename ')'
AlterExtensionContentsStmt.5: ALTER EXTENSION name add_drop DOMAIN_P Typename
AlterExtensionContentsStmt.6: ALTER EXTENSION name add_drop FUNCTION function_with_argtypes
AlterExtensionContentsStmt.7: ALTER EXTENSION name add_drop OPERATOR operator_with_argtypes
AlterExtensionContentsStmt.8: ALTER EXTENSION name add_drop OPERATOR CLASS any_name USING name
AlterExtensionContentsStmt.9: ALTER EXTENSION name add_drop OPERATOR FAMILY any_name USING name
AlterExtensionContentsStmt.10: ALTER EXTENSION name add_drop PROCEDURE function_with_argtypes
AlterExtensionContentsStmt.11: ALTER EXTENSION name add_drop ROUTINE function_with_argtypes
AlterExtensionContentsStmt.12: ALTER EXTENSION name add_drop TRANSFORM FOR Typename LANGUAGE name
AlterExtensionContentsStmt.13: ALTER EXTENSION name add_drop TYPE_P Typename
CreateFdwStmt.1: CREATE FOREIGN DATA_P WRAPPER name opt_fdw_options create_generic_options
fdw_option.1: HANDLER handler_name
fdw_option.2: NO HANDLER
fdw_option.3: VALIDATOR handler_name
fdw_option.4: NO VALIDATOR
fdw_option.5: CONNECTION handler_name
fdw_option.6: NO CONNECTION
fdw_options.1: fdw_option
fdw_options.2: fdw_options fdw_option
opt_fdw_options.1: fdw_options
opt_fdw_options.2: /* empty */
AlterFdwStmt.1: ALTER FOREIGN DATA_P WRAPPER name opt_fdw_options alter_generic_options
AlterFdwStmt.2: ALTER FOREIGN DATA_P WRAPPER name fdw_options
create_generic_options.1: OPTIONS '(' generic_option_list ')'
create_generic_options.2: /* empty */
generic_option_list.1: generic_option_elem
generic_option_list.2: generic_option_list ',' generic_option_elem
alter_generic_options.1: OPTIONS '(' alter_generic_option_list ')'
alter_generic_option_list.1: alter_generic_option_elem
alter_generic_option_list.2: alter_generic_option_list ',' alter_generic_option_elem
alter_generic_option_elem.1: generic_option_elem
alter_generic_option_elem.2: SET generic_option_elem
alter_generic_option_elem.3: ADD_P generic_option_elem
alter_generic_option_elem.4: DROP generic_option_name
generic_option_elem.1: generic_option_name generic_option_arg
generic_option_name.1: ColLabel
generic_option_arg.1: Sconst
CreateForeignServerStmt.1: CREATE SERVER name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options
CreateForeignServerStmt.2: CREATE SERVER IF_P NOT EXISTS name opt_type opt_foreign_server_version FOREIGN DATA_P WRAPPER name create_generic_options
opt_type.1: TYPE_P Sconst
opt_type.2: /* empty */
foreign_server_version.1: VERSION_P Sconst
foreign_server_version.2: VERSION_P NULL_P
opt_foreign_server_version.1: foreign_server_version
opt_foreign_server_version.2: /* empty */
AlterForeignServerStmt.1: ALTER SERVER name foreign_server_version alter_generic_options
AlterForeignServerStmt.2: ALTER SERVER name foreign_server_version
AlterForeignServerStmt.3: ALTER SERVER name alter_generic_options
CreateForeignTableStmt.1: CREATE FOREIGN TABLE qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options
CreateForeignTableStmt.2: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name '(' OptTableElementList ')' OptInherit SERVER name create_generic_options
CreateForeignTableStmt.3: CREATE FOREIGN TABLE qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options
CreateForeignTableStmt.4: CREATE FOREIGN TABLE IF_P NOT EXISTS qualified_name PARTITION OF qualified_name OptTypedTableElementList PartitionBoundSpec SERVER name create_generic_options
ImportForeignSchemaStmt.1: IMPORT_P FOREIGN SCHEMA name import_qualification FROM SERVER name INTO name create_generic_options
import_qualification_type.1: LIMIT TO
import_qualification_type.2: EXCEPT
import_qualification.1: import_qualification_type '(' relation_expr_list ')'
import_qualification.2: /* empty */
CreateUserMappingStmt.1: CREATE USER MAPPING FOR auth_ident SERVER name create_generic_options
CreateUserMappingStmt.2: CREATE USER MAPPING IF_P NOT EXISTS FOR auth_ident SERVER name create_generic_options
auth_ident.1: RoleSpec
auth_ident.2: USER
DropUserMappingStmt.1: DROP USER MAPPING FOR auth_ident SERVER name
DropUserMappingStmt.2: DROP USER MAPPING IF_P EXISTS FOR auth_ident SERVER name
AlterUserMappingStmt.1: ALTER USER MAPPING FOR auth_ident SERVER name alter_generic_options
CreatePolicyStmt.1: CREATE POLICY name ON qualified_name RowSecurityDefaultPermissive RowSecurityDefaultForCmd RowSecurityDefaultToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck
AlterPolicyStmt.1: ALTER POLICY name ON qualified_name RowSecurityOptionalToRole RowSecurityOptionalExpr RowSecurityOptionalWithCheck
RowSecurityOptionalExpr.1: USING '(' a_expr ')'
RowSecurityOptionalExpr.2: /* empty */
RowSecurityOptionalWithCheck.1: WITH CHECK '(' a_expr ')'
RowSecurityOptionalWithCheck.2: /* empty */
RowSecurityDefaultToRole.1: TO role_list
RowSecurityDefaultToRole.2: /* empty */
RowSecurityOptionalToRole.1: TO role_list
RowSecurityOptionalToRole.2: /* empty */
RowSecurityDefaultPermissive.1: AS IDENT
RowSecurityDefaultPermissive.2: /* empty */
RowSecurityDefaultForCmd.1: FOR row_security_cmd
RowSecurityDefaultForCmd.2: /* empty */
row_security_cmd.1: ALL
row_security_cmd.2: SELECT
row_security_cmd.3: INSERT
row_security_cmd.4: UPDATE
row_security_cmd.5: DELETE_P
CreateAmStmt.1: CREATE ACCESS METHOD name TYPE_P am_type HANDLER handler_name
am_type.1: INDEX
am_type.2: TABLE
CreateTrigStmt.1: CREATE opt_or_replace TRIGGER name TriggerActionTime TriggerEvents ON qualified_name TriggerReferencing TriggerForSpec TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')'
CreateTrigStmt.2: CREATE opt_or_replace CONSTRAINT TRIGGER name AFTER TriggerEvents ON qualified_name OptConstrFromTable ConstraintAttributeSpec FOR EACH ROW TriggerWhen EXECUTE FUNCTION_or_PROCEDURE func_name '(' TriggerFuncArgs ')'
TriggerActionTime.1: BEFORE
TriggerActionTime.2: AFTER
TriggerActionTime.3: INSTEAD OF
TriggerEvents.1: TriggerOneEvent
TriggerEvents.2: TriggerEvents OR TriggerOneEvent
TriggerOneEvent.1: INSERT
TriggerOneEvent.2: DELETE_P
TriggerOneEvent.3: UPDATE
TriggerOneEvent.4: UPDATE OF columnList
TriggerOneEvent.5: TRUNCATE
TriggerReferencing.1: REFERENCING TriggerTransitions
TriggerReferencing.2: /* empty */
TriggerTransitions.1: TriggerTransition
TriggerTransitions.2: TriggerTransitions TriggerTransition
TriggerTransition.1: TransitionOldOrNew TransitionRowOrTable opt_as TransitionRelName
TransitionOldOrNew.1: NEW
TransitionOldOrNew.2: OLD
TransitionRowOrTable.1: TABLE
TransitionRowOrTable.2: ROW
TransitionRelName.1: ColId
TriggerForSpec.1: FOR TriggerForOptEach TriggerForType
TriggerForSpec.2: /* empty */
TriggerForOptEach.1: EACH
TriggerForOptEach.2: /* empty */
TriggerForType.1: ROW
TriggerForType.2: STATEMENT
TriggerWhen.1: WHEN '(' a_expr ')'
TriggerWhen.2: /* empty */
FUNCTION_or_PROCEDURE.1: FUNCTION
FUNCTION_or_PROCEDURE.2: PROCEDURE
TriggerFuncArgs.1: TriggerFuncArg
TriggerFuncArgs.2: TriggerFuncArgs ',' TriggerFuncArg
TriggerFuncArgs.3: /* empty */
TriggerFuncArg.1: Iconst
TriggerFuncArg.2: FCONST
TriggerFuncArg.3: Sconst
TriggerFuncArg.4: ColLabel
OptConstrFromTable.1: FROM qualified_name
OptConstrFromTable.2: /* empty */
ConstraintAttributeSpec.1: /* empty */
ConstraintAttributeSpec.2: ConstraintAttributeSpec ConstraintAttributeElem
ConstraintAttributeElem.1: NOT DEFERRABLE
ConstraintAttributeElem.2: DEFERRABLE
ConstraintAttributeElem.3: INITIALLY IMMEDIATE
ConstraintAttributeElem.4: INITIALLY DEFERRED
ConstraintAttributeElem.5: NOT VALID
ConstraintAttributeElem.6: NO INHERIT
ConstraintAttributeElem.7: NOT ENFORCED
ConstraintAttributeElem.8: ENFORCED
CreateEventTrigStmt.1: CREATE EVENT TRIGGER name ON ColLabel EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'
CreateEventTrigStmt.2: CREATE EVENT TRIGGER name ON ColLabel WHEN event_trigger_when_list EXECUTE FUNCTION_or_PROCEDURE func_name '(' ')'
event_trigger_when_list.1: event_trigger_when_item
event_trigger_when_list.2: event_trigger_when_list AND event_trigger_when_item
event_trigger_when_item.1: ColId IN_P '(' event_trigger_value_list ')'
event_trigger_value_list.1: SCONST
event_trigger_value_list.2: event_trigger_value_list ',' SCONST
AlterEventTrigStmt.1: ALTER EVENT TRIGGER name enable_trigger
enable_trigger.1: ENABLE_P
enable_trigger.2: ENABLE_P REPLICA
enable_trigger.3: ENABLE_P ALWAYS
enable_trigger.4: DISABLE_P
CreateAssertionStmt.1: CREATE ASSERTION any_name CHECK '(' a_expr ')' ConstraintAttributeSpec
DefineStmt.1: CREATE opt_or_replace AGGREGATE func_name aggr_args definition
DefineStmt.2: CREATE opt_or_replace AGGREGATE func_name old_aggr_definition
DefineStmt.3: CREATE OPERATOR any_operator definition
DefineStmt.4: CREATE TYPE_P any_name definition
DefineStmt.5: CREATE TYPE_P any_name
DefineStmt.6: CREATE TYPE_P any_name AS '(' OptTableFuncElementList ')'
DefineStmt.7: CREATE TYPE_P any_name AS ENUM_P '(' opt_enum_val_list ')'
DefineStmt.8: CREATE TYPE_P any_name AS RANGE definition
DefineStmt.9: CREATE TEXT_P SEARCH PARSER any_name definition
DefineStmt.10: CREATE TEXT_P SEARCH DICTIONARY any_name definition
DefineStmt.11: CREATE TEXT_P SEARCH TEMPLATE any_name definition
DefineStmt.12: CREATE TEXT_P SEARCH CONFIGURATION any_name definition
DefineStmt.13: CREATE COLLATION any_name definition
DefineStmt.14: CREATE COLLATION IF_P NOT EXISTS any_name definition
DefineStmt.15: CREATE COLLATION any_name FROM any_name
DefineStmt.16: CREATE COLLATION IF_P NOT EXISTS any_name FROM any_name
definition.1: '(' def_list ')'
def_list.1: def_elem
def_list.2: def_list ',' def_elem
def_elem.1: ColLabel '=' def_arg
def_elem.2: ColLabel
def_arg.1: func_type
def_arg.2: reserved_keyword
def_arg.3: qual_all_Op
def_arg.4: NumericOnly
def_arg.5: Sconst
def_arg.6: NONE
old_aggr_definition.1: '(' old_aggr_list ')'
old_aggr_list.1: old_aggr_elem
old_aggr_list.2: old_aggr_list ',' old_aggr_elem
old_aggr_elem.1: IDENT '=' def_arg
opt_enum_val_list.1: enum_val_list
opt_enum_val_list.2: /* empty */
enum_val_list.1: Sconst
enum_val_list.2: enum_val_list ',' Sconst
AlterEnumStmt.1: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst
AlterEnumStmt.2: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst BEFORE Sconst
AlterEnumStmt.3: ALTER TYPE_P any_name ADD_P VALUE_P opt_if_not_exists Sconst AFTER Sconst
AlterEnumStmt.4: ALTER TYPE_P any_name RENAME VALUE_P Sconst TO Sconst
AlterEnumStmt.5: ALTER TYPE_P any_name DROP VALUE_P Sconst
opt_if_not_exists.1: IF_P NOT EXISTS
opt_if_not_exists.2: /* empty */
CreateOpClassStmt.1: CREATE OPERATOR CLASS any_name opt_default FOR TYPE_P Typename USING name opt_opfamily AS opclass_item_list
opclass_item_list.1: opclass_item
opclass_item_list.2: opclass_item_list ',' opclass_item
opclass_item.1: OPERATOR Iconst any_operator opclass_purpose
opclass_item.2: OPERATOR Iconst operator_with_argtypes opclass_purpose
opclass_item.3: FUNCTION Iconst function_with_argtypes
opclass_item.4: FUNCTION Iconst '(' type_list ')' function_with_argtypes
opclass_item.5: STORAGE Typename
opt_default.1: DEFAULT
opt_default.2: /* empty */
opt_opfamily.1: FAMILY any_name
opt_opfamily.2: /* empty */
opclass_purpose.1: FOR SEARCH
opclass_purpose.2: FOR ORDER BY any_name
opclass_purpose.3: /* empty */
CreateOpFamilyStmt.1: CREATE OPERATOR FAMILY any_name USING name
AlterOpFamilyStmt.1: ALTER OPERATOR FAMILY any_name USING name ADD_P opclass_item_list
AlterOpFamilyStmt.2: ALTER OPERATOR FAMILY any_name USING name DROP opclass_drop_list
opclass_drop_list.1: opclass_drop
opclass_drop_list.2: opclass_drop_list ',' opclass_drop
opclass_drop.1: OPERATOR Iconst '(' type_list ')'
opclass_drop.2: FUNCTION Iconst '(' type_list ')'
DropOpClassStmt.1: DROP OPERATOR CLASS any_name USING name opt_drop_behavior
DropOpClassStmt.2: DROP OPERATOR CLASS IF_P EXISTS any_name USING name opt_drop_behavior
DropOpFamilyStmt.1: DROP OPERATOR FAMILY any_name USING name opt_drop_behavior
DropOpFamilyStmt.2: DROP OPERATOR FAMILY IF_P EXISTS any_name USING name opt_drop_behavior
DropOwnedStmt.1: DROP OWNED BY role_list opt_drop_behavior
ReassignOwnedStmt.1: REASSIGN OWNED BY role_list TO RoleSpec
DropStmt.1: DROP object_type_any_name IF_P EXISTS any_name_list opt_drop_behavior
DropStmt.2: DROP object_type_any_name any_name_list opt_drop_behavior
DropStmt.3: DROP drop_type_name IF_P EXISTS name_list opt_drop_behavior
DropStmt.4: DROP drop_type_name name_list opt_drop_behavior
DropStmt.5: DROP object_type_name_on_any_name name ON any_name opt_drop_behavior
DropStmt.6: DROP object_type_name_on_any_name IF_P EXISTS name ON any_name opt_drop_behavior
DropStmt.7: DROP TYPE_P type_name_list opt_drop_behavior
DropStmt.8: DROP TYPE_P IF_P EXISTS type_name_list opt_drop_behavior
DropStmt.9: DROP DOMAIN_P type_name_list opt_drop_behavior
DropStmt.10: DROP DOMAIN_P IF_P EXISTS type_name_list opt_drop_behavior
DropStmt.11: DROP INDEX CONCURRENTLY any_name_list opt_drop_behavior
DropStmt.12: DROP INDEX CONCURRENTLY IF_P EXISTS any_name_list opt_drop_behavior
object_type_any_name.1: TABLE
object_type_any_name.2: SEQUENCE
object_type_any_name.3: VIEW
object_type_any_name.4: MATERIALIZED VIEW
object_type_any_name.5: INDEX
object_type_any_name.6: FOREIGN TABLE
object_type_any_name.7: COLLATION
object_type_any_name.8: CONVERSION_P
object_type_any_name.9: STATISTICS
object_type_any_name.10: TEXT_P SEARCH PARSER
object_type_any_name.11: TEXT_P SEARCH DICTIONARY
object_type_any_name.12: TEXT_P SEARCH TEMPLATE
object_type_any_name.13: TEXT_P SEARCH CONFIGURATION
object_type_name.1: drop_type_name
object_type_name.2: DATABASE
object_type_name.3: ROLE
object_type_name.4: SUBSCRIPTION
object_type_name.5: TABLESPACE
drop_type_name.1: ACCESS METHOD
drop_type_name.2: EVENT TRIGGER
drop_type_name.3: EXTENSION
drop_type_name.4: FOREIGN DATA_P WRAPPER
drop_type_name.5: opt_procedural LANGUAGE
drop_type_name.6: PUBLICATION
drop_type_name.7: SCHEMA
drop_type_name.8: SERVER
object_type_name_on_any_name.1: POLICY
object_type_name_on_any_name.2: RULE
object_type_name_on_any_name.3: TRIGGER
any_name_list.1: any_name
any_name_list.2: any_name_list ',' any_name
any_name.1: ColId
any_name.2: ColId attrs
attrs.1: '.' attr_name
attrs.2: attrs '.' attr_name
type_name_list.1: Typename
type_name_list.2: type_name_list ',' Typename
TruncateStmt.1: TRUNCATE opt_table relation_expr_list opt_restart_seqs opt_drop_behavior
opt_restart_seqs.1: CONTINUE_P IDENTITY_P
opt_restart_seqs.2: RESTART IDENTITY_P
opt_restart_seqs.3: /* empty */
CommentStmt.1: COMMENT ON object_type_any_name any_name IS comment_text
CommentStmt.2: COMMENT ON COLUMN any_name IS comment_text
CommentStmt.3: COMMENT ON object_type_name name IS comment_text
CommentStmt.4: COMMENT ON TYPE_P Typename IS comment_text
CommentStmt.5: COMMENT ON DOMAIN_P Typename IS comment_text
CommentStmt.6: COMMENT ON AGGREGATE aggregate_with_argtypes IS comment_text
CommentStmt.7: COMMENT ON FUNCTION function_with_argtypes IS comment_text
CommentStmt.8: COMMENT ON OPERATOR operator_with_argtypes IS comment_text
CommentStmt.9: COMMENT ON CONSTRAINT name ON any_name IS comment_text
CommentStmt.10: COMMENT ON CONSTRAINT name ON DOMAIN_P any_name IS comment_text
CommentStmt.11: COMMENT ON object_type_name_on_any_name name ON any_name IS comment_text
CommentStmt.12: COMMENT ON PROCEDURE function_with_argtypes IS comment_text
CommentStmt.13: COMMENT ON ROUTINE function_with_argtypes IS comment_text
CommentStmt.14: COMMENT ON TRANSFORM FOR Typename LANGUAGE name IS comment_text
CommentStmt.15: COMMENT ON OPERATOR CLASS any_name USING name IS comment_text
CommentStmt.16: COMMENT ON OPERATOR FAMILY any_name USING name IS comment_text
CommentStmt.17: COMMENT ON LARGE_P OBJECT_P NumericOnly IS comment_text
CommentStmt.18: COMMENT ON CAST '(' Typename AS Typename ')' IS comment_text
comment_text.1: Sconst
comment_text.2: NULL_P
SecLabelStmt.1: SECURITY LABEL opt_provider ON object_type_any_name any_name IS security_label
SecLabelStmt.2: SECURITY LABEL opt_provider ON COLUMN any_name IS security_label
SecLabelStmt.3: SECURITY LABEL opt_provider ON object_type_name name IS security_label
SecLabelStmt.4: SECURITY LABEL opt_provider ON TYPE_P Typename IS security_label
SecLabelStmt.5: SECURITY LABEL opt_provider ON DOMAIN_P Typename IS security_label
SecLabelStmt.6: SECURITY LABEL opt_provider ON AGGREGATE aggregate_with_argtypes IS security_label
SecLabelStmt.7: SECURITY LABEL opt_provider ON FUNCTION function_with_argtypes IS security_label
SecLabelStmt.8: SECURITY LABEL opt_provider ON LARGE_P OBJECT_P NumericOnly IS security_label
SecLabelStmt.9: SECURITY LABEL opt_provider ON PROCEDURE function_with_argtypes IS security_label
SecLabelStmt.10: SECURITY LABEL opt_provider ON ROUTINE function_with_argtypes IS security_label
opt_provider.1: FOR NonReservedWord_or_Sconst
opt_provider.2: /* empty */
security_label.1: Sconst
security_label.2: NULL_P
FetchStmt.1: FETCH fetch_args
FetchStmt.2: MOVE fetch_args
fetch_args.1: cursor_name
fetch_args.2: from_in cursor_name
fetch_args.3: SignedIconst opt_from_in cursor_name
fetch_args.4: NEXT opt_from_in cursor_name
fetch_args.5: PRIOR opt_from_in cursor_name
fetch_args.6: FIRST_P opt_from_in cursor_name
fetch_args.7: LAST_P opt_from_in cursor_name
fetch_args.8: ABSOLUTE_P SignedIconst opt_from_in cursor_name
fetch_args.9: RELATIVE_P SignedIconst opt_from_in cursor_name
fetch_args.10: ALL opt_from_in cursor_name
fetch_args.11: FORWARD opt_from_in cursor_name
fetch_args.12: FORWARD SignedIconst opt_from_in cursor_name
fetch_args.13: FORWARD ALL opt_from_in cursor_name
fetch_args.14: BACKWARD opt_from_in cursor_name
fetch_args.15: BACKWARD SignedIconst opt_from_in cursor_name
fetch_args.16: BACKWARD ALL opt_from_in cursor_name
from_in.1: FROM
from_in.2: IN_P
opt_from_in.1: from_in
opt_from_in.2: /* empty */
GrantStmt.1: GRANT privileges ON privilege_target TO grantee_list opt_grant_grant_option opt_granted_by
RevokeStmt.1: REVOKE privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior
RevokeStmt.2: REVOKE GRANT OPTION FOR privileges ON privilege_target FROM grantee_list opt_granted_by opt_drop_behavior
privileges.1: privilege_list
privileges.2: ALL
privileges.3: ALL PRIVILEGES
privileges.4: ALL '(' columnList ')'
privileges.5: ALL PRIVILEGES '(' columnList ')'
privilege_list.1: privilege
privilege_list.2: privilege_list ',' privilege
privilege.1: SELECT opt_column_list
privilege.2: REFERENCES opt_column_list
privilege.3: CREATE opt_column_list
privilege.4: ALTER SYSTEM_P
privilege.5: ColId opt_column_list
parameter_name_list.1: parameter_name
parameter_name_list.2: parameter_name_list ',' parameter_name
parameter_name.1: ColId
parameter_name.2: parameter_name '.' ColId
privilege_target.1: qualified_name_list
privilege_target.2: TABLE qualified_name_list
privilege_target.3: SEQUENCE qualified_name_list
privilege_target.4: FOREIGN DATA_P WRAPPER name_list
privilege_target.5: FOREIGN SERVER name_list
privilege_target.6: FUNCTION function_with_argtypes_list
privilege_target.7: PROCEDURE function_with_argtypes_list
privilege_target.8: ROUTINE function_with_argtypes_list
privilege_target.9: DATABASE name_list
privilege_target.10: DOMAIN_P any_name_list
privilege_target.11: LANGUAGE name_list
privilege_target.12: LARGE_P OBJECT_P NumericOnly_list
privilege_target.13: PARAMETER parameter_name_list
privilege_target.14: SCHEMA name_list
privilege_target.15: TABLESPACE name_list
privilege_target.16: TYPE_P any_name_list
privilege_target.17: ALL TABLES IN_P SCHEMA name_list
privilege_target.18: ALL SEQUENCES IN_P SCHEMA name_list
privilege_target.19: ALL FUNCTIONS IN_P SCHEMA name_list
privilege_target.20: ALL PROCEDURES IN_P SCHEMA name_list
privilege_target.21: ALL ROUTINES IN_P SCHEMA name_list
grantee_list.1: grantee
grantee_list.2: grantee_list ',' grantee
grantee.1: RoleSpec
grantee.2: GROUP_P RoleSpec
opt_grant_grant_option.1: WITH GRANT OPTION
opt_grant_grant_option.2: /* empty */
GrantRoleStmt.1: GRANT privilege_list TO role_list opt_granted_by
GrantRoleStmt.2: GRANT privilege_list TO role_list WITH grant_role_opt_list opt_granted_by
RevokeRoleStmt.1: REVOKE privilege_list FROM role_list opt_granted_by opt_drop_behavior
RevokeRoleStmt.2: REVOKE ColId OPTION FOR privilege_list FROM role_list opt_granted_by opt_drop_behavior
grant_role_opt_list.1: grant_role_opt_list ',' grant_role_opt
grant_role_opt_list.2: grant_role_opt
grant_role_opt.1: ColLabel grant_role_opt_value
grant_role_opt_value.1: OPTION
grant_role_opt_value.2: TRUE_P
grant_role_opt_value.3: FALSE_P
opt_granted_by.1: GRANTED BY RoleSpec
opt_granted_by.2: /* empty */
AlterDefaultPrivilegesStmt.1: ALTER DEFAULT PRIVILEGES DefACLOptionList DefACLAction
DefACLOptionList.1: DefACLOptionList DefACLOption
DefACLOptionList.2: /* empty */
DefACLOption.1: IN_P SCHEMA name_list
DefACLOption.2: FOR ROLE role_list
DefACLOption.3: FOR USER role_list
DefACLAction.1: GRANT privileges ON defacl_privilege_target TO grantee_list opt_grant_grant_option
DefACLAction.2: REVOKE privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior
DefACLAction.3: REVOKE GRANT OPTION FOR privileges ON defacl_privilege_target FROM grantee_list opt_drop_behavior
defacl_privilege_target.1: TABLES
defacl_privilege_target.2: FUNCTIONS
defacl_privilege_target.3: ROUTINES
defacl_privilege_target.4: SEQUENCES
defacl_privilege_target.5: TYPES_P
defacl_privilege_target.6: SCHEMAS
defacl_privilege_target.7: LARGE_P OBJECTS_P
IndexStmt.1: CREATE opt_unique INDEX opt_concurrently opt_single_name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause
IndexStmt.2: CREATE opt_unique INDEX opt_concurrently IF_P NOT EXISTS name ON relation_expr access_method_clause '(' index_params ')' opt_include opt_unique_null_treatment opt_reloptions OptTableSpace where_clause
opt_unique.1: UNIQUE
opt_unique.2: /* empty */
access_method_clause.1: USING name
access_method_clause.2: /* empty */
index_params.1: index_elem
index_params.2: index_params ',' index_elem
index_elem_options.1: opt_collate opt_qualified_name opt_asc_desc opt_nulls_order
index_elem_options.2: opt_collate any_name reloptions opt_asc_desc opt_nulls_order
index_elem.1: ColId index_elem_options
index_elem.2: func_expr_windowless index_elem_options
index_elem.3: '(' a_expr ')' index_elem_options
opt_include.1: INCLUDE '(' index_including_params ')'
opt_include.2: /* empty */
index_including_params.1: index_elem
index_including_params.2: index_including_params ',' index_elem
opt_collate.1: COLLATE any_name
opt_collate.2: /* empty */
opt_asc_desc.1: ASC
opt_asc_desc.2: DESC
opt_asc_desc.3: /* empty */
opt_nulls_order.1: NULLS_LA FIRST_P
opt_nulls_order.2: NULLS_LA LAST_P
opt_nulls_order.3: /* empty */
CreateFunctionStmt.1: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS func_return opt_createfunc_opt_list opt_routine_body
CreateFunctionStmt.2: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults RETURNS TABLE '(' table_func_column_list ')' opt_createfunc_opt_list opt_routine_body
CreateFunctionStmt.3: CREATE opt_or_replace FUNCTION func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body
CreateFunctionStmt.4: CREATE opt_or_replace PROCEDURE func_name func_args_with_defaults opt_createfunc_opt_list opt_routine_body
opt_or_replace.1: OR REPLACE
opt_or_replace.2: /* empty */
func_args.1: '(' func_args_list ')'
func_args.2: '(' ')'
func_args_list.1: func_arg
func_args_list.2: func_args_list ',' func_arg
function_with_argtypes_list.1: function_with_argtypes
function_with_argtypes_list.2: function_with_argtypes_list ',' function_with_argtypes
function_with_argtypes.1: func_name func_args
function_with_argtypes.2: type_func_name_keyword
function_with_argtypes.3: ColId
function_with_argtypes.4: ColId indirection
func_args_with_defaults.1: '(' func_args_with_defaults_list ')'
func_args_with_defaults.2: '(' ')'
func_args_with_defaults_list.1: func_arg_with_default
func_args_with_defaults_list.2: func_args_with_defaults_list ',' func_arg_with_default
func_arg.1: arg_class param_name func_type
func_arg.2: param_name arg_class func_type
func_arg.3: param_name func_type
func_arg.4: arg_class func_type
func_arg.5: func_type
arg_class.1: IN_P
arg_class.2: OUT_P
arg_class.3: INOUT
arg_class.4: IN_P OUT_P
arg_class.5: VARIADIC
param_name.1: type_function_name
func_return.1: func_type
func_type.1: Typename
func_type.2: type_function_name attrs '%' TYPE_P
func_type.3: SETOF type_function_name attrs '%' TYPE_P
func_arg_with_default.1: func_arg
func_arg_with_default.2: func_arg DEFAULT a_expr
func_arg_with_default.3: func_arg '=' a_expr
aggr_arg.1: func_arg
aggr_args.1: '(' '*' ')'
aggr_args.2: '(' aggr_args_list ')'
aggr_args.3: '(' ORDER BY aggr_args_list ')'
aggr_args.4: '(' aggr_args_list ORDER BY aggr_args_list ')'
aggr_args_list.1: aggr_arg
aggr_args_list.2: aggr_args_list ',' aggr_arg
aggregate_with_argtypes.1: func_name aggr_args
aggregate_with_argtypes_list.1: aggregate_with_argtypes
aggregate_with_argtypes_list.2: aggregate_with_argtypes_list ',' aggregate_with_argtypes
opt_createfunc_opt_list.1: createfunc_opt_list
opt_createfunc_opt_list.2: /* empty */
createfunc_opt_list.1: createfunc_opt_item
createfunc_opt_list.2: createfunc_opt_list createfunc_opt_item
common_func_opt_item.1: CALLED ON NULL_P INPUT_P
common_func_opt_item.2: RETURNS NULL_P ON NULL_P INPUT_P
common_func_opt_item.3: STRICT_P
common_func_opt_item.4: IMMUTABLE
common_func_opt_item.5: STABLE
common_func_opt_item.6: VOLATILE
common_func_opt_item.7: EXTERNAL SECURITY DEFINER
common_func_opt_item.8: EXTERNAL SECURITY INVOKER
common_func_opt_item.9: SECURITY DEFINER
common_func_opt_item.10: SECURITY INVOKER
common_func_opt_item.11: LEAKPROOF
common_func_opt_item.12: NOT LEAKPROOF
common_func_opt_item.13: COST NumericOnly
common_func_opt_item.14: ROWS NumericOnly
common_func_opt_item.15: SUPPORT any_name
common_func_opt_item.16: FunctionSetResetClause
common_func_opt_item.17: PARALLEL ColId
createfunc_opt_item.1: AS func_as
createfunc_opt_item.2: LANGUAGE NonReservedWord_or_Sconst
createfunc_opt_item.3: TRANSFORM transform_type_list
createfunc_opt_item.4: WINDOW
createfunc_opt_item.5: common_func_opt_item
func_as.1: Sconst
func_as.2: Sconst ',' Sconst
ReturnStmt.1: RETURN a_expr
opt_routine_body.1: ReturnStmt
opt_routine_body.2: BEGIN_P ATOMIC routine_body_stmt_list END_P
opt_routine_body.3: /* empty */
routine_body_stmt_list.1: routine_body_stmt_list routine_body_stmt ';'
routine_body_stmt_list.2: /* empty */
routine_body_stmt.1: stmt
routine_body_stmt.2: ReturnStmt
transform_type_list.1: FOR TYPE_P Typename
transform_type_list.2: transform_type_list ',' FOR TYPE_P Typename
opt_definition.1: WITH definition
opt_definition.2: /* empty */
table_func_column.1: param_name func_type
table_func_column_list.1: table_func_column
table_func_column_list.2: table_func_column_list ',' table_func_column
AlterFunctionStmt.1: ALTER FUNCTION function_with_argtypes alterfunc_opt_list opt_restrict
AlterFunctionStmt.2: ALTER PROCEDURE function_with_argtypes alterfunc_opt_list opt_restrict
AlterFunctionStmt.3: ALTER ROUTINE function_with_argtypes alterfunc_opt_list opt_restrict
alterfunc_opt_list.1: common_func_opt_item
alterfunc_opt_list.2: alterfunc_opt_list common_func_opt_item
opt_restrict.1: RESTRICT
opt_restrict.2: /* empty */
RemoveFuncStmt.1: DROP FUNCTION function_with_argtypes_list opt_drop_behavior
RemoveFuncStmt.2: DROP FUNCTION IF_P EXISTS function_with_argtypes_list opt_drop_behavior
RemoveFuncStmt.3: DROP PROCEDURE function_with_argtypes_list opt_drop_behavior
RemoveFuncStmt.4: DROP PROCEDURE IF_P EXISTS function_with_argtypes_list opt_drop_behavior
RemoveFuncStmt.5: DROP ROUTINE function_with_argtypes_list opt_drop_behavior
RemoveFuncStmt.6: DROP ROUTINE IF_P EXISTS function_with_argtypes_list opt_drop_behavior
RemoveAggrStmt.1: DROP AGGREGATE aggregate_with_argtypes_list opt_drop_behavior
RemoveAggrStmt.2: DROP AGGREGATE IF_P EXISTS aggregate_with_argtypes_list opt_drop_behavior
RemoveOperStmt.1: DROP OPERATOR operator_with_argtypes_list opt_drop_behavior
RemoveOperStmt.2: DROP OPERATOR IF_P EXISTS operator_with_argtypes_list opt_drop_behavior
oper_argtypes.1: '(' Typename ')'
oper_argtypes.2: '(' Typename ',' Typename ')'
oper_argtypes.3: '(' NONE ',' Typename ')'
oper_argtypes.4: '(' Typename ',' NONE ')'
any_operator.1: all_Op
any_operator.2: ColId '.' any_operator
operator_with_argtypes_list.1: operator_with_argtypes
operator_with_argtypes_list.2: operator_with_argtypes_list ',' operator_with_argtypes
operator_with_argtypes.1: any_operator oper_argtypes
DoStmt.1: DO dostmt_opt_list
dostmt_opt_list.1: dostmt_opt_item
dostmt_opt_list.2: dostmt_opt_list dostmt_opt_item
dostmt_opt_item.1: Sconst
dostmt_opt_item.2: LANGUAGE NonReservedWord_or_Sconst
CreateCastStmt.1: CREATE CAST '(' Typename AS Typename ')' WITH FUNCTION function_with_argtypes cast_context
CreateCastStmt.2: CREATE CAST '(' Typename AS Typename ')' WITHOUT FUNCTION cast_context
CreateCastStmt.3: CREATE CAST '(' Typename AS Typename ')' WITH INOUT cast_context
cast_context.1: AS IMPLICIT_P
cast_context.2: AS ASSIGNMENT
cast_context.3: /* empty */
DropCastStmt.1: DROP CAST opt_if_exists '(' Typename AS Typename ')' opt_drop_behavior
opt_if_exists.1: IF_P EXISTS
opt_if_exists.2: /* empty */
CreateTransformStmt.1: CREATE opt_or_replace TRANSFORM FOR Typename LANGUAGE name '(' transform_element_list ')'
transform_element_list.1: FROM SQL_P WITH FUNCTION function_with_argtypes ',' TO SQL_P WITH FUNCTION function_with_argtypes
transform_element_list.2: TO SQL_P WITH FUNCTION function_with_argtypes ',' FROM SQL_P WITH FUNCTION function_with_argtypes
transform_element_list.3: FROM SQL_P WITH FUNCTION function_with_argtypes
transform_element_list.4: TO SQL_P WITH FUNCTION function_with_argtypes
DropTransformStmt.1: DROP TRANSFORM opt_if_exists FOR Typename LANGUAGE name opt_drop_behavior
ReindexStmt.1: REINDEX opt_utility_option_list reindex_target_relation opt_concurrently qualified_name
ReindexStmt.2: REINDEX opt_utility_option_list SCHEMA opt_concurrently name
ReindexStmt.3: REINDEX opt_utility_option_list reindex_target_all opt_concurrently opt_single_name
reindex_target_relation.1: INDEX
reindex_target_relation.2: TABLE
reindex_target_all.1: SYSTEM_P
reindex_target_all.2: DATABASE
AlterTblSpcStmt.1: ALTER TABLESPACE name SET reloptions
AlterTblSpcStmt.2: ALTER TABLESPACE name RESET reloptions
RenameStmt.1: ALTER AGGREGATE aggregate_with_argtypes RENAME TO name
RenameStmt.2: ALTER COLLATION any_name RENAME TO name
RenameStmt.3: ALTER CONVERSION_P any_name RENAME TO name
RenameStmt.4: ALTER DATABASE name RENAME TO name
RenameStmt.5: ALTER DOMAIN_P any_name RENAME TO name
RenameStmt.6: ALTER DOMAIN_P any_name RENAME CONSTRAINT name TO name
RenameStmt.7: ALTER FOREIGN DATA_P WRAPPER name RENAME TO name
RenameStmt.8: ALTER FUNCTION function_with_argtypes RENAME TO name
RenameStmt.9: ALTER GROUP_P RoleId RENAME TO RoleId
RenameStmt.10: ALTER opt_procedural LANGUAGE name RENAME TO name
RenameStmt.11: ALTER OPERATOR CLASS any_name USING name RENAME TO name
RenameStmt.12: ALTER OPERATOR FAMILY any_name USING name RENAME TO name
RenameStmt.13: ALTER POLICY name ON qualified_name RENAME TO name
RenameStmt.14: ALTER POLICY IF_P EXISTS name ON qualified_name RENAME TO name
RenameStmt.15: ALTER PROCEDURE function_with_argtypes RENAME TO name
RenameStmt.16: ALTER PUBLICATION name RENAME TO name
RenameStmt.17: ALTER ROUTINE function_with_argtypes RENAME TO name
RenameStmt.18: ALTER SCHEMA name RENAME TO name
RenameStmt.19: ALTER SERVER name RENAME TO name
RenameStmt.20: ALTER SUBSCRIPTION name RENAME TO name
RenameStmt.21: ALTER TABLE relation_expr RENAME TO name
RenameStmt.22: ALTER TABLE IF_P EXISTS relation_expr RENAME TO name
RenameStmt.23: ALTER SEQUENCE qualified_name RENAME TO name
RenameStmt.24: ALTER SEQUENCE IF_P EXISTS qualified_name RENAME TO name
RenameStmt.25: ALTER VIEW qualified_name RENAME TO name
RenameStmt.26: ALTER VIEW IF_P EXISTS qualified_name RENAME TO name
RenameStmt.27: ALTER MATERIALIZED VIEW qualified_name RENAME TO name
RenameStmt.28: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME TO name
RenameStmt.29: ALTER INDEX qualified_name RENAME TO name
RenameStmt.30: ALTER INDEX IF_P EXISTS qualified_name RENAME TO name
RenameStmt.31: ALTER FOREIGN TABLE relation_expr RENAME TO name
RenameStmt.32: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME TO name
RenameStmt.33: ALTER TABLE relation_expr RENAME opt_column name TO name
RenameStmt.34: ALTER TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name
RenameStmt.35: ALTER VIEW qualified_name RENAME opt_column name TO name
RenameStmt.36: ALTER VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name
RenameStmt.37: ALTER MATERIALIZED VIEW qualified_name RENAME opt_column name TO name
RenameStmt.38: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name RENAME opt_column name TO name
RenameStmt.39: ALTER TABLE relation_expr RENAME CONSTRAINT name TO name
RenameStmt.40: ALTER TABLE IF_P EXISTS relation_expr RENAME CONSTRAINT name TO name
RenameStmt.41: ALTER FOREIGN TABLE relation_expr RENAME opt_column name TO name
RenameStmt.42: ALTER FOREIGN TABLE IF_P EXISTS relation_expr RENAME opt_column name TO name
RenameStmt.43: ALTER RULE name ON qualified_name RENAME TO name
RenameStmt.44: ALTER TRIGGER name ON qualified_name RENAME TO name
RenameStmt.45: ALTER EVENT TRIGGER name RENAME TO name
RenameStmt.46: ALTER ROLE RoleId RENAME TO RoleId
RenameStmt.47: ALTER USER RoleId RENAME TO RoleId
RenameStmt.48: ALTER TABLESPACE name RENAME TO name
RenameStmt.49: ALTER STATISTICS any_name RENAME TO name
RenameStmt.50: ALTER TEXT_P SEARCH PARSER any_name RENAME TO name
RenameStmt.51: ALTER TEXT_P SEARCH DICTIONARY any_name RENAME TO name
RenameStmt.52: ALTER TEXT_P SEARCH TEMPLATE any_name RENAME TO name
RenameStmt.53: ALTER TEXT_P SEARCH CONFIGURATION any_name RENAME TO name
RenameStmt.54: ALTER TYPE_P any_name RENAME TO name
RenameStmt.55: ALTER TYPE_P any_name RENAME ATTRIBUTE name TO name opt_drop_behavior
opt_column.1: COLUMN
opt_column.2: /* empty */
opt_set_data.1: SET DATA_P
opt_set_data.2: /* empty */
AlterObjectDependsStmt.1: ALTER FUNCTION function_with_argtypes opt_no DEPENDS ON EXTENSION name
AlterObjectDependsStmt.2: ALTER PROCEDURE function_with_argtypes opt_no DEPENDS ON EXTENSION name
AlterObjectDependsStmt.3: ALTER ROUTINE function_with_argtypes opt_no DEPENDS ON EXTENSION name
AlterObjectDependsStmt.4: ALTER TRIGGER name ON qualified_name opt_no DEPENDS ON EXTENSION name
AlterObjectDependsStmt.5: ALTER MATERIALIZED VIEW qualified_name opt_no DEPENDS ON EXTENSION name
AlterObjectDependsStmt.6: ALTER INDEX qualified_name opt_no DEPENDS ON EXTENSION name
opt_no.1: NO
opt_no.2: /* empty */
AlterObjectSchemaStmt.1: ALTER AGGREGATE aggregate_with_argtypes SET SCHEMA name
AlterObjectSchemaStmt.2: ALTER COLLATION any_name SET SCHEMA name
AlterObjectSchemaStmt.3: ALTER CONVERSION_P any_name SET SCHEMA name
AlterObjectSchemaStmt.4: ALTER DOMAIN_P any_name SET SCHEMA name
AlterObjectSchemaStmt.5: ALTER EXTENSION name SET SCHEMA name
AlterObjectSchemaStmt.6: ALTER FUNCTION function_with_argtypes SET SCHEMA name
AlterObjectSchemaStmt.7: ALTER OPERATOR operator_with_argtypes SET SCHEMA name
AlterObjectSchemaStmt.8: ALTER OPERATOR CLASS any_name USING name SET SCHEMA name
AlterObjectSchemaStmt.9: ALTER OPERATOR FAMILY any_name USING name SET SCHEMA name
AlterObjectSchemaStmt.10: ALTER PROCEDURE function_with_argtypes SET SCHEMA name
AlterObjectSchemaStmt.11: ALTER ROUTINE function_with_argtypes SET SCHEMA name
AlterObjectSchemaStmt.12: ALTER TABLE relation_expr SET SCHEMA name
AlterObjectSchemaStmt.13: ALTER TABLE IF_P EXISTS relation_expr SET SCHEMA name
AlterObjectSchemaStmt.14: ALTER STATISTICS any_name SET SCHEMA name
AlterObjectSchemaStmt.15: ALTER TEXT_P SEARCH PARSER any_name SET SCHEMA name
AlterObjectSchemaStmt.16: ALTER TEXT_P SEARCH DICTIONARY any_name SET SCHEMA name
AlterObjectSchemaStmt.17: ALTER TEXT_P SEARCH TEMPLATE any_name SET SCHEMA name
AlterObjectSchemaStmt.18: ALTER TEXT_P SEARCH CONFIGURATION any_name SET SCHEMA name
AlterObjectSchemaStmt.19: ALTER SEQUENCE qualified_name SET SCHEMA name
AlterObjectSchemaStmt.20: ALTER SEQUENCE IF_P EXISTS qualified_name SET SCHEMA name
AlterObjectSchemaStmt.21: ALTER VIEW qualified_name SET SCHEMA name
AlterObjectSchemaStmt.22: ALTER VIEW IF_P EXISTS qualified_name SET SCHEMA name
AlterObjectSchemaStmt.23: ALTER MATERIALIZED VIEW qualified_name SET SCHEMA name
AlterObjectSchemaStmt.24: ALTER MATERIALIZED VIEW IF_P EXISTS qualified_name SET SCHEMA name
AlterObjectSchemaStmt.25: ALTER FOREIGN TABLE relation_expr SET SCHEMA name
AlterObjectSchemaStmt.26: ALTER FOREIGN TABLE IF_P EXISTS relation_expr SET SCHEMA name
AlterObjectSchemaStmt.27: ALTER TYPE_P any_name SET SCHEMA name
AlterOperatorStmt.1: ALTER OPERATOR operator_with_argtypes SET '(' operator_def_list ')'
operator_def_list.1: operator_def_elem
operator_def_list.2: operator_def_list ',' operator_def_elem
operator_def_elem.1: ColLabel '=' NONE
operator_def_elem.2: ColLabel '=' operator_def_arg
operator_def_elem.3: ColLabel
operator_def_arg.1: func_type
operator_def_arg.2: reserved_keyword
operator_def_arg.3: qual_all_Op
operator_def_arg.4: NumericOnly
operator_def_arg.5: Sconst
AlterTypeStmt.1: ALTER TYPE_P any_name SET '(' operator_def_list ')'
AlterOwnerStmt.1: ALTER AGGREGATE aggregate_with_argtypes OWNER TO RoleSpec
AlterOwnerStmt.2: ALTER COLLATION any_name OWNER TO RoleSpec
AlterOwnerStmt.3: ALTER CONVERSION_P any_name OWNER TO RoleSpec
AlterOwnerStmt.4: ALTER DATABASE name OWNER TO RoleSpec
AlterOwnerStmt.5: ALTER DOMAIN_P any_name OWNER TO RoleSpec
AlterOwnerStmt.6: ALTER FUNCTION function_with_argtypes OWNER TO RoleSpec
AlterOwnerStmt.7: ALTER opt_procedural LANGUAGE name OWNER TO RoleSpec
AlterOwnerStmt.8: ALTER LARGE_P OBJECT_P NumericOnly OWNER TO RoleSpec
AlterOwnerStmt.9: ALTER OPERATOR operator_with_argtypes OWNER TO RoleSpec
AlterOwnerStmt.10: ALTER OPERATOR CLASS any_name USING name OWNER TO RoleSpec
AlterOwnerStmt.11: ALTER OPERATOR FAMILY any_name USING name OWNER TO RoleSpec
AlterOwnerStmt.12: ALTER PROCEDURE function_with_argtypes OWNER TO RoleSpec
AlterOwnerStmt.13: ALTER ROUTINE function_with_argtypes OWNER TO RoleSpec
AlterOwnerStmt.14: ALTER SCHEMA name OWNER TO RoleSpec
AlterOwnerStmt.15: ALTER TYPE_P any_name OWNER TO RoleSpec
AlterOwnerStmt.16: ALTER TABLESPACE name OWNER TO RoleSpec
AlterOwnerStmt.17: ALTER STATISTICS any_name OWNER TO RoleSpec
AlterOwnerStmt.18: ALTER TEXT_P SEARCH DICTIONARY any_name OWNER TO RoleSpec
AlterOwnerStmt.19: ALTER TEXT_P SEARCH CONFIGURATION any_name OWNER TO RoleSpec
AlterOwnerStmt.20: ALTER FOREIGN DATA_P WRAPPER name OWNER TO RoleSpec
AlterOwnerStmt.21: ALTER SERVER name OWNER TO RoleSpec
AlterOwnerStmt.22: ALTER EVENT TRIGGER name OWNER TO RoleSpec
AlterOwnerStmt.23: ALTER PUBLICATION name OWNER TO RoleSpec
AlterOwnerStmt.24: ALTER SUBSCRIPTION name OWNER TO RoleSpec
CreatePublicationStmt.1: CREATE PUBLICATION name opt_definition
CreatePublicationStmt.2: CREATE PUBLICATION name FOR pub_all_obj_type_list opt_definition
CreatePublicationStmt.3: CREATE PUBLICATION name FOR pub_obj_list opt_definition
PublicationObjSpec.1: TABLE relation_expr opt_column_list OptWhereClause
PublicationObjSpec.2: TABLES IN_P SCHEMA ColId
PublicationObjSpec.3: TABLES IN_P SCHEMA CURRENT_SCHEMA
PublicationObjSpec.4: ColId opt_column_list OptWhereClause
PublicationObjSpec.5: ColId indirection opt_column_list OptWhereClause
PublicationObjSpec.6: extended_relation_expr opt_column_list OptWhereClause
PublicationObjSpec.7: CURRENT_SCHEMA
pub_obj_list.1: PublicationObjSpec
pub_obj_list.2: pub_obj_list ',' PublicationObjSpec
opt_pub_except_clause.1: EXCEPT '(' TABLE pub_except_obj_list ')'
opt_pub_except_clause.2: /* empty */
PublicationAllObjSpec.1: ALL TABLES opt_pub_except_clause
PublicationAllObjSpec.2: ALL SEQUENCES
pub_all_obj_type_list.1: PublicationAllObjSpec
pub_all_obj_type_list.2: pub_all_obj_type_list ',' PublicationAllObjSpec
PublicationExceptObjSpec.1: relation_expr
pub_except_obj_list.1: PublicationExceptObjSpec
pub_except_obj_list.2: pub_except_obj_list ',' opt_table PublicationExceptObjSpec
AlterPublicationStmt.1: ALTER PUBLICATION name SET definition
AlterPublicationStmt.2: ALTER PUBLICATION name ADD_P pub_obj_list
AlterPublicationStmt.3: ALTER PUBLICATION name SET pub_obj_list
AlterPublicationStmt.4: ALTER PUBLICATION name SET pub_all_obj_type_list
AlterPublicationStmt.5: ALTER PUBLICATION name DROP pub_obj_list
CreateSubscriptionStmt.1: CREATE SUBSCRIPTION name CONNECTION Sconst PUBLICATION name_list opt_definition
CreateSubscriptionStmt.2: CREATE SUBSCRIPTION name SERVER name PUBLICATION name_list opt_definition
AlterSubscriptionStmt.1: ALTER SUBSCRIPTION name SET definition
AlterSubscriptionStmt.2: ALTER SUBSCRIPTION name CONNECTION Sconst
AlterSubscriptionStmt.3: ALTER SUBSCRIPTION name SERVER name
AlterSubscriptionStmt.4: ALTER SUBSCRIPTION name REFRESH PUBLICATION opt_definition
AlterSubscriptionStmt.5: ALTER SUBSCRIPTION name REFRESH SEQUENCES
AlterSubscriptionStmt.6: ALTER SUBSCRIPTION name ADD_P PUBLICATION name_list opt_definition
AlterSubscriptionStmt.7: ALTER SUBSCRIPTION name DROP PUBLICATION name_list opt_definition
AlterSubscriptionStmt.8: ALTER SUBSCRIPTION name SET PUBLICATION name_list opt_definition
AlterSubscriptionStmt.9: ALTER SUBSCRIPTION name ENABLE_P
AlterSubscriptionStmt.10: ALTER SUBSCRIPTION name DISABLE_P
AlterSubscriptionStmt.11: ALTER SUBSCRIPTION name SKIP definition
DropSubscriptionStmt.1: DROP SUBSCRIPTION name opt_drop_behavior
DropSubscriptionStmt.2: DROP SUBSCRIPTION IF_P EXISTS name opt_drop_behavior
RuleStmt.1: CREATE opt_or_replace RULE name AS ON event TO qualified_name where_clause DO opt_instead RuleActionList
RuleActionList.1: NOTHING
RuleActionList.2: RuleActionStmt
RuleActionList.3: '(' RuleActionMulti ')'
RuleActionMulti.1: RuleActionMulti ';' RuleActionStmtOrEmpty
RuleActionMulti.2: RuleActionStmtOrEmpty
RuleActionStmt.1: SelectStmt
RuleActionStmt.2: InsertStmt
RuleActionStmt.3: UpdateStmt
RuleActionStmt.4: DeleteStmt
RuleActionStmt.5: NotifyStmt
RuleActionStmtOrEmpty.1: RuleActionStmt
RuleActionStmtOrEmpty.2: /* empty */
event.1: SELECT
event.2: UPDATE
event.3: DELETE_P
event.4: INSERT
opt_instead.1: INSTEAD
opt_instead.2: ALSO
opt_instead.3: /* empty */
NotifyStmt.1: NOTIFY ColId notify_payload
notify_payload.1: ',' Sconst
notify_payload.2: /* empty */
ListenStmt.1: LISTEN ColId
UnlistenStmt.1: UNLISTEN ColId
UnlistenStmt.2: UNLISTEN '*'
TransactionStmt.1: ABORT_P opt_transaction opt_transaction_chain
TransactionStmt.2: START TRANSACTION transaction_mode_list_or_empty
TransactionStmt.3: COMMIT opt_transaction opt_transaction_chain
TransactionStmt.4: ROLLBACK opt_transaction opt_transaction_chain
TransactionStmt.5: SAVEPOINT ColId
TransactionStmt.6: RELEASE SAVEPOINT ColId
TransactionStmt.7: RELEASE ColId
TransactionStmt.8: ROLLBACK opt_transaction TO SAVEPOINT ColId
TransactionStmt.9: ROLLBACK opt_transaction TO ColId
TransactionStmt.10: PREPARE TRANSACTION Sconst
TransactionStmt.11: COMMIT PREPARED Sconst
TransactionStmt.12: ROLLBACK PREPARED Sconst
TransactionStmtLegacy.1: BEGIN_P opt_transaction transaction_mode_list_or_empty
TransactionStmtLegacy.2: END_P opt_transaction opt_transaction_chain
opt_transaction.1: WORK
opt_transaction.2: TRANSACTION
opt_transaction.3: /* empty */
transaction_mode_item.1: ISOLATION LEVEL iso_level
transaction_mode_item.2: READ ONLY
transaction_mode_item.3: READ WRITE
transaction_mode_item.4: DEFERRABLE
transaction_mode_item.5: NOT DEFERRABLE
transaction_mode_list.1: transaction_mode_item
transaction_mode_list.2: transaction_mode_list ',' transaction_mode_item
transaction_mode_list.3: transaction_mode_list transaction_mode_item
transaction_mode_list_or_empty.1: transaction_mode_list
transaction_mode_list_or_empty.2: /* empty */
opt_transaction_chain.1: AND CHAIN
opt_transaction_chain.2: AND NO CHAIN
opt_transaction_chain.3: /* empty */
ViewStmt.1: CREATE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option
ViewStmt.2: CREATE OR REPLACE OptTemp VIEW qualified_name opt_column_list opt_reloptions AS SelectStmt opt_check_option
ViewStmt.3: CREATE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option
ViewStmt.4: CREATE OR REPLACE OptTemp RECURSIVE VIEW qualified_name '(' columnList ')' opt_reloptions AS SelectStmt opt_check_option
opt_check_option.1: WITH CHECK OPTION
opt_check_option.2: WITH CASCADED CHECK OPTION
opt_check_option.3: WITH LOCAL CHECK OPTION
opt_check_option.4: /* empty */
LoadStmt.1: LOAD file_name
CreatedbStmt.1: CREATE DATABASE name opt_with createdb_opt_list
createdb_opt_list.1: createdb_opt_items
createdb_opt_list.2: /* empty */
createdb_opt_items.1: createdb_opt_item
createdb_opt_items.2: createdb_opt_items createdb_opt_item
createdb_opt_item.1: createdb_opt_name opt_equal NumericOnly
createdb_opt_item.2: createdb_opt_name opt_equal opt_boolean_or_string
createdb_opt_item.3: createdb_opt_name opt_equal DEFAULT
createdb_opt_name.1: IDENT
createdb_opt_name.2: CONNECTION LIMIT
createdb_opt_name.3: ENCODING
createdb_opt_name.4: LOCATION
createdb_opt_name.5: OWNER
createdb_opt_name.6: TABLESPACE
createdb_opt_name.7: TEMPLATE
opt_equal.1: '='
opt_equal.2: /* empty */
AlterDatabaseStmt.1: ALTER DATABASE name WITH createdb_opt_list
AlterDatabaseStmt.2: ALTER DATABASE name createdb_opt_list
AlterDatabaseStmt.3: ALTER DATABASE name SET TABLESPACE name
AlterDatabaseStmt.4: ALTER DATABASE name REFRESH COLLATION VERSION_P
AlterDatabaseSetStmt.1: ALTER DATABASE name SetResetClause
DropdbStmt.1: DROP DATABASE name
DropdbStmt.2: DROP DATABASE IF_P EXISTS name
DropdbStmt.3: DROP DATABASE name opt_with '(' drop_option_list ')'
DropdbStmt.4: DROP DATABASE IF_P EXISTS name opt_with '(' drop_option_list ')'
drop_option_list.1: drop_option
drop_option_list.2: drop_option_list ',' drop_option
drop_option.1: FORCE
AlterCollationStmt.1: ALTER COLLATION any_name REFRESH VERSION_P
AlterSystemStmt.1: ALTER SYSTEM_P SET generic_set
AlterSystemStmt.2: ALTER SYSTEM_P RESET generic_reset
CreateDomainStmt.1: CREATE DOMAIN_P any_name opt_as Typename ColQualList
AlterDomainStmt.1: ALTER DOMAIN_P any_name alter_column_default
AlterDomainStmt.2: ALTER DOMAIN_P any_name DROP NOT NULL_P
AlterDomainStmt.3: ALTER DOMAIN_P any_name SET NOT NULL_P
AlterDomainStmt.4: ALTER DOMAIN_P any_name ADD_P DomainConstraint
AlterDomainStmt.5: ALTER DOMAIN_P any_name DROP CONSTRAINT name opt_drop_behavior
AlterDomainStmt.6: ALTER DOMAIN_P any_name DROP CONSTRAINT IF_P EXISTS name opt_drop_behavior
AlterDomainStmt.7: ALTER DOMAIN_P any_name VALIDATE CONSTRAINT name
opt_as.1: AS
opt_as.2: /* empty */
AlterTSDictionaryStmt.1: ALTER TEXT_P SEARCH DICTIONARY any_name definition
AlterTSConfigurationStmt.1: ALTER TEXT_P SEARCH CONFIGURATION any_name ADD_P MAPPING FOR name_list any_with any_name_list
AlterTSConfigurationStmt.2: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list any_with any_name_list
AlterTSConfigurationStmt.3: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING REPLACE any_name any_with any_name
AlterTSConfigurationStmt.4: ALTER TEXT_P SEARCH CONFIGURATION any_name ALTER MAPPING FOR name_list REPLACE any_name any_with any_name
AlterTSConfigurationStmt.5: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING FOR name_list
AlterTSConfigurationStmt.6: ALTER TEXT_P SEARCH CONFIGURATION any_name DROP MAPPING IF_P EXISTS FOR name_list
any_with.1: WITH
any_with.2: WITH_LA
CreateConversionStmt.1: CREATE opt_default CONVERSION_P any_name FOR Sconst TO Sconst FROM any_name
RepackStmt.1: REPACK opt_utility_option_list qualified_name opt_name_list USING INDEX name
RepackStmt.2: REPACK opt_utility_option_list qualified_name opt_name_list opt_usingindex
RepackStmt.3: REPACK opt_utility_option_list opt_usingindex
RepackStmt.4: CLUSTER '(' utility_option_list ')' qualified_name cluster_index_specification
RepackStmt.5: CLUSTER opt_utility_option_list
RepackStmt.6: CLUSTER opt_verbose qualified_name cluster_index_specification
RepackStmt.7: CLUSTER VERBOSE
RepackStmt.8: CLUSTER opt_verbose name ON qualified_name
cluster_index_specification.1: USING name
cluster_index_specification.2: /* empty */
VacuumStmt.1: VACUUM opt_full opt_freeze opt_verbose opt_analyze opt_vacuum_relation_list
VacuumStmt.2: VACUUM '(' utility_option_list ')' opt_vacuum_relation_list
AnalyzeStmt.1: analyze_keyword opt_utility_option_list opt_vacuum_relation_list
AnalyzeStmt.2: analyze_keyword VERBOSE opt_vacuum_relation_list
analyze_keyword.1: ANALYZE
analyze_keyword.2: ANALYSE
opt_analyze.1: analyze_keyword
opt_analyze.2: /* empty */
opt_verbose.1: VERBOSE
opt_verbose.2: /* empty */
opt_full.1: FULL
opt_full.2: /* empty */
opt_freeze.1: FREEZE
opt_freeze.2: /* empty */
opt_name_list.1: '(' name_list ')'
opt_name_list.2: /* empty */
vacuum_relation.1: relation_expr opt_name_list
vacuum_relation_list.1: vacuum_relation
vacuum_relation_list.2: vacuum_relation_list ',' vacuum_relation
opt_vacuum_relation_list.1: vacuum_relation_list
opt_vacuum_relation_list.2: /* empty */
ExplainStmt.1: EXPLAIN ExplainableStmt
ExplainStmt.2: EXPLAIN analyze_keyword opt_verbose ExplainableStmt
ExplainStmt.3: EXPLAIN VERBOSE ExplainableStmt
ExplainStmt.4: EXPLAIN '(' utility_option_list ')' ExplainableStmt
ExplainableStmt.1: SelectStmt
ExplainableStmt.2: InsertStmt
ExplainableStmt.3: UpdateStmt
ExplainableStmt.4: DeleteStmt
ExplainableStmt.5: MergeStmt
ExplainableStmt.6: DeclareCursorStmt
ExplainableStmt.7: CreateAsStmt
ExplainableStmt.8: CreateMatViewStmt
ExplainableStmt.9: RefreshMatViewStmt
ExplainableStmt.10: ExecuteStmt
PrepareStmt.1: PREPARE name prep_type_clause AS PreparableStmt
prep_type_clause.1: '(' type_list ')'
prep_type_clause.2: /* empty */
PreparableStmt.1: SelectStmt
PreparableStmt.2: InsertStmt
PreparableStmt.3: UpdateStmt
PreparableStmt.4: DeleteStmt
PreparableStmt.5: MergeStmt
ExecuteStmt.1: EXECUTE name execute_param_clause
ExecuteStmt.2: CREATE OptTemp TABLE create_as_target AS EXECUTE name execute_param_clause opt_with_data
ExecuteStmt.3: CREATE OptTemp TABLE IF_P NOT EXISTS create_as_target AS EXECUTE name execute_param_clause opt_with_data
execute_param_clause.1: '(' expr_list ')'
execute_param_clause.2: /* empty */
DeallocateStmt.1: DEALLOCATE name
DeallocateStmt.2: DEALLOCATE PREPARE name
DeallocateStmt.3: DEALLOCATE ALL
DeallocateStmt.4: DEALLOCATE PREPARE ALL
InsertStmt.1: opt_with_clause INSERT INTO insert_target insert_rest opt_on_conflict returning_clause
insert_target.1: qualified_name
insert_target.2: qualified_name AS ColId
insert_rest.1: SelectStmt
insert_rest.2: OVERRIDING override_kind VALUE_P SelectStmt
insert_rest.3: '(' insert_column_list ')' SelectStmt
insert_rest.4: '(' insert_column_list ')' OVERRIDING override_kind VALUE_P SelectStmt
insert_rest.5: DEFAULT VALUES
override_kind.1: USER
override_kind.2: SYSTEM_P
insert_column_list.1: insert_column_item
insert_column_list.2: insert_column_list ',' insert_column_item
insert_column_item.1: ColId opt_indirection
opt_on_conflict.1: ON CONFLICT opt_conf_expr DO SELECT opt_for_locking_strength where_clause
opt_on_conflict.2: ON CONFLICT opt_conf_expr DO UPDATE SET set_clause_list where_clause
opt_on_conflict.3: ON CONFLICT opt_conf_expr DO NOTHING
opt_on_conflict.4: /* empty */
opt_conf_expr.1: '(' index_params ')' where_clause
opt_conf_expr.2: ON CONSTRAINT name
opt_conf_expr.3: /* empty */
returning_clause.1: RETURNING returning_with_clause target_list
returning_clause.2: /* empty */
returning_with_clause.1: WITH '(' returning_options ')'
returning_with_clause.2: /* empty */
returning_options.1: returning_option
returning_options.2: returning_options ',' returning_option
returning_option.1: returning_option_kind AS ColId
returning_option_kind.1: OLD
returning_option_kind.2: NEW
DeleteStmt.1: opt_with_clause DELETE_P FROM relation_expr_opt_alias using_clause where_or_current_clause returning_clause
using_clause.1: USING from_list
using_clause.2: /* empty */
LockStmt.1: LOCK_P opt_table relation_expr_list opt_lock opt_nowait
opt_lock.1: IN_P lock_type MODE
opt_lock.2: /* empty */
lock_type.1: ACCESS SHARE
lock_type.2: ROW SHARE
lock_type.3: ROW EXCLUSIVE
lock_type.4: SHARE UPDATE EXCLUSIVE
lock_type.5: SHARE
lock_type.6: SHARE ROW EXCLUSIVE
lock_type.7: EXCLUSIVE
lock_type.8: ACCESS EXCLUSIVE
opt_nowait.1: NOWAIT
opt_nowait.2: /* empty */
opt_nowait_or_skip.1: NOWAIT
opt_nowait_or_skip.2: SKIP LOCKED
opt_nowait_or_skip.3: /* empty */
UpdateStmt.1: opt_with_clause UPDATE relation_expr_opt_alias SET set_clause_list from_clause where_or_current_clause returning_clause
set_clause_list.1: set_clause
set_clause_list.2: set_clause_list ',' set_clause
set_clause.1: set_target '=' a_expr
set_clause.2: '(' set_target_list ')' '=' a_expr
set_target.1: ColId opt_indirection
set_target_list.1: set_target
set_target_list.2: set_target_list ',' set_target
MergeStmt.1: opt_with_clause MERGE INTO relation_expr_opt_alias USING table_ref ON a_expr merge_when_list returning_clause
merge_when_list.1: merge_when_clause
merge_when_list.2: merge_when_list merge_when_clause
merge_when_clause.1: merge_when_tgt_matched opt_merge_when_condition THEN merge_update
merge_when_clause.2: merge_when_tgt_matched opt_merge_when_condition THEN merge_delete
merge_when_clause.3: merge_when_tgt_not_matched opt_merge_when_condition THEN merge_insert
merge_when_clause.4: merge_when_tgt_matched opt_merge_when_condition THEN DO NOTHING
merge_when_clause.5: merge_when_tgt_not_matched opt_merge_when_condition THEN DO NOTHING
merge_when_tgt_matched.1: WHEN MATCHED
merge_when_tgt_matched.2: WHEN NOT MATCHED BY SOURCE
merge_when_tgt_not_matched.1: WHEN NOT MATCHED
merge_when_tgt_not_matched.2: WHEN NOT MATCHED BY TARGET
opt_merge_when_condition.1: AND a_expr
opt_merge_when_condition.2: /* empty */
merge_update.1: UPDATE SET set_clause_list
merge_delete.1: DELETE_P
merge_insert.1: INSERT merge_values_clause
merge_insert.2: INSERT OVERRIDING override_kind VALUE_P merge_values_clause
merge_insert.3: INSERT '(' insert_column_list ')' merge_values_clause
merge_insert.4: INSERT '(' insert_column_list ')' OVERRIDING override_kind VALUE_P merge_values_clause
merge_insert.5: INSERT DEFAULT VALUES
merge_values_clause.1: VALUES '(' expr_list ')'
DeclareCursorStmt.1: DECLARE cursor_name cursor_options CURSOR opt_hold FOR SelectStmt
cursor_name.1: name
cursor_options.1: /* empty */
cursor_options.2: cursor_options NO SCROLL
cursor_options.3: cursor_options SCROLL
cursor_options.4: cursor_options BINARY
cursor_options.5: cursor_options ASENSITIVE
cursor_options.6: cursor_options INSENSITIVE
opt_hold.1: /* empty */
opt_hold.2: WITH HOLD
opt_hold.3: WITHOUT HOLD
SelectStmt.1: select_no_parens %prec UMINUS
SelectStmt.2: select_with_parens %prec UMINUS
select_with_parens.1: '(' select_no_parens ')'
select_with_parens.2: '(' select_with_parens ')'
select_no_parens.1: simple_select
select_no_parens.2: select_clause sort_clause
select_no_parens.3: select_clause opt_sort_clause for_locking_clause opt_select_limit
select_no_parens.4: select_clause opt_sort_clause select_limit opt_for_locking_clause
select_no_parens.5: with_clause select_clause
select_no_parens.6: with_clause select_clause sort_clause
select_no_parens.7: with_clause select_clause opt_sort_clause for_locking_clause opt_select_limit
select_no_parens.8: with_clause select_clause opt_sort_clause select_limit opt_for_locking_clause
select_clause.1: simple_select
select_clause.2: select_with_parens
simple_select.1: SELECT opt_all_clause opt_target_list into_clause from_clause where_clause group_clause having_clause window_clause
simple_select.2: SELECT distinct_clause target_list into_clause from_clause where_clause group_clause having_clause window_clause
simple_select.3: values_clause
simple_select.4: TABLE relation_expr
simple_select.5: select_clause UNION set_quantifier select_clause
simple_select.6: select_clause INTERSECT set_quantifier select_clause
simple_select.7: select_clause EXCEPT set_quantifier select_clause
with_clause.1: WITH cte_list
with_clause.2: WITH_LA cte_list
with_clause.3: WITH RECURSIVE cte_list
cte_list.1: common_table_expr
cte_list.2: cte_list ',' common_table_expr
common_table_expr.1: name opt_name_list AS opt_materialized '(' PreparableStmt ')' opt_search_clause opt_cycle_clause
opt_materialized.1: MATERIALIZED
opt_materialized.2: NOT MATERIALIZED
opt_materialized.3: /* empty */
opt_search_clause.1: SEARCH DEPTH FIRST_P BY columnList SET ColId
opt_search_clause.2: SEARCH BREADTH FIRST_P BY columnList SET ColId
opt_search_clause.3: /* empty */
opt_cycle_clause.1: CYCLE columnList SET ColId TO AexprConst DEFAULT AexprConst USING ColId
opt_cycle_clause.2: CYCLE columnList SET ColId USING ColId
opt_cycle_clause.3: /* empty */
opt_with_clause.1: with_clause
opt_with_clause.2: /* empty */
into_clause.1: INTO OptTempTableName
into_clause.2: /* empty */
OptTempTableName.1: TEMPORARY opt_table qualified_name
OptTempTableName.2: TEMP opt_table qualified_name
OptTempTableName.3: LOCAL TEMPORARY opt_table qualified_name
OptTempTableName.4: LOCAL TEMP opt_table qualified_name
OptTempTableName.5: GLOBAL TEMPORARY opt_table qualified_name
OptTempTableName.6: GLOBAL TEMP opt_table qualified_name
OptTempTableName.7: UNLOGGED opt_table qualified_name
OptTempTableName.8: TABLE qualified_name
OptTempTableName.9: qualified_name
opt_table.1: TABLE
opt_table.2: /* empty */
set_quantifier.1: ALL
set_quantifier.2: DISTINCT
set_quantifier.3: /* empty */
distinct_clause.1: DISTINCT
distinct_clause.2: DISTINCT ON '(' expr_list ')'
opt_all_clause.1: ALL
opt_all_clause.2: /* empty */
opt_distinct_clause.1: distinct_clause
opt_distinct_clause.2: opt_all_clause
opt_sort_clause.1: sort_clause
opt_sort_clause.2: /* empty */
sort_clause.1: ORDER BY sortby_list
sortby_list.1: sortby
sortby_list.2: sortby_list ',' sortby
sortby.1: a_expr USING qual_all_Op opt_nulls_order
sortby.2: a_expr opt_asc_desc opt_nulls_order
select_limit.1: limit_clause offset_clause
select_limit.2: offset_clause limit_clause
select_limit.3: limit_clause
select_limit.4: offset_clause
opt_select_limit.1: select_limit
opt_select_limit.2: /* empty */
limit_clause.1: LIMIT select_limit_value
limit_clause.2: LIMIT select_limit_value ',' select_offset_value
limit_clause.3: FETCH first_or_next select_fetch_first_value row_or_rows ONLY
limit_clause.4: FETCH first_or_next select_fetch_first_value row_or_rows WITH TIES
limit_clause.5: FETCH first_or_next row_or_rows ONLY
limit_clause.6: FETCH first_or_next row_or_rows WITH TIES
offset_clause.1: OFFSET select_offset_value
offset_clause.2: OFFSET select_fetch_first_value row_or_rows
select_limit_value.1: a_expr
select_limit_value.2: ALL
select_offset_value.1: a_expr
select_fetch_first_value.1: c_expr
select_fetch_first_value.2: '+' I_or_F_const
select_fetch_first_value.3: '-' I_or_F_const
I_or_F_const.1: Iconst
I_or_F_const.2: FCONST
row_or_rows.1: ROW
row_or_rows.2: ROWS
first_or_next.1: FIRST_P
first_or_next.2: NEXT
group_clause.1: GROUP_P BY set_quantifier group_by_list
group_clause.2: /* empty */
group_by_list.1: group_by_item
group_by_list.2: group_by_list ',' group_by_item
group_by_item.1: a_expr
group_by_item.2: empty_grouping_set
group_by_item.3: cube_clause
group_by_item.4: rollup_clause
group_by_item.5: grouping_sets_clause
empty_grouping_set.1: '(' ')'
rollup_clause.1: ROLLUP '(' expr_list ')'
cube_clause.1: CUBE '(' expr_list ')'
grouping_sets_clause.1: GROUPING SETS '(' group_by_list ')'
having_clause.1: HAVING a_expr
having_clause.2: /* empty */
for_locking_clause.1: for_locking_items
for_locking_clause.2: FOR READ ONLY
opt_for_locking_clause.1: for_locking_clause
opt_for_locking_clause.2: /* empty */
for_locking_items.1: for_locking_item
for_locking_items.2: for_locking_items for_locking_item
for_locking_item.1: for_locking_strength locked_rels_list opt_nowait_or_skip
for_locking_strength.1: FOR UPDATE
for_locking_strength.2: FOR NO KEY UPDATE
for_locking_strength.3: FOR SHARE
for_locking_strength.4: FOR KEY SHARE
opt_for_locking_strength.1: for_locking_strength
opt_for_locking_strength.2: /* empty */
locked_rels_list.1: OF qualified_name_list
locked_rels_list.2: /* empty */
values_clause.1: VALUES '(' expr_list ')'
values_clause.2: values_clause ',' '(' expr_list ')'
from_clause.1: FROM from_list
from_clause.2: /* empty */
from_list.1: table_ref
from_list.2: from_list ',' table_ref
table_ref.1: relation_expr opt_alias_clause
table_ref.2: relation_expr opt_alias_clause tablesample_clause
table_ref.3: func_table func_alias_clause
table_ref.4: LATERAL_P func_table func_alias_clause
table_ref.5: xmltable opt_alias_clause
table_ref.6: LATERAL_P xmltable opt_alias_clause
table_ref.7: select_with_parens opt_alias_clause
table_ref.8: LATERAL_P select_with_parens opt_alias_clause
table_ref.9: joined_table
table_ref.10: '(' joined_table ')' alias_clause
table_ref.11: json_table opt_alias_clause
table_ref.12: LATERAL_P json_table opt_alias_clause
joined_table.1: '(' joined_table ')'
joined_table.2: table_ref CROSS JOIN table_ref
joined_table.3: table_ref join_type JOIN table_ref join_qual
joined_table.4: table_ref JOIN table_ref join_qual
joined_table.5: table_ref NATURAL join_type JOIN table_ref
joined_table.6: table_ref NATURAL JOIN table_ref
alias_clause.1: AS ColId '(' name_list ')'
alias_clause.2: AS ColId
alias_clause.3: ColId '(' name_list ')'
alias_clause.4: ColId
opt_alias_clause.1: alias_clause
opt_alias_clause.2: /* empty */
opt_alias_clause_for_join_using.1: AS ColId
opt_alias_clause_for_join_using.2: /* empty */
func_alias_clause.1: alias_clause
func_alias_clause.2: AS '(' TableFuncElementList ')'
func_alias_clause.3: AS ColId '(' TableFuncElementList ')'
func_alias_clause.4: ColId '(' TableFuncElementList ')'
func_alias_clause.5: /* empty */
join_type.1: FULL opt_outer
join_type.2: LEFT opt_outer
join_type.3: RIGHT opt_outer
join_type.4: INNER_P
opt_outer.1: OUTER_P
opt_outer.2: /* empty */
join_qual.1: USING '(' name_list ')' opt_alias_clause_for_join_using
join_qual.2: ON a_expr
relation_expr.1: qualified_name
relation_expr.2: extended_relation_expr
extended_relation_expr.1: qualified_name '*'
extended_relation_expr.2: ONLY qualified_name
extended_relation_expr.3: ONLY '(' qualified_name ')'
relation_expr_list.1: relation_expr
relation_expr_list.2: relation_expr_list ',' relation_expr
relation_expr_opt_alias.1: relation_expr %prec UMINUS
relation_expr_opt_alias.2: relation_expr ColId
relation_expr_opt_alias.3: relation_expr AS ColId
tablesample_clause.1: TABLESAMPLE func_name '(' expr_list ')' opt_repeatable_clause
opt_repeatable_clause.1: REPEATABLE '(' a_expr ')'
opt_repeatable_clause.2: /* empty */
func_table.1: func_expr_windowless opt_ordinality
func_table.2: ROWS FROM '(' rowsfrom_list ')' opt_ordinality
rowsfrom_item.1: func_expr_windowless opt_col_def_list
rowsfrom_list.1: rowsfrom_item
rowsfrom_list.2: rowsfrom_list ',' rowsfrom_item
opt_col_def_list.1: AS '(' TableFuncElementList ')'
opt_col_def_list.2: /* empty */
opt_ordinality.1: WITH_LA ORDINALITY
opt_ordinality.2: /* empty */
where_clause.1: WHERE a_expr
where_clause.2: /* empty */
where_or_current_clause.1: WHERE a_expr
where_or_current_clause.2: WHERE CURRENT_P OF cursor_name
where_or_current_clause.3: /* empty */
OptTableFuncElementList.1: TableFuncElementList
OptTableFuncElementList.2: /* empty */
TableFuncElementList.1: TableFuncElement
TableFuncElementList.2: TableFuncElementList ',' TableFuncElement
TableFuncElement.1: ColId Typename opt_collate_clause
xmltable.1: XMLTABLE '(' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'
xmltable.2: XMLTABLE '(' XMLNAMESPACES '(' xml_namespace_list ')' ',' c_expr xmlexists_argument COLUMNS xmltable_column_list ')'
xmltable_column_list.1: xmltable_column_el
xmltable_column_list.2: xmltable_column_list ',' xmltable_column_el
xmltable_column_el.1: ColId Typename
xmltable_column_el.2: ColId Typename xmltable_column_option_list
xmltable_column_el.3: ColId FOR ORDINALITY
xmltable_column_option_list.1: xmltable_column_option_el
xmltable_column_option_list.2: xmltable_column_option_list xmltable_column_option_el
xmltable_column_option_el.1: IDENT b_expr
xmltable_column_option_el.2: DEFAULT b_expr
xmltable_column_option_el.3: NOT NULL_P
xmltable_column_option_el.4: NULL_P
xmltable_column_option_el.5: PATH b_expr
xml_namespace_list.1: xml_namespace_el
xml_namespace_list.2: xml_namespace_list ',' xml_namespace_el
xml_namespace_el.1: b_expr AS ColLabel
xml_namespace_el.2: DEFAULT b_expr
json_table.1: JSON_TABLE '(' json_value_expr ',' a_expr json_table_path_name_opt json_passing_clause_opt COLUMNS '(' json_table_column_definition_list ')' json_on_error_clause_opt ')'
json_table_path_name_opt.1: AS name
json_table_path_name_opt.2: /* empty */
json_table_column_definition_list.1: json_table_column_definition
json_table_column_definition_list.2: json_table_column_definition_list ',' json_table_column_definition
json_table_column_definition.1: ColId FOR ORDINALITY
json_table_column_definition.2: ColId Typename json_table_column_path_clause_opt json_wrapper_behavior json_quotes_clause_opt json_behavior_clause_opt
json_table_column_definition.3: ColId Typename json_format_clause json_table_column_path_clause_opt json_wrapper_behavior json_quotes_clause_opt json_behavior_clause_opt
json_table_column_definition.4: ColId Typename EXISTS json_table_column_path_clause_opt json_on_error_clause_opt
json_table_column_definition.5: NESTED path_opt Sconst COLUMNS '(' json_table_column_definition_list ')'
json_table_column_definition.6: NESTED path_opt Sconst AS name COLUMNS '(' json_table_column_definition_list ')'
path_opt.1: PATH
path_opt.2: /* empty */
json_table_column_path_clause_opt.1: PATH Sconst
json_table_column_path_clause_opt.2: /* empty */
Typename.1: SimpleTypename opt_array_bounds
Typename.2: SETOF SimpleTypename opt_array_bounds
Typename.3: SimpleTypename ARRAY '[' Iconst ']'
Typename.4: SETOF SimpleTypename ARRAY '[' Iconst ']'
Typename.5: SimpleTypename ARRAY
Typename.6: SETOF SimpleTypename ARRAY
opt_array_bounds.1: opt_array_bounds '[' ']'
opt_array_bounds.2: opt_array_bounds '[' Iconst ']'
opt_array_bounds.3: /* empty */
SimpleTypename.1: GenericType
SimpleTypename.2: Numeric
SimpleTypename.3: Bit
SimpleTypename.4: Character
SimpleTypename.5: ConstDatetime
SimpleTypename.6: ConstInterval opt_interval
SimpleTypename.7: ConstInterval '(' Iconst ')'
SimpleTypename.8: JsonType
ConstTypename.1: Numeric
ConstTypename.2: ConstBit
ConstTypename.3: ConstCharacter
ConstTypename.4: ConstDatetime
ConstTypename.5: JsonType
GenericType.1: type_function_name opt_type_modifiers
GenericType.2: type_function_name attrs opt_type_modifiers
opt_type_modifiers.1: '(' expr_list ')'
opt_type_modifiers.2: /* empty */
Numeric.1: INT_P
Numeric.2: INTEGER
Numeric.3: SMALLINT
Numeric.4: BIGINT
Numeric.5: REAL
Numeric.6: FLOAT_P opt_float
Numeric.7: DOUBLE_P PRECISION
Numeric.8: DECIMAL_P opt_type_modifiers
Numeric.9: DEC opt_type_modifiers
Numeric.10: NUMERIC opt_type_modifiers
Numeric.11: BOOLEAN_P
opt_float.1: '(' Iconst ')'
opt_float.2: /* empty */
Bit.1: BitWithLength
Bit.2: BitWithoutLength
ConstBit.1: BitWithLength
ConstBit.2: BitWithoutLength
BitWithLength.1: BIT opt_varying '(' expr_list ')'
BitWithoutLength.1: BIT opt_varying
Character.1: CharacterWithLength
Character.2: CharacterWithoutLength
ConstCharacter.1: CharacterWithLength
ConstCharacter.2: CharacterWithoutLength
CharacterWithLength.1: character '(' Iconst ')'
CharacterWithoutLength.1: character
character.1: CHARACTER opt_varying
character.2: CHAR_P opt_varying
character.3: VARCHAR
character.4: NATIONAL CHARACTER opt_varying
character.5: NATIONAL CHAR_P opt_varying
character.6: NCHAR opt_varying
opt_varying.1: VARYING
opt_varying.2: /* empty */
ConstDatetime.1: TIMESTAMP '(' Iconst ')' opt_timezone
ConstDatetime.2: TIMESTAMP opt_timezone
ConstDatetime.3: TIME '(' Iconst ')' opt_timezone
ConstDatetime.4: TIME opt_timezone
ConstInterval.1: INTERVAL
opt_timezone.1: WITH_LA TIME ZONE
opt_timezone.2: WITHOUT_LA TIME ZONE
opt_timezone.3: /* empty */
opt_interval.1: YEAR_P
opt_interval.2: MONTH_P
opt_interval.3: DAY_P
opt_interval.4: HOUR_P
opt_interval.5: MINUTE_P
opt_interval.6: interval_second
opt_interval.7: YEAR_P TO MONTH_P
opt_interval.8: DAY_P TO HOUR_P
opt_interval.9: DAY_P TO MINUTE_P
opt_interval.10: DAY_P TO interval_second
opt_interval.11: HOUR_P TO MINUTE_P
opt_interval.12: HOUR_P TO interval_second
opt_interval.13: MINUTE_P TO interval_second
opt_interval.14: /* empty */
interval_second.1: SECOND_P
interval_second.2: SECOND_P '(' Iconst ')'
JsonType.1: JSON
a_expr.1: c_expr
a_expr.2: a_expr TYPECAST Typename
a_expr.3: a_expr COLLATE any_name
a_expr.4: a_expr AT TIME ZONE a_expr %prec AT
a_expr.5: a_expr AT LOCAL %prec AT
a_expr.6: '+' a_expr %prec UMINUS
a_expr.7: '-' a_expr %prec UMINUS
a_expr.8: a_expr '+' a_expr
a_expr.9: a_expr '-' a_expr
a_expr.10: a_expr '*' a_expr
a_expr.11: a_expr '/' a_expr
a_expr.12: a_expr '%' a_expr
a_expr.13: a_expr '^' a_expr
a_expr.14: a_expr '<' a_expr
a_expr.15: a_expr '>' a_expr
a_expr.16: a_expr '=' a_expr
a_expr.17: a_expr LESS_EQUALS a_expr
a_expr.18: a_expr GREATER_EQUALS a_expr
a_expr.19: a_expr NOT_EQUALS a_expr
a_expr.20: a_expr qual_Op a_expr %prec Op
a_expr.21: qual_Op a_expr %prec Op
a_expr.22: a_expr AND a_expr
a_expr.23: a_expr OR a_expr
a_expr.24: NOT a_expr
a_expr.25: NOT_LA a_expr %prec NOT
a_expr.26: a_expr LIKE a_expr
a_expr.27: a_expr LIKE a_expr ESCAPE a_expr %prec LIKE
a_expr.28: a_expr NOT_LA LIKE a_expr %prec NOT_LA
a_expr.29: a_expr NOT_LA LIKE a_expr ESCAPE a_expr %prec NOT_LA
a_expr.30: a_expr ILIKE a_expr
a_expr.31: a_expr ILIKE a_expr ESCAPE a_expr %prec ILIKE
a_expr.32: a_expr NOT_LA ILIKE a_expr %prec NOT_LA
a_expr.33: a_expr NOT_LA ILIKE a_expr ESCAPE a_expr %prec NOT_LA
a_expr.34: a_expr SIMILAR TO a_expr %prec SIMILAR
a_expr.35: a_expr SIMILAR TO a_expr ESCAPE a_expr %prec SIMILAR
a_expr.36: a_expr NOT_LA SIMILAR TO a_expr %prec NOT_LA
a_expr.37: a_expr NOT_LA SIMILAR TO a_expr ESCAPE a_expr %prec NOT_LA
a_expr.38: a_expr IS NULL_P %prec IS
a_expr.39: a_expr ISNULL
a_expr.40: a_expr IS NOT NULL_P %prec IS
a_expr.41: a_expr NOTNULL
a_expr.42: row OVERLAPS row
a_expr.43: a_expr IS TRUE_P %prec IS
a_expr.44: a_expr IS NOT TRUE_P %prec IS
a_expr.45: a_expr IS FALSE_P %prec IS
a_expr.46: a_expr IS NOT FALSE_P %prec IS
a_expr.47: a_expr IS UNKNOWN %prec IS
a_expr.48: a_expr IS NOT UNKNOWN %prec IS
a_expr.49: a_expr IS DISTINCT FROM a_expr %prec IS
a_expr.50: a_expr IS NOT DISTINCT FROM a_expr %prec IS
a_expr.51: a_expr BETWEEN opt_asymmetric b_expr AND a_expr %prec BETWEEN
a_expr.52: a_expr NOT_LA BETWEEN opt_asymmetric b_expr AND a_expr %prec NOT_LA
a_expr.53: a_expr BETWEEN SYMMETRIC b_expr AND a_expr %prec BETWEEN
a_expr.54: a_expr NOT_LA BETWEEN SYMMETRIC b_expr AND a_expr %prec NOT_LA
a_expr.55: a_expr IN_P select_with_parens
a_expr.56: a_expr IN_P '(' expr_list ')'
a_expr.57: a_expr NOT_LA IN_P select_with_parens %prec NOT_LA
a_expr.58: a_expr NOT_LA IN_P '(' expr_list ')'
a_expr.59: a_expr subquery_Op sub_type select_with_parens %prec Op
a_expr.60: a_expr subquery_Op sub_type '(' a_expr ')' %prec Op
a_expr.61: UNIQUE opt_unique_null_treatment select_with_parens
a_expr.62: a_expr IS DOCUMENT_P %prec IS
a_expr.63: a_expr IS NOT DOCUMENT_P %prec IS
a_expr.64: a_expr IS NORMALIZED %prec IS
a_expr.65: a_expr IS unicode_normal_form NORMALIZED %prec IS
a_expr.66: a_expr IS NOT NORMALIZED %prec IS
a_expr.67: a_expr IS NOT unicode_normal_form NORMALIZED %prec IS
a_expr.68: a_expr IS json_predicate_type_constraint json_key_uniqueness_constraint_opt
a_expr.69: a_expr IS NOT json_predicate_type_constraint json_key_uniqueness_constraint_opt %prec IS
a_expr.70: DEFAULT
b_expr.1: c_expr
b_expr.2: b_expr TYPECAST Typename
b_expr.3: '+' b_expr %prec UMINUS
b_expr.4: '-' b_expr %prec UMINUS
b_expr.5: b_expr '+' b_expr
b_expr.6: b_expr '-' b_expr
b_expr.7: b_expr '*' b_expr
b_expr.8: b_expr '/' b_expr
b_expr.9: b_expr '%' b_expr
b_expr.10: b_expr '^' b_expr
b_expr.11: b_expr '<' b_expr
b_expr.12: b_expr '>' b_expr
b_expr.13: b_expr '=' b_expr
b_expr.14: b_expr LESS_EQUALS b_expr
b_expr.15: b_expr GREATER_EQUALS b_expr
b_expr.16: b_expr NOT_EQUALS b_expr
b_expr.17: b_expr qual_Op b_expr %prec Op
b_expr.18: qual_Op b_expr %prec Op
b_expr.19: b_expr IS DISTINCT FROM b_expr %prec IS
b_expr.20: b_expr IS NOT DISTINCT FROM b_expr %prec IS
b_expr.21: b_expr IS DOCUMENT_P %prec IS
b_expr.22: b_expr IS NOT DOCUMENT_P %prec IS
c_expr.1: columnref
c_expr.2: AexprConst
c_expr.3: PARAM opt_indirection
c_expr.4: '(' a_expr ')' opt_indirection
c_expr.5: case_expr
c_expr.6: func_expr
c_expr.7: select_with_parens %prec UMINUS
c_expr.8: select_with_parens indirection
c_expr.9: EXISTS select_with_parens
c_expr.10: ARRAY select_with_parens
c_expr.11: ARRAY array_expr
c_expr.12: explicit_row
c_expr.13: implicit_row
c_expr.14: GROUPING '(' expr_list ')'
func_application.1: func_name '(' ')'
func_application.2: func_name '(' func_arg_list opt_sort_clause ')'
func_application.3: func_name '(' VARIADIC func_arg_expr opt_sort_clause ')'
func_application.4: func_name '(' func_arg_list ',' VARIADIC func_arg_expr opt_sort_clause ')'
func_application.5: func_name '(' ALL func_arg_list opt_sort_clause ')'
func_application.6: func_name '(' DISTINCT func_arg_list opt_sort_clause ')'
func_application.7: func_name '(' '*' ')'
func_expr.1: func_application within_group_clause filter_clause null_treatment over_clause
func_expr.2: json_aggregate_func filter_clause over_clause
func_expr.3: func_expr_common_subexpr
func_expr_windowless.1: func_application
func_expr_windowless.2: func_expr_common_subexpr
func_expr_windowless.3: json_aggregate_func
func_expr_common_subexpr.1: COLLATION FOR '(' a_expr ')'
func_expr_common_subexpr.2: CURRENT_DATE
func_expr_common_subexpr.3: CURRENT_TIME
func_expr_common_subexpr.4: CURRENT_TIME '(' Iconst ')'
func_expr_common_subexpr.5: CURRENT_TIMESTAMP
func_expr_common_subexpr.6: CURRENT_TIMESTAMP '(' Iconst ')'
func_expr_common_subexpr.7: LOCALTIME
func_expr_common_subexpr.8: LOCALTIME '(' Iconst ')'
func_expr_common_subexpr.9: LOCALTIMESTAMP
func_expr_common_subexpr.10: LOCALTIMESTAMP '(' Iconst ')'
func_expr_common_subexpr.11: CURRENT_ROLE
func_expr_common_subexpr.12: CURRENT_USER
func_expr_common_subexpr.13: SESSION_USER
func_expr_common_subexpr.14: SYSTEM_USER
func_expr_common_subexpr.15: USER
func_expr_common_subexpr.16: CURRENT_CATALOG
func_expr_common_subexpr.17: CURRENT_SCHEMA
func_expr_common_subexpr.18: CAST '(' a_expr AS Typename ')'
func_expr_common_subexpr.19: EXTRACT '(' extract_list ')'
func_expr_common_subexpr.20: NORMALIZE '(' a_expr ')'
func_expr_common_subexpr.21: NORMALIZE '(' a_expr ',' unicode_normal_form ')'
func_expr_common_subexpr.22: OVERLAY '(' overlay_list ')'
func_expr_common_subexpr.23: OVERLAY '(' func_arg_list_opt ')'
func_expr_common_subexpr.24: POSITION '(' position_list ')'
func_expr_common_subexpr.25: SUBSTRING '(' substr_list ')'
func_expr_common_subexpr.26: SUBSTRING '(' func_arg_list_opt ')'
func_expr_common_subexpr.27: TREAT '(' a_expr AS Typename ')'
func_expr_common_subexpr.28: TRIM '(' BOTH trim_list ')'
func_expr_common_subexpr.29: TRIM '(' LEADING trim_list ')'
func_expr_common_subexpr.30: TRIM '(' TRAILING trim_list ')'
func_expr_common_subexpr.31: TRIM '(' trim_list ')'
func_expr_common_subexpr.32: NULLIF '(' a_expr ',' a_expr ')'
func_expr_common_subexpr.33: COALESCE '(' expr_list ')'
func_expr_common_subexpr.34: GREATEST '(' expr_list ')'
func_expr_common_subexpr.35: LEAST '(' expr_list ')'
func_expr_common_subexpr.36: XMLCONCAT '(' expr_list ')'
func_expr_common_subexpr.37: XMLELEMENT '(' NAME_P ColLabel ')'
func_expr_common_subexpr.38: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ')'
func_expr_common_subexpr.39: XMLELEMENT '(' NAME_P ColLabel ',' expr_list ')'
func_expr_common_subexpr.40: XMLELEMENT '(' NAME_P ColLabel ',' xml_attributes ',' expr_list ')'
func_expr_common_subexpr.41: XMLEXISTS '(' c_expr xmlexists_argument ')'
func_expr_common_subexpr.42: XMLFOREST '(' labeled_expr_list ')'
func_expr_common_subexpr.43: XMLPARSE '(' document_or_content a_expr xml_whitespace_option ')'
func_expr_common_subexpr.44: XMLPI '(' NAME_P ColLabel ')'
func_expr_common_subexpr.45: XMLPI '(' NAME_P ColLabel ',' a_expr ')'
func_expr_common_subexpr.46: XMLROOT '(' a_expr ',' xml_root_version opt_xml_root_standalone ')'
func_expr_common_subexpr.47: XMLSERIALIZE '(' document_or_content a_expr AS SimpleTypename xml_indent_option ')'
func_expr_common_subexpr.48: JSON_OBJECT '(' func_arg_list ')'
func_expr_common_subexpr.49: JSON_OBJECT '(' json_name_and_value_list json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_returning_clause_opt ')'
func_expr_common_subexpr.50: JSON_OBJECT '(' json_returning_clause_opt ')'
func_expr_common_subexpr.51: JSON_ARRAY '(' json_value_expr_list json_array_constructor_null_clause_opt json_returning_clause_opt ')'
func_expr_common_subexpr.52: JSON_ARRAY '(' select_no_parens json_format_clause_opt json_returning_clause_opt ')'
func_expr_common_subexpr.53: JSON_ARRAY '(' json_returning_clause_opt ')'
func_expr_common_subexpr.54: JSON '(' json_value_expr json_key_uniqueness_constraint_opt ')'
func_expr_common_subexpr.55: JSON_SCALAR '(' a_expr ')'
func_expr_common_subexpr.56: JSON_SERIALIZE '(' json_value_expr json_returning_clause_opt ')'
func_expr_common_subexpr.57: MERGE_ACTION '(' ')'
func_expr_common_subexpr.58: JSON_QUERY '(' json_value_expr ',' a_expr json_passing_clause_opt json_returning_clause_opt json_wrapper_behavior json_quotes_clause_opt json_behavior_clause_opt ')'
func_expr_common_subexpr.59: JSON_EXISTS '(' json_value_expr ',' a_expr json_passing_clause_opt json_on_error_clause_opt ')'
func_expr_common_subexpr.60: JSON_VALUE '(' json_value_expr ',' a_expr json_passing_clause_opt json_returning_clause_opt json_behavior_clause_opt ')'
xml_root_version.1: VERSION_P a_expr
xml_root_version.2: VERSION_P NO VALUE_P
opt_xml_root_standalone.1: ',' STANDALONE_P YES_P
opt_xml_root_standalone.2: ',' STANDALONE_P NO
opt_xml_root_standalone.3: ',' STANDALONE_P NO VALUE_P
opt_xml_root_standalone.4: /* empty */
xml_attributes.1: XMLATTRIBUTES '(' labeled_expr_list ')'
labeled_expr_list.1: labeled_expr
labeled_expr_list.2: labeled_expr_list ',' labeled_expr
labeled_expr.1: a_expr AS ColLabel
labeled_expr.2: a_expr
document_or_content.1: DOCUMENT_P
document_or_content.2: CONTENT_P
xml_indent_option.1: INDENT
xml_indent_option.2: NO INDENT
xml_indent_option.3: /* empty */
xml_whitespace_option.1: PRESERVE WHITESPACE_P
xml_whitespace_option.2: STRIP_P WHITESPACE_P
xml_whitespace_option.3: /* empty */
xmlexists_argument.1: PASSING c_expr
xmlexists_argument.2: PASSING c_expr xml_passing_mech
xmlexists_argument.3: PASSING xml_passing_mech c_expr
xmlexists_argument.4: PASSING xml_passing_mech c_expr xml_passing_mech
xml_passing_mech.1: BY REF_P
xml_passing_mech.2: BY VALUE_P
WaitStmt.1: WAIT FOR LSN_P Sconst opt_wait_with_clause
opt_wait_with_clause.1: WITH '(' utility_option_list ')'
opt_wait_with_clause.2: /* empty */
within_group_clause.1: WITHIN GROUP_P '(' sort_clause ')'
within_group_clause.2: /* empty */
filter_clause.1: FILTER '(' WHERE a_expr ')'
filter_clause.2: /* empty */
null_treatment.1: IGNORE_P NULLS_P
null_treatment.2: RESPECT_P NULLS_P
null_treatment.3: /* empty */
window_clause.1: WINDOW window_definition_list
window_clause.2: /* empty */
window_definition_list.1: window_definition
window_definition_list.2: window_definition_list ',' window_definition
window_definition.1: ColId AS window_specification
over_clause.1: OVER window_specification
over_clause.2: OVER ColId
over_clause.3: /* empty */
window_specification.1: '(' opt_existing_window_name opt_partition_clause opt_sort_clause opt_frame_clause ')'
opt_existing_window_name.1: ColId
opt_existing_window_name.2: /* empty */ %prec Op
opt_partition_clause.1: PARTITION BY expr_list
opt_partition_clause.2: /* empty */
opt_frame_clause.1: RANGE frame_extent opt_window_exclusion_clause
opt_frame_clause.2: ROWS frame_extent opt_window_exclusion_clause
opt_frame_clause.3: GROUPS frame_extent opt_window_exclusion_clause
opt_frame_clause.4: /* empty */
frame_extent.1: frame_bound
frame_extent.2: BETWEEN frame_bound AND frame_bound
frame_bound.1: UNBOUNDED PRECEDING
frame_bound.2: UNBOUNDED FOLLOWING
frame_bound.3: CURRENT_P ROW
frame_bound.4: a_expr PRECEDING
frame_bound.5: a_expr FOLLOWING
opt_window_exclusion_clause.1: EXCLUDE CURRENT_P ROW
opt_window_exclusion_clause.2: EXCLUDE GROUP_P
opt_window_exclusion_clause.3: EXCLUDE TIES
opt_window_exclusion_clause.4: EXCLUDE NO OTHERS
opt_window_exclusion_clause.5: /* empty */
row.1: ROW '(' expr_list ')'
row.2: ROW '(' ')'
row.3: '(' expr_list ',' a_expr ')'
explicit_row.1: ROW '(' expr_list ')'
explicit_row.2: ROW '(' ')'
implicit_row.1: '(' expr_list ',' a_expr ')'
sub_type.1: ANY
sub_type.2: SOME
sub_type.3: ALL
all_Op.1: Op
all_Op.2: MathOp
MathOp.1: '+'
MathOp.2: '-'
MathOp.3: '*'
MathOp.4: '/'
MathOp.5: '%'
MathOp.6: '^'
MathOp.7: '<'
MathOp.8: '>'
MathOp.9: '='
MathOp.10: LESS_EQUALS
MathOp.11: GREATER_EQUALS
MathOp.12: NOT_EQUALS
qual_Op.1: Op
qual_Op.2: OPERATOR '(' any_operator ')'
qual_all_Op.1: all_Op
qual_all_Op.2: OPERATOR '(' any_operator ')'
subquery_Op.1: all_Op
subquery_Op.2: OPERATOR '(' any_operator ')'
subquery_Op.3: LIKE
subquery_Op.4: NOT_LA LIKE
subquery_Op.5: ILIKE
subquery_Op.6: NOT_LA ILIKE
expr_list.1: a_expr
expr_list.2: expr_list ',' a_expr
func_arg_list.1: func_arg_expr
func_arg_list.2: func_arg_list ',' func_arg_expr
func_arg_expr.1: a_expr
func_arg_expr.2: param_name COLON_EQUALS a_expr
func_arg_expr.3: param_name EQUALS_GREATER a_expr
func_arg_list_opt.1: func_arg_list
func_arg_list_opt.2: /* empty */
type_list.1: Typename
type_list.2: type_list ',' Typename
array_expr.1: '[' expr_list ']'
array_expr.2: '[' array_expr_list ']'
array_expr.3: '[' ']'
array_expr_list.1: array_expr
array_expr_list.2: array_expr_list ',' array_expr
extract_list.1: extract_arg FROM a_expr
extract_arg.1: IDENT
extract_arg.2: YEAR_P
extract_arg.3: MONTH_P
extract_arg.4: DAY_P
extract_arg.5: HOUR_P
extract_arg.6: MINUTE_P
extract_arg.7: SECOND_P
extract_arg.8: Sconst
unicode_normal_form.1: NFC
unicode_normal_form.2: NFD
unicode_normal_form.3: NFKC
unicode_normal_form.4: NFKD
overlay_list.1: a_expr PLACING a_expr FROM a_expr FOR a_expr
overlay_list.2: a_expr PLACING a_expr FROM a_expr
position_list.1: b_expr IN_P b_expr
substr_list.1: a_expr FROM a_expr FOR a_expr
substr_list.2: a_expr FOR a_expr FROM a_expr
substr_list.3: a_expr FROM a_expr
substr_list.4: a_expr FOR a_expr
substr_list.5: a_expr SIMILAR a_expr ESCAPE a_expr
trim_list.1: a_expr FROM expr_list
trim_list.2: FROM expr_list
trim_list.3: expr_list
case_expr.1: CASE case_arg when_clause_list case_default END_P
when_clause_list.1: when_clause
when_clause_list.2: when_clause_list when_clause
when_clause.1: WHEN a_expr THEN a_expr
case_default.1: ELSE a_expr
case_default.2: /* empty */
case_arg.1: a_expr
case_arg.2: /* empty */
columnref.1: ColId
columnref.2: ColId indirection
indirection_el.1: '.' attr_name
indirection_el.2: '.' '*'
indirection_el.3: '[' a_expr ']'
indirection_el.4: '[' opt_slice_bound ':' opt_slice_bound ']'
opt_slice_bound.1: a_expr
opt_slice_bound.2: /* empty */
indirection.1: indirection_el
indirection.2: indirection indirection_el
opt_indirection.1: /* empty */
opt_indirection.2: opt_indirection indirection_el
opt_asymmetric.1: ASYMMETRIC
opt_asymmetric.2: /* empty */
json_passing_clause_opt.1: PASSING json_arguments
json_passing_clause_opt.2: /* empty */
json_arguments.1: json_argument
json_arguments.2: json_arguments ',' json_argument
json_argument.1: json_value_expr AS ColLabel
json_wrapper_behavior.1: WITHOUT WRAPPER
json_wrapper_behavior.2: WITHOUT ARRAY WRAPPER
json_wrapper_behavior.3: WITH WRAPPER
json_wrapper_behavior.4: WITH ARRAY WRAPPER
json_wrapper_behavior.5: WITH CONDITIONAL ARRAY WRAPPER
json_wrapper_behavior.6: WITH UNCONDITIONAL ARRAY WRAPPER
json_wrapper_behavior.7: WITH CONDITIONAL WRAPPER
json_wrapper_behavior.8: WITH UNCONDITIONAL WRAPPER
json_wrapper_behavior.9: /* empty */
json_behavior.1: DEFAULT a_expr
json_behavior.2: json_behavior_type
json_behavior_type.1: ERROR_P
json_behavior_type.2: NULL_P
json_behavior_type.3: TRUE_P
json_behavior_type.4: FALSE_P
json_behavior_type.5: UNKNOWN
json_behavior_type.6: EMPTY_P ARRAY
json_behavior_type.7: EMPTY_P OBJECT_P
json_behavior_type.8: EMPTY_P
json_behavior_clause_opt.1: json_behavior ON EMPTY_P
json_behavior_clause_opt.2: json_behavior ON ERROR_P
json_behavior_clause_opt.3: json_behavior ON EMPTY_P json_behavior ON ERROR_P
json_behavior_clause_opt.4: /* empty */
json_on_error_clause_opt.1: json_behavior ON ERROR_P
json_on_error_clause_opt.2: /* empty */
json_value_expr.1: a_expr json_format_clause_opt
json_format_clause.1: FORMAT_LA JSON ENCODING name
json_format_clause.2: FORMAT_LA JSON
json_format_clause_opt.1: json_format_clause
json_format_clause_opt.2: /* empty */
json_quotes_clause_opt.1: KEEP QUOTES ON SCALAR STRING_P
json_quotes_clause_opt.2: KEEP QUOTES
json_quotes_clause_opt.3: OMIT QUOTES ON SCALAR STRING_P
json_quotes_clause_opt.4: OMIT QUOTES
json_quotes_clause_opt.5: /* empty */
json_returning_clause_opt.1: RETURNING Typename json_format_clause_opt
json_returning_clause_opt.2: /* empty */
json_predicate_type_constraint.1: JSON %prec UNBOUNDED
json_predicate_type_constraint.2: JSON VALUE_P
json_predicate_type_constraint.3: JSON ARRAY
json_predicate_type_constraint.4: JSON OBJECT_P
json_predicate_type_constraint.5: JSON SCALAR
json_key_uniqueness_constraint_opt.1: WITH UNIQUE KEYS
json_key_uniqueness_constraint_opt.2: WITH UNIQUE %prec UNBOUNDED
json_key_uniqueness_constraint_opt.3: WITHOUT UNIQUE KEYS
json_key_uniqueness_constraint_opt.4: WITHOUT UNIQUE %prec UNBOUNDED
json_key_uniqueness_constraint_opt.5: /* empty */ %prec UNBOUNDED
json_name_and_value_list.1: json_name_and_value
json_name_and_value_list.2: json_name_and_value_list ',' json_name_and_value
json_name_and_value.1: c_expr VALUE_P json_value_expr
json_name_and_value.2: a_expr ':' json_value_expr
json_object_constructor_null_clause_opt.1: NULL_P ON NULL_P
json_object_constructor_null_clause_opt.2: ABSENT ON NULL_P
json_object_constructor_null_clause_opt.3: /* empty */
json_array_constructor_null_clause_opt.1: NULL_P ON NULL_P
json_array_constructor_null_clause_opt.2: ABSENT ON NULL_P
json_array_constructor_null_clause_opt.3: /* empty */
json_value_expr_list.1: json_value_expr
json_value_expr_list.2: json_value_expr_list ',' json_value_expr
json_aggregate_func.1: JSON_OBJECTAGG '(' json_name_and_value json_object_constructor_null_clause_opt json_key_uniqueness_constraint_opt json_returning_clause_opt ')'
json_aggregate_func.2: JSON_ARRAYAGG '(' json_value_expr json_array_aggregate_order_by_clause_opt json_array_constructor_null_clause_opt json_returning_clause_opt ')'
json_array_aggregate_order_by_clause_opt.1: ORDER BY sortby_list
json_array_aggregate_order_by_clause_opt.2: /* empty */
opt_target_list.1: target_list
opt_target_list.2: /* empty */
target_list.1: target_el
target_list.2: target_list ',' target_el
target_el.1: a_expr AS ColLabel
target_el.2: a_expr BareColLabel
target_el.3: a_expr
target_el.4: '*'
qualified_name_list.1: qualified_name
qualified_name_list.2: qualified_name_list ',' qualified_name
qualified_name.1: ColId
qualified_name.2: ColId indirection
name_list.1: name
name_list.2: name_list ',' name
name.1: ColId
attr_name.1: ColLabel
file_name.1: Sconst
func_name.1: type_function_name
func_name.2: ColId indirection
AexprConst.1: Iconst
AexprConst.2: FCONST
AexprConst.3: Sconst
AexprConst.4: BCONST
AexprConst.5: XCONST
AexprConst.6: func_name Sconst
AexprConst.7: func_name '(' func_arg_list opt_sort_clause ')' Sconst
AexprConst.8: ConstTypename Sconst
AexprConst.9: ConstInterval Sconst opt_interval
AexprConst.10: ConstInterval '(' Iconst ')' Sconst
AexprConst.11: TRUE_P
AexprConst.12: FALSE_P
AexprConst.13: NULL_P
Iconst.1: ICONST
Sconst.1: SCONST
SignedIconst.1: Iconst
SignedIconst.2: '+' Iconst
SignedIconst.3: '-' Iconst
RoleId.1: RoleSpec
RoleSpec.1: NonReservedWord
RoleSpec.2: CURRENT_ROLE
RoleSpec.3: CURRENT_USER
RoleSpec.4: SESSION_USER
role_list.1: RoleSpec
role_list.2: role_list ',' RoleSpec
PLpgSQL_Expr.1: opt_distinct_clause opt_target_list from_clause where_clause group_clause having_clause window_clause opt_sort_clause opt_select_limit opt_for_locking_clause
PLAssignStmt.1: plassign_target opt_indirection plassign_equals PLpgSQL_Expr
plassign_target.1: ColId
plassign_target.2: PARAM
plassign_equals.1: COLON_EQUALS
plassign_equals.2: '='
ColId.1: IDENT
ColId.2: unreserved_keyword
ColId.3: col_name_keyword
type_function_name.1: IDENT
type_function_name.2: unreserved_keyword
type_function_name.3: type_func_name_keyword
NonReservedWord.1: IDENT
NonReservedWord.2: unreserved_keyword
NonReservedWord.3: col_name_keyword
NonReservedWord.4: type_func_name_keyword
ColLabel.1: IDENT
ColLabel.2: unreserved_keyword
ColLabel.3: col_name_keyword
ColLabel.4: type_func_name_keyword
ColLabel.5: reserved_keyword
BareColLabel.1: IDENT
BareColLabel.2: bare_label_keyword
unreserved_keyword.1: ABORT_P
unreserved_keyword.2: ABSENT
unreserved_keyword.3: ABSOLUTE_P
unreserved_keyword.4: ACCESS
unreserved_keyword.5: ACTION
unreserved_keyword.6: ADD_P
unreserved_keyword.7: ADMIN
unreserved_keyword.8: AFTER
unreserved_keyword.9: AGGREGATE
unreserved_keyword.10: ALSO
unreserved_keyword.11: ALTER
unreserved_keyword.12: ALWAYS
unreserved_keyword.13: ASENSITIVE
unreserved_keyword.14: ASSERTION
unreserved_keyword.15: ASSIGNMENT
unreserved_keyword.16: AT
unreserved_keyword.17: ATOMIC
unreserved_keyword.18: ATTACH
unreserved_keyword.19: ATTRIBUTE
unreserved_keyword.20: BACKWARD
unreserved_keyword.21: BEFORE
unreserved_keyword.22: BEGIN_P
unreserved_keyword.23: BREADTH
unreserved_keyword.24: BY
unreserved_keyword.25: CACHE
unreserved_keyword.26: CALL
unreserved_keyword.27: CALLED
unreserved_keyword.28: CASCADE
unreserved_keyword.29: CASCADED
unreserved_keyword.30: CATALOG_P
unreserved_keyword.31: CHAIN
unreserved_keyword.32: CHARACTERISTICS
unreserved_keyword.33: CHECKPOINT
unreserved_keyword.34: CLASS
unreserved_keyword.35: CLOSE
unreserved_keyword.36: CLUSTER
unreserved_keyword.37: COLUMNS
unreserved_keyword.38: COMMENT
unreserved_keyword.39: COMMENTS
unreserved_keyword.40: COMMIT
unreserved_keyword.41: COMMITTED
unreserved_keyword.42: COMPRESSION
unreserved_keyword.43: CONDITIONAL
unreserved_keyword.44: CONFIGURATION
unreserved_keyword.45: CONFLICT
unreserved_keyword.46: CONNECTION
unreserved_keyword.47: CONSTRAINTS
unreserved_keyword.48: CONTENT_P
unreserved_keyword.49: CONTINUE_P
unreserved_keyword.50: CONVERSION_P
unreserved_keyword.51: COPY
unreserved_keyword.52: COST
unreserved_keyword.53: CSV
unreserved_keyword.54: CUBE
unreserved_keyword.55: CURRENT_P
unreserved_keyword.56: CURSOR
unreserved_keyword.57: CYCLE
unreserved_keyword.58: DATA_P
unreserved_keyword.59: DATABASE
unreserved_keyword.60: DAY_P
unreserved_keyword.61: DEALLOCATE
unreserved_keyword.62: DECLARE
unreserved_keyword.63: DEFAULTS
unreserved_keyword.64: DEFERRED
unreserved_keyword.65: DEFINER
unreserved_keyword.66: DELETE_P
unreserved_keyword.67: DELIMITER
unreserved_keyword.68: DELIMITERS
unreserved_keyword.69: DEPENDS
unreserved_keyword.70: DEPTH
unreserved_keyword.71: DETACH
unreserved_keyword.72: DICTIONARY
unreserved_keyword.73: DISABLE_P
unreserved_keyword.74: DISCARD
unreserved_keyword.75: DOCUMENT_P
unreserved_keyword.76: DOMAIN_P
unreserved_keyword.77: DOUBLE_P
unreserved_keyword.78: DROP
unreserved_keyword.79: EACH
unreserved_keyword.80: EMPTY_P
unreserved_keyword.81: ENABLE_P
unreserved_keyword.82: ENCODING
unreserved_keyword.83: ENCRYPTED
unreserved_keyword.84: ENFORCED
unreserved_keyword.85: ENUM_P
unreserved_keyword.86: ERROR_P
unreserved_keyword.87: ESCAPE
unreserved_keyword.88: EVENT
unreserved_keyword.89: EXCLUDE
unreserved_keyword.90: EXCLUDING
unreserved_keyword.91: EXCLUSIVE
unreserved_keyword.92: EXECUTE
unreserved_keyword.93: EXPLAIN
unreserved_keyword.94: EXPRESSION
unreserved_keyword.95: EXTENSION
unreserved_keyword.96: EXTERNAL
unreserved_keyword.97: FAMILY
unreserved_keyword.98: FILTER
unreserved_keyword.99: FINALIZE
unreserved_keyword.100: FIRST_P
unreserved_keyword.101: FOLLOWING
unreserved_keyword.102: FORCE
unreserved_keyword.103: FORMAT
unreserved_keyword.104: FORWARD
unreserved_keyword.105: FUNCTION
unreserved_keyword.106: FUNCTIONS
unreserved_keyword.107: GENERATED
unreserved_keyword.108: GLOBAL
unreserved_keyword.109: GRANTED
unreserved_keyword.110: GROUPS
unreserved_keyword.111: HANDLER
unreserved_keyword.112: HEADER_P
unreserved_keyword.113: HOLD
unreserved_keyword.114: HOUR_P
unreserved_keyword.115: IDENTITY_P
unreserved_keyword.116: IF_P
unreserved_keyword.117: IGNORE_P
unreserved_keyword.118: IMMEDIATE
unreserved_keyword.119: IMMUTABLE
unreserved_keyword.120: IMPLICIT_P
unreserved_keyword.121: IMPORT_P
unreserved_keyword.122: INCLUDE
unreserved_keyword.123: INCLUDING
unreserved_keyword.124: INCREMENT
unreserved_keyword.125: INDENT
unreserved_keyword.126: INDEX
unreserved_keyword.127: INDEXES
unreserved_keyword.128: INHERIT
unreserved_keyword.129: INHERITS
unreserved_keyword.130: INLINE_P
unreserved_keyword.131: INPUT_P
unreserved_keyword.132: INSENSITIVE
unreserved_keyword.133: INSERT
unreserved_keyword.134: INSTEAD
unreserved_keyword.135: INVOKER
unreserved_keyword.136: ISOLATION
unreserved_keyword.137: KEEP
unreserved_keyword.138: KEY
unreserved_keyword.139: KEYS
unreserved_keyword.140: LABEL
unreserved_keyword.141: LANGUAGE
unreserved_keyword.142: LARGE_P
unreserved_keyword.143: LAST_P
unreserved_keyword.144: LEAKPROOF
unreserved_keyword.145: LEVEL
unreserved_keyword.146: LISTEN
unreserved_keyword.147: LOAD
unreserved_keyword.148: LOCAL
unreserved_keyword.149: LOCATION
unreserved_keyword.150: LOCK_P
unreserved_keyword.151: LOCKED
unreserved_keyword.152: LOGGED
unreserved_keyword.153: LSN_P
unreserved_keyword.154: MAPPING
unreserved_keyword.155: MATCH
unreserved_keyword.156: MATCHED
unreserved_keyword.157: MATERIALIZED
unreserved_keyword.158: MAXVALUE
unreserved_keyword.159: MERGE
unreserved_keyword.160: METHOD
unreserved_keyword.161: MINUTE_P
unreserved_keyword.162: MINVALUE
unreserved_keyword.163: MODE
unreserved_keyword.164: MONTH_P
unreserved_keyword.165: MOVE
unreserved_keyword.166: NAME_P
unreserved_keyword.167: NAMES
unreserved_keyword.168: NESTED
unreserved_keyword.169: NEW
unreserved_keyword.170: NEXT
unreserved_keyword.171: NFC
unreserved_keyword.172: NFD
unreserved_keyword.173: NFKC
unreserved_keyword.174: NFKD
unreserved_keyword.175: NO
unreserved_keyword.176: NORMALIZED
unreserved_keyword.177: NOTHING
unreserved_keyword.178: NOTIFY
unreserved_keyword.179: NOWAIT
unreserved_keyword.180: NULLS_P
unreserved_keyword.181: OBJECT_P
unreserved_keyword.182: OBJECTS_P
unreserved_keyword.183: OF
unreserved_keyword.184: OFF
unreserved_keyword.185: OIDS
unreserved_keyword.186: OLD
unreserved_keyword.187: OMIT
unreserved_keyword.188: OPERATOR
unreserved_keyword.189: OPTION
unreserved_keyword.190: OPTIONS
unreserved_keyword.191: ORDINALITY
unreserved_keyword.192: OTHERS
unreserved_keyword.193: OVER
unreserved_keyword.194: OVERRIDING
unreserved_keyword.195: OWNED
unreserved_keyword.196: OWNER
unreserved_keyword.197: PARALLEL
unreserved_keyword.198: PARAMETER
unreserved_keyword.199: PARSER
unreserved_keyword.200: PARTIAL
unreserved_keyword.201: PARTITION
unreserved_keyword.202: PASSING
unreserved_keyword.203: PASSWORD
unreserved_keyword.204: PATH
unreserved_keyword.205: PERIOD
unreserved_keyword.206: PLAN
unreserved_keyword.207: PLANS
unreserved_keyword.208: POLICY
unreserved_keyword.209: PRECEDING
unreserved_keyword.210: PREPARE
unreserved_keyword.211: PREPARED
unreserved_keyword.212: PRESERVE
unreserved_keyword.213: PRIOR
unreserved_keyword.214: PRIVILEGES
unreserved_keyword.215: PROCEDURAL
unreserved_keyword.216: PROCEDURE
unreserved_keyword.217: PROCEDURES
unreserved_keyword.218: PROGRAM
unreserved_keyword.219: PUBLICATION
unreserved_keyword.220: QUOTE
unreserved_keyword.221: QUOTES
unreserved_keyword.222: RANGE
unreserved_keyword.223: READ
unreserved_keyword.224: REASSIGN
unreserved_keyword.225: RECURSIVE
unreserved_keyword.226: REF_P
unreserved_keyword.227: REFERENCING
unreserved_keyword.228: REFRESH
unreserved_keyword.229: REINDEX
unreserved_keyword.230: RELATIVE_P
unreserved_keyword.231: RELEASE
unreserved_keyword.232: RENAME
unreserved_keyword.233: REPACK
unreserved_keyword.234: REPEATABLE
unreserved_keyword.235: REPLACE
unreserved_keyword.236: REPLICA
unreserved_keyword.237: RESET
unreserved_keyword.238: RESPECT_P
unreserved_keyword.239: RESTART
unreserved_keyword.240: RESTRICT
unreserved_keyword.241: RETURN
unreserved_keyword.242: RETURNS
unreserved_keyword.243: REVOKE
unreserved_keyword.244: ROLE
unreserved_keyword.245: ROLLBACK
unreserved_keyword.246: ROLLUP
unreserved_keyword.247: ROUTINE
unreserved_keyword.248: ROUTINES
unreserved_keyword.249: ROWS
unreserved_keyword.250: RULE
unreserved_keyword.251: SAVEPOINT
unreserved_keyword.252: SCALAR
unreserved_keyword.253: SCHEMA
unreserved_keyword.254: SCHEMAS
unreserved_keyword.255: SCROLL
unreserved_keyword.256: SEARCH
unreserved_keyword.257: SECOND_P
unreserved_keyword.258: SECURITY
unreserved_keyword.259: SEQUENCE
unreserved_keyword.260: SEQUENCES
unreserved_keyword.261: SERIALIZABLE
unreserved_keyword.262: SERVER
unreserved_keyword.263: SESSION
unreserved_keyword.264: SET
unreserved_keyword.265: SETS
unreserved_keyword.266: SHARE
unreserved_keyword.267: SHOW
unreserved_keyword.268: SIMPLE
unreserved_keyword.269: SKIP
unreserved_keyword.270: SNAPSHOT
unreserved_keyword.271: SOURCE
unreserved_keyword.272: SQL_P
unreserved_keyword.273: STABLE
unreserved_keyword.274: STANDALONE_P
unreserved_keyword.275: START
unreserved_keyword.276: STATEMENT
unreserved_keyword.277: STATISTICS
unreserved_keyword.278: STDIN
unreserved_keyword.279: STDOUT
unreserved_keyword.280: STORAGE
unreserved_keyword.281: STORED
unreserved_keyword.282: STRICT_P
unreserved_keyword.283: STRING_P
unreserved_keyword.284: STRIP_P
unreserved_keyword.285: SUBSCRIPTION
unreserved_keyword.286: SUPPORT
unreserved_keyword.287: SYSID
unreserved_keyword.288: SYSTEM_P
unreserved_keyword.289: TABLES
unreserved_keyword.290: TABLESPACE
unreserved_keyword.291: TARGET
unreserved_keyword.292: TEMP
unreserved_keyword.293: TEMPLATE
unreserved_keyword.294: TEMPORARY
unreserved_keyword.295: TEXT_P
unreserved_keyword.296: TIES
unreserved_keyword.297: TRANSACTION
unreserved_keyword.298: TRANSFORM
unreserved_keyword.299: TRIGGER
unreserved_keyword.300: TRUNCATE
unreserved_keyword.301: TRUSTED
unreserved_keyword.302: TYPE_P
unreserved_keyword.303: TYPES_P
unreserved_keyword.304: UESCAPE
unreserved_keyword.305: UNBOUNDED
unreserved_keyword.306: UNCOMMITTED
unreserved_keyword.307: UNCONDITIONAL
unreserved_keyword.308: UNENCRYPTED
unreserved_keyword.309: UNKNOWN
unreserved_keyword.310: UNLISTEN
unreserved_keyword.311: UNLOGGED
unreserved_keyword.312: UNTIL
unreserved_keyword.313: UPDATE
unreserved_keyword.314: VACUUM
unreserved_keyword.315: VALID
unreserved_keyword.316: VALIDATE
unreserved_keyword.317: VALIDATOR
unreserved_keyword.318: VALUE_P
unreserved_keyword.319: VARYING
unreserved_keyword.320: VERSION_P
unreserved_keyword.321: VIEW
unreserved_keyword.322: VIEWS
unreserved_keyword.323: VIRTUAL
unreserved_keyword.324: VOLATILE
unreserved_keyword.325: WAIT
unreserved_keyword.326: WHITESPACE_P
unreserved_keyword.327: WITHIN
unreserved_keyword.328: WITHOUT
unreserved_keyword.329: WORK
unreserved_keyword.330: WRAPPER
unreserved_keyword.331: WRITE
unreserved_keyword.332: XML_P
unreserved_keyword.333: YEAR_P
unreserved_keyword.334: YES_P
unreserved_keyword.335: ZONE
col_name_keyword.1: BETWEEN
col_name_keyword.2: BIGINT
col_name_keyword.3: BIT
col_name_keyword.4: BOOLEAN_P
col_name_keyword.5: CHAR_P
col_name_keyword.6: CHARACTER
col_name_keyword.7: COALESCE
col_name_keyword.8: DEC
col_name_keyword.9: DECIMAL_P
col_name_keyword.10: EXISTS
col_name_keyword.11: EXTRACT
col_name_keyword.12: FLOAT_P
col_name_keyword.13: GREATEST
col_name_keyword.14: GROUPING
col_name_keyword.15: INOUT
col_name_keyword.16: INT_P
col_name_keyword.17: INTEGER
col_name_keyword.18: INTERVAL
col_name_keyword.19: JSON
col_name_keyword.20: JSON_ARRAY
col_name_keyword.21: JSON_ARRAYAGG
col_name_keyword.22: JSON_EXISTS
col_name_keyword.23: JSON_OBJECT
col_name_keyword.24: JSON_OBJECTAGG
col_name_keyword.25: JSON_QUERY
col_name_keyword.26: JSON_SCALAR
col_name_keyword.27: JSON_SERIALIZE
col_name_keyword.28: JSON_TABLE
col_name_keyword.29: JSON_VALUE
col_name_keyword.30: LEAST
col_name_keyword.31: MERGE_ACTION
col_name_keyword.32: NATIONAL
col_name_keyword.33: NCHAR
col_name_keyword.34: NONE
col_name_keyword.35: NORMALIZE
col_name_keyword.36: NULLIF
col_name_keyword.37: NUMERIC
col_name_keyword.38: OUT_P
col_name_keyword.39: OVERLAY
col_name_keyword.40: POSITION
col_name_keyword.41: PRECISION
col_name_keyword.42: REAL
col_name_keyword.43: ROW
col_name_keyword.44: SETOF
col_name_keyword.45: SMALLINT
col_name_keyword.46: SUBSTRING
col_name_keyword.47: TIME
col_name_keyword.48: TIMESTAMP
col_name_keyword.49: TREAT
col_name_keyword.50: TRIM
col_name_keyword.51: VALUES
col_name_keyword.52: VARCHAR
col_name_keyword.53: XMLATTRIBUTES
col_name_keyword.54: XMLCONCAT
col_name_keyword.55: XMLELEMENT
col_name_keyword.56: XMLEXISTS
col_name_keyword.57: XMLFOREST
col_name_keyword.58: XMLNAMESPACES
col_name_keyword.59: XMLPARSE
col_name_keyword.60: XMLPI
col_name_keyword.61: XMLROOT
col_name_keyword.62: XMLSERIALIZE
col_name_keyword.63: XMLTABLE
type_func_name_keyword.1: AUTHORIZATION
type_func_name_keyword.2: BINARY
type_func_name_keyword.3: COLLATION
type_func_name_keyword.4: CONCURRENTLY
type_func_name_keyword.5: CROSS
type_func_name_keyword.6: CURRENT_SCHEMA
type_func_name_keyword.7: FREEZE
type_func_name_keyword.8: FULL
type_func_name_keyword.9: ILIKE
type_func_name_keyword.10: INNER_P
type_func_name_keyword.11: IS
type_func_name_keyword.12: ISNULL
type_func_name_keyword.13: JOIN
type_func_name_keyword.14: LEFT
type_func_name_keyword.15: LIKE
type_func_name_keyword.16: NATURAL
type_func_name_keyword.17: NOTNULL
type_func_name_keyword.18: OUTER_P
type_func_name_keyword.19: OVERLAPS
type_func_name_keyword.20: RIGHT
type_func_name_keyword.21: SIMILAR
type_func_name_keyword.22: TABLESAMPLE
type_func_name_keyword.23: VERBOSE
reserved_keyword.1: ALL
reserved_keyword.2: ANALYSE
reserved_keyword.3: ANALYZE
reserved_keyword.4: AND
reserved_keyword.5: ANY
reserved_keyword.6: ARRAY
reserved_keyword.7: AS
reserved_keyword.8: ASC
reserved_keyword.9: ASYMMETRIC
reserved_keyword.10: BOTH
reserved_keyword.11: CASE
reserved_keyword.12: CAST
reserved_keyword.13: CHECK
reserved_keyword.14: COLLATE
reserved_keyword.15: COLUMN
reserved_keyword.16: CONSTRAINT
reserved_keyword.17: CREATE
reserved_keyword.18: CURRENT_CATALOG
reserved_keyword.19: CURRENT_DATE
reserved_keyword.20: CURRENT_ROLE
reserved_keyword.21: CURRENT_TIME
reserved_keyword.22: CURRENT_TIMESTAMP
reserved_keyword.23: CURRENT_USER
reserved_keyword.24: DEFAULT
reserved_keyword.25: DEFERRABLE
reserved_keyword.26: DESC
reserved_keyword.27: DISTINCT
reserved_keyword.28: DO
reserved_keyword.29: ELSE
reserved_keyword.30: END_P
reserved_keyword.31: EXCEPT
reserved_keyword.32: FALSE_P
reserved_keyword.33: FETCH
reserved_keyword.34: FOR
reserved_keyword.35: FOREIGN
reserved_keyword.36: FROM
reserved_keyword.37: GRANT
reserved_keyword.38: GROUP_P
reserved_keyword.39: HAVING
reserved_keyword.40: IN_P
reserved_keyword.41: INITIALLY
reserved_keyword.42: INTERSECT
reserved_keyword.43: INTO
reserved_keyword.44: LATERAL_P
reserved_keyword.45: LEADING
reserved_keyword.46: LIMIT
reserved_keyword.47: LOCALTIME
reserved_keyword.48: LOCALTIMESTAMP
reserved_keyword.49: NOT
reserved_keyword.50: NULL_P
reserved_keyword.51: OFFSET
reserved_keyword.52: ON
reserved_keyword.53: ONLY
reserved_keyword.54: OR
reserved_keyword.55: ORDER
reserved_keyword.56: PLACING
reserved_keyword.57: PRIMARY
reserved_keyword.58: REFERENCES
reserved_keyword.59: RETURNING
reserved_keyword.60: SELECT
reserved_keyword.61: SESSION_USER
reserved_keyword.62: SOME
reserved_keyword.63: SYMMETRIC
reserved_keyword.64: SYSTEM_USER
reserved_keyword.65: TABLE
reserved_keyword.66: THEN
reserved_keyword.67: TO
reserved_keyword.68: TRAILING
reserved_keyword.69: TRUE_P
reserved_keyword.70: UNION
reserved_keyword.71: UNIQUE
reserved_keyword.72: USER
reserved_keyword.73: USING
reserved_keyword.74: VARIADIC
reserved_keyword.75: WHEN
reserved_keyword.76: WHERE
reserved_keyword.77: WINDOW
reserved_keyword.78: WITH
bare_label_keyword.1: ABORT_P
bare_label_keyword.2: ABSENT
bare_label_keyword.3: ABSOLUTE_P
bare_label_keyword.4: ACCESS
bare_label_keyword.5: ACTION
bare_label_keyword.6: ADD_P
bare_label_keyword.7: ADMIN
bare_label_keyword.8: AFTER
bare_label_keyword.9: AGGREGATE
bare_label_keyword.10: ALL
bare_label_keyword.11: ALSO
bare_label_keyword.12: ALTER
bare_label_keyword.13: ALWAYS
bare_label_keyword.14: ANALYSE
bare_label_keyword.15: ANALYZE
bare_label_keyword.16: AND
bare_label_keyword.17: ANY
bare_label_keyword.18: ASC
bare_label_keyword.19: ASENSITIVE
bare_label_keyword.20: ASSERTION
bare_label_keyword.21: ASSIGNMENT
bare_label_keyword.22: ASYMMETRIC
bare_label_keyword.23: AT
bare_label_keyword.24: ATOMIC
bare_label_keyword.25: ATTACH
bare_label_keyword.26: ATTRIBUTE
bare_label_keyword.27: AUTHORIZATION
bare_label_keyword.28: BACKWARD
bare_label_keyword.29: BEFORE
bare_label_keyword.30: BEGIN_P
bare_label_keyword.31: BETWEEN
bare_label_keyword.32: BIGINT
bare_label_keyword.33: BINARY
bare_label_keyword.34: BIT
bare_label_keyword.35: BOOLEAN_P
bare_label_keyword.36: BOTH
bare_label_keyword.37: BREADTH
bare_label_keyword.38: BY
bare_label_keyword.39: CACHE
bare_label_keyword.40: CALL
bare_label_keyword.41: CALLED
bare_label_keyword.42: CASCADE
bare_label_keyword.43: CASCADED
bare_label_keyword.44: CASE
bare_label_keyword.45: CAST
bare_label_keyword.46: CATALOG_P
bare_label_keyword.47: CHAIN
bare_label_keyword.48: CHARACTERISTICS
bare_label_keyword.49: CHECK
bare_label_keyword.50: CHECKPOINT
bare_label_keyword.51: CLASS
bare_label_keyword.52: CLOSE
bare_label_keyword.53: CLUSTER
bare_label_keyword.54: COALESCE
bare_label_keyword.55: COLLATE
bare_label_keyword.56: COLLATION
bare_label_keyword.57: COLUMN
bare_label_keyword.58: COLUMNS
bare_label_keyword.59: COMMENT
bare_label_keyword.60: COMMENTS
bare_label_keyword.61: COMMIT
bare_label_keyword.62: COMMITTED
bare_label_keyword.63: COMPRESSION
bare_label_keyword.64: CONCURRENTLY
bare_label_keyword.65: CONDITIONAL
bare_label_keyword.66: CONFIGURATION
bare_label_keyword.67: CONFLICT
bare_label_keyword.68: CONNECTION
bare_label_keyword.69: CONSTRAINT
bare_label_keyword.70: CONSTRAINTS
bare_label_keyword.71: CONTENT_P
bare_label_keyword.72: CONTINUE_P
bare_label_keyword.73: CONVERSION_P
bare_label_keyword.74: COPY
bare_label_keyword.75: COST
bare_label_keyword.76: CROSS
bare_label_keyword.77: CSV
bare_label_keyword.78: CUBE
bare_label_keyword.79: CURRENT_P
bare_label_keyword.80: CURRENT_CATALOG
bare_label_keyword.81: CURRENT_DATE
bare_label_keyword.82: CURRENT_ROLE
bare_label_keyword.83: CURRENT_SCHEMA
bare_label_keyword.84: CURRENT_TIME
bare_label_keyword.85: CURRENT_TIMESTAMP
bare_label_keyword.86: CURRENT_USER
bare_label_keyword.87: CURSOR
bare_label_keyword.88: CYCLE
bare_label_keyword.89: DATA_P
bare_label_keyword.90: DATABASE
bare_label_keyword.91: DEALLOCATE
bare_label_keyword.92: DEC
bare_label_keyword.93: DECIMAL_P
bare_label_keyword.94: DECLARE
bare_label_keyword.95: DEFAULT
bare_label_keyword.96: DEFAULTS
bare_label_keyword.97: DEFERRABLE
bare_label_keyword.98: DEFERRED
bare_label_keyword.99: DEFINER
bare_label_keyword.100: DELETE_P
bare_label_keyword.101: DELIMITER
bare_label_keyword.102: DELIMITERS
bare_label_keyword.103: DEPENDS
bare_label_keyword.104: DEPTH
bare_label_keyword.105: DESC
bare_label_keyword.106: DETACH
bare_label_keyword.107: DICTIONARY
bare_label_keyword.108: DISABLE_P
bare_label_keyword.109: DISCARD
bare_label_keyword.110: DISTINCT
bare_label_keyword.111: DO
bare_label_keyword.112: DOCUMENT_P
bare_label_keyword.113: DOMAIN_P
bare_label_keyword.114: DOUBLE_P
bare_label_keyword.115: DROP
bare_label_keyword.116: EACH
bare_label_keyword.117: ELSE
bare_label_keyword.118: EMPTY_P
bare_label_keyword.119: ENABLE_P
bare_label_keyword.120: ENCODING
bare_label_keyword.121: ENCRYPTED
bare_label_keyword.122: END_P
bare_label_keyword.123: ENFORCED
bare_label_keyword.124: ENUM_P
bare_label_keyword.125: ERROR_P
bare_label_keyword.126: ESCAPE
bare_label_keyword.127: EVENT
bare_label_keyword.128: EXCLUDE
bare_label_keyword.129: EXCLUDING
bare_label_keyword.130: EXCLUSIVE
bare_label_keyword.131: EXECUTE
bare_label_keyword.132: EXISTS
bare_label_keyword.133: EXPLAIN
bare_label_keyword.134: EXPRESSION
bare_label_keyword.135: EXTENSION
bare_label_keyword.136: EXTERNAL
bare_label_keyword.137: EXTRACT
bare_label_keyword.138: FALSE_P
bare_label_keyword.139: FAMILY
bare_label_keyword.140: FINALIZE
bare_label_keyword.141: FIRST_P
bare_label_keyword.142: FLOAT_P
bare_label_keyword.143: FOLLOWING
bare_label_keyword.144: FORCE
bare_label_keyword.145: FOREIGN
bare_label_keyword.146: FORMAT
bare_label_keyword.147: FORWARD
bare_label_keyword.148: FREEZE
bare_label_keyword.149: FULL
bare_label_keyword.150: FUNCTION
bare_label_keyword.151: FUNCTIONS
bare_label_keyword.152: GENERATED
bare_label_keyword.153: GLOBAL
bare_label_keyword.154: GRANTED
bare_label_keyword.155: GREATEST
bare_label_keyword.156: GROUPING
bare_label_keyword.157: GROUPS
bare_label_keyword.158: HANDLER
bare_label_keyword.159: HEADER_P
bare_label_keyword.160: HOLD
bare_label_keyword.161: IDENTITY_P
bare_label_keyword.162: IF_P
bare_label_keyword.163: ILIKE
bare_label_keyword.164: IMMEDIATE
bare_label_keyword.165: IMMUTABLE
bare_label_keyword.166: IMPLICIT_P
bare_label_keyword.167: IMPORT_P
bare_label_keyword.168: IN_P
bare_label_keyword.169: INCLUDE
bare_label_keyword.170: INCLUDING
bare_label_keyword.171: INCREMENT
bare_label_keyword.172: INDENT
bare_label_keyword.173: INDEX
bare_label_keyword.174: INDEXES
bare_label_keyword.175: INHERIT
bare_label_keyword.176: INHERITS
bare_label_keyword.177: INITIALLY
bare_label_keyword.178: INLINE_P
bare_label_keyword.179: INNER_P
bare_label_keyword.180: INOUT
bare_label_keyword.181: INPUT_P
bare_label_keyword.182: INSENSITIVE
bare_label_keyword.183: INSERT
bare_label_keyword.184: INSTEAD
bare_label_keyword.185: INT_P
bare_label_keyword.186: INTEGER
bare_label_keyword.187: INTERVAL
bare_label_keyword.188: INVOKER
bare_label_keyword.189: IS
bare_label_keyword.190: ISOLATION
bare_label_keyword.191: JOIN
bare_label_keyword.192: JSON
bare_label_keyword.193: JSON_ARRAY
bare_label_keyword.194: JSON_ARRAYAGG
bare_label_keyword.195: JSON_EXISTS
bare_label_keyword.196: JSON_OBJECT
bare_label_keyword.197: JSON_OBJECTAGG
bare_label_keyword.198: JSON_QUERY
bare_label_keyword.199: JSON_SCALAR
bare_label_keyword.200: JSON_SERIALIZE
bare_label_keyword.201: JSON_TABLE
bare_label_keyword.202: JSON_VALUE
bare_label_keyword.203: KEEP
bare_label_keyword.204: KEY
bare_label_keyword.205: KEYS
bare_label_keyword.206: LABEL
bare_label_keyword.207: LANGUAGE
bare_label_keyword.208: LARGE_P
bare_label_keyword.209: LAST_P
bare_label_keyword.210: LATERAL_P
bare_label_keyword.211: LEADING
bare_label_keyword.212: LEAKPROOF
bare_label_keyword.213: LEAST
bare_label_keyword.214: LEFT
bare_label_keyword.215: LEVEL
bare_label_keyword.216: LIKE
bare_label_keyword.217: LISTEN
bare_label_keyword.218: LOAD
bare_label_keyword.219: LOCAL
bare_label_keyword.220: LOCALTIME
bare_label_keyword.221: LOCALTIMESTAMP
bare_label_keyword.222: LOCATION
bare_label_keyword.223: LOCK_P
bare_label_keyword.224: LOCKED
bare_label_keyword.225: LOGGED
bare_label_keyword.226: LSN_P
bare_label_keyword.227: MAPPING
bare_label_keyword.228: MATCH
bare_label_keyword.229: MATCHED
bare_label_keyword.230: MATERIALIZED
bare_label_keyword.231: MAXVALUE
bare_label_keyword.232: MERGE
bare_label_keyword.233: MERGE_ACTION
bare_label_keyword.234: METHOD
bare_label_keyword.235: MINVALUE
bare_label_keyword.236: MODE
bare_label_keyword.237: MOVE
bare_label_keyword.238: NAME_P
bare_label_keyword.239: NAMES
bare_label_keyword.240: NATIONAL
bare_label_keyword.241: NATURAL
bare_label_keyword.242: NCHAR
bare_label_keyword.243: NESTED
bare_label_keyword.244: NEW
bare_label_keyword.245: NEXT
bare_label_keyword.246: NFC
bare_label_keyword.247: NFD
bare_label_keyword.248: NFKC
bare_label_keyword.249: NFKD
bare_label_keyword.250: NO
bare_label_keyword.251: NONE
bare_label_keyword.252: NORMALIZE
bare_label_keyword.253: NORMALIZED
bare_label_keyword.254: NOT
bare_label_keyword.255: NOTHING
bare_label_keyword.256: NOTIFY
bare_label_keyword.257: NOWAIT
bare_label_keyword.258: NULL_P
bare_label_keyword.259: NULLIF
bare_label_keyword.260: NULLS_P
bare_label_keyword.261: NUMERIC
bare_label_keyword.262: OBJECT_P
bare_label_keyword.263: OBJECTS_P
bare_label_keyword.264: OF
bare_label_keyword.265: OFF
bare_label_keyword.266: OIDS
bare_label_keyword.267: OLD
bare_label_keyword.268: OMIT
bare_label_keyword.269: ONLY
bare_label_keyword.270: OPERATOR
bare_label_keyword.271: OPTION
bare_label_keyword.272: OPTIONS
bare_label_keyword.273: OR
bare_label_keyword.274: ORDINALITY
bare_label_keyword.275: OTHERS
bare_label_keyword.276: OUT_P
bare_label_keyword.277: OUTER_P
bare_label_keyword.278: OVERLAY
bare_label_keyword.279: OVERRIDING
bare_label_keyword.280: OWNED
bare_label_keyword.281: OWNER
bare_label_keyword.282: PARALLEL
bare_label_keyword.283: PARAMETER
bare_label_keyword.284: PARSER
bare_label_keyword.285: PARTIAL
bare_label_keyword.286: PARTITION
bare_label_keyword.287: PASSING
bare_label_keyword.288: PASSWORD
bare_label_keyword.289: PATH
bare_label_keyword.290: PERIOD
bare_label_keyword.291: PLACING
bare_label_keyword.292: PLAN
bare_label_keyword.293: PLANS
bare_label_keyword.294: POLICY
bare_label_keyword.295: POSITION
bare_label_keyword.296: PRECEDING
bare_label_keyword.297: PREPARE
bare_label_keyword.298: PREPARED
bare_label_keyword.299: PRESERVE
bare_label_keyword.300: PRIMARY
bare_label_keyword.301: PRIOR
bare_label_keyword.302: PRIVILEGES
bare_label_keyword.303: PROCEDURAL
bare_label_keyword.304: PROCEDURE
bare_label_keyword.305: PROCEDURES
bare_label_keyword.306: PROGRAM
bare_label_keyword.307: PUBLICATION
bare_label_keyword.308: QUOTE
bare_label_keyword.309: QUOTES
bare_label_keyword.310: RANGE
bare_label_keyword.311: READ
bare_label_keyword.312: REAL
bare_label_keyword.313: REASSIGN
bare_label_keyword.314: RECURSIVE
bare_label_keyword.315: REF_P
bare_label_keyword.316: REFERENCES
bare_label_keyword.317: REFERENCING
bare_label_keyword.318: REFRESH
bare_label_keyword.319: REINDEX
bare_label_keyword.320: RELATIVE_P
bare_label_keyword.321: RELEASE
bare_label_keyword.322: RENAME
bare_label_keyword.323: REPACK
bare_label_keyword.324: REPEATABLE
bare_label_keyword.325: REPLACE
bare_label_keyword.326: REPLICA
bare_label_keyword.327: RESET
bare_label_keyword.328: RESTART
bare_label_keyword.329: RESTRICT
bare_label_keyword.330: RETURN
bare_label_keyword.331: RETURNS
bare_label_keyword.332: REVOKE
bare_label_keyword.333: RIGHT
bare_label_keyword.334: ROLE
bare_label_keyword.335: ROLLBACK
bare_label_keyword.336: ROLLUP
bare_label_keyword.337: ROUTINE
bare_label_keyword.338: ROUTINES
bare_label_keyword.339: ROW
bare_label_keyword.340: ROWS
bare_label_keyword.341: RULE
bare_label_keyword.342: SAVEPOINT
bare_label_keyword.343: SCALAR
bare_label_keyword.344: SCHEMA
bare_label_keyword.345: SCHEMAS
bare_label_keyword.346: SCROLL
bare_label_keyword.347: SEARCH
bare_label_keyword.348: SECURITY
bare_label_keyword.349: SELECT
bare_label_keyword.350: SEQUENCE
bare_label_keyword.351: SEQUENCES
bare_label_keyword.352: SERIALIZABLE
bare_label_keyword.353: SERVER
bare_label_keyword.354: SESSION
bare_label_keyword.355: SESSION_USER
bare_label_keyword.356: SET
bare_label_keyword.357: SETOF
bare_label_keyword.358: SETS
bare_label_keyword.359: SHARE
bare_label_keyword.360: SHOW
bare_label_keyword.361: SIMILAR
bare_label_keyword.362: SIMPLE
bare_label_keyword.363: SKIP
bare_label_keyword.364: SMALLINT
bare_label_keyword.365: SNAPSHOT
bare_label_keyword.366: SOME
bare_label_keyword.367: SOURCE
bare_label_keyword.368: SQL_P
bare_label_keyword.369: STABLE
bare_label_keyword.370: STANDALONE_P
bare_label_keyword.371: START
bare_label_keyword.372: STATEMENT
bare_label_keyword.373: STATISTICS
bare_label_keyword.374: STDIN
bare_label_keyword.375: STDOUT
bare_label_keyword.376: STORAGE
bare_label_keyword.377: STORED
bare_label_keyword.378: STRICT_P
bare_label_keyword.379: STRING_P
bare_label_keyword.380: STRIP_P
bare_label_keyword.381: SUBSCRIPTION
bare_label_keyword.382: SUBSTRING
bare_label_keyword.383: SUPPORT
bare_label_keyword.384: SYMMETRIC
bare_label_keyword.385: SYSID
bare_label_keyword.386: SYSTEM_P
bare_label_keyword.387: SYSTEM_USER
bare_label_keyword.388: TABLE
bare_label_keyword.389: TABLES
bare_label_keyword.390: TABLESAMPLE
bare_label_keyword.391: TABLESPACE
bare_label_keyword.392: TARGET
bare_label_keyword.393: TEMP
bare_label_keyword.394: TEMPLATE
bare_label_keyword.395: TEMPORARY
bare_label_keyword.396: TEXT_P
bare_label_keyword.397: THEN
bare_label_keyword.398: TIES
bare_label_keyword.399: TIME
bare_label_keyword.400: TIMESTAMP
bare_label_keyword.401: TRAILING
bare_label_keyword.402: TRANSACTION
bare_label_keyword.403: TRANSFORM
bare_label_keyword.404: TREAT
bare_label_keyword.405: TRIGGER
bare_label_keyword.406: TRIM
bare_label_keyword.407: TRUE_P
bare_label_keyword.408: TRUNCATE
bare_label_keyword.409: TRUSTED
bare_label_keyword.410: TYPE_P
bare_label_keyword.411: TYPES_P
bare_label_keyword.412: UESCAPE
bare_label_keyword.413: UNBOUNDED
bare_label_keyword.414: UNCOMMITTED
bare_label_keyword.415: UNCONDITIONAL
bare_label_keyword.416: UNENCRYPTED
bare_label_keyword.417: UNIQUE
bare_label_keyword.418: UNKNOWN
bare_label_keyword.419: UNLISTEN
bare_label_keyword.420: UNLOGGED
bare_label_keyword.421: UNTIL
bare_label_keyword.422: UPDATE
bare_label_keyword.423: USER
bare_label_keyword.424: USING
bare_label_keyword.425: VACUUM
bare_label_keyword.426: VALID
bare_label_keyword.427: VALIDATE
bare_label_keyword.428: VALIDATOR
bare_label_keyword.429: VALUE_P
bare_label_keyword.430: VALUES
bare_label_keyword.431: VARCHAR
bare_label_keyword.432: VARIADIC
bare_label_keyword.433: VERBOSE
bare_label_keyword.434: VERSION_P
bare_label_keyword.435: VIEW
bare_label_keyword.436: VIEWS
bare_label_keyword.437: VIRTUAL
bare_label_keyword.438: VOLATILE
bare_label_keyword.439: WAIT
bare_label_keyword.440: WHEN
bare_label_keyword.441: WHITESPACE_P
bare_label_keyword.442: WORK
bare_label_keyword.443: WRAPPER
bare_label_keyword.444: WRITE
bare_label_keyword.445: XML_P
bare_label_keyword.446: XMLATTRIBUTES
bare_label_keyword.447: XMLCONCAT
bare_label_keyword.448: XMLELEMENT
bare_label_keyword.449: XMLEXISTS
bare_label_keyword.450: XMLFOREST
bare_label_keyword.451: XMLNAMESPACES
bare_label_keyword.452: XMLPARSE
bare_label_keyword.453: XMLPI
bare_label_keyword.454: XMLROOT
bare_label_keyword.455: XMLSERIALIZE
bare_label_keyword.456: XMLTABLE
bare_label_keyword.457: YES_P
bare_label_keyword.458: ZONE