PostgreSQL Source Code  git master
deparse_utility.h
Go to the documentation of this file.
1 /*-------------------------------------------------------------------------
2  *
3  * deparse_utility.h
4  *
5  * Portions Copyright (c) 1996-2019, PostgreSQL Global Development Group
6  * Portions Copyright (c) 1994, Regents of the University of California
7  *
8  * src/include/tcop/deparse_utility.h
9  *
10  *-------------------------------------------------------------------------
11  */
12 #ifndef DEPARSE_UTILITY_H
13 #define DEPARSE_UTILITY_H
14 
15 #include "access/attnum.h"
16 #include "catalog/objectaddress.h"
17 #include "nodes/nodes.h"
18 #include "utils/aclchk_internal.h"
19 
20 
21 /*
22  * Support for keeping track of collected commands.
23  */
25 {
34 
35 /*
36  * For ALTER TABLE commands, we keep a list of the subcommands therein.
37  */
38 typedef struct CollectedATSubcmd
39 {
40  ObjectAddress address; /* affected column, constraint, index, ... */
43 
44 typedef struct CollectedCommand
45 {
47 
50 
51  union
52  {
53  /* most commands */
54  struct
55  {
58  } simple;
59 
60  /* ALTER TABLE, and internal uses thereof */
61  struct
62  {
66  } alterTable;
67 
68  /* GRANT / REVOKE */
69  struct
70  {
72  } grant;
73 
74  /* ALTER OPERATOR FAMILY */
75  struct
76  {
80  } opfam;
81 
82  /* CREATE OPERATOR CLASS */
83  struct
84  {
86  List *operators;
87  List *procedures;
88  } createopc;
89 
90  /* ALTER TEXT SEARCH CONFIGURATION ADD/ALTER/DROP MAPPING */
91  struct
92  {
95  int ndicts;
96  } atscfg;
97 
98  /* ALTER DEFAULT PRIVILEGES */
99  struct
100  {
102  } defprivs;
103  } d;
104 
105  struct CollectedCommand *parent; /* when nested */
107 
108 #endif /* DEPARSE_UTILITY_H */
Definition: nodes.h:525
struct CollectedATSubcmd CollectedATSubcmd
CollectedCommandType type
unsigned int Oid
Definition: postgres_ext.h:31
ObjectAddress secondaryObject
CollectedCommandType
struct CollectedCommand * parent
ObjectType
Definition: parsenodes.h:1669
InternalGrant * istmt
ObjectAddress address
struct CollectedCommand CollectedCommand
Definition: pg_list.h:50
ObjectAddress address