PostgreSQL Source Code: src/include/tcop/deparse_utility.h Source File

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-2025, 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 */
24 typedef enum CollectedCommandType
25{
26 SCT_Simple,
27 SCT_AlterTable,
28 SCT_Grant,
29 SCT_AlterOpFamily,
30 SCT_AlterDefaultPrivileges,
31 SCT_CreateOpClass,
32 SCT_AlterTSConfig,
33 } CollectedCommandType;
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, ... */
41 Node *parsetree;
42 } CollectedATSubcmd;
43
44 typedef struct CollectedCommand
45{
46 CollectedCommandType type;
47
48 bool in_extension;
49 Node *parsetree;
50
51 union
52 {
53 /* most commands */
54 struct
55 {
56 ObjectAddress address;
57 ObjectAddress secondaryObject;
58 } simple;
59
60 /* ALTER TABLE, and internal uses thereof */
61 struct
62 {
63 Oid objectId;
64 Oid classId;
65 List *subcmds;
66 } alterTable;
67
68 /* GRANT / REVOKE */
69 struct
70 {
71 InternalGrant *istmt;
72 } grant;
73
74 /* ALTER OPERATOR FAMILY */
75 struct
76 {
77 ObjectAddress address;
78 List *operators;
79 List *procedures;
80 } opfam;
81
82 /* CREATE OPERATOR CLASS */
83 struct
84 {
85 ObjectAddress address;
86 List *operators;
87 List *procedures;
88 } createopc;
89
90 /* ALTER TEXT SEARCH CONFIGURATION ADD/ALTER/DROP MAPPING */
91 struct
92 {
93 ObjectAddress address;
94 Oid *dictIds;
95 int ndicts;
96 } atscfg;
97
98 /* ALTER DEFAULT PRIVILEGES */
99 struct
100 {
101 ObjectType objtype;
102 } defprivs;
103 } d;
104
105 struct CollectedCommand *parent; /* when nested */
106 } CollectedCommand;
107
108#endif /* DEPARSE_UTILITY_H */
struct CollectedCommand CollectedCommand
CollectedCommandType
@ SCT_Simple
@ SCT_AlterTSConfig
@ SCT_AlterDefaultPrivileges
@ SCT_Grant
@ SCT_CreateOpClass
@ SCT_AlterOpFamily
@ SCT_AlterTable
struct CollectedATSubcmd CollectedATSubcmd
ObjectType
Definition: parsenodes.h:2324
unsigned int Oid
Definition: postgres_ext.h:32
ObjectAddress address
struct CollectedCommand::@131::@136 createopc
CollectedCommandType type
struct CollectedCommand::@131::@133 alterTable
InternalGrant * istmt
union CollectedCommand::@131 d
struct CollectedCommand::@131::@135 opfam
struct CollectedCommand * parent
struct CollectedCommand::@131::@138 defprivs
ObjectType objtype
ObjectAddress secondaryObject
ObjectAddress address
struct CollectedCommand::@131::@132 simple
struct CollectedCommand::@131::@134 grant
struct CollectedCommand::@131::@137 atscfg
Definition: pg_list.h:54
Definition: nodes.h:135

AltStyle によって変換されたページ (->オリジナル) /