|
39 | 39 | * POST_DATA objects must sort after DO_POST_DATA_BOUNDARY, and DATA objects
|
40 | 40 | * must sort between them.
|
41 | 41 | */
|
| 42 | + |
| 43 | +/* This enum lists the priority levels in order */ |
| 44 | +enum dbObjectTypePriorities |
| 45 | +{ |
| 46 | + PRIO_NAMESPACE = 1, |
| 47 | + PRIO_PROCLANG, |
| 48 | + PRIO_COLLATION, |
| 49 | + PRIO_TRANSFORM, |
| 50 | + PRIO_EXTENSION, |
| 51 | + PRIO_TYPE, /* used for DO_TYPE and DO_SHELL_TYPE */ |
| 52 | + PRIO_FUNC, |
| 53 | + PRIO_AGG, |
| 54 | + PRIO_ACCESS_METHOD, |
| 55 | + PRIO_OPERATOR, |
| 56 | + PRIO_OPFAMILY, /* used for DO_OPFAMILY and DO_OPCLASS */ |
| 57 | + PRIO_CAST, |
| 58 | + PRIO_CONVERSION, |
| 59 | + PRIO_TSPARSER, |
| 60 | + PRIO_TSTEMPLATE, |
| 61 | + PRIO_TSDICT, |
| 62 | + PRIO_TSCONFIG, |
| 63 | + PRIO_FDW, |
| 64 | + PRIO_FOREIGN_SERVER, |
| 65 | + PRIO_TABLE, |
| 66 | + PRIO_DUMMY_TYPE, |
| 67 | + PRIO_ATTRDEF, |
| 68 | + PRIO_BLOB, |
| 69 | + PRIO_PRE_DATA_BOUNDARY, /* boundary! */ |
| 70 | + PRIO_TABLE_DATA, |
| 71 | + PRIO_SEQUENCE_SET, |
| 72 | + PRIO_BLOB_DATA, |
| 73 | + PRIO_POST_DATA_BOUNDARY, /* boundary! */ |
| 74 | + PRIO_CONSTRAINT, |
| 75 | + PRIO_INDEX, |
| 76 | + PRIO_INDEX_ATTACH, |
| 77 | + PRIO_STATSEXT, |
| 78 | + PRIO_RULE, |
| 79 | + PRIO_TRIGGER, |
| 80 | + PRIO_FK_CONSTRAINT, |
| 81 | + PRIO_POLICY, |
| 82 | + PRIO_PUBLICATION, |
| 83 | + PRIO_PUBLICATION_REL, |
| 84 | + PRIO_SUBSCRIPTION, |
| 85 | + PRIO_DEFAULT_ACL, /* done in ACL pass */ |
| 86 | + PRIO_EVENT_TRIGGER, /* must be next to last! */ |
| 87 | + PRIO_REFRESH_MATVIEW /* must be last! */ |
| 88 | +}; |
| 89 | + |
| 90 | +/* This table is indexed by enum DumpableObjectType */ |
42 | 91 | static const int dbObjectTypePriority[] =
|
43 | 92 | {
|
44 |
| - 1, /* DO_NAMESPACE */ |
45 |
| - 4, /* DO_EXTENSION */ |
46 |
| - 5, /* DO_TYPE */ |
47 |
| - 5, /* DO_SHELL_TYPE */ |
48 |
| - 6, /* DO_FUNC */ |
49 |
| - 7, /* DO_AGG */ |
50 |
| - 8, /* DO_OPERATOR */ |
51 |
| - 8, /* DO_ACCESS_METHOD */ |
52 |
| - 9, /* DO_OPCLASS */ |
53 |
| - 9, /* DO_OPFAMILY */ |
54 |
| - 3, /* DO_COLLATION */ |
55 |
| - 11, /* DO_CONVERSION */ |
56 |
| - 18, /* DO_TABLE */ |
57 |
| - 20, /* DO_ATTRDEF */ |
58 |
| - 28, /* DO_INDEX */ |
59 |
| - 29, /* DO_INDEX_ATTACH */ |
60 |
| - 30, /* DO_STATSEXT */ |
61 |
| - 31, /* DO_RULE */ |
62 |
| - 32, /* DO_TRIGGER */ |
63 |
| - 27, /* DO_CONSTRAINT */ |
64 |
| - 33, /* DO_FK_CONSTRAINT */ |
65 |
| - 2, /* DO_PROCLANG */ |
66 |
| - 10, /* DO_CAST */ |
67 |
| - 23, /* DO_TABLE_DATA */ |
68 |
| - 24, /* DO_SEQUENCE_SET */ |
69 |
| - 19, /* DO_DUMMY_TYPE */ |
70 |
| - 12, /* DO_TSPARSER */ |
71 |
| - 14, /* DO_TSDICT */ |
72 |
| - 13, /* DO_TSTEMPLATE */ |
73 |
| - 15, /* DO_TSCONFIG */ |
74 |
| - 16, /* DO_FDW */ |
75 |
| - 17, /* DO_FOREIGN_SERVER */ |
76 |
| - 38, /* DO_DEFAULT_ACL --- done in ACL pass */ |
77 |
| - 3, /* DO_TRANSFORM */ |
78 |
| - 21, /* DO_BLOB */ |
79 |
| - 25, /* DO_BLOB_DATA */ |
80 |
| - 22, /* DO_PRE_DATA_BOUNDARY */ |
81 |
| - 26, /* DO_POST_DATA_BOUNDARY */ |
82 |
| - 39, /* DO_EVENT_TRIGGER --- next to last! */ |
83 |
| - 40, /* DO_REFRESH_MATVIEW --- last! */ |
84 |
| - 34, /* DO_POLICY */ |
85 |
| - 35, /* DO_PUBLICATION */ |
86 |
| - 36, /* DO_PUBLICATION_REL */ |
87 |
| - 37 /* DO_SUBSCRIPTION */ |
| 93 | + PRIO_NAMESPACE, /* DO_NAMESPACE */ |
| 94 | + PRIO_EXTENSION, /* DO_EXTENSION */ |
| 95 | + PRIO_TYPE, /* DO_TYPE */ |
| 96 | + PRIO_TYPE, /* DO_SHELL_TYPE */ |
| 97 | + PRIO_FUNC, /* DO_FUNC */ |
| 98 | + PRIO_AGG, /* DO_AGG */ |
| 99 | + PRIO_OPERATOR, /* DO_OPERATOR */ |
| 100 | + PRIO_ACCESS_METHOD, /* DO_ACCESS_METHOD */ |
| 101 | + PRIO_OPFAMILY, /* DO_OPCLASS */ |
| 102 | + PRIO_OPFAMILY, /* DO_OPFAMILY */ |
| 103 | + PRIO_COLLATION, /* DO_COLLATION */ |
| 104 | + PRIO_CONVERSION, /* DO_CONVERSION */ |
| 105 | + PRIO_TABLE, /* DO_TABLE */ |
| 106 | + PRIO_ATTRDEF, /* DO_ATTRDEF */ |
| 107 | + PRIO_INDEX, /* DO_INDEX */ |
| 108 | + PRIO_INDEX_ATTACH, /* DO_INDEX_ATTACH */ |
| 109 | + PRIO_STATSEXT, /* DO_STATSEXT */ |
| 110 | + PRIO_RULE, /* DO_RULE */ |
| 111 | + PRIO_TRIGGER, /* DO_TRIGGER */ |
| 112 | + PRIO_CONSTRAINT, /* DO_CONSTRAINT */ |
| 113 | + PRIO_FK_CONSTRAINT, /* DO_FK_CONSTRAINT */ |
| 114 | + PRIO_PROCLANG, /* DO_PROCLANG */ |
| 115 | + PRIO_CAST, /* DO_CAST */ |
| 116 | + PRIO_TABLE_DATA, /* DO_TABLE_DATA */ |
| 117 | + PRIO_SEQUENCE_SET, /* DO_SEQUENCE_SET */ |
| 118 | + PRIO_DUMMY_TYPE, /* DO_DUMMY_TYPE */ |
| 119 | + PRIO_TSPARSER, /* DO_TSPARSER */ |
| 120 | + PRIO_TSDICT, /* DO_TSDICT */ |
| 121 | + PRIO_TSTEMPLATE, /* DO_TSTEMPLATE */ |
| 122 | + PRIO_TSCONFIG, /* DO_TSCONFIG */ |
| 123 | + PRIO_FDW, /* DO_FDW */ |
| 124 | + PRIO_FOREIGN_SERVER, /* DO_FOREIGN_SERVER */ |
| 125 | + PRIO_DEFAULT_ACL, /* DO_DEFAULT_ACL */ |
| 126 | + PRIO_TRANSFORM, /* DO_TRANSFORM */ |
| 127 | + PRIO_BLOB, /* DO_BLOB */ |
| 128 | + PRIO_BLOB_DATA, /* DO_BLOB_DATA */ |
| 129 | + PRIO_PRE_DATA_BOUNDARY, /* DO_PRE_DATA_BOUNDARY */ |
| 130 | + PRIO_POST_DATA_BOUNDARY, /* DO_POST_DATA_BOUNDARY */ |
| 131 | + PRIO_EVENT_TRIGGER, /* DO_EVENT_TRIGGER */ |
| 132 | + PRIO_REFRESH_MATVIEW, /* DO_REFRESH_MATVIEW */ |
| 133 | + PRIO_POLICY, /* DO_POLICY */ |
| 134 | + PRIO_PUBLICATION, /* DO_PUBLICATION */ |
| 135 | + PRIO_PUBLICATION_REL, /* DO_PUBLICATION_REL */ |
| 136 | + PRIO_SUBSCRIPTION /* DO_SUBSCRIPTION */ |
88 | 137 | };
|
89 | 138 |
|
90 | 139 | StaticAssertDecl(lengthof(dbObjectTypePriority) == (DO_SUBSCRIPTION + 1),
|
|
0 commit comments