PostgreSQL Source Code: src/include/nodes/parsenodes.h Source File (original) (raw)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22#ifndef PARSENODES_H

23#define PARSENODES_H

24

31

32

33

35{

37 QSRC_PARSER,

42

43

45{

51

53{

58

59

61{

66

67

68

69

70

71

72

73

75

76#define ACL_INSERT (1<<0)

77#define ACL_SELECT (1<<1)

78#define ACL_UPDATE (1<<2)

79#define ACL_DELETE (1<<3)

80#define ACL_TRUNCATE (1<<4)

81#define ACL_REFERENCES (1<<5)

82#define ACL_TRIGGER (1<<6)

83#define ACL_EXECUTE (1<<7)

84#define ACL_USAGE (1<<8)

85#define ACL_CREATE (1<<9)

86#define ACL_CREATE_TEMP (1<<10)

87#define ACL_CONNECT (1<<11)

88#define ACL_SET (1<<12)

89#define ACL_ALTER_SYSTEM (1<<13)

90#define ACL_MAINTAIN (1<<14)

91#define N_ACL_RIGHTS 15

92#define ACL_NO_RIGHTS 0

93

94#define ACL_SELECT_FOR_UPDATE ACL_UPDATE

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

118{

120

122

123

125

126

127

128

129

130

131 uint64 queryId pg_node_attr(equal_ignore, query_jumble_ignore, read_write_ignore, read_as(0));

132

133

135

137

138

139

140

141

142

144

145

147

149

151

153

155

157

159

161

163

165

167

168 List *cteList;

169

171

172

173

174

175

178

179

181

182

183

184

185

186

187

188 int mergeTargetRelation pg_node_attr(query_jumble_ignore);

189

190

192

194

195

197

199

200

201

202

203

204

205

206

207 char *returningOldAlias pg_node_attr(query_jumble_ignore);

208 char *returningNewAlias pg_node_attr(query_jumble_ignore);

210

213

215

217

219

221

223

227

229

231

232

233

234

235

236

238

239

241

242

243

244

245

246

247

248

250

253

254

255

256

257

258

259

260

261

262

263

264

265

266

267

268

269

270

271

272

273

274

275

277{

279 List *names;

288

289

290

291

292

293

294

295

296

297

298

299

300

301

303{

305 List *fields;

308

309

310

311

313{

315 int number;

318

319

320

321

323{

330 AEXPR_IN,

331 AEXPR_LIKE,

332 AEXPR_ILIKE,

333 AEXPR_SIMILAR,

339

341{

343

346 List *name;

347 Node *lexpr;

348 Node *rexpr;

351

352

353

354

355

356

357

359{

366};

367

369{

370 pg_node_attr(custom_copy_equal, custom_read_write, custom_query_jumble)

371

374 bool isnull;

377

378

379

380

382{

384 Node *arg;

388

389

390

391

393{

399

400

401

402

404{

411

413{

416 char *rolename;

419

420

421

422

423

424

425

426

427

428

429

430

431

432

433

435{

438 List *args;

443 bool agg_star;

449

450

451

452

453

454

455

457{

460

461

462

463

464

465

466

468{

470 bool is_slice;

471 Node *lidx;

472 Node *uidx;

474

475

476

477

478

479

480

481

482

483

484

485

486

487

488

489

491{

493 Node *arg;

496

497

498

499

501{

506

507

508

509

510

511

512

513

514

515

516

517

518

519

520

521

522

523

524

526{

528 char *name;

530 Node *val;

533

534

535

536

537

538

539

540

541

542

544{

547 int colno;

548 int ncolumns;

550

551

552

553

555{

560 List *useOp;

563

564

565

566

567

568

569

570

571

573{

575 char *name;

576 char *refname;

584

585

586

587

588

589

590

591

592#define FRAMEOPTION_NONDEFAULT 0x00001

593#define FRAMEOPTION_RANGE 0x00002

594#define FRAMEOPTION_ROWS 0x00004

595#define FRAMEOPTION_GROUPS 0x00008

596#define FRAMEOPTION_BETWEEN 0x00010

597#define FRAMEOPTION_START_UNBOUNDED_PRECEDING 0x00020

598#define FRAMEOPTION_END_UNBOUNDED_PRECEDING 0x00040

599#define FRAMEOPTION_START_UNBOUNDED_FOLLOWING 0x00080

600#define FRAMEOPTION_END_UNBOUNDED_FOLLOWING 0x00100

601#define FRAMEOPTION_START_CURRENT_ROW 0x00200

602#define FRAMEOPTION_END_CURRENT_ROW 0x00400

603#define FRAMEOPTION_START_OFFSET_PRECEDING 0x00800

604#define FRAMEOPTION_END_OFFSET_PRECEDING 0x01000

605#define FRAMEOPTION_START_OFFSET_FOLLOWING 0x02000

606#define FRAMEOPTION_END_OFFSET_FOLLOWING 0x04000

607#define FRAMEOPTION_EXCLUDE_CURRENT_ROW 0x08000

608#define FRAMEOPTION_EXCLUDE_GROUP 0x10000

609#define FRAMEOPTION_EXCLUDE_TIES 0x20000

610

611#define FRAMEOPTION_START_OFFSET \

612 (FRAMEOPTION_START_OFFSET_PRECEDING | FRAMEOPTION_START_OFFSET_FOLLOWING)

613#define FRAMEOPTION_END_OFFSET \

614 (FRAMEOPTION_END_OFFSET_PRECEDING | FRAMEOPTION_END_OFFSET_FOLLOWING)

615#define FRAMEOPTION_EXCLUSION \

616 (FRAMEOPTION_EXCLUDE_CURRENT_ROW | FRAMEOPTION_EXCLUDE_GROUP | \

617 FRAMEOPTION_EXCLUDE_TIES)

618

619#define FRAMEOPTION_DEFAULTS \

620 (FRAMEOPTION_RANGE | FRAMEOPTION_START_UNBOUNDED_PRECEDING | \

621 FRAMEOPTION_END_CURRENT_ROW)

622

623

624

625

627{

629 bool lateral;

630 Node *subquery;

631 Alias *alias;

633

634

635

636

637

638

639

640

641

642

643

644

645

646

647

649{

651 bool lateral;

652 bool ordinality;

653 bool is_rowsfrom;

655 Alias *alias;

657

659

660

661

662

663

664

665

667{

669 bool lateral;

674 Alias *alias;

677

678

679

680

681

682

683

685{

687 char *colname;

695

696

697

698

699

700

701

702

703

704

705

707{

710 List *method;

711 List *args;

715

716

717

718

719

720

721

722

723

724

725

726

727

728

729

730

731

732

733

735{

739 char *compression;

741 bool is_local;

742 bool is_not_null;

743 bool is_from_type;

744 char storage;

745 char *storage_name;

750

753 Oid collOid;

758

759

760

761

763{

769

771{

783

784

785

786

787

788

789

790

792{

794 char *name;

795 Node *expr;

796 char *indexcolname;

798 List *opclass;

803

804

805

806

807

808

809

810

811

812

813

815{

821

823{

827 Node *arg;

828

832

833

834

835

836

837

838

839

840

841

843{

849

850

851

852

854{

862

863

864

865

866

867

868

869

870

872{

874 char *name;

875 Node *expr;

877 List *opclass;

880

882{

887

888

889

890

891

892

894{

900

901

902

903

904

905

906

908{

910

911 char strategy;

912 bool is_default;

913

914

917

918

920

921

924

926};

927

928

929

930

931

932

934{

939

941{

943

945 Node *value;

946

947

950

951

952

953

955{

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

1025{

1031 RTE_VALUES,

1032 RTE_CTE,

1034 RTE_RESULT,

1035

1036

1039

1041{

1043

1045

1046

1047

1048

1049

1050

1051

1053

1054

1055

1056

1057

1058

1060

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

1103

1105

1107

1109

1111

1113

1114

1115

1116

1117

1119

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

1166

1168

1170

1172

1174

1175

1176

1177

1178

1179

1181

1182

1183

1184

1185

1186

1187

1188

1189

1190

1192

1194

1195

1196

1197

1199

1200

1201

1202

1203

1205

1206

1207

1208

1209

1211

1213

1215

1216

1217

1218

1219

1220

1221

1222

1223

1224

1225

1226

1227

1228

1229

1230

1231

1232

1233

1234

1236

1238

1240

1241

1242

1243

1244

1246

1248

1249

1250

1251

1252

1254

1255

1256

1257

1258

1260

1262

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

1300{

1302

1304 bool inh;

1311

1312

1313

1314

1315

1316

1317

1318

1319

1320

1321

1322

1323

1324

1325

1326

1327

1328

1329

1331{

1333

1335

1337

1338

1340

1342

1344

1346

1347

1348

1351

1352

1353

1354

1355

1356

1358{

1361 List *args;

1364

1365

1366

1367

1368

1369

1370

1372{

1380

1382{

1385 char *relname;

1386 char *polname;

1388 bool cascaded;

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

1450{

1453 Oid eqop;

1454 Oid sortop;

1455 bool reverse_sort;

1456 bool nulls_first;

1457

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

1512{

1519

1521{

1527

1528

1529

1530

1531

1532

1533

1534

1535

1536

1537

1538

1539

1540

1541

1542

1543

1544

1545

1546

1547

1548

1549

1551{

1553

1555

1558

1563

1565

1567

1569

1571

1574

1577

1578

1579

1580

1581

1582

1583

1584

1585

1586

1587

1588

1589

1591{

1593 Index rti;

1596 bool pushedDown;

1598

1599

1600

1601

1602

1603

1604

1605

1607{

1613

1614

1615

1616

1617

1618

1619

1621{

1625 char *conname;

1628

1629

1630

1631

1632

1633

1634

1636{

1644

1645

1646

1647

1648

1649

1651{

1656

1658{

1665

1667{

1675

1681

1683{

1685

1686

1687

1688

1689

1691

1694

1699

1700

1702

1703

1704

1705

1706

1708

1710

1712

1714

1717

1718

1719#define GetCTETargetList(cte) \

1720 (AssertMacro(IsA((cte)->ctequery, Query)), \

1721 ((Query *) (cte)->ctequery)->commandType == CMD_SELECT ? \

1722 ((Query *) (cte)->ctequery)->targetList : \

1723 ((Query *) (cte)->ctequery)->returningList)

1724

1725

1726

1727

1728

1729

1730

1732{

1739

1742

1743

1744

1745

1746

1747

1748

1750{

1754

1755

1756

1757

1758

1760{

1763 char *value;

1766

1767

1768

1769

1770

1772{

1775 List *exprs;

1777

1778

1779

1780

1781

1782

1783

1784

1785

1787{

1793

1794

1795

1796

1797

1798

1799

1801{

1806

1807

1808

1809

1810

1812{

1815 char *name;

1817

1818

1819

1820

1821

1823{

1828

1829

1830

1831

1832

1833

1835{

1838 char *column_name;

1839

1842 List *passing;

1850

1851

1852

1853

1854

1855

1857{

1859

1865

1866

1867

1868

1869

1871{

1875 List *passing;

1879 bool lateral;

1882

1883

1884

1885

1886

1888{

1895

1896

1897

1898

1899

1901{

1904 char *name;

1915

1916

1917

1918

1919

1920

1922{

1927

1928

1929

1930

1931

1933{

1940

1941

1942

1943

1944

1946{

1952

1953

1954

1955

1956

1958{

1964

1965

1966

1967

1968

1970{

1975 bool unique;

1978

1979

1980

1981

1982

1984{

1986 List *exprs;

1991

1992

1993

1994

1995

1997{

2005

2006

2007

2008

2009

2010

2012{

2020

2021

2022

2023

2024

2026{

2031 bool unique;

2033

2034

2035

2036

2037

2039{

2045

2046

2047

2048

2049

2050

2051

2052

2053

2054

2055

2056

2057

2058

2059

2060

2061

2062

2063

2064

2065

2067{

2069

2075

2076

2077

2078

2079

2080

2081

2082

2083

2084

2085

2086

2087

2089{

2092 List *cols;

2101

2102

2103

2104

2105

2107{

2117

2118

2119

2120

2121

2123{

2134

2135

2136

2137

2138

2140{

2151

2152

2153

2154

2155

2156

2157

2158

2159

2160

2161

2162

2163

2164

2166{

2172

2174{

2176

2177

2178

2179

2181

2190

2191

2192

2193

2194

2195

2196

2197

2198

2200

2201

2202

2203

2204

2211

2212

2213

2214

2216 bool all;

2221

2223

2224

2225

2226

2227

2228

2229

2230

2231

2232

2233

2234

2235

2236

2237

2238

2239

2240

2241

2242

2243

2245{

2248 bool all;

2251

2252

2253

2254

2256

2258

2260

2262

2264

2265

2266

2267

2268

2270{

2274

2275

2276

2277

2278

2279

2280

2281

2282

2284{

2286

2287 char *name;

2289 int nnames;

2293

2294

2295

2296

2297

2298

2299

2300

2301

2302

2303

2304

2305

2306

2307

2308

2309

2310

2311

2312

2313

2314

2316{

2370

2371

2372

2373

2374

2375

2376

2377

2378

2380{

2382 char *schemaname;

2385 bool if_not_exists;

2387

2389{

2393

2394

2395

2396

2397

2399{

2406

2408{

2476

2477typedef struct AlterTableCmd

2478{

2481 char *name;

2482

2483 int16 num;

2484

2486 Node *def;

2487

2492

2493

2495{

2506

2507

2509{

2514

2515

2516

2517

2518

2519

2521{

2525

2526

2527

2528

2529

2530

2531

2532

2533

2535{

2538

2539

2540

2541

2542

2543

2544

2546 char *name;

2547 Node *def;

2551

2552

2553

2554

2555

2556

2558{

2563

2565{

2567 bool is_grant;

2570 List *objects;

2571

2573

2579

2580

2581

2582

2583

2584

2585

2586

2587

2588

2589

2590

2591

2592

2593

2594

2595

2596

2598{

2600 List *objname;

2601 List *objargs;

2605

2606

2607

2608

2609

2610

2611

2612

2614{

2619

2620

2621

2622

2623

2624

2625

2626

2627

2628

2630{

2634 bool is_grant;

2635 List *opt;

2639

2640

2641

2642

2643

2645{

2650

2651

2652

2653

2654

2655

2656

2657

2658

2660{

2663 Node *query;

2664

2665 List *attlist;

2666

2668 bool is_program;

2669 char *filename;

2673

2674

2675

2676

2677

2678

2679

2680

2682{

2690

2692{

2694

2697

2699

2701

2702

2703

2704

2705

2706

2707

2709

2711

2714

2715

2716

2717

2718

2720{

2724

2725

2726

2727

2728

2729

2730

2731

2732

2733

2734

2735

2737{

2742

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

2787{

2789

2806

2807

2808#define FKCONSTR_ACTION_NOACTION 'a'

2809#define FKCONSTR_ACTION_RESTRICT 'r'

2810#define FKCONSTR_ACTION_CASCADE 'c'

2811#define FKCONSTR_ACTION_SETNULL 'n'

2812#define FKCONSTR_ACTION_SETDEFAULT 'd'

2813

2814

2815#define FKCONSTR_MATCH_FULL 'f'

2816#define FKCONSTR_MATCH_PARTIAL 'p'

2817#define FKCONSTR_MATCH_SIMPLE 's'

2818

2820{

2823 char *conname;

2831

2833

2837 List *keys;

2838

2841

2843

2845 char *indexname;

2846 char *indexspace;

2848

2849 char *access_method;

2851

2852

2864

2865

2868

2869

2870

2871

2872

2873

2875{

2882

2884{

2889

2891{

2897

2899{

2903 List *roles;

2907

2908

2909

2910

2911

2912

2914{

2920

2921

2923{

2928

2930{

2933 int action;

2937

2938

2939

2940

2941

2942

2944{

2946 char *fdwname;

2950

2952{

2954 char *fdwname;

2958

2959

2960

2961

2962

2963

2965{

2969 char *version;

2974

2976{

2979 char *version;

2983

2984

2985

2986

2987

2988

2990{

2995

2996

2997

2998

2999

3000

3002{

3009

3011{

3017

3019{

3025

3026

3027

3028

3029

3030

3032{

3037

3039{

3048

3049

3050

3051

3052

3054{

3058 char *cmd_name;

3059 bool permissive;

3060 List *roles;

3064

3065

3066

3067

3068

3070{

3074 List *roles;

3078

3079

3080

3081

3082

3084{

3086 char *amname;

3088 char amtype;

3090

3091

3092

3093

3094

3096{

3098 bool replace;

3104 bool row;

3105

3107

3108 int16 events;

3109 List *columns;

3111

3113

3118

3119

3120

3121

3122

3124{

3131

3132

3133

3134

3135

3137{

3140 char tgenabled;

3141

3143

3144

3145

3146

3147

3149{

3151 bool replace;

3158

3159

3160

3161

3162

3163

3164

3165

3166

3167

3169{

3174

3176{

3182

3184{

3188 int action;

3190

3192{

3195 char *database;

3198

3200{

3203 bool missing_ok;

3205

3206

3207

3208

3209

3210

3212{

3216 Oid ownerId;

3220

3222{

3227 bool missing_ok;

3229

3230

3231

3232

3233

3235{

3238 bool oldstyle;

3240 List *args;

3243 bool replace;

3245

3246

3247

3248

3249

3251{

3258

3259

3260

3261

3262

3264{

3268 char *amname;

3270 List *items;

3271 bool isDefault;

3273

3274#define OPCLASS_ITEM_OPERATOR 1

3275#define OPCLASS_ITEM_FUNCTION 2

3276#define OPCLASS_ITEM_STORAGETYPE 3

3277

3279{

3283 int number;

3286

3287

3290

3291

3292

3293

3294

3296{

3299 char *amname;

3301

3302

3303

3304

3305

3307{

3310 char *amname;

3311 bool isDrop;

3312 List *items;

3314

3315

3316

3317

3318

3319

3321{

3326 bool missing_ok;

3329

3330

3331

3332

3333

3335{

3341

3342

3343

3344

3345

3347{

3351 char *comment;

3353

3354

3355

3356

3357

3359{

3363 char *provider;

3364 char *label;

3366

3367

3368

3369

3370

3371

3372

3373

3374

3375#define CURSOR_OPT_BINARY 0x0001

3376#define CURSOR_OPT_SCROLL 0x0002

3377#define CURSOR_OPT_NO_SCROLL 0x0004

3378#define CURSOR_OPT_INSENSITIVE 0x0008

3379#define CURSOR_OPT_ASENSITIVE 0x0010

3380#define CURSOR_OPT_HOLD 0x0020

3381

3382#define CURSOR_OPT_FAST_PLAN 0x0100

3383#define CURSOR_OPT_GENERIC_PLAN 0x0200

3384#define CURSOR_OPT_CUSTOM_PLAN 0x0400

3385#define CURSOR_OPT_PARALLEL_OK 0x0800

3386

3388{

3391 int options;

3392 Node *query;

3394

3395

3396

3397

3398

3400{

3403

3405

3406

3407

3408

3409

3411{

3412

3415

3419

3420#define FETCH_ALL LONG_MAX

3421

3423{

3426 long howMany;

3430

3431

3432

3433

3434

3435

3436

3437

3438

3439

3440

3441

3443{

3445 char *idxname;

3448 char *tableSpace;

3451

3452 List *options;

3455 char *idxcomment;

3460

3463 bool primary;

3464 bool isconstraint;

3466 bool deferrable;

3467 bool initdeferred;

3468 bool transformed;

3469 bool concurrent;

3470 bool if_not_exists;

3472

3474

3475

3476

3477

3478

3480{

3484 List *exprs;

3485 List *relations;

3486 char *stxcomment;

3487 bool transformed;

3488 bool if_not_exists;

3490

3491

3492

3493

3494

3495

3496

3497

3499{

3501 char *name;

3502 Node *expr;

3504

3505

3506

3507

3508

3509

3511{

3515 bool missing_ok;

3517

3518

3519

3520

3521

3523{

3526 bool replace;

3533

3535{

3536

3542

3545

3547{

3549 char *name;

3552 Node *defexpr;

3555

3557{

3563

3564

3565

3566

3567

3568

3569

3571{

3575

3577{

3578 pg_node_attr(nodetag_only)

3579

3581 char *source_text;

3584 bool atomic;

3586

3587

3588

3589

3590

3591

3592

3593

3594

3595

3596

3597

3599{

3601

3603

3605

3608

3610{

3611 pg_node_attr(nodetag_only)

3612

3616

3617

3618

3619

3620

3622{

3628 char *subname;

3629

3634

3635

3636

3637

3638

3640{

3646 bool remove;

3648

3649

3650

3651

3652

3654{

3662

3663

3664

3665

3666

3668{

3675

3676

3677

3678

3679

3681{

3686

3687

3688

3689

3690

3692{

3697

3698

3699

3700

3701

3703{

3713

3714

3715

3716

3717

3719{

3722 char *payload;

3724

3725

3726

3727

3728

3730{

3734

3735

3736

3737

3738

3740{

3744

3745

3746

3747

3748

3750{

3762

3764{

3768

3770

3772 bool chain;

3773

3776

3777

3778

3779

3780

3782{

3787

3788

3789

3790

3791

3793{

3796 List *vals;

3798

3799

3800

3801

3802

3804{

3807 List *params;

3809

3810

3811

3812

3813

3815{

3818 char *oldVal;

3819 char *newVal;

3824

3825

3826

3827

3828

3830{

3835

3837{

3841 Node *query;

3842 bool replace;

3846

3847

3848

3849

3850

3852{

3856

3857

3858

3859

3860

3862{

3864 char *dbname;

3867

3868

3869

3870

3871

3873{

3875 char *dbname;

3878

3880{

3884

3886{

3891

3892

3893

3894

3895

3897{

3899 char *dbname;

3903

3904

3905

3906

3907

3909{

3913

3914

3915

3916

3917

3919{

3925

3926

3927

3928

3929

3930

3931

3932

3934{

3937 List *rels;

3940

3941

3942

3943

3944

3945

3946

3947

3949{

3952 Oid oid;

3953 List *va_cols;

3955

3956

3957

3958

3959

3960

3961

3962

3963

3965{

3967 Node *query;

3970

3971

3972

3973

3974

3975

3976

3977

3978

3979

3980

3981

3982

3983

3985{

3987 Node *query;

3993

3994

3995

3996

3997

3999{

4005

4006

4007

4008

4009

4011{

4014

4015

4016

4017

4018

4019

4021{

4027

4029{

4033

4034

4035

4036

4037

4039{

4045

4046

4047

4048

4049

4051{

4056

4057

4058

4059

4060

4062{

4069

4071{

4074

4076 const char *name;

4079

4080

4081

4082

4083

4085{

4091 bool def;

4093

4094

4095

4096

4097

4099{

4107

4108

4109

4110

4111

4113{

4121

4122

4123

4124

4125

4127{

4129 char *name;

4130 List *argtypes;

4131 Node *query;

4133

4134

4135

4136

4137

4138

4139

4141{

4143 char *name;

4146

4147

4148

4149

4150

4151

4153{

4155

4157

4158

4159

4160

4161

4162

4164

4167

4168

4169

4170

4172{

4177

4178

4179

4180

4182{

4187

4188

4189

4190

4192{

4197

4198

4199

4200

4202{

4209

4211{

4215

4216

4217

4218

4219

4222 bool override;

4223 bool replace;

4224 bool missing_ok;

4226

4228{

4232 List *columns;

4234

4235

4236

4237

4239{

4243

4246

4248{

4255

4257{

4259 char *pubname;

4264

4266{

4271

4273{

4275 char *pubname;

4276

4277

4279

4280

4281

4282

4283

4287

4289

4291{

4293 char *subname;

4294 char *conninfo;

4298

4300{

4310

4312{

4315 char *subname;

4316 char *conninfo;

4320

4322{

4324 char *subname;

4328

4329#endif

struct AlterDatabaseRefreshCollStmt AlterDatabaseRefreshCollStmt

struct DropSubscriptionStmt DropSubscriptionStmt

struct CreateEnumStmt CreateEnumStmt

struct CreateFunctionStmt CreateFunctionStmt

struct AlterOwnerStmt AlterOwnerStmt

struct ReturnStmt ReturnStmt

struct CreateAmStmt CreateAmStmt

@ ALTER_SUBSCRIPTION_ENABLED

@ ALTER_SUBSCRIPTION_DROP_PUBLICATION

@ ALTER_SUBSCRIPTION_SET_PUBLICATION

@ ALTER_SUBSCRIPTION_REFRESH

@ ALTER_SUBSCRIPTION_SKIP

@ ALTER_SUBSCRIPTION_OPTIONS

@ ALTER_SUBSCRIPTION_CONNECTION

@ ALTER_SUBSCRIPTION_ADD_PUBLICATION

struct TableLikeClause TableLikeClause

struct AlterSystemStmt AlterSystemStmt

@ TRANS_STMT_COMMIT_PREPARED

@ TRANS_STMT_ROLLBACK_PREPARED

struct GrantRoleStmt GrantRoleStmt

struct AlterTSDictionaryStmt AlterTSDictionaryStmt

struct OnConflictClause OnConflictClause

struct JsonTablePathSpec JsonTablePathSpec

struct AlterOperatorStmt AlterOperatorStmt

@ WCO_RLS_MERGE_UPDATE_CHECK

@ WCO_RLS_MERGE_DELETE_CHECK

struct RangeTblFunction RangeTblFunction

struct JsonScalarExpr JsonScalarExpr

struct JsonArrayAgg JsonArrayAgg

struct A_Indirection A_Indirection

struct XmlSerialize XmlSerialize

struct DeallocateStmt DeallocateStmt

struct CreateSeqStmt CreateSeqStmt

struct DropTableSpaceStmt DropTableSpaceStmt

struct CreateExtensionStmt CreateExtensionStmt

struct A_Indices A_Indices

struct CreateTableSpaceStmt CreateTableSpaceStmt

struct ReassignOwnedStmt ReassignOwnedStmt

struct VacuumStmt VacuumStmt

struct NotifyStmt NotifyStmt

struct TriggerTransition TriggerTransition

struct ClusterStmt ClusterStmt

struct MergeStmt MergeStmt

struct SelectStmt SelectStmt

struct DropdbStmt DropdbStmt

struct FunctionParameter FunctionParameter

struct UnlistenStmt UnlistenStmt

struct InsertStmt InsertStmt

struct AlterFunctionStmt AlterFunctionStmt

struct StatsElem StatsElem

struct AlterRoleSetStmt AlterRoleSetStmt

struct CreateOpFamilyStmt CreateOpFamilyStmt

struct CreatePublicationStmt CreatePublicationStmt

struct InlineCodeBlock InlineCodeBlock

struct CreateDomainStmt CreateDomainStmt

struct AlterDomainStmt AlterDomainStmt

struct AlterDefaultPrivilegesStmt AlterDefaultPrivilegesStmt

struct CreateStatsStmt CreateStatsStmt

struct JsonOutput JsonOutput

struct UpdateStmt UpdateStmt

struct AlterObjectDependsStmt AlterObjectDependsStmt

struct IndexElem IndexElem

struct AlterCollationStmt AlterCollationStmt

struct CreateForeignTableStmt CreateForeignTableStmt

struct CreateOpClassStmt CreateOpClassStmt

struct JsonObjectConstructor JsonObjectConstructor

@ ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN

@ ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN

@ ALTER_TSCONFIG_REPLACE_DICT

@ ALTER_TSCONFIG_ADD_MAPPING

@ ALTER_TSCONFIG_DROP_MAPPING

struct AlterForeignServerStmt AlterForeignServerStmt

struct ColumnDef ColumnDef

struct CreatedbStmt CreatedbStmt

struct RTEPermissionInfo RTEPermissionInfo

struct AlterEventTrigStmt AlterEventTrigStmt

struct IndexStmt IndexStmt

struct PartitionCmd PartitionCmd

@ PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA

@ PUBLICATIONOBJ_TABLES_IN_SCHEMA

@ PUBLICATIONOBJ_CONTINUATION

struct JsonArrayConstructor JsonArrayConstructor

@ PARTITION_STRATEGY_HASH

@ PARTITION_STRATEGY_LIST

@ PARTITION_STRATEGY_RANGE

@ FDW_IMPORT_SCHEMA_LIMIT_TO

@ FDW_IMPORT_SCHEMA_EXCEPT

struct AlterRoleStmt AlterRoleStmt

struct MergeWhenClause MergeWhenClause

struct WindowDef WindowDef

struct CommentStmt CommentStmt

struct JsonArgument JsonArgument

struct JsonArrayQueryConstructor JsonArrayQueryConstructor

struct WithClause WithClause

struct AlterObjectSchemaStmt AlterObjectSchemaStmt

struct MultiAssignRef MultiAssignRef

struct ImportForeignSchemaStmt ImportForeignSchemaStmt

struct ReturningOption ReturningOption

struct ReindexStmt ReindexStmt

struct CreateSubscriptionStmt CreateSubscriptionStmt

struct JsonTableColumn JsonTableColumn

struct DeleteStmt DeleteStmt

struct AlterSubscriptionStmt AlterSubscriptionStmt

struct AlterStatsStmt AlterStatsStmt

struct AlterPublicationStmt AlterPublicationStmt

struct RangeFunction RangeFunction

struct PLAssignStmt PLAssignStmt

struct ColumnRef ColumnRef

@ CONSTR_ATTR_NOT_DEFERRABLE

@ CONSTR_ATTR_NOT_ENFORCED

@ PARTITION_RANGE_DATUM_MAXVALUE

@ PARTITION_RANGE_DATUM_VALUE

@ PARTITION_RANGE_DATUM_MINVALUE

struct GroupingSet GroupingSet

struct CreatePolicyStmt CreatePolicyStmt

@ OBJECT_PUBLICATION_NAMESPACE

struct ListenStmt ListenStmt

struct PublicationObjSpec PublicationObjSpec

struct AlterTableSpaceOptionsStmt AlterTableSpaceOptionsStmt

struct CreateRoleStmt CreateRoleStmt

struct AlterTableCmd AlterTableCmd

struct RangeTableSample RangeTableSample

struct DropUserMappingStmt DropUserMappingStmt

@ REINDEX_OBJECT_DATABASE

struct CreateForeignServerStmt CreateForeignServerStmt

struct LockingClause LockingClause

@ AT_DetachPartitionFinalize

@ AT_ReAddDomainConstraint

@ AT_AlterColumnGenericOptions

struct WithCheckOption WithCheckOption

@ ACL_TARGET_ALL_IN_SCHEMA

struct CreateEventTrigStmt CreateEventTrigStmt

struct JsonObjectAgg JsonObjectAgg

struct DropOwnedStmt DropOwnedStmt

struct VariableShowStmt VariableShowStmt

struct CreateTransformStmt CreateTransformStmt

struct AlterUserMappingStmt AlterUserMappingStmt

struct PartitionRangeDatum PartitionRangeDatum

struct A_ArrayExpr A_ArrayExpr

struct JsonFuncExpr JsonFuncExpr

struct RangeTableFunc RangeTableFunc

struct InferClause InferClause

struct RangeSubselect RangeSubselect

struct CreateOpClassItem CreateOpClassItem

struct PrepareStmt PrepareStmt

struct AlterOpFamilyStmt AlterOpFamilyStmt

struct ConstraintsSetStmt ConstraintsSetStmt

struct JsonParseExpr JsonParseExpr

struct GrantStmt GrantStmt

struct SetOperationStmt SetOperationStmt

struct CreateTrigStmt CreateTrigStmt

struct CTECycleClause CTECycleClause

struct VacuumRelation VacuumRelation

struct RenameStmt RenameStmt

struct DefineStmt DefineStmt

struct CreateStmt CreateStmt

struct CreateSchemaStmt CreateSchemaStmt

struct VariableSetStmt VariableSetStmt

struct JsonAggConstructor JsonAggConstructor

struct CommonTableExpr CommonTableExpr

struct TableSampleClause TableSampleClause

struct AlterPolicyStmt AlterPolicyStmt

struct CreateConversionStmt CreateConversionStmt

struct ResTarget ResTarget

struct DropRoleStmt DropRoleStmt

struct DiscardStmt DiscardStmt

struct ReturningClause ReturningClause

struct JsonKeyValue JsonKeyValue

struct AlterExtensionStmt AlterExtensionStmt

struct AlterTableStmt AlterTableStmt

struct PartitionElem PartitionElem

struct ClosePortalStmt ClosePortalStmt

struct AccessPriv AccessPriv

struct Constraint Constraint

struct CreatePLangStmt CreatePLangStmt

struct CreateRangeStmt CreateRangeStmt

struct CreateUserMappingStmt CreateUserMappingStmt

struct AlterDatabaseSetStmt AlterDatabaseSetStmt

struct AlterTableMoveAllStmt AlterTableMoveAllStmt

struct AlterSeqStmt AlterSeqStmt

struct PublicationTable PublicationTable

struct RowMarkClause RowMarkClause

struct CreateTableAsStmt CreateTableAsStmt

struct TransactionStmt TransactionStmt

struct CreateFdwStmt CreateFdwStmt

struct DeclareCursorStmt DeclareCursorStmt

struct ExecuteStmt ExecuteStmt

struct WindowClause WindowClause

struct SecLabelStmt SecLabelStmt

struct AlterTSConfigurationStmt AlterTSConfigurationStmt

struct AlterDatabaseStmt AlterDatabaseStmt

struct AlterExtensionContentsStmt AlterExtensionContentsStmt

@ CREATE_TABLE_LIKE_COMMENTS

@ CREATE_TABLE_LIKE_GENERATED

@ CREATE_TABLE_LIKE_IDENTITY

@ CREATE_TABLE_LIKE_COMPRESSION

@ CREATE_TABLE_LIKE_STORAGE

@ CREATE_TABLE_LIKE_INDEXES

@ CREATE_TABLE_LIKE_DEFAULTS

@ CREATE_TABLE_LIKE_STATISTICS

@ CREATE_TABLE_LIKE_CONSTRAINTS

struct AlterEnumStmt AlterEnumStmt

struct CreateCastStmt CreateCastStmt

struct CheckPointStmt CheckPointStmt

struct RefreshMatViewStmt RefreshMatViewStmt

struct TruncateStmt TruncateStmt

struct AlterFdwStmt AlterFdwStmt

struct RangeTblEntry RangeTblEntry

@ SET_QUANTIFIER_DISTINCT

struct RangeTableFuncCol RangeTableFuncCol

struct SortGroupClause SortGroupClause

struct CollateClause CollateClause

struct ExplainStmt ExplainStmt

struct AlterTypeStmt AlterTypeStmt

struct CallContext CallContext

struct ObjectWithArgs ObjectWithArgs

struct ReplicaIdentityStmt ReplicaIdentityStmt

struct ATAlterConstraint ATAlterConstraint

struct CompositeTypeStmt CompositeTypeStmt

struct JsonTable JsonTable

struct FetchStmt FetchStmt

struct JsonSerializeExpr JsonSerializeExpr

struct PartitionSpec PartitionSpec

struct CTESearchClause CTESearchClause

pg_node_attr(custom_copy_equal, custom_read_write, custom_query_jumble) NodeTag type

pg_node_attr(custom_read_write) NodeTag type

VariableSetStmt * setstmt

ObjectWithArgs * opername

AlterPublicationAction action

VariableSetStmt * setstmt

AlterSubscriptionType kind

VariableSetStmt * setstmt

char * new_tablespacename

char * orig_tablespacename

Node * cycle_mark_default

bool search_breadth_first

pg_node_attr(nodetag_only) NodeTag type

FuncCall *funccall pg_node_attr(query_jumble_ignore)

CollateClause * collClause

RangeVar * identitySequence

int cterefcount pg_node_attr(query_jumble_ignore)

List *aliascolnames pg_node_attr(query_jumble_ignore)

List *ctecoltypes pg_node_attr(query_jumble_ignore)

CTECycleClause *cycle_clause pg_node_attr(query_jumble_ignore)

List *ctecoltypmods pg_node_attr(query_jumble_ignore)

CTESearchClause *search_clause pg_node_attr(query_jumble_ignore)

CTEMaterialize ctematerialized

List *ctecolnames pg_node_attr(query_jumble_ignore)

List *ctecolcollations pg_node_attr(query_jumble_ignore)

bool cterecursive pg_node_attr(query_jumble_ignore)

bool reset_default_tblspc

CollateClause * collClause

PartitionBoundSpec * partbound

char *name pg_node_attr(query_jumble_ignore)

ParseLoc location pg_node_attr(query_jumble_location)

ReturningClause * returningClause

FunctionParameterMode mode

GroupingSetKind kind pg_node_attr(query_jumble_ignore)

ImportForeignSchemaType list_type

SortByNulls nulls_ordering

bool reset_default_tblspc

SubTransactionId oldFirstRelfilelocatorSubid

SubTransactionId oldCreateSubid

List * indexIncludingParams

pg_node_attr(nodetag_only) NodeTag type

OnConflictClause * onConflictClause

ReturningClause * returningClause

JsonAggConstructor * constructor

JsonValueExpr * context_item

JsonAggConstructor * constructor

JsonReturning * returning

JsonTableColumnType coltype

JsonTablePathSpec * pathspec

JsonTablePathSpec * pathspec

JsonValueExpr * context_item

LockClauseStrength strength

LockWaitPolicy waitPolicy

ReturningClause * returningClause

PartitionBoundSpec * bound

PartitionRangeDatumKind kind

PartitionStrategy strategy

PublicationObjSpecType pubobjtype

PublicationTable * pubtable

int mergeTargetRelation pg_node_attr(query_jumble_ignore)

bool hasAggs pg_node_attr(query_jumble_ignore)

bool hasRecursive pg_node_attr(query_jumble_ignore)

Node * mergeJoinCondition

bool canSetTag pg_node_attr(query_jumble_ignore)

bool hasSubLinks pg_node_attr(query_jumble_ignore)

OnConflictExpr * onConflict

char *returningOldAlias pg_node_attr(query_jumble_ignore)

OverridingKind override pg_node_attr(query_jumble_ignore)

List *rteperminfos pg_node_attr(query_jumble_ignore)

bool hasTargetSRFs pg_node_attr(query_jumble_ignore)

bool hasGroupRTE pg_node_attr(query_jumble_ignore)

int resultRelation pg_node_attr(query_jumble_ignore)

List *withCheckOptions pg_node_attr(query_jumble_ignore)

ParseLoc stmt_len pg_node_attr(query_jumble_ignore)

bool hasDistinctOn pg_node_attr(query_jumble_ignore)

List *constraintDeps pg_node_attr(query_jumble_ignore)

bool isReturn pg_node_attr(query_jumble_ignore)

uint64 queryId pg_node_attr(equal_ignore, query_jumble_ignore, read_write_ignore, read_as(0))

bool hasWindowFuncs pg_node_attr(query_jumble_ignore)

bool hasModifyingCTE pg_node_attr(query_jumble_ignore)

bool hasForUpdate pg_node_attr(query_jumble_ignore)

char *returningNewAlias pg_node_attr(query_jumble_ignore)

bool hasRowSecurity pg_node_attr(query_jumble_ignore)

QuerySource querySource pg_node_attr(query_jumble_ignore)

List *colcollations pg_node_attr(query_jumble_ignore)

List *joinrightcols pg_node_attr(query_jumble_ignore)

Cardinality enrtuples pg_node_attr(query_jumble_ignore)

Alias *alias pg_node_attr(query_jumble_ignore)

List *groupexprs pg_node_attr(query_jumble_ignore)

List *joinleftcols pg_node_attr(query_jumble_ignore)

bool inFromCl pg_node_attr(query_jumble_ignore)

bool lateral pg_node_attr(query_jumble_ignore)

List *joinaliasvars pg_node_attr(query_jumble_ignore)

bool security_barrier pg_node_attr(query_jumble_ignore)

struct TableSampleClause * tablesample

Alias *eref pg_node_attr(custom_query_jumble)

List *coltypmods pg_node_attr(query_jumble_ignore)

List *securityQuals pg_node_attr(query_jumble_ignore)

int rellockmode pg_node_attr(query_jumble_ignore)

pg_node_attr(custom_read_write) NodeTag type

char relkind pg_node_attr(query_jumble_ignore)

int joinmergedcols pg_node_attr(query_jumble_ignore)

Index perminfoindex pg_node_attr(query_jumble_ignore)

bool self_reference pg_node_attr(query_jumble_ignore)

List *coltypes pg_node_attr(query_jumble_ignore)

Oid relid pg_node_attr(query_jumble_ignore)

Alias *join_using_alias pg_node_attr(query_jumble_ignore)

List *funccolcollations pg_node_attr(query_jumble_ignore)

Bitmapset *funcparams pg_node_attr(query_jumble_ignore)

List *funccolnames pg_node_attr(query_jumble_ignore)

int funccolcount pg_node_attr(query_jumble_ignore)

List *funccoltypes pg_node_attr(query_jumble_ignore)

List *funccoltypmods pg_node_attr(query_jumble_ignore)

pg_node_attr(no_query_jumble) NodeTag type

ReturningOptionKind option

LockClauseStrength strength

LockWaitPolicy waitPolicy

List *colCollations pg_node_attr(query_jumble_ignore)

List *colTypes pg_node_attr(query_jumble_ignore)

List *groupClauses pg_node_attr(query_jumble_ignore)

List *colTypmods pg_node_attr(query_jumble_ignore)

bool hashable pg_node_attr(query_jumble_ignore)

ParseLoc location pg_node_attr(query_jumble_location)

char *savepoint_name pg_node_attr(query_jumble_ignore)

char *gid pg_node_attr(query_jumble_ignore)

ReturningClause * returningClause

ParseLoc location pg_node_attr(query_jumble_location)

pg_node_attr(custom_query_jumble) NodeTag type

ViewCheckOption withCheckOption

bool inRangeNullsFirst pg_node_attr(query_jumble_ignore)

bool inRangeAsc pg_node_attr(query_jumble_ignore)

Oid inRangeColl pg_node_attr(query_jumble_ignore)

bool copiedOrder pg_node_attr(query_jumble_ignore)

char *refname pg_node_attr(query_jumble_ignore)

Oid startInRangeFunc pg_node_attr(query_jumble_ignore)

Oid endInRangeFunc pg_node_attr(query_jumble_ignore)

char *name pg_node_attr(query_jumble_ignore)