1#[derive(Clone, PartialEq, ::prost::Message)]
3pub struct ParseResult {
4 #[prost(int32, tag = "1")]
5 pub version: i32,
6 #[prost(message, repeated, tag = "2")]
7 pub stmts: ::prost::alloc::vec::Vec<RawStmt>,
8}
9#[derive(Clone, PartialEq, ::prost::Message)]
10pub struct ScanResult {
11 #[prost(int32, tag = "1")]
12 pub version: i32,
13 #[prost(message, repeated, tag = "2")]
14 pub tokens: ::prost::alloc::vec::Vec<ScanToken>,
15}
16#[derive(Clone, PartialEq, ::prost::Message)]
17pub struct Node {
18 #[prost(
19 oneof = "node::Node",
20 tags = "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"
21 )]
22 pub node: ::core::option::Option<node::Node>,
23}
24pub mod node {
26 #[derive(Clone, PartialEq, ::prost::Oneof)]
27 pub enum Node {
28 #[prost(message, tag = "1")]
29 Alias(super::Alias),
30 #[prost(message, tag = "2")]
31 RangeVar(super::RangeVar),
32 #[prost(message, tag = "3")]
33 TableFunc(::prost::alloc::boxed::Box<super::TableFunc>),
34 #[prost(message, tag = "4")]
35 IntoClause(::prost::alloc::boxed::Box<super::IntoClause>),
36 #[prost(message, tag = "5")]
37 Var(::prost::alloc::boxed::Box<super::Var>),
38 #[prost(message, tag = "6")]
39 Param(::prost::alloc::boxed::Box<super::Param>),
40 #[prost(message, tag = "7")]
41 Aggref(::prost::alloc::boxed::Box<super::Aggref>),
42 #[prost(message, tag = "8")]
43 GroupingFunc(::prost::alloc::boxed::Box<super::GroupingFunc>),
44 #[prost(message, tag = "9")]
45 WindowFunc(::prost::alloc::boxed::Box<super::WindowFunc>),
46 #[prost(message, tag = "10")]
47 WindowFuncRunCondition(
48 ::prost::alloc::boxed::Box<super::WindowFuncRunCondition>,
49 ),
50 #[prost(message, tag = "11")]
51 MergeSupportFunc(::prost::alloc::boxed::Box<super::MergeSupportFunc>),
52 #[prost(message, tag = "12")]
53 SubscriptingRef(::prost::alloc::boxed::Box<super::SubscriptingRef>),
54 #[prost(message, tag = "13")]
55 FuncExpr(::prost::alloc::boxed::Box<super::FuncExpr>),
56 #[prost(message, tag = "14")]
57 NamedArgExpr(::prost::alloc::boxed::Box<super::NamedArgExpr>),
58 #[prost(message, tag = "15")]
59 OpExpr(::prost::alloc::boxed::Box<super::OpExpr>),
60 #[prost(message, tag = "16")]
61 DistinctExpr(::prost::alloc::boxed::Box<super::DistinctExpr>),
62 #[prost(message, tag = "17")]
63 NullIfExpr(::prost::alloc::boxed::Box<super::NullIfExpr>),
64 #[prost(message, tag = "18")]
65 ScalarArrayOpExpr(::prost::alloc::boxed::Box<super::ScalarArrayOpExpr>),
66 #[prost(message, tag = "19")]
67 BoolExpr(::prost::alloc::boxed::Box<super::BoolExpr>),
68 #[prost(message, tag = "20")]
69 SubLink(::prost::alloc::boxed::Box<super::SubLink>),
70 #[prost(message, tag = "21")]
71 SubPlan(::prost::alloc::boxed::Box<super::SubPlan>),
72 #[prost(message, tag = "22")]
73 AlternativeSubPlan(::prost::alloc::boxed::Box<super::AlternativeSubPlan>),
74 #[prost(message, tag = "23")]
75 FieldSelect(::prost::alloc::boxed::Box<super::FieldSelect>),
76 #[prost(message, tag = "24")]
77 FieldStore(::prost::alloc::boxed::Box<super::FieldStore>),
78 #[prost(message, tag = "25")]
79 RelabelType(::prost::alloc::boxed::Box<super::RelabelType>),
80 #[prost(message, tag = "26")]
81 CoerceViaIo(::prost::alloc::boxed::Box<super::CoerceViaIo>),
82 #[prost(message, tag = "27")]
83 ArrayCoerceExpr(::prost::alloc::boxed::Box<super::ArrayCoerceExpr>),
84 #[prost(message, tag = "28")]
85 ConvertRowtypeExpr(::prost::alloc::boxed::Box<super::ConvertRowtypeExpr>),
86 #[prost(message, tag = "29")]
87 CollateExpr(::prost::alloc::boxed::Box<super::CollateExpr>),
88 #[prost(message, tag = "30")]
89 CaseExpr(::prost::alloc::boxed::Box<super::CaseExpr>),
90 #[prost(message, tag = "31")]
91 CaseWhen(::prost::alloc::boxed::Box<super::CaseWhen>),
92 #[prost(message, tag = "32")]
93 CaseTestExpr(::prost::alloc::boxed::Box<super::CaseTestExpr>),
94 #[prost(message, tag = "33")]
95 ArrayExpr(::prost::alloc::boxed::Box<super::ArrayExpr>),
96 #[prost(message, tag = "34")]
97 RowExpr(::prost::alloc::boxed::Box<super::RowExpr>),
98 #[prost(message, tag = "35")]
99 RowCompareExpr(::prost::alloc::boxed::Box<super::RowCompareExpr>),
100 #[prost(message, tag = "36")]
101 CoalesceExpr(::prost::alloc::boxed::Box<super::CoalesceExpr>),
102 #[prost(message, tag = "37")]
103 MinMaxExpr(::prost::alloc::boxed::Box<super::MinMaxExpr>),
104 #[prost(message, tag = "38")]
105 SqlvalueFunction(::prost::alloc::boxed::Box<super::SqlValueFunction>),
106 #[prost(message, tag = "39")]
107 XmlExpr(::prost::alloc::boxed::Box<super::XmlExpr>),
108 #[prost(message, tag = "40")]
109 JsonFormat(super::JsonFormat),
110 #[prost(message, tag = "41")]
111 JsonReturning(super::JsonReturning),
112 #[prost(message, tag = "42")]
113 JsonValueExpr(::prost::alloc::boxed::Box<super::JsonValueExpr>),
114 #[prost(message, tag = "43")]
115 JsonConstructorExpr(::prost::alloc::boxed::Box<super::JsonConstructorExpr>),
116 #[prost(message, tag = "44")]
117 JsonIsPredicate(::prost::alloc::boxed::Box<super::JsonIsPredicate>),
118 #[prost(message, tag = "45")]
119 JsonBehavior(::prost::alloc::boxed::Box<super::JsonBehavior>),
120 #[prost(message, tag = "46")]
121 JsonExpr(::prost::alloc::boxed::Box<super::JsonExpr>),
122 #[prost(message, tag = "47")]
123 JsonTablePath(super::JsonTablePath),
124 #[prost(message, tag = "48")]
125 JsonTablePathScan(::prost::alloc::boxed::Box<super::JsonTablePathScan>),
126 #[prost(message, tag = "49")]
127 JsonTableSiblingJoin(::prost::alloc::boxed::Box<super::JsonTableSiblingJoin>),
128 #[prost(message, tag = "50")]
129 NullTest(::prost::alloc::boxed::Box<super::NullTest>),
130 #[prost(message, tag = "51")]
131 BooleanTest(::prost::alloc::boxed::Box<super::BooleanTest>),
132 #[prost(message, tag = "52")]
133 MergeAction(::prost::alloc::boxed::Box<super::MergeAction>),
134 #[prost(message, tag = "53")]
135 CoerceToDomain(::prost::alloc::boxed::Box<super::CoerceToDomain>),
136 #[prost(message, tag = "54")]
137 CoerceToDomainValue(::prost::alloc::boxed::Box<super::CoerceToDomainValue>),
138 #[prost(message, tag = "55")]
139 SetToDefault(::prost::alloc::boxed::Box<super::SetToDefault>),
140 #[prost(message, tag = "56")]
141 CurrentOfExpr(::prost::alloc::boxed::Box<super::CurrentOfExpr>),
142 #[prost(message, tag = "57")]
143 NextValueExpr(::prost::alloc::boxed::Box<super::NextValueExpr>),
144 #[prost(message, tag = "58")]
145 InferenceElem(::prost::alloc::boxed::Box<super::InferenceElem>),
146 #[prost(message, tag = "59")]
147 TargetEntry(::prost::alloc::boxed::Box<super::TargetEntry>),
148 #[prost(message, tag = "60")]
149 RangeTblRef(super::RangeTblRef),
150 #[prost(message, tag = "61")]
151 JoinExpr(::prost::alloc::boxed::Box<super::JoinExpr>),
152 #[prost(message, tag = "62")]
153 FromExpr(::prost::alloc::boxed::Box<super::FromExpr>),
154 #[prost(message, tag = "63")]
155 OnConflictExpr(::prost::alloc::boxed::Box<super::OnConflictExpr>),
156 #[prost(message, tag = "64")]
157 Query(::prost::alloc::boxed::Box<super::Query>),
158 #[prost(message, tag = "65")]
159 TypeName(super::TypeName),
160 #[prost(message, tag = "66")]
161 ColumnRef(super::ColumnRef),
162 #[prost(message, tag = "67")]
163 ParamRef(super::ParamRef),
164 #[prost(message, tag = "68")]
165 AExpr(::prost::alloc::boxed::Box<super::AExpr>),
166 #[prost(message, tag = "69")]
167 TypeCast(::prost::alloc::boxed::Box<super::TypeCast>),
168 #[prost(message, tag = "70")]
169 CollateClause(::prost::alloc::boxed::Box<super::CollateClause>),
170 #[prost(message, tag = "71")]
171 RoleSpec(super::RoleSpec),
172 #[prost(message, tag = "72")]
173 FuncCall(::prost::alloc::boxed::Box<super::FuncCall>),
174 #[prost(message, tag = "73")]
175 AStar(super::AStar),
176 #[prost(message, tag = "74")]
177 AIndices(::prost::alloc::boxed::Box<super::AIndices>),
178 #[prost(message, tag = "75")]
179 AIndirection(::prost::alloc::boxed::Box<super::AIndirection>),
180 #[prost(message, tag = "76")]
181 AArrayExpr(super::AArrayExpr),
182 #[prost(message, tag = "77")]
183 ResTarget(::prost::alloc::boxed::Box<super::ResTarget>),
184 #[prost(message, tag = "78")]
185 MultiAssignRef(::prost::alloc::boxed::Box<super::MultiAssignRef>),
186 #[prost(message, tag = "79")]
187 SortBy(::prost::alloc::boxed::Box<super::SortBy>),
188 #[prost(message, tag = "80")]
189 WindowDef(::prost::alloc::boxed::Box<super::WindowDef>),
190 #[prost(message, tag = "81")]
191 RangeSubselect(::prost::alloc::boxed::Box<super::RangeSubselect>),
192 #[prost(message, tag = "82")]
193 RangeFunction(super::RangeFunction),
194 #[prost(message, tag = "83")]
195 RangeTableFunc(::prost::alloc::boxed::Box<super::RangeTableFunc>),
196 #[prost(message, tag = "84")]
197 RangeTableFuncCol(::prost::alloc::boxed::Box<super::RangeTableFuncCol>),
198 #[prost(message, tag = "85")]
199 RangeTableSample(::prost::alloc::boxed::Box<super::RangeTableSample>),
200 #[prost(message, tag = "86")]
201 ColumnDef(::prost::alloc::boxed::Box<super::ColumnDef>),
202 #[prost(message, tag = "87")]
203 TableLikeClause(super::TableLikeClause),
204 #[prost(message, tag = "88")]
205 IndexElem(::prost::alloc::boxed::Box<super::IndexElem>),
206 #[prost(message, tag = "89")]
207 DefElem(::prost::alloc::boxed::Box<super::DefElem>),
208 #[prost(message, tag = "90")]
209 LockingClause(super::LockingClause),
210 #[prost(message, tag = "91")]
211 XmlSerialize(::prost::alloc::boxed::Box<super::XmlSerialize>),
212 #[prost(message, tag = "92")]
213 PartitionElem(::prost::alloc::boxed::Box<super::PartitionElem>),
214 #[prost(message, tag = "93")]
215 PartitionSpec(super::PartitionSpec),
216 #[prost(message, tag = "94")]
217 PartitionBoundSpec(super::PartitionBoundSpec),
218 #[prost(message, tag = "95")]
219 PartitionRangeDatum(::prost::alloc::boxed::Box<super::PartitionRangeDatum>),
220 #[prost(message, tag = "96")]
221 SinglePartitionSpec(super::SinglePartitionSpec),
222 #[prost(message, tag = "97")]
223 PartitionCmd(super::PartitionCmd),
224 #[prost(message, tag = "98")]
225 RangeTblEntry(::prost::alloc::boxed::Box<super::RangeTblEntry>),
226 #[prost(message, tag = "99")]
227 RtepermissionInfo(super::RtePermissionInfo),
228 #[prost(message, tag = "100")]
229 RangeTblFunction(::prost::alloc::boxed::Box<super::RangeTblFunction>),
230 #[prost(message, tag = "101")]
231 TableSampleClause(::prost::alloc::boxed::Box<super::TableSampleClause>),
232 #[prost(message, tag = "102")]
233 WithCheckOption(::prost::alloc::boxed::Box<super::WithCheckOption>),
234 #[prost(message, tag = "103")]
235 SortGroupClause(super::SortGroupClause),
236 #[prost(message, tag = "104")]
237 GroupingSet(super::GroupingSet),
238 #[prost(message, tag = "105")]
239 WindowClause(::prost::alloc::boxed::Box<super::WindowClause>),
240 #[prost(message, tag = "106")]
241 RowMarkClause(super::RowMarkClause),
242 #[prost(message, tag = "107")]
243 WithClause(super::WithClause),
244 #[prost(message, tag = "108")]
245 InferClause(::prost::alloc::boxed::Box<super::InferClause>),
246 #[prost(message, tag = "109")]
247 OnConflictClause(::prost::alloc::boxed::Box<super::OnConflictClause>),
248 #[prost(message, tag = "110")]
249 CtesearchClause(super::CteSearchClause),
250 #[prost(message, tag = "111")]
251 CtecycleClause(::prost::alloc::boxed::Box<super::CteCycleClause>),
252 #[prost(message, tag = "112")]
253 CommonTableExpr(::prost::alloc::boxed::Box<super::CommonTableExpr>),
254 #[prost(message, tag = "113")]
255 MergeWhenClause(::prost::alloc::boxed::Box<super::MergeWhenClause>),
256 #[prost(message, tag = "114")]
257 TriggerTransition(super::TriggerTransition),
258 #[prost(message, tag = "115")]
259 JsonOutput(super::JsonOutput),
260 #[prost(message, tag = "116")]
261 JsonArgument(::prost::alloc::boxed::Box<super::JsonArgument>),
262 #[prost(message, tag = "117")]
263 JsonFuncExpr(::prost::alloc::boxed::Box<super::JsonFuncExpr>),
264 #[prost(message, tag = "118")]
265 JsonTablePathSpec(::prost::alloc::boxed::Box<super::JsonTablePathSpec>),
266 #[prost(message, tag = "119")]
267 JsonTable(::prost::alloc::boxed::Box<super::JsonTable>),
268 #[prost(message, tag = "120")]
269 JsonTableColumn(::prost::alloc::boxed::Box<super::JsonTableColumn>),
270 #[prost(message, tag = "121")]
271 JsonKeyValue(::prost::alloc::boxed::Box<super::JsonKeyValue>),
272 #[prost(message, tag = "122")]
273 JsonParseExpr(::prost::alloc::boxed::Box<super::JsonParseExpr>),
274 #[prost(message, tag = "123")]
275 JsonScalarExpr(::prost::alloc::boxed::Box<super::JsonScalarExpr>),
276 #[prost(message, tag = "124")]
277 JsonSerializeExpr(::prost::alloc::boxed::Box<super::JsonSerializeExpr>),
278 #[prost(message, tag = "125")]
279 JsonObjectConstructor(super::JsonObjectConstructor),
280 #[prost(message, tag = "126")]
281 JsonArrayConstructor(super::JsonArrayConstructor),
282 #[prost(message, tag = "127")]
283 JsonArrayQueryConstructor(
284 ::prost::alloc::boxed::Box<super::JsonArrayQueryConstructor>,
285 ),
286 #[prost(message, tag = "128")]
287 JsonAggConstructor(::prost::alloc::boxed::Box<super::JsonAggConstructor>),
288 #[prost(message, tag = "129")]
289 JsonObjectAgg(::prost::alloc::boxed::Box<super::JsonObjectAgg>),
290 #[prost(message, tag = "130")]
291 JsonArrayAgg(::prost::alloc::boxed::Box<super::JsonArrayAgg>),
292 #[prost(message, tag = "131")]
293 RawStmt(::prost::alloc::boxed::Box<super::RawStmt>),
294 #[prost(message, tag = "132")]
295 InsertStmt(::prost::alloc::boxed::Box<super::InsertStmt>),
296 #[prost(message, tag = "133")]
297 DeleteStmt(::prost::alloc::boxed::Box<super::DeleteStmt>),
298 #[prost(message, tag = "134")]
299 UpdateStmt(::prost::alloc::boxed::Box<super::UpdateStmt>),
300 #[prost(message, tag = "135")]
301 MergeStmt(::prost::alloc::boxed::Box<super::MergeStmt>),
302 #[prost(message, tag = "136")]
303 SelectStmt(::prost::alloc::boxed::Box<super::SelectStmt>),
304 #[prost(message, tag = "137")]
305 SetOperationStmt(::prost::alloc::boxed::Box<super::SetOperationStmt>),
306 #[prost(message, tag = "138")]
307 ReturnStmt(::prost::alloc::boxed::Box<super::ReturnStmt>),
308 #[prost(message, tag = "139")]
309 PlassignStmt(::prost::alloc::boxed::Box<super::PlAssignStmt>),
310 #[prost(message, tag = "140")]
311 CreateSchemaStmt(super::CreateSchemaStmt),
312 #[prost(message, tag = "141")]
313 AlterTableStmt(super::AlterTableStmt),
314 #[prost(message, tag = "142")]
315 ReplicaIdentityStmt(super::ReplicaIdentityStmt),
316 #[prost(message, tag = "143")]
317 AlterTableCmd(::prost::alloc::boxed::Box<super::AlterTableCmd>),
318 #[prost(message, tag = "144")]
319 AlterCollationStmt(super::AlterCollationStmt),
320 #[prost(message, tag = "145")]
321 AlterDomainStmt(::prost::alloc::boxed::Box<super::AlterDomainStmt>),
322 #[prost(message, tag = "146")]
323 GrantStmt(super::GrantStmt),
324 #[prost(message, tag = "147")]
325 ObjectWithArgs(super::ObjectWithArgs),
326 #[prost(message, tag = "148")]
327 AccessPriv(super::AccessPriv),
328 #[prost(message, tag = "149")]
329 GrantRoleStmt(super::GrantRoleStmt),
330 #[prost(message, tag = "150")]
331 AlterDefaultPrivilegesStmt(super::AlterDefaultPrivilegesStmt),
332 #[prost(message, tag = "151")]
333 CopyStmt(::prost::alloc::boxed::Box<super::CopyStmt>),
334 #[prost(message, tag = "152")]
335 VariableSetStmt(super::VariableSetStmt),
336 #[prost(message, tag = "153")]
337 VariableShowStmt(super::VariableShowStmt),
338 #[prost(message, tag = "154")]
339 CreateStmt(super::CreateStmt),
340 #[prost(message, tag = "155")]
341 Constraint(::prost::alloc::boxed::Box<super::Constraint>),
342 #[prost(message, tag = "156")]
343 CreateTableSpaceStmt(super::CreateTableSpaceStmt),
344 #[prost(message, tag = "157")]
345 DropTableSpaceStmt(super::DropTableSpaceStmt),
346 #[prost(message, tag = "158")]
347 AlterTableSpaceOptionsStmt(super::AlterTableSpaceOptionsStmt),
348 #[prost(message, tag = "159")]
349 AlterTableMoveAllStmt(super::AlterTableMoveAllStmt),
350 #[prost(message, tag = "160")]
351 CreateExtensionStmt(super::CreateExtensionStmt),
352 #[prost(message, tag = "161")]
353 AlterExtensionStmt(super::AlterExtensionStmt),
354 #[prost(message, tag = "162")]
355 AlterExtensionContentsStmt(
356 ::prost::alloc::boxed::Box<super::AlterExtensionContentsStmt>,
357 ),
358 #[prost(message, tag = "163")]
359 CreateFdwStmt(super::CreateFdwStmt),
360 #[prost(message, tag = "164")]
361 AlterFdwStmt(super::AlterFdwStmt),
362 #[prost(message, tag = "165")]
363 CreateForeignServerStmt(super::CreateForeignServerStmt),
364 #[prost(message, tag = "166")]
365 AlterForeignServerStmt(super::AlterForeignServerStmt),
366 #[prost(message, tag = "167")]
367 CreateForeignTableStmt(super::CreateForeignTableStmt),
368 #[prost(message, tag = "168")]
369 CreateUserMappingStmt(super::CreateUserMappingStmt),
370 #[prost(message, tag = "169")]
371 AlterUserMappingStmt(super::AlterUserMappingStmt),
372 #[prost(message, tag = "170")]
373 DropUserMappingStmt(super::DropUserMappingStmt),
374 #[prost(message, tag = "171")]
375 ImportForeignSchemaStmt(super::ImportForeignSchemaStmt),
376 #[prost(message, tag = "172")]
377 CreatePolicyStmt(::prost::alloc::boxed::Box<super::CreatePolicyStmt>),
378 #[prost(message, tag = "173")]
379 AlterPolicyStmt(::prost::alloc::boxed::Box<super::AlterPolicyStmt>),
380 #[prost(message, tag = "174")]
381 CreateAmStmt(super::CreateAmStmt),
382 #[prost(message, tag = "175")]
383 CreateTrigStmt(::prost::alloc::boxed::Box<super::CreateTrigStmt>),
384 #[prost(message, tag = "176")]
385 CreateEventTrigStmt(super::CreateEventTrigStmt),
386 #[prost(message, tag = "177")]
387 AlterEventTrigStmt(super::AlterEventTrigStmt),
388 #[prost(message, tag = "178")]
389 CreatePlangStmt(super::CreatePLangStmt),
390 #[prost(message, tag = "179")]
391 CreateRoleStmt(super::CreateRoleStmt),
392 #[prost(message, tag = "180")]
393 AlterRoleStmt(super::AlterRoleStmt),
394 #[prost(message, tag = "181")]
395 AlterRoleSetStmt(super::AlterRoleSetStmt),
396 #[prost(message, tag = "182")]
397 DropRoleStmt(super::DropRoleStmt),
398 #[prost(message, tag = "183")]
399 CreateSeqStmt(super::CreateSeqStmt),
400 #[prost(message, tag = "184")]
401 AlterSeqStmt(super::AlterSeqStmt),
402 #[prost(message, tag = "185")]
403 DefineStmt(super::DefineStmt),
404 #[prost(message, tag = "186")]
405 CreateDomainStmt(::prost::alloc::boxed::Box<super::CreateDomainStmt>),
406 #[prost(message, tag = "187")]
407 CreateOpClassStmt(super::CreateOpClassStmt),
408 #[prost(message, tag = "188")]
409 CreateOpClassItem(super::CreateOpClassItem),
410 #[prost(message, tag = "189")]
411 CreateOpFamilyStmt(super::CreateOpFamilyStmt),
412 #[prost(message, tag = "190")]
413 AlterOpFamilyStmt(super::AlterOpFamilyStmt),
414 #[prost(message, tag = "191")]
415 DropStmt(super::DropStmt),
416 #[prost(message, tag = "192")]
417 TruncateStmt(super::TruncateStmt),
418 #[prost(message, tag = "193")]
419 CommentStmt(::prost::alloc::boxed::Box<super::CommentStmt>),
420 #[prost(message, tag = "194")]
421 SecLabelStmt(::prost::alloc::boxed::Box<super::SecLabelStmt>),
422 #[prost(message, tag = "195")]
423 DeclareCursorStmt(::prost::alloc::boxed::Box<super::DeclareCursorStmt>),
424 #[prost(message, tag = "196")]
425 ClosePortalStmt(super::ClosePortalStmt),
426 #[prost(message, tag = "197")]
427 FetchStmt(super::FetchStmt),
428 #[prost(message, tag = "198")]
429 IndexStmt(::prost::alloc::boxed::Box<super::IndexStmt>),
430 #[prost(message, tag = "199")]
431 CreateStatsStmt(super::CreateStatsStmt),
432 #[prost(message, tag = "200")]
433 StatsElem(::prost::alloc::boxed::Box<super::StatsElem>),
434 #[prost(message, tag = "201")]
435 AlterStatsStmt(::prost::alloc::boxed::Box<super::AlterStatsStmt>),
436 #[prost(message, tag = "202")]
437 CreateFunctionStmt(::prost::alloc::boxed::Box<super::CreateFunctionStmt>),
438 #[prost(message, tag = "203")]
439 FunctionParameter(::prost::alloc::boxed::Box<super::FunctionParameter>),
440 #[prost(message, tag = "204")]
441 AlterFunctionStmt(super::AlterFunctionStmt),
442 #[prost(message, tag = "205")]
443 DoStmt(super::DoStmt),
444 #[prost(message, tag = "206")]
445 InlineCodeBlock(super::InlineCodeBlock),
446 #[prost(message, tag = "207")]
447 CallStmt(::prost::alloc::boxed::Box<super::CallStmt>),
448 #[prost(message, tag = "208")]
449 CallContext(super::CallContext),
450 #[prost(message, tag = "209")]
451 RenameStmt(::prost::alloc::boxed::Box<super::RenameStmt>),
452 #[prost(message, tag = "210")]
453 AlterObjectDependsStmt(
454 ::prost::alloc::boxed::Box<super::AlterObjectDependsStmt>,
455 ),
456 #[prost(message, tag = "211")]
457 AlterObjectSchemaStmt(::prost::alloc::boxed::Box<super::AlterObjectSchemaStmt>),
458 #[prost(message, tag = "212")]
459 AlterOwnerStmt(::prost::alloc::boxed::Box<super::AlterOwnerStmt>),
460 #[prost(message, tag = "213")]
461 AlterOperatorStmt(super::AlterOperatorStmt),
462 #[prost(message, tag = "214")]
463 AlterTypeStmt(super::AlterTypeStmt),
464 #[prost(message, tag = "215")]
465 RuleStmt(::prost::alloc::boxed::Box<super::RuleStmt>),
466 #[prost(message, tag = "216")]
467 NotifyStmt(super::NotifyStmt),
468 #[prost(message, tag = "217")]
469 ListenStmt(super::ListenStmt),
470 #[prost(message, tag = "218")]
471 UnlistenStmt(super::UnlistenStmt),
472 #[prost(message, tag = "219")]
473 TransactionStmt(super::TransactionStmt),
474 #[prost(message, tag = "220")]
475 CompositeTypeStmt(super::CompositeTypeStmt),
476 #[prost(message, tag = "221")]
477 CreateEnumStmt(super::CreateEnumStmt),
478 #[prost(message, tag = "222")]
479 CreateRangeStmt(super::CreateRangeStmt),
480 #[prost(message, tag = "223")]
481 AlterEnumStmt(super::AlterEnumStmt),
482 #[prost(message, tag = "224")]
483 ViewStmt(::prost::alloc::boxed::Box<super::ViewStmt>),
484 #[prost(message, tag = "225")]
485 LoadStmt(super::LoadStmt),
486 #[prost(message, tag = "226")]
487 CreatedbStmt(super::CreatedbStmt),
488 #[prost(message, tag = "227")]
489 AlterDatabaseStmt(super::AlterDatabaseStmt),
490 #[prost(message, tag = "228")]
491 AlterDatabaseRefreshCollStmt(super::AlterDatabaseRefreshCollStmt),
492 #[prost(message, tag = "229")]
493 AlterDatabaseSetStmt(super::AlterDatabaseSetStmt),
494 #[prost(message, tag = "230")]
495 DropdbStmt(super::DropdbStmt),
496 #[prost(message, tag = "231")]
497 AlterSystemStmt(super::AlterSystemStmt),
498 #[prost(message, tag = "232")]
499 ClusterStmt(super::ClusterStmt),
500 #[prost(message, tag = "233")]
501 VacuumStmt(super::VacuumStmt),
502 #[prost(message, tag = "234")]
503 VacuumRelation(super::VacuumRelation),
504 #[prost(message, tag = "235")]
505 ExplainStmt(::prost::alloc::boxed::Box<super::ExplainStmt>),
506 #[prost(message, tag = "236")]
507 CreateTableAsStmt(::prost::alloc::boxed::Box<super::CreateTableAsStmt>),
508 #[prost(message, tag = "237")]
509 RefreshMatViewStmt(super::RefreshMatViewStmt),
510 #[prost(message, tag = "238")]
511 CheckPointStmt(super::CheckPointStmt),
512 #[prost(message, tag = "239")]
513 DiscardStmt(super::DiscardStmt),
514 #[prost(message, tag = "240")]
515 LockStmt(super::LockStmt),
516 #[prost(message, tag = "241")]
517 ConstraintsSetStmt(super::ConstraintsSetStmt),
518 #[prost(message, tag = "242")]
519 ReindexStmt(super::ReindexStmt),
520 #[prost(message, tag = "243")]
521 CreateConversionStmt(super::CreateConversionStmt),
522 #[prost(message, tag = "244")]
523 CreateCastStmt(super::CreateCastStmt),
524 #[prost(message, tag = "245")]
525 CreateTransformStmt(super::CreateTransformStmt),
526 #[prost(message, tag = "246")]
527 PrepareStmt(::prost::alloc::boxed::Box<super::PrepareStmt>),
528 #[prost(message, tag = "247")]
529 ExecuteStmt(super::ExecuteStmt),
530 #[prost(message, tag = "248")]
531 DeallocateStmt(super::DeallocateStmt),
532 #[prost(message, tag = "249")]
533 DropOwnedStmt(super::DropOwnedStmt),
534 #[prost(message, tag = "250")]
535 ReassignOwnedStmt(super::ReassignOwnedStmt),
536 #[prost(message, tag = "251")]
537 AlterTsdictionaryStmt(super::AlterTsDictionaryStmt),
538 #[prost(message, tag = "252")]
539 AlterTsconfigurationStmt(super::AlterTsConfigurationStmt),
540 #[prost(message, tag = "253")]
541 PublicationTable(::prost::alloc::boxed::Box<super::PublicationTable>),
542 #[prost(message, tag = "254")]
543 PublicationObjSpec(::prost::alloc::boxed::Box<super::PublicationObjSpec>),
544 #[prost(message, tag = "255")]
545 CreatePublicationStmt(super::CreatePublicationStmt),
546 #[prost(message, tag = "256")]
547 AlterPublicationStmt(super::AlterPublicationStmt),
548 #[prost(message, tag = "257")]
549 CreateSubscriptionStmt(super::CreateSubscriptionStmt),
550 #[prost(message, tag = "258")]
551 AlterSubscriptionStmt(super::AlterSubscriptionStmt),
552 #[prost(message, tag = "259")]
553 DropSubscriptionStmt(super::DropSubscriptionStmt),
554 #[prost(message, tag = "260")]
555 Integer(super::Integer),
556 #[prost(message, tag = "261")]
557 Float(super::Float),
558 #[prost(message, tag = "262")]
559 Boolean(super::Boolean),
560 #[prost(message, tag = "263")]
561 String(super::String),
562 #[prost(message, tag = "264")]
563 BitString(super::BitString),
564 #[prost(message, tag = "265")]
565 List(super::List),
566 #[prost(message, tag = "266")]
567 IntList(super::IntList),
568 #[prost(message, tag = "267")]
569 OidList(super::OidList),
570 #[prost(message, tag = "268")]
571 AConst(super::AConst),
572 }
573}
574#[derive(Clone, Copy, PartialEq, ::prost::Message)]
575pub struct Integer {
576 #[prost(int32, tag = "1")]
578 pub ival: i32,
579}
580#[derive(Clone, PartialEq, ::prost::Message)]
581pub struct Float {
582 #[prost(string, tag = "1")]
584 pub fval: ::prost::alloc::string::String,
585}
586#[derive(Clone, Copy, PartialEq, ::prost::Message)]
587pub struct Boolean {
588 #[prost(bool, tag = "1")]
589 pub boolval: bool,
590}
591#[derive(Clone, PartialEq, ::prost::Message)]
592pub struct String {
593 #[prost(string, tag = "1")]
595 pub sval: ::prost::alloc::string::String,
596}
597#[derive(Clone, PartialEq, ::prost::Message)]
598pub struct BitString {
599 #[prost(string, tag = "1")]
601 pub bsval: ::prost::alloc::string::String,
602}
603#[derive(Clone, PartialEq, ::prost::Message)]
604pub struct List {
605 #[prost(message, repeated, tag = "1")]
606 pub items: ::prost::alloc::vec::Vec<Node>,
607}
608#[derive(Clone, PartialEq, ::prost::Message)]
609pub struct OidList {
610 #[prost(message, repeated, tag = "1")]
611 pub items: ::prost::alloc::vec::Vec<Node>,
612}
613#[derive(Clone, PartialEq, ::prost::Message)]
614pub struct IntList {
615 #[prost(message, repeated, tag = "1")]
616 pub items: ::prost::alloc::vec::Vec<Node>,
617}
618#[derive(Clone, PartialEq, ::prost::Message)]
619pub struct AConst {
620 #[prost(bool, tag = "10")]
621 pub isnull: bool,
622 #[prost(int32, tag = "11")]
623 pub location: i32,
624 #[prost(oneof = "a_const::Val", tags = "1, 2, 3, 4, 5")]
625 pub val: ::core::option::Option<a_const::Val>,
626}
627pub mod a_const {
629 #[derive(Clone, PartialEq, ::prost::Oneof)]
630 pub enum Val {
631 #[prost(message, tag = "1")]
632 Ival(super::Integer),
633 #[prost(message, tag = "2")]
634 Fval(super::Float),
635 #[prost(message, tag = "3")]
636 Boolval(super::Boolean),
637 #[prost(message, tag = "4")]
638 Sval(super::String),
639 #[prost(message, tag = "5")]
640 Bsval(super::BitString),
641 }
642}
643#[derive(Clone, PartialEq, ::prost::Message)]
644pub struct Alias {
645 #[prost(string, tag = "1")]
646 pub aliasname: ::prost::alloc::string::String,
647 #[prost(message, repeated, tag = "2")]
648 pub colnames: ::prost::alloc::vec::Vec<Node>,
649}
650#[derive(Clone, PartialEq, ::prost::Message)]
651pub struct RangeVar {
652 #[prost(string, tag = "1")]
653 pub catalogname: ::prost::alloc::string::String,
654 #[prost(string, tag = "2")]
655 pub schemaname: ::prost::alloc::string::String,
656 #[prost(string, tag = "3")]
657 pub relname: ::prost::alloc::string::String,
658 #[prost(bool, tag = "4")]
659 pub inh: bool,
660 #[prost(string, tag = "5")]
661 pub relpersistence: ::prost::alloc::string::String,
662 #[prost(message, optional, tag = "6")]
663 pub alias: ::core::option::Option<Alias>,
664 #[prost(int32, tag = "7")]
665 pub location: i32,
666}
667#[derive(Clone, PartialEq, ::prost::Message)]
668pub struct TableFunc {
669 #[prost(enumeration = "TableFuncType", tag = "1")]
670 pub functype: i32,
671 #[prost(message, repeated, tag = "2")]
672 pub ns_uris: ::prost::alloc::vec::Vec<Node>,
673 #[prost(message, repeated, tag = "3")]
674 pub ns_names: ::prost::alloc::vec::Vec<Node>,
675 #[prost(message, optional, boxed, tag = "4")]
676 pub docexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
677 #[prost(message, optional, boxed, tag = "5")]
678 pub rowexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
679 #[prost(message, repeated, tag = "6")]
680 pub colnames: ::prost::alloc::vec::Vec<Node>,
681 #[prost(message, repeated, tag = "7")]
682 pub coltypes: ::prost::alloc::vec::Vec<Node>,
683 #[prost(message, repeated, tag = "8")]
684 pub coltypmods: ::prost::alloc::vec::Vec<Node>,
685 #[prost(message, repeated, tag = "9")]
686 pub colcollations: ::prost::alloc::vec::Vec<Node>,
687 #[prost(message, repeated, tag = "10")]
688 pub colexprs: ::prost::alloc::vec::Vec<Node>,
689 #[prost(message, repeated, tag = "11")]
690 pub coldefexprs: ::prost::alloc::vec::Vec<Node>,
691 #[prost(message, repeated, tag = "12")]
692 pub colvalexprs: ::prost::alloc::vec::Vec<Node>,
693 #[prost(message, repeated, tag = "13")]
694 pub passingvalexprs: ::prost::alloc::vec::Vec<Node>,
695 #[prost(uint64, repeated, tag = "14")]
696 pub notnulls: ::prost::alloc::vec::Vec<u64>,
697 #[prost(message, optional, boxed, tag = "15")]
698 pub plan: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
699 #[prost(int32, tag = "16")]
700 pub ordinalitycol: i32,
701 #[prost(int32, tag = "17")]
702 pub location: i32,
703}
704#[derive(Clone, PartialEq, ::prost::Message)]
705pub struct IntoClause {
706 #[prost(message, optional, tag = "1")]
707 pub rel: ::core::option::Option<RangeVar>,
708 #[prost(message, repeated, tag = "2")]
709 pub col_names: ::prost::alloc::vec::Vec<Node>,
710 #[prost(string, tag = "3")]
711 pub access_method: ::prost::alloc::string::String,
712 #[prost(message, repeated, tag = "4")]
713 pub options: ::prost::alloc::vec::Vec<Node>,
714 #[prost(enumeration = "OnCommitAction", tag = "5")]
715 pub on_commit: i32,
716 #[prost(string, tag = "6")]
717 pub table_space_name: ::prost::alloc::string::String,
718 #[prost(message, optional, boxed, tag = "7")]
719 pub view_query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
720 #[prost(bool, tag = "8")]
721 pub skip_data: bool,
722}
723#[derive(Clone, PartialEq, ::prost::Message)]
724pub struct Var {
725 #[prost(message, optional, boxed, tag = "1")]
726 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
727 #[prost(int32, tag = "2")]
728 pub varno: i32,
729 #[prost(int32, tag = "3")]
730 pub varattno: i32,
731 #[prost(uint32, tag = "4")]
732 pub vartype: u32,
733 #[prost(int32, tag = "5")]
734 pub vartypmod: i32,
735 #[prost(uint32, tag = "6")]
736 pub varcollid: u32,
737 #[prost(uint64, repeated, tag = "7")]
738 pub varnullingrels: ::prost::alloc::vec::Vec<u64>,
739 #[prost(uint32, tag = "8")]
740 pub varlevelsup: u32,
741 #[prost(int32, tag = "9")]
742 pub location: i32,
743}
744#[derive(Clone, PartialEq, ::prost::Message)]
745pub struct Param {
746 #[prost(message, optional, boxed, tag = "1")]
747 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
748 #[prost(enumeration = "ParamKind", tag = "2")]
749 pub paramkind: i32,
750 #[prost(int32, tag = "3")]
751 pub paramid: i32,
752 #[prost(uint32, tag = "4")]
753 pub paramtype: u32,
754 #[prost(int32, tag = "5")]
755 pub paramtypmod: i32,
756 #[prost(uint32, tag = "6")]
757 pub paramcollid: u32,
758 #[prost(int32, tag = "7")]
759 pub location: i32,
760}
761#[derive(Clone, PartialEq, ::prost::Message)]
762pub struct Aggref {
763 #[prost(message, optional, boxed, tag = "1")]
764 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
765 #[prost(uint32, tag = "2")]
766 pub aggfnoid: u32,
767 #[prost(uint32, tag = "3")]
768 pub aggtype: u32,
769 #[prost(uint32, tag = "4")]
770 pub aggcollid: u32,
771 #[prost(uint32, tag = "5")]
772 pub inputcollid: u32,
773 #[prost(message, repeated, tag = "6")]
774 pub aggargtypes: ::prost::alloc::vec::Vec<Node>,
775 #[prost(message, repeated, tag = "7")]
776 pub aggdirectargs: ::prost::alloc::vec::Vec<Node>,
777 #[prost(message, repeated, tag = "8")]
778 pub args: ::prost::alloc::vec::Vec<Node>,
779 #[prost(message, repeated, tag = "9")]
780 pub aggorder: ::prost::alloc::vec::Vec<Node>,
781 #[prost(message, repeated, tag = "10")]
782 pub aggdistinct: ::prost::alloc::vec::Vec<Node>,
783 #[prost(message, optional, boxed, tag = "11")]
784 pub aggfilter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
785 #[prost(bool, tag = "12")]
786 pub aggstar: bool,
787 #[prost(bool, tag = "13")]
788 pub aggvariadic: bool,
789 #[prost(string, tag = "14")]
790 pub aggkind: ::prost::alloc::string::String,
791 #[prost(uint32, tag = "15")]
792 pub agglevelsup: u32,
793 #[prost(enumeration = "AggSplit", tag = "16")]
794 pub aggsplit: i32,
795 #[prost(int32, tag = "17")]
796 pub aggno: i32,
797 #[prost(int32, tag = "18")]
798 pub aggtransno: i32,
799 #[prost(int32, tag = "19")]
800 pub location: i32,
801}
802#[derive(Clone, PartialEq, ::prost::Message)]
803pub struct GroupingFunc {
804 #[prost(message, optional, boxed, tag = "1")]
805 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
806 #[prost(message, repeated, tag = "2")]
807 pub args: ::prost::alloc::vec::Vec<Node>,
808 #[prost(message, repeated, tag = "3")]
809 pub refs: ::prost::alloc::vec::Vec<Node>,
810 #[prost(uint32, tag = "4")]
811 pub agglevelsup: u32,
812 #[prost(int32, tag = "5")]
813 pub location: i32,
814}
815#[derive(Clone, PartialEq, ::prost::Message)]
816pub struct WindowFunc {
817 #[prost(message, optional, boxed, tag = "1")]
818 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
819 #[prost(uint32, tag = "2")]
820 pub winfnoid: u32,
821 #[prost(uint32, tag = "3")]
822 pub wintype: u32,
823 #[prost(uint32, tag = "4")]
824 pub wincollid: u32,
825 #[prost(uint32, tag = "5")]
826 pub inputcollid: u32,
827 #[prost(message, repeated, tag = "6")]
828 pub args: ::prost::alloc::vec::Vec<Node>,
829 #[prost(message, optional, boxed, tag = "7")]
830 pub aggfilter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
831 #[prost(message, repeated, tag = "8")]
832 pub run_condition: ::prost::alloc::vec::Vec<Node>,
833 #[prost(uint32, tag = "9")]
834 pub winref: u32,
835 #[prost(bool, tag = "10")]
836 pub winstar: bool,
837 #[prost(bool, tag = "11")]
838 pub winagg: bool,
839 #[prost(int32, tag = "12")]
840 pub location: i32,
841}
842#[derive(Clone, PartialEq, ::prost::Message)]
843pub struct WindowFuncRunCondition {
844 #[prost(message, optional, boxed, tag = "1")]
845 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
846 #[prost(uint32, tag = "2")]
847 pub opno: u32,
848 #[prost(uint32, tag = "3")]
849 pub inputcollid: u32,
850 #[prost(bool, tag = "4")]
851 pub wfunc_left: bool,
852 #[prost(message, optional, boxed, tag = "5")]
853 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
854}
855#[derive(Clone, PartialEq, ::prost::Message)]
856pub struct MergeSupportFunc {
857 #[prost(message, optional, boxed, tag = "1")]
858 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
859 #[prost(uint32, tag = "2")]
860 pub msftype: u32,
861 #[prost(uint32, tag = "3")]
862 pub msfcollid: u32,
863 #[prost(int32, tag = "4")]
864 pub location: i32,
865}
866#[derive(Clone, PartialEq, ::prost::Message)]
867pub struct SubscriptingRef {
868 #[prost(message, optional, boxed, tag = "1")]
869 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
870 #[prost(uint32, tag = "2")]
871 pub refcontainertype: u32,
872 #[prost(uint32, tag = "3")]
873 pub refelemtype: u32,
874 #[prost(uint32, tag = "4")]
875 pub refrestype: u32,
876 #[prost(int32, tag = "5")]
877 pub reftypmod: i32,
878 #[prost(uint32, tag = "6")]
879 pub refcollid: u32,
880 #[prost(message, repeated, tag = "7")]
881 pub refupperindexpr: ::prost::alloc::vec::Vec<Node>,
882 #[prost(message, repeated, tag = "8")]
883 pub reflowerindexpr: ::prost::alloc::vec::Vec<Node>,
884 #[prost(message, optional, boxed, tag = "9")]
885 pub refexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
886 #[prost(message, optional, boxed, tag = "10")]
887 pub refassgnexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
888}
889#[derive(Clone, PartialEq, ::prost::Message)]
890pub struct FuncExpr {
891 #[prost(message, optional, boxed, tag = "1")]
892 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
893 #[prost(uint32, tag = "2")]
894 pub funcid: u32,
895 #[prost(uint32, tag = "3")]
896 pub funcresulttype: u32,
897 #[prost(bool, tag = "4")]
898 pub funcretset: bool,
899 #[prost(bool, tag = "5")]
900 pub funcvariadic: bool,
901 #[prost(enumeration = "CoercionForm", tag = "6")]
902 pub funcformat: i32,
903 #[prost(uint32, tag = "7")]
904 pub funccollid: u32,
905 #[prost(uint32, tag = "8")]
906 pub inputcollid: u32,
907 #[prost(message, repeated, tag = "9")]
908 pub args: ::prost::alloc::vec::Vec<Node>,
909 #[prost(int32, tag = "10")]
910 pub location: i32,
911}
912#[derive(Clone, PartialEq, ::prost::Message)]
913pub struct NamedArgExpr {
914 #[prost(message, optional, boxed, tag = "1")]
915 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
916 #[prost(message, optional, boxed, tag = "2")]
917 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
918 #[prost(string, tag = "3")]
919 pub name: ::prost::alloc::string::String,
920 #[prost(int32, tag = "4")]
921 pub argnumber: i32,
922 #[prost(int32, tag = "5")]
923 pub location: i32,
924}
925#[derive(Clone, PartialEq, ::prost::Message)]
926pub struct OpExpr {
927 #[prost(message, optional, boxed, tag = "1")]
928 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
929 #[prost(uint32, tag = "2")]
930 pub opno: u32,
931 #[prost(uint32, tag = "3")]
932 pub opresulttype: u32,
933 #[prost(bool, tag = "4")]
934 pub opretset: bool,
935 #[prost(uint32, tag = "5")]
936 pub opcollid: u32,
937 #[prost(uint32, tag = "6")]
938 pub inputcollid: u32,
939 #[prost(message, repeated, tag = "7")]
940 pub args: ::prost::alloc::vec::Vec<Node>,
941 #[prost(int32, tag = "8")]
942 pub location: i32,
943}
944#[derive(Clone, PartialEq, ::prost::Message)]
945pub struct DistinctExpr {
946 #[prost(message, optional, boxed, tag = "1")]
947 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
948 #[prost(uint32, tag = "2")]
949 pub opno: u32,
950 #[prost(uint32, tag = "3")]
951 pub opresulttype: u32,
952 #[prost(bool, tag = "4")]
953 pub opretset: bool,
954 #[prost(uint32, tag = "5")]
955 pub opcollid: u32,
956 #[prost(uint32, tag = "6")]
957 pub inputcollid: u32,
958 #[prost(message, repeated, tag = "7")]
959 pub args: ::prost::alloc::vec::Vec<Node>,
960 #[prost(int32, tag = "8")]
961 pub location: i32,
962}
963#[derive(Clone, PartialEq, ::prost::Message)]
964pub struct NullIfExpr {
965 #[prost(message, optional, boxed, tag = "1")]
966 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
967 #[prost(uint32, tag = "2")]
968 pub opno: u32,
969 #[prost(uint32, tag = "3")]
970 pub opresulttype: u32,
971 #[prost(bool, tag = "4")]
972 pub opretset: bool,
973 #[prost(uint32, tag = "5")]
974 pub opcollid: u32,
975 #[prost(uint32, tag = "6")]
976 pub inputcollid: u32,
977 #[prost(message, repeated, tag = "7")]
978 pub args: ::prost::alloc::vec::Vec<Node>,
979 #[prost(int32, tag = "8")]
980 pub location: i32,
981}
982#[derive(Clone, PartialEq, ::prost::Message)]
983pub struct ScalarArrayOpExpr {
984 #[prost(message, optional, boxed, tag = "1")]
985 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
986 #[prost(uint32, tag = "2")]
987 pub opno: u32,
988 #[prost(bool, tag = "3")]
989 pub use_or: bool,
990 #[prost(uint32, tag = "4")]
991 pub inputcollid: u32,
992 #[prost(message, repeated, tag = "5")]
993 pub args: ::prost::alloc::vec::Vec<Node>,
994 #[prost(int32, tag = "6")]
995 pub location: i32,
996}
997#[derive(Clone, PartialEq, ::prost::Message)]
998pub struct BoolExpr {
999 #[prost(message, optional, boxed, tag = "1")]
1000 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1001 #[prost(enumeration = "BoolExprType", tag = "2")]
1002 pub boolop: i32,
1003 #[prost(message, repeated, tag = "3")]
1004 pub args: ::prost::alloc::vec::Vec<Node>,
1005 #[prost(int32, tag = "4")]
1006 pub location: i32,
1007}
1008#[derive(Clone, PartialEq, ::prost::Message)]
1009pub struct SubLink {
1010 #[prost(message, optional, boxed, tag = "1")]
1011 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1012 #[prost(enumeration = "SubLinkType", tag = "2")]
1013 pub sub_link_type: i32,
1014 #[prost(int32, tag = "3")]
1015 pub sub_link_id: i32,
1016 #[prost(message, optional, boxed, tag = "4")]
1017 pub testexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1018 #[prost(message, repeated, tag = "5")]
1019 pub oper_name: ::prost::alloc::vec::Vec<Node>,
1020 #[prost(message, optional, boxed, tag = "6")]
1021 pub subselect: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1022 #[prost(int32, tag = "7")]
1023 pub location: i32,
1024}
1025#[derive(Clone, PartialEq, ::prost::Message)]
1026pub struct SubPlan {
1027 #[prost(message, optional, boxed, tag = "1")]
1028 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1029 #[prost(enumeration = "SubLinkType", tag = "2")]
1030 pub sub_link_type: i32,
1031 #[prost(message, optional, boxed, tag = "3")]
1032 pub testexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1033 #[prost(message, repeated, tag = "4")]
1034 pub param_ids: ::prost::alloc::vec::Vec<Node>,
1035 #[prost(int32, tag = "5")]
1036 pub plan_id: i32,
1037 #[prost(string, tag = "6")]
1038 pub plan_name: ::prost::alloc::string::String,
1039 #[prost(uint32, tag = "7")]
1040 pub first_col_type: u32,
1041 #[prost(int32, tag = "8")]
1042 pub first_col_typmod: i32,
1043 #[prost(uint32, tag = "9")]
1044 pub first_col_collation: u32,
1045 #[prost(bool, tag = "10")]
1046 pub use_hash_table: bool,
1047 #[prost(bool, tag = "11")]
1048 pub unknown_eq_false: bool,
1049 #[prost(bool, tag = "12")]
1050 pub parallel_safe: bool,
1051 #[prost(message, repeated, tag = "13")]
1052 pub set_param: ::prost::alloc::vec::Vec<Node>,
1053 #[prost(message, repeated, tag = "14")]
1054 pub par_param: ::prost::alloc::vec::Vec<Node>,
1055 #[prost(message, repeated, tag = "15")]
1056 pub args: ::prost::alloc::vec::Vec<Node>,
1057 #[prost(double, tag = "16")]
1058 pub startup_cost: f64,
1059 #[prost(double, tag = "17")]
1060 pub per_call_cost: f64,
1061}
1062#[derive(Clone, PartialEq, ::prost::Message)]
1063pub struct AlternativeSubPlan {
1064 #[prost(message, optional, boxed, tag = "1")]
1065 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1066 #[prost(message, repeated, tag = "2")]
1067 pub subplans: ::prost::alloc::vec::Vec<Node>,
1068}
1069#[derive(Clone, PartialEq, ::prost::Message)]
1070pub struct FieldSelect {
1071 #[prost(message, optional, boxed, tag = "1")]
1072 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1073 #[prost(message, optional, boxed, tag = "2")]
1074 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1075 #[prost(int32, tag = "3")]
1076 pub fieldnum: i32,
1077 #[prost(uint32, tag = "4")]
1078 pub resulttype: u32,
1079 #[prost(int32, tag = "5")]
1080 pub resulttypmod: i32,
1081 #[prost(uint32, tag = "6")]
1082 pub resultcollid: u32,
1083}
1084#[derive(Clone, PartialEq, ::prost::Message)]
1085pub struct FieldStore {
1086 #[prost(message, optional, boxed, tag = "1")]
1087 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1088 #[prost(message, optional, boxed, tag = "2")]
1089 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1090 #[prost(message, repeated, tag = "3")]
1091 pub newvals: ::prost::alloc::vec::Vec<Node>,
1092 #[prost(message, repeated, tag = "4")]
1093 pub fieldnums: ::prost::alloc::vec::Vec<Node>,
1094 #[prost(uint32, tag = "5")]
1095 pub resulttype: u32,
1096}
1097#[derive(Clone, PartialEq, ::prost::Message)]
1098pub struct RelabelType {
1099 #[prost(message, optional, boxed, tag = "1")]
1100 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1101 #[prost(message, optional, boxed, tag = "2")]
1102 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1103 #[prost(uint32, tag = "3")]
1104 pub resulttype: u32,
1105 #[prost(int32, tag = "4")]
1106 pub resulttypmod: i32,
1107 #[prost(uint32, tag = "5")]
1108 pub resultcollid: u32,
1109 #[prost(enumeration = "CoercionForm", tag = "6")]
1110 pub relabelformat: i32,
1111 #[prost(int32, tag = "7")]
1112 pub location: i32,
1113}
1114#[derive(Clone, PartialEq, ::prost::Message)]
1115pub struct CoerceViaIo {
1116 #[prost(message, optional, boxed, tag = "1")]
1117 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1118 #[prost(message, optional, boxed, tag = "2")]
1119 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1120 #[prost(uint32, tag = "3")]
1121 pub resulttype: u32,
1122 #[prost(uint32, tag = "4")]
1123 pub resultcollid: u32,
1124 #[prost(enumeration = "CoercionForm", tag = "5")]
1125 pub coerceformat: i32,
1126 #[prost(int32, tag = "6")]
1127 pub location: i32,
1128}
1129#[derive(Clone, PartialEq, ::prost::Message)]
1130pub struct ArrayCoerceExpr {
1131 #[prost(message, optional, boxed, tag = "1")]
1132 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1133 #[prost(message, optional, boxed, tag = "2")]
1134 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1135 #[prost(message, optional, boxed, tag = "3")]
1136 pub elemexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1137 #[prost(uint32, tag = "4")]
1138 pub resulttype: u32,
1139 #[prost(int32, tag = "5")]
1140 pub resulttypmod: i32,
1141 #[prost(uint32, tag = "6")]
1142 pub resultcollid: u32,
1143 #[prost(enumeration = "CoercionForm", tag = "7")]
1144 pub coerceformat: i32,
1145 #[prost(int32, tag = "8")]
1146 pub location: i32,
1147}
1148#[derive(Clone, PartialEq, ::prost::Message)]
1149pub struct ConvertRowtypeExpr {
1150 #[prost(message, optional, boxed, tag = "1")]
1151 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1152 #[prost(message, optional, boxed, tag = "2")]
1153 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1154 #[prost(uint32, tag = "3")]
1155 pub resulttype: u32,
1156 #[prost(enumeration = "CoercionForm", tag = "4")]
1157 pub convertformat: i32,
1158 #[prost(int32, tag = "5")]
1159 pub location: i32,
1160}
1161#[derive(Clone, PartialEq, ::prost::Message)]
1162pub struct CollateExpr {
1163 #[prost(message, optional, boxed, tag = "1")]
1164 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1165 #[prost(message, optional, boxed, tag = "2")]
1166 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1167 #[prost(uint32, tag = "3")]
1168 pub coll_oid: u32,
1169 #[prost(int32, tag = "4")]
1170 pub location: i32,
1171}
1172#[derive(Clone, PartialEq, ::prost::Message)]
1173pub struct CaseExpr {
1174 #[prost(message, optional, boxed, tag = "1")]
1175 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1176 #[prost(uint32, tag = "2")]
1177 pub casetype: u32,
1178 #[prost(uint32, tag = "3")]
1179 pub casecollid: u32,
1180 #[prost(message, optional, boxed, tag = "4")]
1181 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1182 #[prost(message, repeated, tag = "5")]
1183 pub args: ::prost::alloc::vec::Vec<Node>,
1184 #[prost(message, optional, boxed, tag = "6")]
1185 pub defresult: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1186 #[prost(int32, tag = "7")]
1187 pub location: i32,
1188}
1189#[derive(Clone, PartialEq, ::prost::Message)]
1190pub struct CaseWhen {
1191 #[prost(message, optional, boxed, tag = "1")]
1192 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1193 #[prost(message, optional, boxed, tag = "2")]
1194 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1195 #[prost(message, optional, boxed, tag = "3")]
1196 pub result: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1197 #[prost(int32, tag = "4")]
1198 pub location: i32,
1199}
1200#[derive(Clone, PartialEq, ::prost::Message)]
1201pub struct CaseTestExpr {
1202 #[prost(message, optional, boxed, tag = "1")]
1203 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1204 #[prost(uint32, tag = "2")]
1205 pub type_id: u32,
1206 #[prost(int32, tag = "3")]
1207 pub type_mod: i32,
1208 #[prost(uint32, tag = "4")]
1209 pub collation: u32,
1210}
1211#[derive(Clone, PartialEq, ::prost::Message)]
1212pub struct ArrayExpr {
1213 #[prost(message, optional, boxed, tag = "1")]
1214 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1215 #[prost(uint32, tag = "2")]
1216 pub array_typeid: u32,
1217 #[prost(uint32, tag = "3")]
1218 pub array_collid: u32,
1219 #[prost(uint32, tag = "4")]
1220 pub element_typeid: u32,
1221 #[prost(message, repeated, tag = "5")]
1222 pub elements: ::prost::alloc::vec::Vec<Node>,
1223 #[prost(bool, tag = "6")]
1224 pub multidims: bool,
1225 #[prost(int32, tag = "7")]
1226 pub location: i32,
1227}
1228#[derive(Clone, PartialEq, ::prost::Message)]
1229pub struct RowExpr {
1230 #[prost(message, optional, boxed, tag = "1")]
1231 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1232 #[prost(message, repeated, tag = "2")]
1233 pub args: ::prost::alloc::vec::Vec<Node>,
1234 #[prost(uint32, tag = "3")]
1235 pub row_typeid: u32,
1236 #[prost(enumeration = "CoercionForm", tag = "4")]
1237 pub row_format: i32,
1238 #[prost(message, repeated, tag = "5")]
1239 pub colnames: ::prost::alloc::vec::Vec<Node>,
1240 #[prost(int32, tag = "6")]
1241 pub location: i32,
1242}
1243#[derive(Clone, PartialEq, ::prost::Message)]
1244pub struct RowCompareExpr {
1245 #[prost(message, optional, boxed, tag = "1")]
1246 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1247 #[prost(enumeration = "RowCompareType", tag = "2")]
1248 pub rctype: i32,
1249 #[prost(message, repeated, tag = "3")]
1250 pub opnos: ::prost::alloc::vec::Vec<Node>,
1251 #[prost(message, repeated, tag = "4")]
1252 pub opfamilies: ::prost::alloc::vec::Vec<Node>,
1253 #[prost(message, repeated, tag = "5")]
1254 pub inputcollids: ::prost::alloc::vec::Vec<Node>,
1255 #[prost(message, repeated, tag = "6")]
1256 pub largs: ::prost::alloc::vec::Vec<Node>,
1257 #[prost(message, repeated, tag = "7")]
1258 pub rargs: ::prost::alloc::vec::Vec<Node>,
1259}
1260#[derive(Clone, PartialEq, ::prost::Message)]
1261pub struct CoalesceExpr {
1262 #[prost(message, optional, boxed, tag = "1")]
1263 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1264 #[prost(uint32, tag = "2")]
1265 pub coalescetype: u32,
1266 #[prost(uint32, tag = "3")]
1267 pub coalescecollid: u32,
1268 #[prost(message, repeated, tag = "4")]
1269 pub args: ::prost::alloc::vec::Vec<Node>,
1270 #[prost(int32, tag = "5")]
1271 pub location: i32,
1272}
1273#[derive(Clone, PartialEq, ::prost::Message)]
1274pub struct MinMaxExpr {
1275 #[prost(message, optional, boxed, tag = "1")]
1276 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1277 #[prost(uint32, tag = "2")]
1278 pub minmaxtype: u32,
1279 #[prost(uint32, tag = "3")]
1280 pub minmaxcollid: u32,
1281 #[prost(uint32, tag = "4")]
1282 pub inputcollid: u32,
1283 #[prost(enumeration = "MinMaxOp", tag = "5")]
1284 pub op: i32,
1285 #[prost(message, repeated, tag = "6")]
1286 pub args: ::prost::alloc::vec::Vec<Node>,
1287 #[prost(int32, tag = "7")]
1288 pub location: i32,
1289}
1290#[derive(Clone, PartialEq, ::prost::Message)]
1291pub struct SqlValueFunction {
1292 #[prost(message, optional, boxed, tag = "1")]
1293 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1294 #[prost(enumeration = "SqlValueFunctionOp", tag = "2")]
1295 pub op: i32,
1296 #[prost(uint32, tag = "3")]
1297 pub r#type: u32,
1298 #[prost(int32, tag = "4")]
1299 pub typmod: i32,
1300 #[prost(int32, tag = "5")]
1301 pub location: i32,
1302}
1303#[derive(Clone, PartialEq, ::prost::Message)]
1304pub struct XmlExpr {
1305 #[prost(message, optional, boxed, tag = "1")]
1306 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1307 #[prost(enumeration = "XmlExprOp", tag = "2")]
1308 pub op: i32,
1309 #[prost(string, tag = "3")]
1310 pub name: ::prost::alloc::string::String,
1311 #[prost(message, repeated, tag = "4")]
1312 pub named_args: ::prost::alloc::vec::Vec<Node>,
1313 #[prost(message, repeated, tag = "5")]
1314 pub arg_names: ::prost::alloc::vec::Vec<Node>,
1315 #[prost(message, repeated, tag = "6")]
1316 pub args: ::prost::alloc::vec::Vec<Node>,
1317 #[prost(enumeration = "XmlOptionType", tag = "7")]
1318 pub xmloption: i32,
1319 #[prost(bool, tag = "8")]
1320 pub indent: bool,
1321 #[prost(uint32, tag = "9")]
1322 pub r#type: u32,
1323 #[prost(int32, tag = "10")]
1324 pub typmod: i32,
1325 #[prost(int32, tag = "11")]
1326 pub location: i32,
1327}
1328#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1329pub struct JsonFormat {
1330 #[prost(enumeration = "JsonFormatType", tag = "1")]
1331 pub format_type: i32,
1332 #[prost(enumeration = "JsonEncoding", tag = "2")]
1333 pub encoding: i32,
1334 #[prost(int32, tag = "3")]
1335 pub location: i32,
1336}
1337#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1338pub struct JsonReturning {
1339 #[prost(message, optional, tag = "1")]
1340 pub format: ::core::option::Option<JsonFormat>,
1341 #[prost(uint32, tag = "2")]
1342 pub typid: u32,
1343 #[prost(int32, tag = "3")]
1344 pub typmod: i32,
1345}
1346#[derive(Clone, PartialEq, ::prost::Message)]
1347pub struct JsonValueExpr {
1348 #[prost(message, optional, boxed, tag = "1")]
1349 pub raw_expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1350 #[prost(message, optional, boxed, tag = "2")]
1351 pub formatted_expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1352 #[prost(message, optional, tag = "3")]
1353 pub format: ::core::option::Option<JsonFormat>,
1354}
1355#[derive(Clone, PartialEq, ::prost::Message)]
1356pub struct JsonConstructorExpr {
1357 #[prost(message, optional, boxed, tag = "1")]
1358 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1359 #[prost(enumeration = "JsonConstructorType", tag = "2")]
1360 pub r#type: i32,
1361 #[prost(message, repeated, tag = "3")]
1362 pub args: ::prost::alloc::vec::Vec<Node>,
1363 #[prost(message, optional, boxed, tag = "4")]
1364 pub func: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1365 #[prost(message, optional, boxed, tag = "5")]
1366 pub coercion: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1367 #[prost(message, optional, tag = "6")]
1368 pub returning: ::core::option::Option<JsonReturning>,
1369 #[prost(bool, tag = "7")]
1370 pub absent_on_null: bool,
1371 #[prost(bool, tag = "8")]
1372 pub unique: bool,
1373 #[prost(int32, tag = "9")]
1374 pub location: i32,
1375}
1376#[derive(Clone, PartialEq, ::prost::Message)]
1377pub struct JsonIsPredicate {
1378 #[prost(message, optional, boxed, tag = "1")]
1379 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1380 #[prost(message, optional, tag = "2")]
1381 pub format: ::core::option::Option<JsonFormat>,
1382 #[prost(enumeration = "JsonValueType", tag = "3")]
1383 pub item_type: i32,
1384 #[prost(bool, tag = "4")]
1385 pub unique_keys: bool,
1386 #[prost(int32, tag = "5")]
1387 pub location: i32,
1388}
1389#[derive(Clone, PartialEq, ::prost::Message)]
1390pub struct JsonBehavior {
1391 #[prost(enumeration = "JsonBehaviorType", tag = "1")]
1392 pub btype: i32,
1393 #[prost(message, optional, boxed, tag = "2")]
1394 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1395 #[prost(bool, tag = "3")]
1396 pub coerce: bool,
1397 #[prost(int32, tag = "4")]
1398 pub location: i32,
1399}
1400#[derive(Clone, PartialEq, ::prost::Message)]
1401pub struct JsonExpr {
1402 #[prost(message, optional, boxed, tag = "1")]
1403 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1404 #[prost(enumeration = "JsonExprOp", tag = "2")]
1405 pub op: i32,
1406 #[prost(string, tag = "3")]
1407 pub column_name: ::prost::alloc::string::String,
1408 #[prost(message, optional, boxed, tag = "4")]
1409 pub formatted_expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1410 #[prost(message, optional, tag = "5")]
1411 pub format: ::core::option::Option<JsonFormat>,
1412 #[prost(message, optional, boxed, tag = "6")]
1413 pub path_spec: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1414 #[prost(message, optional, tag = "7")]
1415 pub returning: ::core::option::Option<JsonReturning>,
1416 #[prost(message, repeated, tag = "8")]
1417 pub passing_names: ::prost::alloc::vec::Vec<Node>,
1418 #[prost(message, repeated, tag = "9")]
1419 pub passing_values: ::prost::alloc::vec::Vec<Node>,
1420 #[prost(message, optional, boxed, tag = "10")]
1421 pub on_empty: ::core::option::Option<::prost::alloc::boxed::Box<JsonBehavior>>,
1422 #[prost(message, optional, boxed, tag = "11")]
1423 pub on_error: ::core::option::Option<::prost::alloc::boxed::Box<JsonBehavior>>,
1424 #[prost(bool, tag = "12")]
1425 pub use_io_coercion: bool,
1426 #[prost(bool, tag = "13")]
1427 pub use_json_coercion: bool,
1428 #[prost(enumeration = "JsonWrapper", tag = "14")]
1429 pub wrapper: i32,
1430 #[prost(bool, tag = "15")]
1431 pub omit_quotes: bool,
1432 #[prost(uint32, tag = "16")]
1433 pub collation: u32,
1434 #[prost(int32, tag = "17")]
1435 pub location: i32,
1436}
1437#[derive(Clone, PartialEq, ::prost::Message)]
1438pub struct JsonTablePath {
1439 #[prost(string, tag = "1")]
1440 pub name: ::prost::alloc::string::String,
1441}
1442#[derive(Clone, PartialEq, ::prost::Message)]
1443pub struct JsonTablePathScan {
1444 #[prost(message, optional, boxed, tag = "1")]
1445 pub plan: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1446 #[prost(message, optional, tag = "2")]
1447 pub path: ::core::option::Option<JsonTablePath>,
1448 #[prost(bool, tag = "3")]
1449 pub error_on_error: bool,
1450 #[prost(message, optional, boxed, tag = "4")]
1451 pub child: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1452 #[prost(int32, tag = "5")]
1453 pub col_min: i32,
1454 #[prost(int32, tag = "6")]
1455 pub col_max: i32,
1456}
1457#[derive(Clone, PartialEq, ::prost::Message)]
1458pub struct JsonTableSiblingJoin {
1459 #[prost(message, optional, boxed, tag = "1")]
1460 pub plan: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1461 #[prost(message, optional, boxed, tag = "2")]
1462 pub lplan: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1463 #[prost(message, optional, boxed, tag = "3")]
1464 pub rplan: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1465}
1466#[derive(Clone, PartialEq, ::prost::Message)]
1467pub struct NullTest {
1468 #[prost(message, optional, boxed, tag = "1")]
1469 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1470 #[prost(message, optional, boxed, tag = "2")]
1471 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1472 #[prost(enumeration = "NullTestType", tag = "3")]
1473 pub nulltesttype: i32,
1474 #[prost(bool, tag = "4")]
1475 pub argisrow: bool,
1476 #[prost(int32, tag = "5")]
1477 pub location: i32,
1478}
1479#[derive(Clone, PartialEq, ::prost::Message)]
1480pub struct BooleanTest {
1481 #[prost(message, optional, boxed, tag = "1")]
1482 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1483 #[prost(message, optional, boxed, tag = "2")]
1484 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1485 #[prost(enumeration = "BoolTestType", tag = "3")]
1486 pub booltesttype: i32,
1487 #[prost(int32, tag = "4")]
1488 pub location: i32,
1489}
1490#[derive(Clone, PartialEq, ::prost::Message)]
1491pub struct MergeAction {
1492 #[prost(enumeration = "MergeMatchKind", tag = "1")]
1493 pub match_kind: i32,
1494 #[prost(enumeration = "CmdType", tag = "2")]
1495 pub command_type: i32,
1496 #[prost(enumeration = "OverridingKind", tag = "3")]
1497 pub r#override: i32,
1498 #[prost(message, optional, boxed, tag = "4")]
1499 pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1500 #[prost(message, repeated, tag = "5")]
1501 pub target_list: ::prost::alloc::vec::Vec<Node>,
1502 #[prost(message, repeated, tag = "6")]
1503 pub update_colnos: ::prost::alloc::vec::Vec<Node>,
1504}
1505#[derive(Clone, PartialEq, ::prost::Message)]
1506pub struct CoerceToDomain {
1507 #[prost(message, optional, boxed, tag = "1")]
1508 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1509 #[prost(message, optional, boxed, tag = "2")]
1510 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1511 #[prost(uint32, tag = "3")]
1512 pub resulttype: u32,
1513 #[prost(int32, tag = "4")]
1514 pub resulttypmod: i32,
1515 #[prost(uint32, tag = "5")]
1516 pub resultcollid: u32,
1517 #[prost(enumeration = "CoercionForm", tag = "6")]
1518 pub coercionformat: i32,
1519 #[prost(int32, tag = "7")]
1520 pub location: i32,
1521}
1522#[derive(Clone, PartialEq, ::prost::Message)]
1523pub struct CoerceToDomainValue {
1524 #[prost(message, optional, boxed, tag = "1")]
1525 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1526 #[prost(uint32, tag = "2")]
1527 pub type_id: u32,
1528 #[prost(int32, tag = "3")]
1529 pub type_mod: i32,
1530 #[prost(uint32, tag = "4")]
1531 pub collation: u32,
1532 #[prost(int32, tag = "5")]
1533 pub location: i32,
1534}
1535#[derive(Clone, PartialEq, ::prost::Message)]
1536pub struct SetToDefault {
1537 #[prost(message, optional, boxed, tag = "1")]
1538 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1539 #[prost(uint32, tag = "2")]
1540 pub type_id: u32,
1541 #[prost(int32, tag = "3")]
1542 pub type_mod: i32,
1543 #[prost(uint32, tag = "4")]
1544 pub collation: u32,
1545 #[prost(int32, tag = "5")]
1546 pub location: i32,
1547}
1548#[derive(Clone, PartialEq, ::prost::Message)]
1549pub struct CurrentOfExpr {
1550 #[prost(message, optional, boxed, tag = "1")]
1551 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1552 #[prost(uint32, tag = "2")]
1553 pub cvarno: u32,
1554 #[prost(string, tag = "3")]
1555 pub cursor_name: ::prost::alloc::string::String,
1556 #[prost(int32, tag = "4")]
1557 pub cursor_param: i32,
1558}
1559#[derive(Clone, PartialEq, ::prost::Message)]
1560pub struct NextValueExpr {
1561 #[prost(message, optional, boxed, tag = "1")]
1562 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1563 #[prost(uint32, tag = "2")]
1564 pub seqid: u32,
1565 #[prost(uint32, tag = "3")]
1566 pub type_id: u32,
1567}
1568#[derive(Clone, PartialEq, ::prost::Message)]
1569pub struct InferenceElem {
1570 #[prost(message, optional, boxed, tag = "1")]
1571 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1572 #[prost(message, optional, boxed, tag = "2")]
1573 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1574 #[prost(uint32, tag = "3")]
1575 pub infercollid: u32,
1576 #[prost(uint32, tag = "4")]
1577 pub inferopclass: u32,
1578}
1579#[derive(Clone, PartialEq, ::prost::Message)]
1580pub struct TargetEntry {
1581 #[prost(message, optional, boxed, tag = "1")]
1582 pub xpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1583 #[prost(message, optional, boxed, tag = "2")]
1584 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1585 #[prost(int32, tag = "3")]
1586 pub resno: i32,
1587 #[prost(string, tag = "4")]
1588 pub resname: ::prost::alloc::string::String,
1589 #[prost(uint32, tag = "5")]
1590 pub ressortgroupref: u32,
1591 #[prost(uint32, tag = "6")]
1592 pub resorigtbl: u32,
1593 #[prost(int32, tag = "7")]
1594 pub resorigcol: i32,
1595 #[prost(bool, tag = "8")]
1596 pub resjunk: bool,
1597}
1598#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1599pub struct RangeTblRef {
1600 #[prost(int32, tag = "1")]
1601 pub rtindex: i32,
1602}
1603#[derive(Clone, PartialEq, ::prost::Message)]
1604pub struct JoinExpr {
1605 #[prost(enumeration = "JoinType", tag = "1")]
1606 pub jointype: i32,
1607 #[prost(bool, tag = "2")]
1608 pub is_natural: bool,
1609 #[prost(message, optional, boxed, tag = "3")]
1610 pub larg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1611 #[prost(message, optional, boxed, tag = "4")]
1612 pub rarg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1613 #[prost(message, repeated, tag = "5")]
1614 pub using_clause: ::prost::alloc::vec::Vec<Node>,
1615 #[prost(message, optional, tag = "6")]
1616 pub join_using_alias: ::core::option::Option<Alias>,
1617 #[prost(message, optional, boxed, tag = "7")]
1618 pub quals: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1619 #[prost(message, optional, tag = "8")]
1620 pub alias: ::core::option::Option<Alias>,
1621 #[prost(int32, tag = "9")]
1622 pub rtindex: i32,
1623}
1624#[derive(Clone, PartialEq, ::prost::Message)]
1625pub struct FromExpr {
1626 #[prost(message, repeated, tag = "1")]
1627 pub fromlist: ::prost::alloc::vec::Vec<Node>,
1628 #[prost(message, optional, boxed, tag = "2")]
1629 pub quals: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1630}
1631#[derive(Clone, PartialEq, ::prost::Message)]
1632pub struct OnConflictExpr {
1633 #[prost(enumeration = "OnConflictAction", tag = "1")]
1634 pub action: i32,
1635 #[prost(message, repeated, tag = "2")]
1636 pub arbiter_elems: ::prost::alloc::vec::Vec<Node>,
1637 #[prost(message, optional, boxed, tag = "3")]
1638 pub arbiter_where: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1639 #[prost(uint32, tag = "4")]
1640 pub constraint: u32,
1641 #[prost(message, repeated, tag = "5")]
1642 pub on_conflict_set: ::prost::alloc::vec::Vec<Node>,
1643 #[prost(message, optional, boxed, tag = "6")]
1644 pub on_conflict_where: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1645 #[prost(int32, tag = "7")]
1646 pub excl_rel_index: i32,
1647 #[prost(message, repeated, tag = "8")]
1648 pub excl_rel_tlist: ::prost::alloc::vec::Vec<Node>,
1649}
1650#[derive(Clone, PartialEq, ::prost::Message)]
1651pub struct Query {
1652 #[prost(enumeration = "CmdType", tag = "1")]
1653 pub command_type: i32,
1654 #[prost(enumeration = "QuerySource", tag = "2")]
1655 pub query_source: i32,
1656 #[prost(bool, tag = "3")]
1657 pub can_set_tag: bool,
1658 #[prost(message, optional, boxed, tag = "4")]
1659 pub utility_stmt: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1660 #[prost(int32, tag = "5")]
1661 pub result_relation: i32,
1662 #[prost(bool, tag = "6")]
1663 pub has_aggs: bool,
1664 #[prost(bool, tag = "7")]
1665 pub has_window_funcs: bool,
1666 #[prost(bool, tag = "8")]
1667 pub has_target_srfs: bool,
1668 #[prost(bool, tag = "9")]
1669 pub has_sub_links: bool,
1670 #[prost(bool, tag = "10")]
1671 pub has_distinct_on: bool,
1672 #[prost(bool, tag = "11")]
1673 pub has_recursive: bool,
1674 #[prost(bool, tag = "12")]
1675 pub has_modifying_cte: bool,
1676 #[prost(bool, tag = "13")]
1677 pub has_for_update: bool,
1678 #[prost(bool, tag = "14")]
1679 pub has_row_security: bool,
1680 #[prost(bool, tag = "15")]
1681 pub is_return: bool,
1682 #[prost(message, repeated, tag = "16")]
1683 pub cte_list: ::prost::alloc::vec::Vec<Node>,
1684 #[prost(message, repeated, tag = "17")]
1685 pub rtable: ::prost::alloc::vec::Vec<Node>,
1686 #[prost(message, repeated, tag = "18")]
1687 pub rteperminfos: ::prost::alloc::vec::Vec<Node>,
1688 #[prost(message, optional, boxed, tag = "19")]
1689 pub jointree: ::core::option::Option<::prost::alloc::boxed::Box<FromExpr>>,
1690 #[prost(message, repeated, tag = "20")]
1691 pub merge_action_list: ::prost::alloc::vec::Vec<Node>,
1692 #[prost(int32, tag = "21")]
1693 pub merge_target_relation: i32,
1694 #[prost(message, optional, boxed, tag = "22")]
1695 pub merge_join_condition: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1696 #[prost(message, repeated, tag = "23")]
1697 pub target_list: ::prost::alloc::vec::Vec<Node>,
1698 #[prost(enumeration = "OverridingKind", tag = "24")]
1699 pub r#override: i32,
1700 #[prost(message, optional, boxed, tag = "25")]
1701 pub on_conflict: ::core::option::Option<::prost::alloc::boxed::Box<OnConflictExpr>>,
1702 #[prost(message, repeated, tag = "26")]
1703 pub returning_list: ::prost::alloc::vec::Vec<Node>,
1704 #[prost(message, repeated, tag = "27")]
1705 pub group_clause: ::prost::alloc::vec::Vec<Node>,
1706 #[prost(bool, tag = "28")]
1707 pub group_distinct: bool,
1708 #[prost(message, repeated, tag = "29")]
1709 pub grouping_sets: ::prost::alloc::vec::Vec<Node>,
1710 #[prost(message, optional, boxed, tag = "30")]
1711 pub having_qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1712 #[prost(message, repeated, tag = "31")]
1713 pub window_clause: ::prost::alloc::vec::Vec<Node>,
1714 #[prost(message, repeated, tag = "32")]
1715 pub distinct_clause: ::prost::alloc::vec::Vec<Node>,
1716 #[prost(message, repeated, tag = "33")]
1717 pub sort_clause: ::prost::alloc::vec::Vec<Node>,
1718 #[prost(message, optional, boxed, tag = "34")]
1719 pub limit_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1720 #[prost(message, optional, boxed, tag = "35")]
1721 pub limit_count: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1722 #[prost(enumeration = "LimitOption", tag = "36")]
1723 pub limit_option: i32,
1724 #[prost(message, repeated, tag = "37")]
1725 pub row_marks: ::prost::alloc::vec::Vec<Node>,
1726 #[prost(message, optional, boxed, tag = "38")]
1727 pub set_operations: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1728 #[prost(message, repeated, tag = "39")]
1729 pub constraint_deps: ::prost::alloc::vec::Vec<Node>,
1730 #[prost(message, repeated, tag = "40")]
1731 pub with_check_options: ::prost::alloc::vec::Vec<Node>,
1732 #[prost(int32, tag = "41")]
1733 pub stmt_location: i32,
1734 #[prost(int32, tag = "42")]
1735 pub stmt_len: i32,
1736}
1737#[derive(Clone, PartialEq, ::prost::Message)]
1738pub struct TypeName {
1739 #[prost(message, repeated, tag = "1")]
1740 pub names: ::prost::alloc::vec::Vec<Node>,
1741 #[prost(uint32, tag = "2")]
1742 pub type_oid: u32,
1743 #[prost(bool, tag = "3")]
1744 pub setof: bool,
1745 #[prost(bool, tag = "4")]
1746 pub pct_type: bool,
1747 #[prost(message, repeated, tag = "5")]
1748 pub typmods: ::prost::alloc::vec::Vec<Node>,
1749 #[prost(int32, tag = "6")]
1750 pub typemod: i32,
1751 #[prost(message, repeated, tag = "7")]
1752 pub array_bounds: ::prost::alloc::vec::Vec<Node>,
1753 #[prost(int32, tag = "8")]
1754 pub location: i32,
1755}
1756#[derive(Clone, PartialEq, ::prost::Message)]
1757pub struct ColumnRef {
1758 #[prost(message, repeated, tag = "1")]
1759 pub fields: ::prost::alloc::vec::Vec<Node>,
1760 #[prost(int32, tag = "2")]
1761 pub location: i32,
1762}
1763#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1764pub struct ParamRef {
1765 #[prost(int32, tag = "1")]
1766 pub number: i32,
1767 #[prost(int32, tag = "2")]
1768 pub location: i32,
1769}
1770#[derive(Clone, PartialEq, ::prost::Message)]
1771pub struct AExpr {
1772 #[prost(enumeration = "AExprKind", tag = "1")]
1773 pub kind: i32,
1774 #[prost(message, repeated, tag = "2")]
1775 pub name: ::prost::alloc::vec::Vec<Node>,
1776 #[prost(message, optional, boxed, tag = "3")]
1777 pub lexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1778 #[prost(message, optional, boxed, tag = "4")]
1779 pub rexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1780 #[prost(int32, tag = "5")]
1781 pub location: i32,
1782}
1783#[derive(Clone, PartialEq, ::prost::Message)]
1784pub struct TypeCast {
1785 #[prost(message, optional, boxed, tag = "1")]
1786 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1787 #[prost(message, optional, tag = "2")]
1788 pub type_name: ::core::option::Option<TypeName>,
1789 #[prost(int32, tag = "3")]
1790 pub location: i32,
1791}
1792#[derive(Clone, PartialEq, ::prost::Message)]
1793pub struct CollateClause {
1794 #[prost(message, optional, boxed, tag = "1")]
1795 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1796 #[prost(message, repeated, tag = "2")]
1797 pub collname: ::prost::alloc::vec::Vec<Node>,
1798 #[prost(int32, tag = "3")]
1799 pub location: i32,
1800}
1801#[derive(Clone, PartialEq, ::prost::Message)]
1802pub struct RoleSpec {
1803 #[prost(enumeration = "RoleSpecType", tag = "1")]
1804 pub roletype: i32,
1805 #[prost(string, tag = "2")]
1806 pub rolename: ::prost::alloc::string::String,
1807 #[prost(int32, tag = "3")]
1808 pub location: i32,
1809}
1810#[derive(Clone, PartialEq, ::prost::Message)]
1811pub struct FuncCall {
1812 #[prost(message, repeated, tag = "1")]
1813 pub funcname: ::prost::alloc::vec::Vec<Node>,
1814 #[prost(message, repeated, tag = "2")]
1815 pub args: ::prost::alloc::vec::Vec<Node>,
1816 #[prost(message, repeated, tag = "3")]
1817 pub agg_order: ::prost::alloc::vec::Vec<Node>,
1818 #[prost(message, optional, boxed, tag = "4")]
1819 pub agg_filter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1820 #[prost(message, optional, boxed, tag = "5")]
1821 pub over: ::core::option::Option<::prost::alloc::boxed::Box<WindowDef>>,
1822 #[prost(bool, tag = "6")]
1823 pub agg_within_group: bool,
1824 #[prost(bool, tag = "7")]
1825 pub agg_star: bool,
1826 #[prost(bool, tag = "8")]
1827 pub agg_distinct: bool,
1828 #[prost(bool, tag = "9")]
1829 pub func_variadic: bool,
1830 #[prost(enumeration = "CoercionForm", tag = "10")]
1831 pub funcformat: i32,
1832 #[prost(int32, tag = "11")]
1833 pub location: i32,
1834}
1835#[derive(Clone, Copy, PartialEq, ::prost::Message)]
1836pub struct AStar {}
1837#[derive(Clone, PartialEq, ::prost::Message)]
1838pub struct AIndices {
1839 #[prost(bool, tag = "1")]
1840 pub is_slice: bool,
1841 #[prost(message, optional, boxed, tag = "2")]
1842 pub lidx: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1843 #[prost(message, optional, boxed, tag = "3")]
1844 pub uidx: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1845}
1846#[derive(Clone, PartialEq, ::prost::Message)]
1847pub struct AIndirection {
1848 #[prost(message, optional, boxed, tag = "1")]
1849 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1850 #[prost(message, repeated, tag = "2")]
1851 pub indirection: ::prost::alloc::vec::Vec<Node>,
1852}
1853#[derive(Clone, PartialEq, ::prost::Message)]
1854pub struct AArrayExpr {
1855 #[prost(message, repeated, tag = "1")]
1856 pub elements: ::prost::alloc::vec::Vec<Node>,
1857 #[prost(int32, tag = "2")]
1858 pub location: i32,
1859}
1860#[derive(Clone, PartialEq, ::prost::Message)]
1861pub struct ResTarget {
1862 #[prost(string, tag = "1")]
1863 pub name: ::prost::alloc::string::String,
1864 #[prost(message, repeated, tag = "2")]
1865 pub indirection: ::prost::alloc::vec::Vec<Node>,
1866 #[prost(message, optional, boxed, tag = "3")]
1867 pub val: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1868 #[prost(int32, tag = "4")]
1869 pub location: i32,
1870}
1871#[derive(Clone, PartialEq, ::prost::Message)]
1872pub struct MultiAssignRef {
1873 #[prost(message, optional, boxed, tag = "1")]
1874 pub source: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1875 #[prost(int32, tag = "2")]
1876 pub colno: i32,
1877 #[prost(int32, tag = "3")]
1878 pub ncolumns: i32,
1879}
1880#[derive(Clone, PartialEq, ::prost::Message)]
1881pub struct SortBy {
1882 #[prost(message, optional, boxed, tag = "1")]
1883 pub node: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1884 #[prost(enumeration = "SortByDir", tag = "2")]
1885 pub sortby_dir: i32,
1886 #[prost(enumeration = "SortByNulls", tag = "3")]
1887 pub sortby_nulls: i32,
1888 #[prost(message, repeated, tag = "4")]
1889 pub use_op: ::prost::alloc::vec::Vec<Node>,
1890 #[prost(int32, tag = "5")]
1891 pub location: i32,
1892}
1893#[derive(Clone, PartialEq, ::prost::Message)]
1894pub struct WindowDef {
1895 #[prost(string, tag = "1")]
1896 pub name: ::prost::alloc::string::String,
1897 #[prost(string, tag = "2")]
1898 pub refname: ::prost::alloc::string::String,
1899 #[prost(message, repeated, tag = "3")]
1900 pub partition_clause: ::prost::alloc::vec::Vec<Node>,
1901 #[prost(message, repeated, tag = "4")]
1902 pub order_clause: ::prost::alloc::vec::Vec<Node>,
1903 #[prost(int32, tag = "5")]
1904 pub frame_options: i32,
1905 #[prost(message, optional, boxed, tag = "6")]
1906 pub start_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1907 #[prost(message, optional, boxed, tag = "7")]
1908 pub end_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1909 #[prost(int32, tag = "8")]
1910 pub location: i32,
1911}
1912#[derive(Clone, PartialEq, ::prost::Message)]
1913pub struct RangeSubselect {
1914 #[prost(bool, tag = "1")]
1915 pub lateral: bool,
1916 #[prost(message, optional, boxed, tag = "2")]
1917 pub subquery: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1918 #[prost(message, optional, tag = "3")]
1919 pub alias: ::core::option::Option<Alias>,
1920}
1921#[derive(Clone, PartialEq, ::prost::Message)]
1922pub struct RangeFunction {
1923 #[prost(bool, tag = "1")]
1924 pub lateral: bool,
1925 #[prost(bool, tag = "2")]
1926 pub ordinality: bool,
1927 #[prost(bool, tag = "3")]
1928 pub is_rowsfrom: bool,
1929 #[prost(message, repeated, tag = "4")]
1930 pub functions: ::prost::alloc::vec::Vec<Node>,
1931 #[prost(message, optional, tag = "5")]
1932 pub alias: ::core::option::Option<Alias>,
1933 #[prost(message, repeated, tag = "6")]
1934 pub coldeflist: ::prost::alloc::vec::Vec<Node>,
1935}
1936#[derive(Clone, PartialEq, ::prost::Message)]
1937pub struct RangeTableFunc {
1938 #[prost(bool, tag = "1")]
1939 pub lateral: bool,
1940 #[prost(message, optional, boxed, tag = "2")]
1941 pub docexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1942 #[prost(message, optional, boxed, tag = "3")]
1943 pub rowexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1944 #[prost(message, repeated, tag = "4")]
1945 pub namespaces: ::prost::alloc::vec::Vec<Node>,
1946 #[prost(message, repeated, tag = "5")]
1947 pub columns: ::prost::alloc::vec::Vec<Node>,
1948 #[prost(message, optional, tag = "6")]
1949 pub alias: ::core::option::Option<Alias>,
1950 #[prost(int32, tag = "7")]
1951 pub location: i32,
1952}
1953#[derive(Clone, PartialEq, ::prost::Message)]
1954pub struct RangeTableFuncCol {
1955 #[prost(string, tag = "1")]
1956 pub colname: ::prost::alloc::string::String,
1957 #[prost(message, optional, tag = "2")]
1958 pub type_name: ::core::option::Option<TypeName>,
1959 #[prost(bool, tag = "3")]
1960 pub for_ordinality: bool,
1961 #[prost(bool, tag = "4")]
1962 pub is_not_null: bool,
1963 #[prost(message, optional, boxed, tag = "5")]
1964 pub colexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1965 #[prost(message, optional, boxed, tag = "6")]
1966 pub coldefexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1967 #[prost(int32, tag = "7")]
1968 pub location: i32,
1969}
1970#[derive(Clone, PartialEq, ::prost::Message)]
1971pub struct RangeTableSample {
1972 #[prost(message, optional, boxed, tag = "1")]
1973 pub relation: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1974 #[prost(message, repeated, tag = "2")]
1975 pub method: ::prost::alloc::vec::Vec<Node>,
1976 #[prost(message, repeated, tag = "3")]
1977 pub args: ::prost::alloc::vec::Vec<Node>,
1978 #[prost(message, optional, boxed, tag = "4")]
1979 pub repeatable: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
1980 #[prost(int32, tag = "5")]
1981 pub location: i32,
1982}
1983#[derive(Clone, PartialEq, ::prost::Message)]
1984pub struct ColumnDef {
1985 #[prost(string, tag = "1")]
1986 pub colname: ::prost::alloc::string::String,
1987 #[prost(message, optional, tag = "2")]
1988 pub type_name: ::core::option::Option<TypeName>,
1989 #[prost(string, tag = "3")]
1990 pub compression: ::prost::alloc::string::String,
1991 #[prost(int32, tag = "4")]
1992 pub inhcount: i32,
1993 #[prost(bool, tag = "5")]
1994 pub is_local: bool,
1995 #[prost(bool, tag = "6")]
1996 pub is_not_null: bool,
1997 #[prost(bool, tag = "7")]
1998 pub is_from_type: bool,
1999 #[prost(string, tag = "8")]
2000 pub storage: ::prost::alloc::string::String,
2001 #[prost(string, tag = "9")]
2002 pub storage_name: ::prost::alloc::string::String,
2003 #[prost(message, optional, boxed, tag = "10")]
2004 pub raw_default: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2005 #[prost(message, optional, boxed, tag = "11")]
2006 pub cooked_default: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2007 #[prost(string, tag = "12")]
2008 pub identity: ::prost::alloc::string::String,
2009 #[prost(message, optional, tag = "13")]
2010 pub identity_sequence: ::core::option::Option<RangeVar>,
2011 #[prost(string, tag = "14")]
2012 pub generated: ::prost::alloc::string::String,
2013 #[prost(message, optional, boxed, tag = "15")]
2014 pub coll_clause: ::core::option::Option<::prost::alloc::boxed::Box<CollateClause>>,
2015 #[prost(uint32, tag = "16")]
2016 pub coll_oid: u32,
2017 #[prost(message, repeated, tag = "17")]
2018 pub constraints: ::prost::alloc::vec::Vec<Node>,
2019 #[prost(message, repeated, tag = "18")]
2020 pub fdwoptions: ::prost::alloc::vec::Vec<Node>,
2021 #[prost(int32, tag = "19")]
2022 pub location: i32,
2023}
2024#[derive(Clone, PartialEq, ::prost::Message)]
2025pub struct TableLikeClause {
2026 #[prost(message, optional, tag = "1")]
2027 pub relation: ::core::option::Option<RangeVar>,
2028 #[prost(uint32, tag = "2")]
2029 pub options: u32,
2030 #[prost(uint32, tag = "3")]
2031 pub relation_oid: u32,
2032}
2033#[derive(Clone, PartialEq, ::prost::Message)]
2034pub struct IndexElem {
2035 #[prost(string, tag = "1")]
2036 pub name: ::prost::alloc::string::String,
2037 #[prost(message, optional, boxed, tag = "2")]
2038 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2039 #[prost(string, tag = "3")]
2040 pub indexcolname: ::prost::alloc::string::String,
2041 #[prost(message, repeated, tag = "4")]
2042 pub collation: ::prost::alloc::vec::Vec<Node>,
2043 #[prost(message, repeated, tag = "5")]
2044 pub opclass: ::prost::alloc::vec::Vec<Node>,
2045 #[prost(message, repeated, tag = "6")]
2046 pub opclassopts: ::prost::alloc::vec::Vec<Node>,
2047 #[prost(enumeration = "SortByDir", tag = "7")]
2048 pub ordering: i32,
2049 #[prost(enumeration = "SortByNulls", tag = "8")]
2050 pub nulls_ordering: i32,
2051}
2052#[derive(Clone, PartialEq, ::prost::Message)]
2053pub struct DefElem {
2054 #[prost(string, tag = "1")]
2055 pub defnamespace: ::prost::alloc::string::String,
2056 #[prost(string, tag = "2")]
2057 pub defname: ::prost::alloc::string::String,
2058 #[prost(message, optional, boxed, tag = "3")]
2059 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2060 #[prost(enumeration = "DefElemAction", tag = "4")]
2061 pub defaction: i32,
2062 #[prost(int32, tag = "5")]
2063 pub location: i32,
2064}
2065#[derive(Clone, PartialEq, ::prost::Message)]
2066pub struct LockingClause {
2067 #[prost(message, repeated, tag = "1")]
2068 pub locked_rels: ::prost::alloc::vec::Vec<Node>,
2069 #[prost(enumeration = "LockClauseStrength", tag = "2")]
2070 pub strength: i32,
2071 #[prost(enumeration = "LockWaitPolicy", tag = "3")]
2072 pub wait_policy: i32,
2073}
2074#[derive(Clone, PartialEq, ::prost::Message)]
2075pub struct XmlSerialize {
2076 #[prost(enumeration = "XmlOptionType", tag = "1")]
2077 pub xmloption: i32,
2078 #[prost(message, optional, boxed, tag = "2")]
2079 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2080 #[prost(message, optional, tag = "3")]
2081 pub type_name: ::core::option::Option<TypeName>,
2082 #[prost(bool, tag = "4")]
2083 pub indent: bool,
2084 #[prost(int32, tag = "5")]
2085 pub location: i32,
2086}
2087#[derive(Clone, PartialEq, ::prost::Message)]
2088pub struct PartitionElem {
2089 #[prost(string, tag = "1")]
2090 pub name: ::prost::alloc::string::String,
2091 #[prost(message, optional, boxed, tag = "2")]
2092 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2093 #[prost(message, repeated, tag = "3")]
2094 pub collation: ::prost::alloc::vec::Vec<Node>,
2095 #[prost(message, repeated, tag = "4")]
2096 pub opclass: ::prost::alloc::vec::Vec<Node>,
2097 #[prost(int32, tag = "5")]
2098 pub location: i32,
2099}
2100#[derive(Clone, PartialEq, ::prost::Message)]
2101pub struct PartitionSpec {
2102 #[prost(enumeration = "PartitionStrategy", tag = "1")]
2103 pub strategy: i32,
2104 #[prost(message, repeated, tag = "2")]
2105 pub part_params: ::prost::alloc::vec::Vec<Node>,
2106 #[prost(int32, tag = "3")]
2107 pub location: i32,
2108}
2109#[derive(Clone, PartialEq, ::prost::Message)]
2110pub struct PartitionBoundSpec {
2111 #[prost(string, tag = "1")]
2112 pub strategy: ::prost::alloc::string::String,
2113 #[prost(bool, tag = "2")]
2114 pub is_default: bool,
2115 #[prost(int32, tag = "3")]
2116 pub modulus: i32,
2117 #[prost(int32, tag = "4")]
2118 pub remainder: i32,
2119 #[prost(message, repeated, tag = "5")]
2120 pub listdatums: ::prost::alloc::vec::Vec<Node>,
2121 #[prost(message, repeated, tag = "6")]
2122 pub lowerdatums: ::prost::alloc::vec::Vec<Node>,
2123 #[prost(message, repeated, tag = "7")]
2124 pub upperdatums: ::prost::alloc::vec::Vec<Node>,
2125 #[prost(int32, tag = "8")]
2126 pub location: i32,
2127}
2128#[derive(Clone, PartialEq, ::prost::Message)]
2129pub struct PartitionRangeDatum {
2130 #[prost(enumeration = "PartitionRangeDatumKind", tag = "1")]
2131 pub kind: i32,
2132 #[prost(message, optional, boxed, tag = "2")]
2133 pub value: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2134 #[prost(int32, tag = "3")]
2135 pub location: i32,
2136}
2137#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2138pub struct SinglePartitionSpec {}
2139#[derive(Clone, PartialEq, ::prost::Message)]
2140pub struct PartitionCmd {
2141 #[prost(message, optional, tag = "1")]
2142 pub name: ::core::option::Option<RangeVar>,
2143 #[prost(message, optional, tag = "2")]
2144 pub bound: ::core::option::Option<PartitionBoundSpec>,
2145 #[prost(bool, tag = "3")]
2146 pub concurrent: bool,
2147}
2148#[derive(Clone, PartialEq, ::prost::Message)]
2149pub struct RangeTblEntry {
2150 #[prost(message, optional, tag = "1")]
2151 pub alias: ::core::option::Option<Alias>,
2152 #[prost(message, optional, tag = "2")]
2153 pub eref: ::core::option::Option<Alias>,
2154 #[prost(enumeration = "RteKind", tag = "3")]
2155 pub rtekind: i32,
2156 #[prost(uint32, tag = "4")]
2157 pub relid: u32,
2158 #[prost(bool, tag = "5")]
2159 pub inh: bool,
2160 #[prost(string, tag = "6")]
2161 pub relkind: ::prost::alloc::string::String,
2162 #[prost(int32, tag = "7")]
2163 pub rellockmode: i32,
2164 #[prost(uint32, tag = "8")]
2165 pub perminfoindex: u32,
2166 #[prost(message, optional, boxed, tag = "9")]
2167 pub tablesample: ::core::option::Option<
2168 ::prost::alloc::boxed::Box<TableSampleClause>,
2169 >,
2170 #[prost(message, optional, boxed, tag = "10")]
2171 pub subquery: ::core::option::Option<::prost::alloc::boxed::Box<Query>>,
2172 #[prost(bool, tag = "11")]
2173 pub security_barrier: bool,
2174 #[prost(enumeration = "JoinType", tag = "12")]
2175 pub jointype: i32,
2176 #[prost(int32, tag = "13")]
2177 pub joinmergedcols: i32,
2178 #[prost(message, repeated, tag = "14")]
2179 pub joinaliasvars: ::prost::alloc::vec::Vec<Node>,
2180 #[prost(message, repeated, tag = "15")]
2181 pub joinleftcols: ::prost::alloc::vec::Vec<Node>,
2182 #[prost(message, repeated, tag = "16")]
2183 pub joinrightcols: ::prost::alloc::vec::Vec<Node>,
2184 #[prost(message, optional, tag = "17")]
2185 pub join_using_alias: ::core::option::Option<Alias>,
2186 #[prost(message, repeated, tag = "18")]
2187 pub functions: ::prost::alloc::vec::Vec<Node>,
2188 #[prost(bool, tag = "19")]
2189 pub funcordinality: bool,
2190 #[prost(message, optional, boxed, tag = "20")]
2191 pub tablefunc: ::core::option::Option<::prost::alloc::boxed::Box<TableFunc>>,
2192 #[prost(message, repeated, tag = "21")]
2193 pub values_lists: ::prost::alloc::vec::Vec<Node>,
2194 #[prost(string, tag = "22")]
2195 pub ctename: ::prost::alloc::string::String,
2196 #[prost(uint32, tag = "23")]
2197 pub ctelevelsup: u32,
2198 #[prost(bool, tag = "24")]
2199 pub self_reference: bool,
2200 #[prost(message, repeated, tag = "25")]
2201 pub coltypes: ::prost::alloc::vec::Vec<Node>,
2202 #[prost(message, repeated, tag = "26")]
2203 pub coltypmods: ::prost::alloc::vec::Vec<Node>,
2204 #[prost(message, repeated, tag = "27")]
2205 pub colcollations: ::prost::alloc::vec::Vec<Node>,
2206 #[prost(string, tag = "28")]
2207 pub enrname: ::prost::alloc::string::String,
2208 #[prost(double, tag = "29")]
2209 pub enrtuples: f64,
2210 #[prost(bool, tag = "30")]
2211 pub lateral: bool,
2212 #[prost(bool, tag = "31")]
2213 pub in_from_cl: bool,
2214 #[prost(message, repeated, tag = "32")]
2215 pub security_quals: ::prost::alloc::vec::Vec<Node>,
2216}
2217#[derive(Clone, PartialEq, ::prost::Message)]
2218pub struct RtePermissionInfo {
2219 #[prost(uint32, tag = "1")]
2220 pub relid: u32,
2221 #[prost(bool, tag = "2")]
2222 pub inh: bool,
2223 #[prost(uint64, tag = "3")]
2224 pub required_perms: u64,
2225 #[prost(uint32, tag = "4")]
2226 pub check_as_user: u32,
2227 #[prost(uint64, repeated, tag = "5")]
2228 pub selected_cols: ::prost::alloc::vec::Vec<u64>,
2229 #[prost(uint64, repeated, tag = "6")]
2230 pub inserted_cols: ::prost::alloc::vec::Vec<u64>,
2231 #[prost(uint64, repeated, tag = "7")]
2232 pub updated_cols: ::prost::alloc::vec::Vec<u64>,
2233}
2234#[derive(Clone, PartialEq, ::prost::Message)]
2235pub struct RangeTblFunction {
2236 #[prost(message, optional, boxed, tag = "1")]
2237 pub funcexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2238 #[prost(int32, tag = "2")]
2239 pub funccolcount: i32,
2240 #[prost(message, repeated, tag = "3")]
2241 pub funccolnames: ::prost::alloc::vec::Vec<Node>,
2242 #[prost(message, repeated, tag = "4")]
2243 pub funccoltypes: ::prost::alloc::vec::Vec<Node>,
2244 #[prost(message, repeated, tag = "5")]
2245 pub funccoltypmods: ::prost::alloc::vec::Vec<Node>,
2246 #[prost(message, repeated, tag = "6")]
2247 pub funccolcollations: ::prost::alloc::vec::Vec<Node>,
2248 #[prost(uint64, repeated, tag = "7")]
2249 pub funcparams: ::prost::alloc::vec::Vec<u64>,
2250}
2251#[derive(Clone, PartialEq, ::prost::Message)]
2252pub struct TableSampleClause {
2253 #[prost(uint32, tag = "1")]
2254 pub tsmhandler: u32,
2255 #[prost(message, repeated, tag = "2")]
2256 pub args: ::prost::alloc::vec::Vec<Node>,
2257 #[prost(message, optional, boxed, tag = "3")]
2258 pub repeatable: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2259}
2260#[derive(Clone, PartialEq, ::prost::Message)]
2261pub struct WithCheckOption {
2262 #[prost(enumeration = "WcoKind", tag = "1")]
2263 pub kind: i32,
2264 #[prost(string, tag = "2")]
2265 pub relname: ::prost::alloc::string::String,
2266 #[prost(string, tag = "3")]
2267 pub polname: ::prost::alloc::string::String,
2268 #[prost(message, optional, boxed, tag = "4")]
2269 pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2270 #[prost(bool, tag = "5")]
2271 pub cascaded: bool,
2272}
2273#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2274pub struct SortGroupClause {
2275 #[prost(uint32, tag = "1")]
2276 pub tle_sort_group_ref: u32,
2277 #[prost(uint32, tag = "2")]
2278 pub eqop: u32,
2279 #[prost(uint32, tag = "3")]
2280 pub sortop: u32,
2281 #[prost(bool, tag = "4")]
2282 pub nulls_first: bool,
2283 #[prost(bool, tag = "5")]
2284 pub hashable: bool,
2285}
2286#[derive(Clone, PartialEq, ::prost::Message)]
2287pub struct GroupingSet {
2288 #[prost(enumeration = "GroupingSetKind", tag = "1")]
2289 pub kind: i32,
2290 #[prost(message, repeated, tag = "2")]
2291 pub content: ::prost::alloc::vec::Vec<Node>,
2292 #[prost(int32, tag = "3")]
2293 pub location: i32,
2294}
2295#[derive(Clone, PartialEq, ::prost::Message)]
2296pub struct WindowClause {
2297 #[prost(string, tag = "1")]
2298 pub name: ::prost::alloc::string::String,
2299 #[prost(string, tag = "2")]
2300 pub refname: ::prost::alloc::string::String,
2301 #[prost(message, repeated, tag = "3")]
2302 pub partition_clause: ::prost::alloc::vec::Vec<Node>,
2303 #[prost(message, repeated, tag = "4")]
2304 pub order_clause: ::prost::alloc::vec::Vec<Node>,
2305 #[prost(int32, tag = "5")]
2306 pub frame_options: i32,
2307 #[prost(message, optional, boxed, tag = "6")]
2308 pub start_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2309 #[prost(message, optional, boxed, tag = "7")]
2310 pub end_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2311 #[prost(uint32, tag = "8")]
2312 pub start_in_range_func: u32,
2313 #[prost(uint32, tag = "9")]
2314 pub end_in_range_func: u32,
2315 #[prost(uint32, tag = "10")]
2316 pub in_range_coll: u32,
2317 #[prost(bool, tag = "11")]
2318 pub in_range_asc: bool,
2319 #[prost(bool, tag = "12")]
2320 pub in_range_nulls_first: bool,
2321 #[prost(uint32, tag = "13")]
2322 pub winref: u32,
2323 #[prost(bool, tag = "14")]
2324 pub copied_order: bool,
2325}
2326#[derive(Clone, Copy, PartialEq, ::prost::Message)]
2327pub struct RowMarkClause {
2328 #[prost(uint32, tag = "1")]
2329 pub rti: u32,
2330 #[prost(enumeration = "LockClauseStrength", tag = "2")]
2331 pub strength: i32,
2332 #[prost(enumeration = "LockWaitPolicy", tag = "3")]
2333 pub wait_policy: i32,
2334 #[prost(bool, tag = "4")]
2335 pub pushed_down: bool,
2336}
2337#[derive(Clone, PartialEq, ::prost::Message)]
2338pub struct WithClause {
2339 #[prost(message, repeated, tag = "1")]
2340 pub ctes: ::prost::alloc::vec::Vec<Node>,
2341 #[prost(bool, tag = "2")]
2342 pub recursive: bool,
2343 #[prost(int32, tag = "3")]
2344 pub location: i32,
2345}
2346#[derive(Clone, PartialEq, ::prost::Message)]
2347pub struct InferClause {
2348 #[prost(message, repeated, tag = "1")]
2349 pub index_elems: ::prost::alloc::vec::Vec<Node>,
2350 #[prost(message, optional, boxed, tag = "2")]
2351 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2352 #[prost(string, tag = "3")]
2353 pub conname: ::prost::alloc::string::String,
2354 #[prost(int32, tag = "4")]
2355 pub location: i32,
2356}
2357#[derive(Clone, PartialEq, ::prost::Message)]
2358pub struct OnConflictClause {
2359 #[prost(enumeration = "OnConflictAction", tag = "1")]
2360 pub action: i32,
2361 #[prost(message, optional, boxed, tag = "2")]
2362 pub infer: ::core::option::Option<::prost::alloc::boxed::Box<InferClause>>,
2363 #[prost(message, repeated, tag = "3")]
2364 pub target_list: ::prost::alloc::vec::Vec<Node>,
2365 #[prost(message, optional, boxed, tag = "4")]
2366 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2367 #[prost(int32, tag = "5")]
2368 pub location: i32,
2369}
2370#[derive(Clone, PartialEq, ::prost::Message)]
2371pub struct CteSearchClause {
2372 #[prost(message, repeated, tag = "1")]
2373 pub search_col_list: ::prost::alloc::vec::Vec<Node>,
2374 #[prost(bool, tag = "2")]
2375 pub search_breadth_first: bool,
2376 #[prost(string, tag = "3")]
2377 pub search_seq_column: ::prost::alloc::string::String,
2378 #[prost(int32, tag = "4")]
2379 pub location: i32,
2380}
2381#[derive(Clone, PartialEq, ::prost::Message)]
2382pub struct CteCycleClause {
2383 #[prost(message, repeated, tag = "1")]
2384 pub cycle_col_list: ::prost::alloc::vec::Vec<Node>,
2385 #[prost(string, tag = "2")]
2386 pub cycle_mark_column: ::prost::alloc::string::String,
2387 #[prost(message, optional, boxed, tag = "3")]
2388 pub cycle_mark_value: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2389 #[prost(message, optional, boxed, tag = "4")]
2390 pub cycle_mark_default: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2391 #[prost(string, tag = "5")]
2392 pub cycle_path_column: ::prost::alloc::string::String,
2393 #[prost(int32, tag = "6")]
2394 pub location: i32,
2395 #[prost(uint32, tag = "7")]
2396 pub cycle_mark_type: u32,
2397 #[prost(int32, tag = "8")]
2398 pub cycle_mark_typmod: i32,
2399 #[prost(uint32, tag = "9")]
2400 pub cycle_mark_collation: u32,
2401 #[prost(uint32, tag = "10")]
2402 pub cycle_mark_neop: u32,
2403}
2404#[derive(Clone, PartialEq, ::prost::Message)]
2405pub struct CommonTableExpr {
2406 #[prost(string, tag = "1")]
2407 pub ctename: ::prost::alloc::string::String,
2408 #[prost(message, repeated, tag = "2")]
2409 pub aliascolnames: ::prost::alloc::vec::Vec<Node>,
2410 #[prost(enumeration = "CteMaterialize", tag = "3")]
2411 pub ctematerialized: i32,
2412 #[prost(message, optional, boxed, tag = "4")]
2413 pub ctequery: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2414 #[prost(message, optional, tag = "5")]
2415 pub search_clause: ::core::option::Option<CteSearchClause>,
2416 #[prost(message, optional, boxed, tag = "6")]
2417 pub cycle_clause: ::core::option::Option<::prost::alloc::boxed::Box<CteCycleClause>>,
2418 #[prost(int32, tag = "7")]
2419 pub location: i32,
2420 #[prost(bool, tag = "8")]
2421 pub cterecursive: bool,
2422 #[prost(int32, tag = "9")]
2423 pub cterefcount: i32,
2424 #[prost(message, repeated, tag = "10")]
2425 pub ctecolnames: ::prost::alloc::vec::Vec<Node>,
2426 #[prost(message, repeated, tag = "11")]
2427 pub ctecoltypes: ::prost::alloc::vec::Vec<Node>,
2428 #[prost(message, repeated, tag = "12")]
2429 pub ctecoltypmods: ::prost::alloc::vec::Vec<Node>,
2430 #[prost(message, repeated, tag = "13")]
2431 pub ctecolcollations: ::prost::alloc::vec::Vec<Node>,
2432}
2433#[derive(Clone, PartialEq, ::prost::Message)]
2434pub struct MergeWhenClause {
2435 #[prost(enumeration = "MergeMatchKind", tag = "1")]
2436 pub match_kind: i32,
2437 #[prost(enumeration = "CmdType", tag = "2")]
2438 pub command_type: i32,
2439 #[prost(enumeration = "OverridingKind", tag = "3")]
2440 pub r#override: i32,
2441 #[prost(message, optional, boxed, tag = "4")]
2442 pub condition: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2443 #[prost(message, repeated, tag = "5")]
2444 pub target_list: ::prost::alloc::vec::Vec<Node>,
2445 #[prost(message, repeated, tag = "6")]
2446 pub values: ::prost::alloc::vec::Vec<Node>,
2447}
2448#[derive(Clone, PartialEq, ::prost::Message)]
2449pub struct TriggerTransition {
2450 #[prost(string, tag = "1")]
2451 pub name: ::prost::alloc::string::String,
2452 #[prost(bool, tag = "2")]
2453 pub is_new: bool,
2454 #[prost(bool, tag = "3")]
2455 pub is_table: bool,
2456}
2457#[derive(Clone, PartialEq, ::prost::Message)]
2458pub struct JsonOutput {
2459 #[prost(message, optional, tag = "1")]
2460 pub type_name: ::core::option::Option<TypeName>,
2461 #[prost(message, optional, tag = "2")]
2462 pub returning: ::core::option::Option<JsonReturning>,
2463}
2464#[derive(Clone, PartialEq, ::prost::Message)]
2465pub struct JsonArgument {
2466 #[prost(message, optional, boxed, tag = "1")]
2467 pub val: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
2468 #[prost(string, tag = "2")]
2469 pub name: ::prost::alloc::string::String,
2470}
2471#[derive(Clone, PartialEq, ::prost::Message)]
2472pub struct JsonFuncExpr {
2473 #[prost(enumeration = "JsonExprOp", tag = "1")]
2474 pub op: i32,
2475 #[prost(string, tag = "2")]
2476 pub column_name: ::prost::alloc::string::String,
2477 #[prost(message, optional, boxed, tag = "3")]
2478 pub context_item: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
2479 #[prost(message, optional, boxed, tag = "4")]
2480 pub pathspec: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2481 #[prost(message, repeated, tag = "5")]
2482 pub passing: ::prost::alloc::vec::Vec<Node>,
2483 #[prost(message, optional, tag = "6")]
2484 pub output: ::core::option::Option<JsonOutput>,
2485 #[prost(message, optional, boxed, tag = "7")]
2486 pub on_empty: ::core::option::Option<::prost::alloc::boxed::Box<JsonBehavior>>,
2487 #[prost(message, optional, boxed, tag = "8")]
2488 pub on_error: ::core::option::Option<::prost::alloc::boxed::Box<JsonBehavior>>,
2489 #[prost(enumeration = "JsonWrapper", tag = "9")]
2490 pub wrapper: i32,
2491 #[prost(enumeration = "JsonQuotes", tag = "10")]
2492 pub quotes: i32,
2493 #[prost(int32, tag = "11")]
2494 pub location: i32,
2495}
2496#[derive(Clone, PartialEq, ::prost::Message)]
2497pub struct JsonTablePathSpec {
2498 #[prost(message, optional, boxed, tag = "1")]
2499 pub string: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2500 #[prost(string, tag = "2")]
2501 pub name: ::prost::alloc::string::String,
2502 #[prost(int32, tag = "3")]
2503 pub name_location: i32,
2504 #[prost(int32, tag = "4")]
2505 pub location: i32,
2506}
2507#[derive(Clone, PartialEq, ::prost::Message)]
2508pub struct JsonTable {
2509 #[prost(message, optional, boxed, tag = "1")]
2510 pub context_item: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
2511 #[prost(message, optional, boxed, tag = "2")]
2512 pub pathspec: ::core::option::Option<::prost::alloc::boxed::Box<JsonTablePathSpec>>,
2513 #[prost(message, repeated, tag = "3")]
2514 pub passing: ::prost::alloc::vec::Vec<Node>,
2515 #[prost(message, repeated, tag = "4")]
2516 pub columns: ::prost::alloc::vec::Vec<Node>,
2517 #[prost(message, optional, boxed, tag = "5")]
2518 pub on_error: ::core::option::Option<::prost::alloc::boxed::Box<JsonBehavior>>,
2519 #[prost(message, optional, tag = "6")]
2520 pub alias: ::core::option::Option<Alias>,
2521 #[prost(bool, tag = "7")]
2522 pub lateral: bool,
2523 #[prost(int32, tag = "8")]
2524 pub location: i32,
2525}
2526#[derive(Clone, PartialEq, ::prost::Message)]
2527pub struct JsonTableColumn {
2528 #[prost(enumeration = "JsonTableColumnType", tag = "1")]
2529 pub coltype: i32,
2530 #[prost(string, tag = "2")]
2531 pub name: ::prost::alloc::string::String,
2532 #[prost(message, optional, tag = "3")]
2533 pub type_name: ::core::option::Option<TypeName>,
2534 #[prost(message, optional, boxed, tag = "4")]
2535 pub pathspec: ::core::option::Option<::prost::alloc::boxed::Box<JsonTablePathSpec>>,
2536 #[prost(message, optional, tag = "5")]
2537 pub format: ::core::option::Option<JsonFormat>,
2538 #[prost(enumeration = "JsonWrapper", tag = "6")]
2539 pub wrapper: i32,
2540 #[prost(enumeration = "JsonQuotes", tag = "7")]
2541 pub quotes: i32,
2542 #[prost(message, repeated, tag = "8")]
2543 pub columns: ::prost::alloc::vec::Vec<Node>,
2544 #[prost(message, optional, boxed, tag = "9")]
2545 pub on_empty: ::core::option::Option<::prost::alloc::boxed::Box<JsonBehavior>>,
2546 #[prost(message, optional, boxed, tag = "10")]
2547 pub on_error: ::core::option::Option<::prost::alloc::boxed::Box<JsonBehavior>>,
2548 #[prost(int32, tag = "11")]
2549 pub location: i32,
2550}
2551#[derive(Clone, PartialEq, ::prost::Message)]
2552pub struct JsonKeyValue {
2553 #[prost(message, optional, boxed, tag = "1")]
2554 pub key: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2555 #[prost(message, optional, boxed, tag = "2")]
2556 pub value: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
2557}
2558#[derive(Clone, PartialEq, ::prost::Message)]
2559pub struct JsonParseExpr {
2560 #[prost(message, optional, boxed, tag = "1")]
2561 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
2562 #[prost(message, optional, tag = "2")]
2563 pub output: ::core::option::Option<JsonOutput>,
2564 #[prost(bool, tag = "3")]
2565 pub unique_keys: bool,
2566 #[prost(int32, tag = "4")]
2567 pub location: i32,
2568}
2569#[derive(Clone, PartialEq, ::prost::Message)]
2570pub struct JsonScalarExpr {
2571 #[prost(message, optional, boxed, tag = "1")]
2572 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2573 #[prost(message, optional, tag = "2")]
2574 pub output: ::core::option::Option<JsonOutput>,
2575 #[prost(int32, tag = "3")]
2576 pub location: i32,
2577}
2578#[derive(Clone, PartialEq, ::prost::Message)]
2579pub struct JsonSerializeExpr {
2580 #[prost(message, optional, boxed, tag = "1")]
2581 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
2582 #[prost(message, optional, tag = "2")]
2583 pub output: ::core::option::Option<JsonOutput>,
2584 #[prost(int32, tag = "3")]
2585 pub location: i32,
2586}
2587#[derive(Clone, PartialEq, ::prost::Message)]
2588pub struct JsonObjectConstructor {
2589 #[prost(message, repeated, tag = "1")]
2590 pub exprs: ::prost::alloc::vec::Vec<Node>,
2591 #[prost(message, optional, tag = "2")]
2592 pub output: ::core::option::Option<JsonOutput>,
2593 #[prost(bool, tag = "3")]
2594 pub absent_on_null: bool,
2595 #[prost(bool, tag = "4")]
2596 pub unique: bool,
2597 #[prost(int32, tag = "5")]
2598 pub location: i32,
2599}
2600#[derive(Clone, PartialEq, ::prost::Message)]
2601pub struct JsonArrayConstructor {
2602 #[prost(message, repeated, tag = "1")]
2603 pub exprs: ::prost::alloc::vec::Vec<Node>,
2604 #[prost(message, optional, tag = "2")]
2605 pub output: ::core::option::Option<JsonOutput>,
2606 #[prost(bool, tag = "3")]
2607 pub absent_on_null: bool,
2608 #[prost(int32, tag = "4")]
2609 pub location: i32,
2610}
2611#[derive(Clone, PartialEq, ::prost::Message)]
2612pub struct JsonArrayQueryConstructor {
2613 #[prost(message, optional, boxed, tag = "1")]
2614 pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2615 #[prost(message, optional, tag = "2")]
2616 pub output: ::core::option::Option<JsonOutput>,
2617 #[prost(message, optional, tag = "3")]
2618 pub format: ::core::option::Option<JsonFormat>,
2619 #[prost(bool, tag = "4")]
2620 pub absent_on_null: bool,
2621 #[prost(int32, tag = "5")]
2622 pub location: i32,
2623}
2624#[derive(Clone, PartialEq, ::prost::Message)]
2625pub struct JsonAggConstructor {
2626 #[prost(message, optional, tag = "1")]
2627 pub output: ::core::option::Option<JsonOutput>,
2628 #[prost(message, optional, boxed, tag = "2")]
2629 pub agg_filter: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2630 #[prost(message, repeated, tag = "3")]
2631 pub agg_order: ::prost::alloc::vec::Vec<Node>,
2632 #[prost(message, optional, boxed, tag = "4")]
2633 pub over: ::core::option::Option<::prost::alloc::boxed::Box<WindowDef>>,
2634 #[prost(int32, tag = "5")]
2635 pub location: i32,
2636}
2637#[derive(Clone, PartialEq, ::prost::Message)]
2638pub struct JsonObjectAgg {
2639 #[prost(message, optional, boxed, tag = "1")]
2640 pub constructor: ::core::option::Option<
2641 ::prost::alloc::boxed::Box<JsonAggConstructor>,
2642 >,
2643 #[prost(message, optional, boxed, tag = "2")]
2644 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<JsonKeyValue>>,
2645 #[prost(bool, tag = "3")]
2646 pub absent_on_null: bool,
2647 #[prost(bool, tag = "4")]
2648 pub unique: bool,
2649}
2650#[derive(Clone, PartialEq, ::prost::Message)]
2651pub struct JsonArrayAgg {
2652 #[prost(message, optional, boxed, tag = "1")]
2653 pub constructor: ::core::option::Option<
2654 ::prost::alloc::boxed::Box<JsonAggConstructor>,
2655 >,
2656 #[prost(message, optional, boxed, tag = "2")]
2657 pub arg: ::core::option::Option<::prost::alloc::boxed::Box<JsonValueExpr>>,
2658 #[prost(bool, tag = "3")]
2659 pub absent_on_null: bool,
2660}
2661#[derive(Clone, PartialEq, ::prost::Message)]
2662pub struct RawStmt {
2663 #[prost(message, optional, boxed, tag = "1")]
2664 pub stmt: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2665 #[prost(int32, tag = "2")]
2666 pub stmt_location: i32,
2667 #[prost(int32, tag = "3")]
2668 pub stmt_len: i32,
2669}
2670#[derive(Clone, PartialEq, ::prost::Message)]
2671pub struct InsertStmt {
2672 #[prost(message, optional, tag = "1")]
2673 pub relation: ::core::option::Option<RangeVar>,
2674 #[prost(message, repeated, tag = "2")]
2675 pub cols: ::prost::alloc::vec::Vec<Node>,
2676 #[prost(message, optional, boxed, tag = "3")]
2677 pub select_stmt: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2678 #[prost(message, optional, boxed, tag = "4")]
2679 pub on_conflict_clause: ::core::option::Option<
2680 ::prost::alloc::boxed::Box<OnConflictClause>,
2681 >,
2682 #[prost(message, repeated, tag = "5")]
2683 pub returning_list: ::prost::alloc::vec::Vec<Node>,
2684 #[prost(message, optional, tag = "6")]
2685 pub with_clause: ::core::option::Option<WithClause>,
2686 #[prost(enumeration = "OverridingKind", tag = "7")]
2687 pub r#override: i32,
2688}
2689#[derive(Clone, PartialEq, ::prost::Message)]
2690pub struct DeleteStmt {
2691 #[prost(message, optional, tag = "1")]
2692 pub relation: ::core::option::Option<RangeVar>,
2693 #[prost(message, repeated, tag = "2")]
2694 pub using_clause: ::prost::alloc::vec::Vec<Node>,
2695 #[prost(message, optional, boxed, tag = "3")]
2696 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2697 #[prost(message, repeated, tag = "4")]
2698 pub returning_list: ::prost::alloc::vec::Vec<Node>,
2699 #[prost(message, optional, tag = "5")]
2700 pub with_clause: ::core::option::Option<WithClause>,
2701}
2702#[derive(Clone, PartialEq, ::prost::Message)]
2703pub struct UpdateStmt {
2704 #[prost(message, optional, tag = "1")]
2705 pub relation: ::core::option::Option<RangeVar>,
2706 #[prost(message, repeated, tag = "2")]
2707 pub target_list: ::prost::alloc::vec::Vec<Node>,
2708 #[prost(message, optional, boxed, tag = "3")]
2709 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2710 #[prost(message, repeated, tag = "4")]
2711 pub from_clause: ::prost::alloc::vec::Vec<Node>,
2712 #[prost(message, repeated, tag = "5")]
2713 pub returning_list: ::prost::alloc::vec::Vec<Node>,
2714 #[prost(message, optional, tag = "6")]
2715 pub with_clause: ::core::option::Option<WithClause>,
2716}
2717#[derive(Clone, PartialEq, ::prost::Message)]
2718pub struct MergeStmt {
2719 #[prost(message, optional, tag = "1")]
2720 pub relation: ::core::option::Option<RangeVar>,
2721 #[prost(message, optional, boxed, tag = "2")]
2722 pub source_relation: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2723 #[prost(message, optional, boxed, tag = "3")]
2724 pub join_condition: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2725 #[prost(message, repeated, tag = "4")]
2726 pub merge_when_clauses: ::prost::alloc::vec::Vec<Node>,
2727 #[prost(message, repeated, tag = "5")]
2728 pub returning_list: ::prost::alloc::vec::Vec<Node>,
2729 #[prost(message, optional, tag = "6")]
2730 pub with_clause: ::core::option::Option<WithClause>,
2731}
2732#[derive(Clone, PartialEq, ::prost::Message)]
2733pub struct SelectStmt {
2734 #[prost(message, repeated, tag = "1")]
2735 pub distinct_clause: ::prost::alloc::vec::Vec<Node>,
2736 #[prost(message, optional, boxed, tag = "2")]
2737 pub into_clause: ::core::option::Option<::prost::alloc::boxed::Box<IntoClause>>,
2738 #[prost(message, repeated, tag = "3")]
2739 pub target_list: ::prost::alloc::vec::Vec<Node>,
2740 #[prost(message, repeated, tag = "4")]
2741 pub from_clause: ::prost::alloc::vec::Vec<Node>,
2742 #[prost(message, optional, boxed, tag = "5")]
2743 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2744 #[prost(message, repeated, tag = "6")]
2745 pub group_clause: ::prost::alloc::vec::Vec<Node>,
2746 #[prost(bool, tag = "7")]
2747 pub group_distinct: bool,
2748 #[prost(message, optional, boxed, tag = "8")]
2749 pub having_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2750 #[prost(message, repeated, tag = "9")]
2751 pub window_clause: ::prost::alloc::vec::Vec<Node>,
2752 #[prost(message, repeated, tag = "10")]
2753 pub values_lists: ::prost::alloc::vec::Vec<Node>,
2754 #[prost(message, repeated, tag = "11")]
2755 pub sort_clause: ::prost::alloc::vec::Vec<Node>,
2756 #[prost(message, optional, boxed, tag = "12")]
2757 pub limit_offset: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2758 #[prost(message, optional, boxed, tag = "13")]
2759 pub limit_count: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2760 #[prost(enumeration = "LimitOption", tag = "14")]
2761 pub limit_option: i32,
2762 #[prost(message, repeated, tag = "15")]
2763 pub locking_clause: ::prost::alloc::vec::Vec<Node>,
2764 #[prost(message, optional, tag = "16")]
2765 pub with_clause: ::core::option::Option<WithClause>,
2766 #[prost(enumeration = "SetOperation", tag = "17")]
2767 pub op: i32,
2768 #[prost(bool, tag = "18")]
2769 pub all: bool,
2770 #[prost(message, optional, boxed, tag = "19")]
2771 pub larg: ::core::option::Option<::prost::alloc::boxed::Box<SelectStmt>>,
2772 #[prost(message, optional, boxed, tag = "20")]
2773 pub rarg: ::core::option::Option<::prost::alloc::boxed::Box<SelectStmt>>,
2774}
2775#[derive(Clone, PartialEq, ::prost::Message)]
2776pub struct SetOperationStmt {
2777 #[prost(enumeration = "SetOperation", tag = "1")]
2778 pub op: i32,
2779 #[prost(bool, tag = "2")]
2780 pub all: bool,
2781 #[prost(message, optional, boxed, tag = "3")]
2782 pub larg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2783 #[prost(message, optional, boxed, tag = "4")]
2784 pub rarg: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2785 #[prost(message, repeated, tag = "5")]
2786 pub col_types: ::prost::alloc::vec::Vec<Node>,
2787 #[prost(message, repeated, tag = "6")]
2788 pub col_typmods: ::prost::alloc::vec::Vec<Node>,
2789 #[prost(message, repeated, tag = "7")]
2790 pub col_collations: ::prost::alloc::vec::Vec<Node>,
2791 #[prost(message, repeated, tag = "8")]
2792 pub group_clauses: ::prost::alloc::vec::Vec<Node>,
2793}
2794#[derive(Clone, PartialEq, ::prost::Message)]
2795pub struct ReturnStmt {
2796 #[prost(message, optional, boxed, tag = "1")]
2797 pub returnval: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2798}
2799#[derive(Clone, PartialEq, ::prost::Message)]
2800pub struct PlAssignStmt {
2801 #[prost(string, tag = "1")]
2802 pub name: ::prost::alloc::string::String,
2803 #[prost(message, repeated, tag = "2")]
2804 pub indirection: ::prost::alloc::vec::Vec<Node>,
2805 #[prost(int32, tag = "3")]
2806 pub nnames: i32,
2807 #[prost(message, optional, boxed, tag = "4")]
2808 pub val: ::core::option::Option<::prost::alloc::boxed::Box<SelectStmt>>,
2809 #[prost(int32, tag = "5")]
2810 pub location: i32,
2811}
2812#[derive(Clone, PartialEq, ::prost::Message)]
2813pub struct CreateSchemaStmt {
2814 #[prost(string, tag = "1")]
2815 pub schemaname: ::prost::alloc::string::String,
2816 #[prost(message, optional, tag = "2")]
2817 pub authrole: ::core::option::Option<RoleSpec>,
2818 #[prost(message, repeated, tag = "3")]
2819 pub schema_elts: ::prost::alloc::vec::Vec<Node>,
2820 #[prost(bool, tag = "4")]
2821 pub if_not_exists: bool,
2822}
2823#[derive(Clone, PartialEq, ::prost::Message)]
2824pub struct AlterTableStmt {
2825 #[prost(message, optional, tag = "1")]
2826 pub relation: ::core::option::Option<RangeVar>,
2827 #[prost(message, repeated, tag = "2")]
2828 pub cmds: ::prost::alloc::vec::Vec<Node>,
2829 #[prost(enumeration = "ObjectType", tag = "3")]
2830 pub objtype: i32,
2831 #[prost(bool, tag = "4")]
2832 pub missing_ok: bool,
2833}
2834#[derive(Clone, PartialEq, ::prost::Message)]
2835pub struct ReplicaIdentityStmt {
2836 #[prost(string, tag = "1")]
2837 pub identity_type: ::prost::alloc::string::String,
2838 #[prost(string, tag = "2")]
2839 pub name: ::prost::alloc::string::String,
2840}
2841#[derive(Clone, PartialEq, ::prost::Message)]
2842pub struct AlterTableCmd {
2843 #[prost(enumeration = "AlterTableType", tag = "1")]
2844 pub subtype: i32,
2845 #[prost(string, tag = "2")]
2846 pub name: ::prost::alloc::string::String,
2847 #[prost(int32, tag = "3")]
2848 pub num: i32,
2849 #[prost(message, optional, tag = "4")]
2850 pub newowner: ::core::option::Option<RoleSpec>,
2851 #[prost(message, optional, boxed, tag = "5")]
2852 pub def: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2853 #[prost(enumeration = "DropBehavior", tag = "6")]
2854 pub behavior: i32,
2855 #[prost(bool, tag = "7")]
2856 pub missing_ok: bool,
2857 #[prost(bool, tag = "8")]
2858 pub recurse: bool,
2859}
2860#[derive(Clone, PartialEq, ::prost::Message)]
2861pub struct AlterCollationStmt {
2862 #[prost(message, repeated, tag = "1")]
2863 pub collname: ::prost::alloc::vec::Vec<Node>,
2864}
2865#[derive(Clone, PartialEq, ::prost::Message)]
2866pub struct AlterDomainStmt {
2867 #[prost(string, tag = "1")]
2868 pub subtype: ::prost::alloc::string::String,
2869 #[prost(message, repeated, tag = "2")]
2870 pub type_name: ::prost::alloc::vec::Vec<Node>,
2871 #[prost(string, tag = "3")]
2872 pub name: ::prost::alloc::string::String,
2873 #[prost(message, optional, boxed, tag = "4")]
2874 pub def: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2875 #[prost(enumeration = "DropBehavior", tag = "5")]
2876 pub behavior: i32,
2877 #[prost(bool, tag = "6")]
2878 pub missing_ok: bool,
2879}
2880#[derive(Clone, PartialEq, ::prost::Message)]
2881pub struct GrantStmt {
2882 #[prost(bool, tag = "1")]
2883 pub is_grant: bool,
2884 #[prost(enumeration = "GrantTargetType", tag = "2")]
2885 pub targtype: i32,
2886 #[prost(enumeration = "ObjectType", tag = "3")]
2887 pub objtype: i32,
2888 #[prost(message, repeated, tag = "4")]
2889 pub objects: ::prost::alloc::vec::Vec<Node>,
2890 #[prost(message, repeated, tag = "5")]
2891 pub privileges: ::prost::alloc::vec::Vec<Node>,
2892 #[prost(message, repeated, tag = "6")]
2893 pub grantees: ::prost::alloc::vec::Vec<Node>,
2894 #[prost(bool, tag = "7")]
2895 pub grant_option: bool,
2896 #[prost(message, optional, tag = "8")]
2897 pub grantor: ::core::option::Option<RoleSpec>,
2898 #[prost(enumeration = "DropBehavior", tag = "9")]
2899 pub behavior: i32,
2900}
2901#[derive(Clone, PartialEq, ::prost::Message)]
2902pub struct ObjectWithArgs {
2903 #[prost(message, repeated, tag = "1")]
2904 pub objname: ::prost::alloc::vec::Vec<Node>,
2905 #[prost(message, repeated, tag = "2")]
2906 pub objargs: ::prost::alloc::vec::Vec<Node>,
2907 #[prost(message, repeated, tag = "3")]
2908 pub objfuncargs: ::prost::alloc::vec::Vec<Node>,
2909 #[prost(bool, tag = "4")]
2910 pub args_unspecified: bool,
2911}
2912#[derive(Clone, PartialEq, ::prost::Message)]
2913pub struct AccessPriv {
2914 #[prost(string, tag = "1")]
2915 pub priv_name: ::prost::alloc::string::String,
2916 #[prost(message, repeated, tag = "2")]
2917 pub cols: ::prost::alloc::vec::Vec<Node>,
2918}
2919#[derive(Clone, PartialEq, ::prost::Message)]
2920pub struct GrantRoleStmt {
2921 #[prost(message, repeated, tag = "1")]
2922 pub granted_roles: ::prost::alloc::vec::Vec<Node>,
2923 #[prost(message, repeated, tag = "2")]
2924 pub grantee_roles: ::prost::alloc::vec::Vec<Node>,
2925 #[prost(bool, tag = "3")]
2926 pub is_grant: bool,
2927 #[prost(message, repeated, tag = "4")]
2928 pub opt: ::prost::alloc::vec::Vec<Node>,
2929 #[prost(message, optional, tag = "5")]
2930 pub grantor: ::core::option::Option<RoleSpec>,
2931 #[prost(enumeration = "DropBehavior", tag = "6")]
2932 pub behavior: i32,
2933}
2934#[derive(Clone, PartialEq, ::prost::Message)]
2935pub struct AlterDefaultPrivilegesStmt {
2936 #[prost(message, repeated, tag = "1")]
2937 pub options: ::prost::alloc::vec::Vec<Node>,
2938 #[prost(message, optional, tag = "2")]
2939 pub action: ::core::option::Option<GrantStmt>,
2940}
2941#[derive(Clone, PartialEq, ::prost::Message)]
2942pub struct CopyStmt {
2943 #[prost(message, optional, tag = "1")]
2944 pub relation: ::core::option::Option<RangeVar>,
2945 #[prost(message, optional, boxed, tag = "2")]
2946 pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2947 #[prost(message, repeated, tag = "3")]
2948 pub attlist: ::prost::alloc::vec::Vec<Node>,
2949 #[prost(bool, tag = "4")]
2950 pub is_from: bool,
2951 #[prost(bool, tag = "5")]
2952 pub is_program: bool,
2953 #[prost(string, tag = "6")]
2954 pub filename: ::prost::alloc::string::String,
2955 #[prost(message, repeated, tag = "7")]
2956 pub options: ::prost::alloc::vec::Vec<Node>,
2957 #[prost(message, optional, boxed, tag = "8")]
2958 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
2959}
2960#[derive(Clone, PartialEq, ::prost::Message)]
2961pub struct VariableSetStmt {
2962 #[prost(enumeration = "VariableSetKind", tag = "1")]
2963 pub kind: i32,
2964 #[prost(string, tag = "2")]
2965 pub name: ::prost::alloc::string::String,
2966 #[prost(message, repeated, tag = "3")]
2967 pub args: ::prost::alloc::vec::Vec<Node>,
2968 #[prost(bool, tag = "4")]
2969 pub is_local: bool,
2970}
2971#[derive(Clone, PartialEq, ::prost::Message)]
2972pub struct VariableShowStmt {
2973 #[prost(string, tag = "1")]
2974 pub name: ::prost::alloc::string::String,
2975}
2976#[derive(Clone, PartialEq, ::prost::Message)]
2977pub struct CreateStmt {
2978 #[prost(message, optional, tag = "1")]
2979 pub relation: ::core::option::Option<RangeVar>,
2980 #[prost(message, repeated, tag = "2")]
2981 pub table_elts: ::prost::alloc::vec::Vec<Node>,
2982 #[prost(message, repeated, tag = "3")]
2983 pub inh_relations: ::prost::alloc::vec::Vec<Node>,
2984 #[prost(message, optional, tag = "4")]
2985 pub partbound: ::core::option::Option<PartitionBoundSpec>,
2986 #[prost(message, optional, tag = "5")]
2987 pub partspec: ::core::option::Option<PartitionSpec>,
2988 #[prost(message, optional, tag = "6")]
2989 pub of_typename: ::core::option::Option<TypeName>,
2990 #[prost(message, repeated, tag = "7")]
2991 pub constraints: ::prost::alloc::vec::Vec<Node>,
2992 #[prost(message, repeated, tag = "8")]
2993 pub options: ::prost::alloc::vec::Vec<Node>,
2994 #[prost(enumeration = "OnCommitAction", tag = "9")]
2995 pub oncommit: i32,
2996 #[prost(string, tag = "10")]
2997 pub tablespacename: ::prost::alloc::string::String,
2998 #[prost(string, tag = "11")]
2999 pub access_method: ::prost::alloc::string::String,
3000 #[prost(bool, tag = "12")]
3001 pub if_not_exists: bool,
3002}
3003#[derive(Clone, PartialEq, ::prost::Message)]
3004pub struct Constraint {
3005 #[prost(enumeration = "ConstrType", tag = "1")]
3006 pub contype: i32,
3007 #[prost(string, tag = "2")]
3008 pub conname: ::prost::alloc::string::String,
3009 #[prost(bool, tag = "3")]
3010 pub deferrable: bool,
3011 #[prost(bool, tag = "4")]
3012 pub initdeferred: bool,
3013 #[prost(bool, tag = "5")]
3014 pub skip_validation: bool,
3015 #[prost(bool, tag = "6")]
3016 pub initially_valid: bool,
3017 #[prost(bool, tag = "7")]
3018 pub is_no_inherit: bool,
3019 #[prost(message, optional, boxed, tag = "8")]
3020 pub raw_expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3021 #[prost(string, tag = "9")]
3022 pub cooked_expr: ::prost::alloc::string::String,
3023 #[prost(string, tag = "10")]
3024 pub generated_when: ::prost::alloc::string::String,
3025 #[prost(int32, tag = "11")]
3026 pub inhcount: i32,
3027 #[prost(bool, tag = "12")]
3028 pub nulls_not_distinct: bool,
3029 #[prost(message, repeated, tag = "13")]
3030 pub keys: ::prost::alloc::vec::Vec<Node>,
3031 #[prost(message, repeated, tag = "14")]
3032 pub including: ::prost::alloc::vec::Vec<Node>,
3033 #[prost(message, repeated, tag = "15")]
3034 pub exclusions: ::prost::alloc::vec::Vec<Node>,
3035 #[prost(message, repeated, tag = "16")]
3036 pub options: ::prost::alloc::vec::Vec<Node>,
3037 #[prost(string, tag = "17")]
3038 pub indexname: ::prost::alloc::string::String,
3039 #[prost(string, tag = "18")]
3040 pub indexspace: ::prost::alloc::string::String,
3041 #[prost(bool, tag = "19")]
3042 pub reset_default_tblspc: bool,
3043 #[prost(string, tag = "20")]
3044 pub access_method: ::prost::alloc::string::String,
3045 #[prost(message, optional, boxed, tag = "21")]
3046 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3047 #[prost(message, optional, tag = "22")]
3048 pub pktable: ::core::option::Option<RangeVar>,
3049 #[prost(message, repeated, tag = "23")]
3050 pub fk_attrs: ::prost::alloc::vec::Vec<Node>,
3051 #[prost(message, repeated, tag = "24")]
3052 pub pk_attrs: ::prost::alloc::vec::Vec<Node>,
3053 #[prost(string, tag = "25")]
3054 pub fk_matchtype: ::prost::alloc::string::String,
3055 #[prost(string, tag = "26")]
3056 pub fk_upd_action: ::prost::alloc::string::String,
3057 #[prost(string, tag = "27")]
3058 pub fk_del_action: ::prost::alloc::string::String,
3059 #[prost(message, repeated, tag = "28")]
3060 pub fk_del_set_cols: ::prost::alloc::vec::Vec<Node>,
3061 #[prost(message, repeated, tag = "29")]
3062 pub old_conpfeqop: ::prost::alloc::vec::Vec<Node>,
3063 #[prost(uint32, tag = "30")]
3064 pub old_pktable_oid: u32,
3065 #[prost(int32, tag = "31")]
3066 pub location: i32,
3067}
3068#[derive(Clone, PartialEq, ::prost::Message)]
3069pub struct CreateTableSpaceStmt {
3070 #[prost(string, tag = "1")]
3071 pub tablespacename: ::prost::alloc::string::String,
3072 #[prost(message, optional, tag = "2")]
3073 pub owner: ::core::option::Option<RoleSpec>,
3074 #[prost(string, tag = "3")]
3075 pub location: ::prost::alloc::string::String,
3076 #[prost(message, repeated, tag = "4")]
3077 pub options: ::prost::alloc::vec::Vec<Node>,
3078}
3079#[derive(Clone, PartialEq, ::prost::Message)]
3080pub struct DropTableSpaceStmt {
3081 #[prost(string, tag = "1")]
3082 pub tablespacename: ::prost::alloc::string::String,
3083 #[prost(bool, tag = "2")]
3084 pub missing_ok: bool,
3085}
3086#[derive(Clone, PartialEq, ::prost::Message)]
3087pub struct AlterTableSpaceOptionsStmt {
3088 #[prost(string, tag = "1")]
3089 pub tablespacename: ::prost::alloc::string::String,
3090 #[prost(message, repeated, tag = "2")]
3091 pub options: ::prost::alloc::vec::Vec<Node>,
3092 #[prost(bool, tag = "3")]
3093 pub is_reset: bool,
3094}
3095#[derive(Clone, PartialEq, ::prost::Message)]
3096pub struct AlterTableMoveAllStmt {
3097 #[prost(string, tag = "1")]
3098 pub orig_tablespacename: ::prost::alloc::string::String,
3099 #[prost(enumeration = "ObjectType", tag = "2")]
3100 pub objtype: i32,
3101 #[prost(message, repeated, tag = "3")]
3102 pub roles: ::prost::alloc::vec::Vec<Node>,
3103 #[prost(string, tag = "4")]
3104 pub new_tablespacename: ::prost::alloc::string::String,
3105 #[prost(bool, tag = "5")]
3106 pub nowait: bool,
3107}
3108#[derive(Clone, PartialEq, ::prost::Message)]
3109pub struct CreateExtensionStmt {
3110 #[prost(string, tag = "1")]
3111 pub extname: ::prost::alloc::string::String,
3112 #[prost(bool, tag = "2")]
3113 pub if_not_exists: bool,
3114 #[prost(message, repeated, tag = "3")]
3115 pub options: ::prost::alloc::vec::Vec<Node>,
3116}
3117#[derive(Clone, PartialEq, ::prost::Message)]
3118pub struct AlterExtensionStmt {
3119 #[prost(string, tag = "1")]
3120 pub extname: ::prost::alloc::string::String,
3121 #[prost(message, repeated, tag = "2")]
3122 pub options: ::prost::alloc::vec::Vec<Node>,
3123}
3124#[derive(Clone, PartialEq, ::prost::Message)]
3125pub struct AlterExtensionContentsStmt {
3126 #[prost(string, tag = "1")]
3127 pub extname: ::prost::alloc::string::String,
3128 #[prost(int32, tag = "2")]
3129 pub action: i32,
3130 #[prost(enumeration = "ObjectType", tag = "3")]
3131 pub objtype: i32,
3132 #[prost(message, optional, boxed, tag = "4")]
3133 pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3134}
3135#[derive(Clone, PartialEq, ::prost::Message)]
3136pub struct CreateFdwStmt {
3137 #[prost(string, tag = "1")]
3138 pub fdwname: ::prost::alloc::string::String,
3139 #[prost(message, repeated, tag = "2")]
3140 pub func_options: ::prost::alloc::vec::Vec<Node>,
3141 #[prost(message, repeated, tag = "3")]
3142 pub options: ::prost::alloc::vec::Vec<Node>,
3143}
3144#[derive(Clone, PartialEq, ::prost::Message)]
3145pub struct AlterFdwStmt {
3146 #[prost(string, tag = "1")]
3147 pub fdwname: ::prost::alloc::string::String,
3148 #[prost(message, repeated, tag = "2")]
3149 pub func_options: ::prost::alloc::vec::Vec<Node>,
3150 #[prost(message, repeated, tag = "3")]
3151 pub options: ::prost::alloc::vec::Vec<Node>,
3152}
3153#[derive(Clone, PartialEq, ::prost::Message)]
3154pub struct CreateForeignServerStmt {
3155 #[prost(string, tag = "1")]
3156 pub servername: ::prost::alloc::string::String,
3157 #[prost(string, tag = "2")]
3158 pub servertype: ::prost::alloc::string::String,
3159 #[prost(string, tag = "3")]
3160 pub version: ::prost::alloc::string::String,
3161 #[prost(string, tag = "4")]
3162 pub fdwname: ::prost::alloc::string::String,
3163 #[prost(bool, tag = "5")]
3164 pub if_not_exists: bool,
3165 #[prost(message, repeated, tag = "6")]
3166 pub options: ::prost::alloc::vec::Vec<Node>,
3167}
3168#[derive(Clone, PartialEq, ::prost::Message)]
3169pub struct AlterForeignServerStmt {
3170 #[prost(string, tag = "1")]
3171 pub servername: ::prost::alloc::string::String,
3172 #[prost(string, tag = "2")]
3173 pub version: ::prost::alloc::string::String,
3174 #[prost(message, repeated, tag = "3")]
3175 pub options: ::prost::alloc::vec::Vec<Node>,
3176 #[prost(bool, tag = "4")]
3177 pub has_version: bool,
3178}
3179#[derive(Clone, PartialEq, ::prost::Message)]
3180pub struct CreateForeignTableStmt {
3181 #[prost(message, optional, tag = "1")]
3182 pub base_stmt: ::core::option::Option<CreateStmt>,
3183 #[prost(string, tag = "2")]
3184 pub servername: ::prost::alloc::string::String,
3185 #[prost(message, repeated, tag = "3")]
3186 pub options: ::prost::alloc::vec::Vec<Node>,
3187}
3188#[derive(Clone, PartialEq, ::prost::Message)]
3189pub struct CreateUserMappingStmt {
3190 #[prost(message, optional, tag = "1")]
3191 pub user: ::core::option::Option<RoleSpec>,
3192 #[prost(string, tag = "2")]
3193 pub servername: ::prost::alloc::string::String,
3194 #[prost(bool, tag = "3")]
3195 pub if_not_exists: bool,
3196 #[prost(message, repeated, tag = "4")]
3197 pub options: ::prost::alloc::vec::Vec<Node>,
3198}
3199#[derive(Clone, PartialEq, ::prost::Message)]
3200pub struct AlterUserMappingStmt {
3201 #[prost(message, optional, tag = "1")]
3202 pub user: ::core::option::Option<RoleSpec>,
3203 #[prost(string, tag = "2")]
3204 pub servername: ::prost::alloc::string::String,
3205 #[prost(message, repeated, tag = "3")]
3206 pub options: ::prost::alloc::vec::Vec<Node>,
3207}
3208#[derive(Clone, PartialEq, ::prost::Message)]
3209pub struct DropUserMappingStmt {
3210 #[prost(message, optional, tag = "1")]
3211 pub user: ::core::option::Option<RoleSpec>,
3212 #[prost(string, tag = "2")]
3213 pub servername: ::prost::alloc::string::String,
3214 #[prost(bool, tag = "3")]
3215 pub missing_ok: bool,
3216}
3217#[derive(Clone, PartialEq, ::prost::Message)]
3218pub struct ImportForeignSchemaStmt {
3219 #[prost(string, tag = "1")]
3220 pub server_name: ::prost::alloc::string::String,
3221 #[prost(string, tag = "2")]
3222 pub remote_schema: ::prost::alloc::string::String,
3223 #[prost(string, tag = "3")]
3224 pub local_schema: ::prost::alloc::string::String,
3225 #[prost(enumeration = "ImportForeignSchemaType", tag = "4")]
3226 pub list_type: i32,
3227 #[prost(message, repeated, tag = "5")]
3228 pub table_list: ::prost::alloc::vec::Vec<Node>,
3229 #[prost(message, repeated, tag = "6")]
3230 pub options: ::prost::alloc::vec::Vec<Node>,
3231}
3232#[derive(Clone, PartialEq, ::prost::Message)]
3233pub struct CreatePolicyStmt {
3234 #[prost(string, tag = "1")]
3235 pub policy_name: ::prost::alloc::string::String,
3236 #[prost(message, optional, tag = "2")]
3237 pub table: ::core::option::Option<RangeVar>,
3238 #[prost(string, tag = "3")]
3239 pub cmd_name: ::prost::alloc::string::String,
3240 #[prost(bool, tag = "4")]
3241 pub permissive: bool,
3242 #[prost(message, repeated, tag = "5")]
3243 pub roles: ::prost::alloc::vec::Vec<Node>,
3244 #[prost(message, optional, boxed, tag = "6")]
3245 pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3246 #[prost(message, optional, boxed, tag = "7")]
3247 pub with_check: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3248}
3249#[derive(Clone, PartialEq, ::prost::Message)]
3250pub struct AlterPolicyStmt {
3251 #[prost(string, tag = "1")]
3252 pub policy_name: ::prost::alloc::string::String,
3253 #[prost(message, optional, tag = "2")]
3254 pub table: ::core::option::Option<RangeVar>,
3255 #[prost(message, repeated, tag = "3")]
3256 pub roles: ::prost::alloc::vec::Vec<Node>,
3257 #[prost(message, optional, boxed, tag = "4")]
3258 pub qual: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3259 #[prost(message, optional, boxed, tag = "5")]
3260 pub with_check: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3261}
3262#[derive(Clone, PartialEq, ::prost::Message)]
3263pub struct CreateAmStmt {
3264 #[prost(string, tag = "1")]
3265 pub amname: ::prost::alloc::string::String,
3266 #[prost(message, repeated, tag = "2")]
3267 pub handler_name: ::prost::alloc::vec::Vec<Node>,
3268 #[prost(string, tag = "3")]
3269 pub amtype: ::prost::alloc::string::String,
3270}
3271#[derive(Clone, PartialEq, ::prost::Message)]
3272pub struct CreateTrigStmt {
3273 #[prost(bool, tag = "1")]
3274 pub replace: bool,
3275 #[prost(bool, tag = "2")]
3276 pub isconstraint: bool,
3277 #[prost(string, tag = "3")]
3278 pub trigname: ::prost::alloc::string::String,
3279 #[prost(message, optional, tag = "4")]
3280 pub relation: ::core::option::Option<RangeVar>,
3281 #[prost(message, repeated, tag = "5")]
3282 pub funcname: ::prost::alloc::vec::Vec<Node>,
3283 #[prost(message, repeated, tag = "6")]
3284 pub args: ::prost::alloc::vec::Vec<Node>,
3285 #[prost(bool, tag = "7")]
3286 pub row: bool,
3287 #[prost(int32, tag = "8")]
3288 pub timing: i32,
3289 #[prost(int32, tag = "9")]
3290 pub events: i32,
3291 #[prost(message, repeated, tag = "10")]
3292 pub columns: ::prost::alloc::vec::Vec<Node>,
3293 #[prost(message, optional, boxed, tag = "11")]
3294 pub when_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3295 #[prost(message, repeated, tag = "12")]
3296 pub transition_rels: ::prost::alloc::vec::Vec<Node>,
3297 #[prost(bool, tag = "13")]
3298 pub deferrable: bool,
3299 #[prost(bool, tag = "14")]
3300 pub initdeferred: bool,
3301 #[prost(message, optional, tag = "15")]
3302 pub constrrel: ::core::option::Option<RangeVar>,
3303}
3304#[derive(Clone, PartialEq, ::prost::Message)]
3305pub struct CreateEventTrigStmt {
3306 #[prost(string, tag = "1")]
3307 pub trigname: ::prost::alloc::string::String,
3308 #[prost(string, tag = "2")]
3309 pub eventname: ::prost::alloc::string::String,
3310 #[prost(message, repeated, tag = "3")]
3311 pub whenclause: ::prost::alloc::vec::Vec<Node>,
3312 #[prost(message, repeated, tag = "4")]
3313 pub funcname: ::prost::alloc::vec::Vec<Node>,
3314}
3315#[derive(Clone, PartialEq, ::prost::Message)]
3316pub struct AlterEventTrigStmt {
3317 #[prost(string, tag = "1")]
3318 pub trigname: ::prost::alloc::string::String,
3319 #[prost(string, tag = "2")]
3320 pub tgenabled: ::prost::alloc::string::String,
3321}
3322#[derive(Clone, PartialEq, ::prost::Message)]
3323pub struct CreatePLangStmt {
3324 #[prost(bool, tag = "1")]
3325 pub replace: bool,
3326 #[prost(string, tag = "2")]
3327 pub plname: ::prost::alloc::string::String,
3328 #[prost(message, repeated, tag = "3")]
3329 pub plhandler: ::prost::alloc::vec::Vec<Node>,
3330 #[prost(message, repeated, tag = "4")]
3331 pub plinline: ::prost::alloc::vec::Vec<Node>,
3332 #[prost(message, repeated, tag = "5")]
3333 pub plvalidator: ::prost::alloc::vec::Vec<Node>,
3334 #[prost(bool, tag = "6")]
3335 pub pltrusted: bool,
3336}
3337#[derive(Clone, PartialEq, ::prost::Message)]
3338pub struct CreateRoleStmt {
3339 #[prost(enumeration = "RoleStmtType", tag = "1")]
3340 pub stmt_type: i32,
3341 #[prost(string, tag = "2")]
3342 pub role: ::prost::alloc::string::String,
3343 #[prost(message, repeated, tag = "3")]
3344 pub options: ::prost::alloc::vec::Vec<Node>,
3345}
3346#[derive(Clone, PartialEq, ::prost::Message)]
3347pub struct AlterRoleStmt {
3348 #[prost(message, optional, tag = "1")]
3349 pub role: ::core::option::Option<RoleSpec>,
3350 #[prost(message, repeated, tag = "2")]
3351 pub options: ::prost::alloc::vec::Vec<Node>,
3352 #[prost(int32, tag = "3")]
3353 pub action: i32,
3354}
3355#[derive(Clone, PartialEq, ::prost::Message)]
3356pub struct AlterRoleSetStmt {
3357 #[prost(message, optional, tag = "1")]
3358 pub role: ::core::option::Option<RoleSpec>,
3359 #[prost(string, tag = "2")]
3360 pub database: ::prost::alloc::string::String,
3361 #[prost(message, optional, tag = "3")]
3362 pub setstmt: ::core::option::Option<VariableSetStmt>,
3363}
3364#[derive(Clone, PartialEq, ::prost::Message)]
3365pub struct DropRoleStmt {
3366 #[prost(message, repeated, tag = "1")]
3367 pub roles: ::prost::alloc::vec::Vec<Node>,
3368 #[prost(bool, tag = "2")]
3369 pub missing_ok: bool,
3370}
3371#[derive(Clone, PartialEq, ::prost::Message)]
3372pub struct CreateSeqStmt {
3373 #[prost(message, optional, tag = "1")]
3374 pub sequence: ::core::option::Option<RangeVar>,
3375 #[prost(message, repeated, tag = "2")]
3376 pub options: ::prost::alloc::vec::Vec<Node>,
3377 #[prost(uint32, tag = "3")]
3378 pub owner_id: u32,
3379 #[prost(bool, tag = "4")]
3380 pub for_identity: bool,
3381 #[prost(bool, tag = "5")]
3382 pub if_not_exists: bool,
3383}
3384#[derive(Clone, PartialEq, ::prost::Message)]
3385pub struct AlterSeqStmt {
3386 #[prost(message, optional, tag = "1")]
3387 pub sequence: ::core::option::Option<RangeVar>,
3388 #[prost(message, repeated, tag = "2")]
3389 pub options: ::prost::alloc::vec::Vec<Node>,
3390 #[prost(bool, tag = "3")]
3391 pub for_identity: bool,
3392 #[prost(bool, tag = "4")]
3393 pub missing_ok: bool,
3394}
3395#[derive(Clone, PartialEq, ::prost::Message)]
3396pub struct DefineStmt {
3397 #[prost(enumeration = "ObjectType", tag = "1")]
3398 pub kind: i32,
3399 #[prost(bool, tag = "2")]
3400 pub oldstyle: bool,
3401 #[prost(message, repeated, tag = "3")]
3402 pub defnames: ::prost::alloc::vec::Vec<Node>,
3403 #[prost(message, repeated, tag = "4")]
3404 pub args: ::prost::alloc::vec::Vec<Node>,
3405 #[prost(message, repeated, tag = "5")]
3406 pub definition: ::prost::alloc::vec::Vec<Node>,
3407 #[prost(bool, tag = "6")]
3408 pub if_not_exists: bool,
3409 #[prost(bool, tag = "7")]
3410 pub replace: bool,
3411}
3412#[derive(Clone, PartialEq, ::prost::Message)]
3413pub struct CreateDomainStmt {
3414 #[prost(message, repeated, tag = "1")]
3415 pub domainname: ::prost::alloc::vec::Vec<Node>,
3416 #[prost(message, optional, tag = "2")]
3417 pub type_name: ::core::option::Option<TypeName>,
3418 #[prost(message, optional, boxed, tag = "3")]
3419 pub coll_clause: ::core::option::Option<::prost::alloc::boxed::Box<CollateClause>>,
3420 #[prost(message, repeated, tag = "4")]
3421 pub constraints: ::prost::alloc::vec::Vec<Node>,
3422}
3423#[derive(Clone, PartialEq, ::prost::Message)]
3424pub struct CreateOpClassStmt {
3425 #[prost(message, repeated, tag = "1")]
3426 pub opclassname: ::prost::alloc::vec::Vec<Node>,
3427 #[prost(message, repeated, tag = "2")]
3428 pub opfamilyname: ::prost::alloc::vec::Vec<Node>,
3429 #[prost(string, tag = "3")]
3430 pub amname: ::prost::alloc::string::String,
3431 #[prost(message, optional, tag = "4")]
3432 pub datatype: ::core::option::Option<TypeName>,
3433 #[prost(message, repeated, tag = "5")]
3434 pub items: ::prost::alloc::vec::Vec<Node>,
3435 #[prost(bool, tag = "6")]
3436 pub is_default: bool,
3437}
3438#[derive(Clone, PartialEq, ::prost::Message)]
3439pub struct CreateOpClassItem {
3440 #[prost(int32, tag = "1")]
3441 pub itemtype: i32,
3442 #[prost(message, optional, tag = "2")]
3443 pub name: ::core::option::Option<ObjectWithArgs>,
3444 #[prost(int32, tag = "3")]
3445 pub number: i32,
3446 #[prost(message, repeated, tag = "4")]
3447 pub order_family: ::prost::alloc::vec::Vec<Node>,
3448 #[prost(message, repeated, tag = "5")]
3449 pub class_args: ::prost::alloc::vec::Vec<Node>,
3450 #[prost(message, optional, tag = "6")]
3451 pub storedtype: ::core::option::Option<TypeName>,
3452}
3453#[derive(Clone, PartialEq, ::prost::Message)]
3454pub struct CreateOpFamilyStmt {
3455 #[prost(message, repeated, tag = "1")]
3456 pub opfamilyname: ::prost::alloc::vec::Vec<Node>,
3457 #[prost(string, tag = "2")]
3458 pub amname: ::prost::alloc::string::String,
3459}
3460#[derive(Clone, PartialEq, ::prost::Message)]
3461pub struct AlterOpFamilyStmt {
3462 #[prost(message, repeated, tag = "1")]
3463 pub opfamilyname: ::prost::alloc::vec::Vec<Node>,
3464 #[prost(string, tag = "2")]
3465 pub amname: ::prost::alloc::string::String,
3466 #[prost(bool, tag = "3")]
3467 pub is_drop: bool,
3468 #[prost(message, repeated, tag = "4")]
3469 pub items: ::prost::alloc::vec::Vec<Node>,
3470}
3471#[derive(Clone, PartialEq, ::prost::Message)]
3472pub struct DropStmt {
3473 #[prost(message, repeated, tag = "1")]
3474 pub objects: ::prost::alloc::vec::Vec<Node>,
3475 #[prost(enumeration = "ObjectType", tag = "2")]
3476 pub remove_type: i32,
3477 #[prost(enumeration = "DropBehavior", tag = "3")]
3478 pub behavior: i32,
3479 #[prost(bool, tag = "4")]
3480 pub missing_ok: bool,
3481 #[prost(bool, tag = "5")]
3482 pub concurrent: bool,
3483}
3484#[derive(Clone, PartialEq, ::prost::Message)]
3485pub struct TruncateStmt {
3486 #[prost(message, repeated, tag = "1")]
3487 pub relations: ::prost::alloc::vec::Vec<Node>,
3488 #[prost(bool, tag = "2")]
3489 pub restart_seqs: bool,
3490 #[prost(enumeration = "DropBehavior", tag = "3")]
3491 pub behavior: i32,
3492}
3493#[derive(Clone, PartialEq, ::prost::Message)]
3494pub struct CommentStmt {
3495 #[prost(enumeration = "ObjectType", tag = "1")]
3496 pub objtype: i32,
3497 #[prost(message, optional, boxed, tag = "2")]
3498 pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3499 #[prost(string, tag = "3")]
3500 pub comment: ::prost::alloc::string::String,
3501}
3502#[derive(Clone, PartialEq, ::prost::Message)]
3503pub struct SecLabelStmt {
3504 #[prost(enumeration = "ObjectType", tag = "1")]
3505 pub objtype: i32,
3506 #[prost(message, optional, boxed, tag = "2")]
3507 pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3508 #[prost(string, tag = "3")]
3509 pub provider: ::prost::alloc::string::String,
3510 #[prost(string, tag = "4")]
3511 pub label: ::prost::alloc::string::String,
3512}
3513#[derive(Clone, PartialEq, ::prost::Message)]
3514pub struct DeclareCursorStmt {
3515 #[prost(string, tag = "1")]
3516 pub portalname: ::prost::alloc::string::String,
3517 #[prost(int32, tag = "2")]
3518 pub options: i32,
3519 #[prost(message, optional, boxed, tag = "3")]
3520 pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3521}
3522#[derive(Clone, PartialEq, ::prost::Message)]
3523pub struct ClosePortalStmt {
3524 #[prost(string, tag = "1")]
3525 pub portalname: ::prost::alloc::string::String,
3526}
3527#[derive(Clone, PartialEq, ::prost::Message)]
3528pub struct FetchStmt {
3529 #[prost(enumeration = "FetchDirection", tag = "1")]
3530 pub direction: i32,
3531 #[prost(int64, tag = "2")]
3532 pub how_many: i64,
3533 #[prost(string, tag = "3")]
3534 pub portalname: ::prost::alloc::string::String,
3535 #[prost(bool, tag = "4")]
3536 pub ismove: bool,
3537}
3538#[derive(Clone, PartialEq, ::prost::Message)]
3539pub struct IndexStmt {
3540 #[prost(string, tag = "1")]
3541 pub idxname: ::prost::alloc::string::String,
3542 #[prost(message, optional, tag = "2")]
3543 pub relation: ::core::option::Option<RangeVar>,
3544 #[prost(string, tag = "3")]
3545 pub access_method: ::prost::alloc::string::String,
3546 #[prost(string, tag = "4")]
3547 pub table_space: ::prost::alloc::string::String,
3548 #[prost(message, repeated, tag = "5")]
3549 pub index_params: ::prost::alloc::vec::Vec<Node>,
3550 #[prost(message, repeated, tag = "6")]
3551 pub index_including_params: ::prost::alloc::vec::Vec<Node>,
3552 #[prost(message, repeated, tag = "7")]
3553 pub options: ::prost::alloc::vec::Vec<Node>,
3554 #[prost(message, optional, boxed, tag = "8")]
3555 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3556 #[prost(message, repeated, tag = "9")]
3557 pub exclude_op_names: ::prost::alloc::vec::Vec<Node>,
3558 #[prost(string, tag = "10")]
3559 pub idxcomment: ::prost::alloc::string::String,
3560 #[prost(uint32, tag = "11")]
3561 pub index_oid: u32,
3562 #[prost(uint32, tag = "12")]
3563 pub old_number: u32,
3564 #[prost(uint32, tag = "13")]
3565 pub old_create_subid: u32,
3566 #[prost(uint32, tag = "14")]
3567 pub old_first_relfilelocator_subid: u32,
3568 #[prost(bool, tag = "15")]
3569 pub unique: bool,
3570 #[prost(bool, tag = "16")]
3571 pub nulls_not_distinct: bool,
3572 #[prost(bool, tag = "17")]
3573 pub primary: bool,
3574 #[prost(bool, tag = "18")]
3575 pub isconstraint: bool,
3576 #[prost(bool, tag = "19")]
3577 pub deferrable: bool,
3578 #[prost(bool, tag = "20")]
3579 pub initdeferred: bool,
3580 #[prost(bool, tag = "21")]
3581 pub transformed: bool,
3582 #[prost(bool, tag = "22")]
3583 pub concurrent: bool,
3584 #[prost(bool, tag = "23")]
3585 pub if_not_exists: bool,
3586 #[prost(bool, tag = "24")]
3587 pub reset_default_tblspc: bool,
3588}
3589#[derive(Clone, PartialEq, ::prost::Message)]
3590pub struct CreateStatsStmt {
3591 #[prost(message, repeated, tag = "1")]
3592 pub defnames: ::prost::alloc::vec::Vec<Node>,
3593 #[prost(message, repeated, tag = "2")]
3594 pub stat_types: ::prost::alloc::vec::Vec<Node>,
3595 #[prost(message, repeated, tag = "3")]
3596 pub exprs: ::prost::alloc::vec::Vec<Node>,
3597 #[prost(message, repeated, tag = "4")]
3598 pub relations: ::prost::alloc::vec::Vec<Node>,
3599 #[prost(string, tag = "5")]
3600 pub stxcomment: ::prost::alloc::string::String,
3601 #[prost(bool, tag = "6")]
3602 pub transformed: bool,
3603 #[prost(bool, tag = "7")]
3604 pub if_not_exists: bool,
3605}
3606#[derive(Clone, PartialEq, ::prost::Message)]
3607pub struct StatsElem {
3608 #[prost(string, tag = "1")]
3609 pub name: ::prost::alloc::string::String,
3610 #[prost(message, optional, boxed, tag = "2")]
3611 pub expr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3612}
3613#[derive(Clone, PartialEq, ::prost::Message)]
3614pub struct AlterStatsStmt {
3615 #[prost(message, repeated, tag = "1")]
3616 pub defnames: ::prost::alloc::vec::Vec<Node>,
3617 #[prost(message, optional, boxed, tag = "2")]
3618 pub stxstattarget: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3619 #[prost(bool, tag = "3")]
3620 pub missing_ok: bool,
3621}
3622#[derive(Clone, PartialEq, ::prost::Message)]
3623pub struct CreateFunctionStmt {
3624 #[prost(bool, tag = "1")]
3625 pub is_procedure: bool,
3626 #[prost(bool, tag = "2")]
3627 pub replace: bool,
3628 #[prost(message, repeated, tag = "3")]
3629 pub funcname: ::prost::alloc::vec::Vec<Node>,
3630 #[prost(message, repeated, tag = "4")]
3631 pub parameters: ::prost::alloc::vec::Vec<Node>,
3632 #[prost(message, optional, tag = "5")]
3633 pub return_type: ::core::option::Option<TypeName>,
3634 #[prost(message, repeated, tag = "6")]
3635 pub options: ::prost::alloc::vec::Vec<Node>,
3636 #[prost(message, optional, boxed, tag = "7")]
3637 pub sql_body: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3638}
3639#[derive(Clone, PartialEq, ::prost::Message)]
3640pub struct FunctionParameter {
3641 #[prost(string, tag = "1")]
3642 pub name: ::prost::alloc::string::String,
3643 #[prost(message, optional, tag = "2")]
3644 pub arg_type: ::core::option::Option<TypeName>,
3645 #[prost(enumeration = "FunctionParameterMode", tag = "3")]
3646 pub mode: i32,
3647 #[prost(message, optional, boxed, tag = "4")]
3648 pub defexpr: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3649}
3650#[derive(Clone, PartialEq, ::prost::Message)]
3651pub struct AlterFunctionStmt {
3652 #[prost(enumeration = "ObjectType", tag = "1")]
3653 pub objtype: i32,
3654 #[prost(message, optional, tag = "2")]
3655 pub func: ::core::option::Option<ObjectWithArgs>,
3656 #[prost(message, repeated, tag = "3")]
3657 pub actions: ::prost::alloc::vec::Vec<Node>,
3658}
3659#[derive(Clone, PartialEq, ::prost::Message)]
3660pub struct DoStmt {
3661 #[prost(message, repeated, tag = "1")]
3662 pub args: ::prost::alloc::vec::Vec<Node>,
3663}
3664#[derive(Clone, PartialEq, ::prost::Message)]
3665pub struct InlineCodeBlock {
3666 #[prost(string, tag = "1")]
3667 pub source_text: ::prost::alloc::string::String,
3668 #[prost(uint32, tag = "2")]
3669 pub lang_oid: u32,
3670 #[prost(bool, tag = "3")]
3671 pub lang_is_trusted: bool,
3672 #[prost(bool, tag = "4")]
3673 pub atomic: bool,
3674}
3675#[derive(Clone, PartialEq, ::prost::Message)]
3676pub struct CallStmt {
3677 #[prost(message, optional, boxed, tag = "1")]
3678 pub funccall: ::core::option::Option<::prost::alloc::boxed::Box<FuncCall>>,
3679 #[prost(message, optional, boxed, tag = "2")]
3680 pub funcexpr: ::core::option::Option<::prost::alloc::boxed::Box<FuncExpr>>,
3681 #[prost(message, repeated, tag = "3")]
3682 pub outargs: ::prost::alloc::vec::Vec<Node>,
3683}
3684#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3685pub struct CallContext {
3686 #[prost(bool, tag = "1")]
3687 pub atomic: bool,
3688}
3689#[derive(Clone, PartialEq, ::prost::Message)]
3690pub struct RenameStmt {
3691 #[prost(enumeration = "ObjectType", tag = "1")]
3692 pub rename_type: i32,
3693 #[prost(enumeration = "ObjectType", tag = "2")]
3694 pub relation_type: i32,
3695 #[prost(message, optional, tag = "3")]
3696 pub relation: ::core::option::Option<RangeVar>,
3697 #[prost(message, optional, boxed, tag = "4")]
3698 pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3699 #[prost(string, tag = "5")]
3700 pub subname: ::prost::alloc::string::String,
3701 #[prost(string, tag = "6")]
3702 pub newname: ::prost::alloc::string::String,
3703 #[prost(enumeration = "DropBehavior", tag = "7")]
3704 pub behavior: i32,
3705 #[prost(bool, tag = "8")]
3706 pub missing_ok: bool,
3707}
3708#[derive(Clone, PartialEq, ::prost::Message)]
3709pub struct AlterObjectDependsStmt {
3710 #[prost(enumeration = "ObjectType", tag = "1")]
3711 pub object_type: i32,
3712 #[prost(message, optional, tag = "2")]
3713 pub relation: ::core::option::Option<RangeVar>,
3714 #[prost(message, optional, boxed, tag = "3")]
3715 pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3716 #[prost(message, optional, tag = "4")]
3717 pub extname: ::core::option::Option<String>,
3718 #[prost(bool, tag = "5")]
3719 pub remove: bool,
3720}
3721#[derive(Clone, PartialEq, ::prost::Message)]
3722pub struct AlterObjectSchemaStmt {
3723 #[prost(enumeration = "ObjectType", tag = "1")]
3724 pub object_type: i32,
3725 #[prost(message, optional, tag = "2")]
3726 pub relation: ::core::option::Option<RangeVar>,
3727 #[prost(message, optional, boxed, tag = "3")]
3728 pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3729 #[prost(string, tag = "4")]
3730 pub newschema: ::prost::alloc::string::String,
3731 #[prost(bool, tag = "5")]
3732 pub missing_ok: bool,
3733}
3734#[derive(Clone, PartialEq, ::prost::Message)]
3735pub struct AlterOwnerStmt {
3736 #[prost(enumeration = "ObjectType", tag = "1")]
3737 pub object_type: i32,
3738 #[prost(message, optional, tag = "2")]
3739 pub relation: ::core::option::Option<RangeVar>,
3740 #[prost(message, optional, boxed, tag = "3")]
3741 pub object: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3742 #[prost(message, optional, tag = "4")]
3743 pub newowner: ::core::option::Option<RoleSpec>,
3744}
3745#[derive(Clone, PartialEq, ::prost::Message)]
3746pub struct AlterOperatorStmt {
3747 #[prost(message, optional, tag = "1")]
3748 pub opername: ::core::option::Option<ObjectWithArgs>,
3749 #[prost(message, repeated, tag = "2")]
3750 pub options: ::prost::alloc::vec::Vec<Node>,
3751}
3752#[derive(Clone, PartialEq, ::prost::Message)]
3753pub struct AlterTypeStmt {
3754 #[prost(message, repeated, tag = "1")]
3755 pub type_name: ::prost::alloc::vec::Vec<Node>,
3756 #[prost(message, repeated, tag = "2")]
3757 pub options: ::prost::alloc::vec::Vec<Node>,
3758}
3759#[derive(Clone, PartialEq, ::prost::Message)]
3760pub struct RuleStmt {
3761 #[prost(message, optional, tag = "1")]
3762 pub relation: ::core::option::Option<RangeVar>,
3763 #[prost(string, tag = "2")]
3764 pub rulename: ::prost::alloc::string::String,
3765 #[prost(message, optional, boxed, tag = "3")]
3766 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3767 #[prost(enumeration = "CmdType", tag = "4")]
3768 pub event: i32,
3769 #[prost(bool, tag = "5")]
3770 pub instead: bool,
3771 #[prost(message, repeated, tag = "6")]
3772 pub actions: ::prost::alloc::vec::Vec<Node>,
3773 #[prost(bool, tag = "7")]
3774 pub replace: bool,
3775}
3776#[derive(Clone, PartialEq, ::prost::Message)]
3777pub struct NotifyStmt {
3778 #[prost(string, tag = "1")]
3779 pub conditionname: ::prost::alloc::string::String,
3780 #[prost(string, tag = "2")]
3781 pub payload: ::prost::alloc::string::String,
3782}
3783#[derive(Clone, PartialEq, ::prost::Message)]
3784pub struct ListenStmt {
3785 #[prost(string, tag = "1")]
3786 pub conditionname: ::prost::alloc::string::String,
3787}
3788#[derive(Clone, PartialEq, ::prost::Message)]
3789pub struct UnlistenStmt {
3790 #[prost(string, tag = "1")]
3791 pub conditionname: ::prost::alloc::string::String,
3792}
3793#[derive(Clone, PartialEq, ::prost::Message)]
3794pub struct TransactionStmt {
3795 #[prost(enumeration = "TransactionStmtKind", tag = "1")]
3796 pub kind: i32,
3797 #[prost(message, repeated, tag = "2")]
3798 pub options: ::prost::alloc::vec::Vec<Node>,
3799 #[prost(string, tag = "3")]
3800 pub savepoint_name: ::prost::alloc::string::String,
3801 #[prost(string, tag = "4")]
3802 pub gid: ::prost::alloc::string::String,
3803 #[prost(bool, tag = "5")]
3804 pub chain: bool,
3805 #[prost(int32, tag = "6")]
3806 pub location: i32,
3807}
3808#[derive(Clone, PartialEq, ::prost::Message)]
3809pub struct CompositeTypeStmt {
3810 #[prost(message, optional, tag = "1")]
3811 pub typevar: ::core::option::Option<RangeVar>,
3812 #[prost(message, repeated, tag = "2")]
3813 pub coldeflist: ::prost::alloc::vec::Vec<Node>,
3814}
3815#[derive(Clone, PartialEq, ::prost::Message)]
3816pub struct CreateEnumStmt {
3817 #[prost(message, repeated, tag = "1")]
3818 pub type_name: ::prost::alloc::vec::Vec<Node>,
3819 #[prost(message, repeated, tag = "2")]
3820 pub vals: ::prost::alloc::vec::Vec<Node>,
3821}
3822#[derive(Clone, PartialEq, ::prost::Message)]
3823pub struct CreateRangeStmt {
3824 #[prost(message, repeated, tag = "1")]
3825 pub type_name: ::prost::alloc::vec::Vec<Node>,
3826 #[prost(message, repeated, tag = "2")]
3827 pub params: ::prost::alloc::vec::Vec<Node>,
3828}
3829#[derive(Clone, PartialEq, ::prost::Message)]
3830pub struct AlterEnumStmt {
3831 #[prost(message, repeated, tag = "1")]
3832 pub type_name: ::prost::alloc::vec::Vec<Node>,
3833 #[prost(string, tag = "2")]
3834 pub old_val: ::prost::alloc::string::String,
3835 #[prost(string, tag = "3")]
3836 pub new_val: ::prost::alloc::string::String,
3837 #[prost(string, tag = "4")]
3838 pub new_val_neighbor: ::prost::alloc::string::String,
3839 #[prost(bool, tag = "5")]
3840 pub new_val_is_after: bool,
3841 #[prost(bool, tag = "6")]
3842 pub skip_if_new_val_exists: bool,
3843}
3844#[derive(Clone, PartialEq, ::prost::Message)]
3845pub struct ViewStmt {
3846 #[prost(message, optional, tag = "1")]
3847 pub view: ::core::option::Option<RangeVar>,
3848 #[prost(message, repeated, tag = "2")]
3849 pub aliases: ::prost::alloc::vec::Vec<Node>,
3850 #[prost(message, optional, boxed, tag = "3")]
3851 pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3852 #[prost(bool, tag = "4")]
3853 pub replace: bool,
3854 #[prost(message, repeated, tag = "5")]
3855 pub options: ::prost::alloc::vec::Vec<Node>,
3856 #[prost(enumeration = "ViewCheckOption", tag = "6")]
3857 pub with_check_option: i32,
3858}
3859#[derive(Clone, PartialEq, ::prost::Message)]
3860pub struct LoadStmt {
3861 #[prost(string, tag = "1")]
3862 pub filename: ::prost::alloc::string::String,
3863}
3864#[derive(Clone, PartialEq, ::prost::Message)]
3865pub struct CreatedbStmt {
3866 #[prost(string, tag = "1")]
3867 pub dbname: ::prost::alloc::string::String,
3868 #[prost(message, repeated, tag = "2")]
3869 pub options: ::prost::alloc::vec::Vec<Node>,
3870}
3871#[derive(Clone, PartialEq, ::prost::Message)]
3872pub struct AlterDatabaseStmt {
3873 #[prost(string, tag = "1")]
3874 pub dbname: ::prost::alloc::string::String,
3875 #[prost(message, repeated, tag = "2")]
3876 pub options: ::prost::alloc::vec::Vec<Node>,
3877}
3878#[derive(Clone, PartialEq, ::prost::Message)]
3879pub struct AlterDatabaseRefreshCollStmt {
3880 #[prost(string, tag = "1")]
3881 pub dbname: ::prost::alloc::string::String,
3882}
3883#[derive(Clone, PartialEq, ::prost::Message)]
3884pub struct AlterDatabaseSetStmt {
3885 #[prost(string, tag = "1")]
3886 pub dbname: ::prost::alloc::string::String,
3887 #[prost(message, optional, tag = "2")]
3888 pub setstmt: ::core::option::Option<VariableSetStmt>,
3889}
3890#[derive(Clone, PartialEq, ::prost::Message)]
3891pub struct DropdbStmt {
3892 #[prost(string, tag = "1")]
3893 pub dbname: ::prost::alloc::string::String,
3894 #[prost(bool, tag = "2")]
3895 pub missing_ok: bool,
3896 #[prost(message, repeated, tag = "3")]
3897 pub options: ::prost::alloc::vec::Vec<Node>,
3898}
3899#[derive(Clone, PartialEq, ::prost::Message)]
3900pub struct AlterSystemStmt {
3901 #[prost(message, optional, tag = "1")]
3902 pub setstmt: ::core::option::Option<VariableSetStmt>,
3903}
3904#[derive(Clone, PartialEq, ::prost::Message)]
3905pub struct ClusterStmt {
3906 #[prost(message, optional, tag = "1")]
3907 pub relation: ::core::option::Option<RangeVar>,
3908 #[prost(string, tag = "2")]
3909 pub indexname: ::prost::alloc::string::String,
3910 #[prost(message, repeated, tag = "3")]
3911 pub params: ::prost::alloc::vec::Vec<Node>,
3912}
3913#[derive(Clone, PartialEq, ::prost::Message)]
3914pub struct VacuumStmt {
3915 #[prost(message, repeated, tag = "1")]
3916 pub options: ::prost::alloc::vec::Vec<Node>,
3917 #[prost(message, repeated, tag = "2")]
3918 pub rels: ::prost::alloc::vec::Vec<Node>,
3919 #[prost(bool, tag = "3")]
3920 pub is_vacuumcmd: bool,
3921}
3922#[derive(Clone, PartialEq, ::prost::Message)]
3923pub struct VacuumRelation {
3924 #[prost(message, optional, tag = "1")]
3925 pub relation: ::core::option::Option<RangeVar>,
3926 #[prost(uint32, tag = "2")]
3927 pub oid: u32,
3928 #[prost(message, repeated, tag = "3")]
3929 pub va_cols: ::prost::alloc::vec::Vec<Node>,
3930}
3931#[derive(Clone, PartialEq, ::prost::Message)]
3932pub struct ExplainStmt {
3933 #[prost(message, optional, boxed, tag = "1")]
3934 pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3935 #[prost(message, repeated, tag = "2")]
3936 pub options: ::prost::alloc::vec::Vec<Node>,
3937}
3938#[derive(Clone, PartialEq, ::prost::Message)]
3939pub struct CreateTableAsStmt {
3940 #[prost(message, optional, boxed, tag = "1")]
3941 pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
3942 #[prost(message, optional, boxed, tag = "2")]
3943 pub into: ::core::option::Option<::prost::alloc::boxed::Box<IntoClause>>,
3944 #[prost(enumeration = "ObjectType", tag = "3")]
3945 pub objtype: i32,
3946 #[prost(bool, tag = "4")]
3947 pub is_select_into: bool,
3948 #[prost(bool, tag = "5")]
3949 pub if_not_exists: bool,
3950}
3951#[derive(Clone, PartialEq, ::prost::Message)]
3952pub struct RefreshMatViewStmt {
3953 #[prost(bool, tag = "1")]
3954 pub concurrent: bool,
3955 #[prost(bool, tag = "2")]
3956 pub skip_data: bool,
3957 #[prost(message, optional, tag = "3")]
3958 pub relation: ::core::option::Option<RangeVar>,
3959}
3960#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3961pub struct CheckPointStmt {}
3962#[derive(Clone, Copy, PartialEq, ::prost::Message)]
3963pub struct DiscardStmt {
3964 #[prost(enumeration = "DiscardMode", tag = "1")]
3965 pub target: i32,
3966}
3967#[derive(Clone, PartialEq, ::prost::Message)]
3968pub struct LockStmt {
3969 #[prost(message, repeated, tag = "1")]
3970 pub relations: ::prost::alloc::vec::Vec<Node>,
3971 #[prost(int32, tag = "2")]
3972 pub mode: i32,
3973 #[prost(bool, tag = "3")]
3974 pub nowait: bool,
3975}
3976#[derive(Clone, PartialEq, ::prost::Message)]
3977pub struct ConstraintsSetStmt {
3978 #[prost(message, repeated, tag = "1")]
3979 pub constraints: ::prost::alloc::vec::Vec<Node>,
3980 #[prost(bool, tag = "2")]
3981 pub deferred: bool,
3982}
3983#[derive(Clone, PartialEq, ::prost::Message)]
3984pub struct ReindexStmt {
3985 #[prost(enumeration = "ReindexObjectType", tag = "1")]
3986 pub kind: i32,
3987 #[prost(message, optional, tag = "2")]
3988 pub relation: ::core::option::Option<RangeVar>,
3989 #[prost(string, tag = "3")]
3990 pub name: ::prost::alloc::string::String,
3991 #[prost(message, repeated, tag = "4")]
3992 pub params: ::prost::alloc::vec::Vec<Node>,
3993}
3994#[derive(Clone, PartialEq, ::prost::Message)]
3995pub struct CreateConversionStmt {
3996 #[prost(message, repeated, tag = "1")]
3997 pub conversion_name: ::prost::alloc::vec::Vec<Node>,
3998 #[prost(string, tag = "2")]
3999 pub for_encoding_name: ::prost::alloc::string::String,
4000 #[prost(string, tag = "3")]
4001 pub to_encoding_name: ::prost::alloc::string::String,
4002 #[prost(message, repeated, tag = "4")]
4003 pub func_name: ::prost::alloc::vec::Vec<Node>,
4004 #[prost(bool, tag = "5")]
4005 pub def: bool,
4006}
4007#[derive(Clone, PartialEq, ::prost::Message)]
4008pub struct CreateCastStmt {
4009 #[prost(message, optional, tag = "1")]
4010 pub sourcetype: ::core::option::Option<TypeName>,
4011 #[prost(message, optional, tag = "2")]
4012 pub targettype: ::core::option::Option<TypeName>,
4013 #[prost(message, optional, tag = "3")]
4014 pub func: ::core::option::Option<ObjectWithArgs>,
4015 #[prost(enumeration = "CoercionContext", tag = "4")]
4016 pub context: i32,
4017 #[prost(bool, tag = "5")]
4018 pub inout: bool,
4019}
4020#[derive(Clone, PartialEq, ::prost::Message)]
4021pub struct CreateTransformStmt {
4022 #[prost(bool, tag = "1")]
4023 pub replace: bool,
4024 #[prost(message, optional, tag = "2")]
4025 pub type_name: ::core::option::Option<TypeName>,
4026 #[prost(string, tag = "3")]
4027 pub lang: ::prost::alloc::string::String,
4028 #[prost(message, optional, tag = "4")]
4029 pub fromsql: ::core::option::Option<ObjectWithArgs>,
4030 #[prost(message, optional, tag = "5")]
4031 pub tosql: ::core::option::Option<ObjectWithArgs>,
4032}
4033#[derive(Clone, PartialEq, ::prost::Message)]
4034pub struct PrepareStmt {
4035 #[prost(string, tag = "1")]
4036 pub name: ::prost::alloc::string::String,
4037 #[prost(message, repeated, tag = "2")]
4038 pub argtypes: ::prost::alloc::vec::Vec<Node>,
4039 #[prost(message, optional, boxed, tag = "3")]
4040 pub query: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
4041}
4042#[derive(Clone, PartialEq, ::prost::Message)]
4043pub struct ExecuteStmt {
4044 #[prost(string, tag = "1")]
4045 pub name: ::prost::alloc::string::String,
4046 #[prost(message, repeated, tag = "2")]
4047 pub params: ::prost::alloc::vec::Vec<Node>,
4048}
4049#[derive(Clone, PartialEq, ::prost::Message)]
4050pub struct DeallocateStmt {
4051 #[prost(string, tag = "1")]
4052 pub name: ::prost::alloc::string::String,
4053 #[prost(bool, tag = "2")]
4054 pub isall: bool,
4055 #[prost(int32, tag = "3")]
4056 pub location: i32,
4057}
4058#[derive(Clone, PartialEq, ::prost::Message)]
4059pub struct DropOwnedStmt {
4060 #[prost(message, repeated, tag = "1")]
4061 pub roles: ::prost::alloc::vec::Vec<Node>,
4062 #[prost(enumeration = "DropBehavior", tag = "2")]
4063 pub behavior: i32,
4064}
4065#[derive(Clone, PartialEq, ::prost::Message)]
4066pub struct ReassignOwnedStmt {
4067 #[prost(message, repeated, tag = "1")]
4068 pub roles: ::prost::alloc::vec::Vec<Node>,
4069 #[prost(message, optional, tag = "2")]
4070 pub newrole: ::core::option::Option<RoleSpec>,
4071}
4072#[derive(Clone, PartialEq, ::prost::Message)]
4073pub struct AlterTsDictionaryStmt {
4074 #[prost(message, repeated, tag = "1")]
4075 pub dictname: ::prost::alloc::vec::Vec<Node>,
4076 #[prost(message, repeated, tag = "2")]
4077 pub options: ::prost::alloc::vec::Vec<Node>,
4078}
4079#[derive(Clone, PartialEq, ::prost::Message)]
4080pub struct AlterTsConfigurationStmt {
4081 #[prost(enumeration = "AlterTsConfigType", tag = "1")]
4082 pub kind: i32,
4083 #[prost(message, repeated, tag = "2")]
4084 pub cfgname: ::prost::alloc::vec::Vec<Node>,
4085 #[prost(message, repeated, tag = "3")]
4086 pub tokentype: ::prost::alloc::vec::Vec<Node>,
4087 #[prost(message, repeated, tag = "4")]
4088 pub dicts: ::prost::alloc::vec::Vec<Node>,
4089 #[prost(bool, tag = "5")]
4090 pub r#override: bool,
4091 #[prost(bool, tag = "6")]
4092 pub replace: bool,
4093 #[prost(bool, tag = "7")]
4094 pub missing_ok: bool,
4095}
4096#[derive(Clone, PartialEq, ::prost::Message)]
4097pub struct PublicationTable {
4098 #[prost(message, optional, tag = "1")]
4099 pub relation: ::core::option::Option<RangeVar>,
4100 #[prost(message, optional, boxed, tag = "2")]
4101 pub where_clause: ::core::option::Option<::prost::alloc::boxed::Box<Node>>,
4102 #[prost(message, repeated, tag = "3")]
4103 pub columns: ::prost::alloc::vec::Vec<Node>,
4104}
4105#[derive(Clone, PartialEq, ::prost::Message)]
4106pub struct PublicationObjSpec {
4107 #[prost(enumeration = "PublicationObjSpecType", tag = "1")]
4108 pub pubobjtype: i32,
4109 #[prost(string, tag = "2")]
4110 pub name: ::prost::alloc::string::String,
4111 #[prost(message, optional, boxed, tag = "3")]
4112 pub pubtable: ::core::option::Option<::prost::alloc::boxed::Box<PublicationTable>>,
4113 #[prost(int32, tag = "4")]
4114 pub location: i32,
4115}
4116#[derive(Clone, PartialEq, ::prost::Message)]
4117pub struct CreatePublicationStmt {
4118 #[prost(string, tag = "1")]
4119 pub pubname: ::prost::alloc::string::String,
4120 #[prost(message, repeated, tag = "2")]
4121 pub options: ::prost::alloc::vec::Vec<Node>,
4122 #[prost(message, repeated, tag = "3")]
4123 pub pubobjects: ::prost::alloc::vec::Vec<Node>,
4124 #[prost(bool, tag = "4")]
4125 pub for_all_tables: bool,
4126}
4127#[derive(Clone, PartialEq, ::prost::Message)]
4128pub struct AlterPublicationStmt {
4129 #[prost(string, tag = "1")]
4130 pub pubname: ::prost::alloc::string::String,
4131 #[prost(message, repeated, tag = "2")]
4132 pub options: ::prost::alloc::vec::Vec<Node>,
4133 #[prost(message, repeated, tag = "3")]
4134 pub pubobjects: ::prost::alloc::vec::Vec<Node>,
4135 #[prost(bool, tag = "4")]
4136 pub for_all_tables: bool,
4137 #[prost(enumeration = "AlterPublicationAction", tag = "5")]
4138 pub action: i32,
4139}
4140#[derive(Clone, PartialEq, ::prost::Message)]
4141pub struct CreateSubscriptionStmt {
4142 #[prost(string, tag = "1")]
4143 pub subname: ::prost::alloc::string::String,
4144 #[prost(string, tag = "2")]
4145 pub conninfo: ::prost::alloc::string::String,
4146 #[prost(message, repeated, tag = "3")]
4147 pub publication: ::prost::alloc::vec::Vec<Node>,
4148 #[prost(message, repeated, tag = "4")]
4149 pub options: ::prost::alloc::vec::Vec<Node>,
4150}
4151#[derive(Clone, PartialEq, ::prost::Message)]
4152pub struct AlterSubscriptionStmt {
4153 #[prost(enumeration = "AlterSubscriptionType", tag = "1")]
4154 pub kind: i32,
4155 #[prost(string, tag = "2")]
4156 pub subname: ::prost::alloc::string::String,
4157 #[prost(string, tag = "3")]
4158 pub conninfo: ::prost::alloc::string::String,
4159 #[prost(message, repeated, tag = "4")]
4160 pub publication: ::prost::alloc::vec::Vec<Node>,
4161 #[prost(message, repeated, tag = "5")]
4162 pub options: ::prost::alloc::vec::Vec<Node>,
4163}
4164#[derive(Clone, PartialEq, ::prost::Message)]
4165pub struct DropSubscriptionStmt {
4166 #[prost(string, tag = "1")]
4167 pub subname: ::prost::alloc::string::String,
4168 #[prost(bool, tag = "2")]
4169 pub missing_ok: bool,
4170 #[prost(enumeration = "DropBehavior", tag = "3")]
4171 pub behavior: i32,
4172}
4173#[derive(Clone, Copy, PartialEq, ::prost::Message)]
4174pub struct ScanToken {
4175 #[prost(int32, tag = "1")]
4176 pub start: i32,
4177 #[prost(int32, tag = "2")]
4178 pub end: i32,
4179 #[prost(enumeration = "Token", tag = "4")]
4180 pub token: i32,
4181 #[prost(enumeration = "KeywordKind", tag = "5")]
4182 pub keyword_kind: i32,
4183}
4184#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4185#[repr(i32)]
4186pub enum QuerySource {
4187 Undefined = 0,
4188 QsrcOriginal = 1,
4189 QsrcParser = 2,
4190 QsrcInsteadRule = 3,
4191 QsrcQualInsteadRule = 4,
4192 QsrcNonInsteadRule = 5,
4193}
4194impl QuerySource {
4195 pub fn as_str_name(&self) -> &'static str {
4200 match self {
4201 Self::Undefined => "QUERY_SOURCE_UNDEFINED",
4202 Self::QsrcOriginal => "QSRC_ORIGINAL",
4203 Self::QsrcParser => "QSRC_PARSER",
4204 Self::QsrcInsteadRule => "QSRC_INSTEAD_RULE",
4205 Self::QsrcQualInsteadRule => "QSRC_QUAL_INSTEAD_RULE",
4206 Self::QsrcNonInsteadRule => "QSRC_NON_INSTEAD_RULE",
4207 }
4208 }
4209 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4211 match value {
4212 "QUERY_SOURCE_UNDEFINED" => Some(Self::Undefined),
4213 "QSRC_ORIGINAL" => Some(Self::QsrcOriginal),
4214 "QSRC_PARSER" => Some(Self::QsrcParser),
4215 "QSRC_INSTEAD_RULE" => Some(Self::QsrcInsteadRule),
4216 "QSRC_QUAL_INSTEAD_RULE" => Some(Self::QsrcQualInsteadRule),
4217 "QSRC_NON_INSTEAD_RULE" => Some(Self::QsrcNonInsteadRule),
4218 _ => None,
4219 }
4220 }
4221}
4222#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4223#[repr(i32)]
4224pub enum SortByDir {
4225 Undefined = 0,
4226 SortbyDefault = 1,
4227 SortbyAsc = 2,
4228 SortbyDesc = 3,
4229 SortbyUsing = 4,
4230}
4231impl SortByDir {
4232 pub fn as_str_name(&self) -> &'static str {
4237 match self {
4238 Self::Undefined => "SORT_BY_DIR_UNDEFINED",
4239 Self::SortbyDefault => "SORTBY_DEFAULT",
4240 Self::SortbyAsc => "SORTBY_ASC",
4241 Self::SortbyDesc => "SORTBY_DESC",
4242 Self::SortbyUsing => "SORTBY_USING",
4243 }
4244 }
4245 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4247 match value {
4248 "SORT_BY_DIR_UNDEFINED" => Some(Self::Undefined),
4249 "SORTBY_DEFAULT" => Some(Self::SortbyDefault),
4250 "SORTBY_ASC" => Some(Self::SortbyAsc),
4251 "SORTBY_DESC" => Some(Self::SortbyDesc),
4252 "SORTBY_USING" => Some(Self::SortbyUsing),
4253 _ => None,
4254 }
4255 }
4256}
4257#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4258#[repr(i32)]
4259pub enum SortByNulls {
4260 Undefined = 0,
4261 SortbyNullsDefault = 1,
4262 SortbyNullsFirst = 2,
4263 SortbyNullsLast = 3,
4264}
4265impl SortByNulls {
4266 pub fn as_str_name(&self) -> &'static str {
4271 match self {
4272 Self::Undefined => "SORT_BY_NULLS_UNDEFINED",
4273 Self::SortbyNullsDefault => "SORTBY_NULLS_DEFAULT",
4274 Self::SortbyNullsFirst => "SORTBY_NULLS_FIRST",
4275 Self::SortbyNullsLast => "SORTBY_NULLS_LAST",
4276 }
4277 }
4278 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4280 match value {
4281 "SORT_BY_NULLS_UNDEFINED" => Some(Self::Undefined),
4282 "SORTBY_NULLS_DEFAULT" => Some(Self::SortbyNullsDefault),
4283 "SORTBY_NULLS_FIRST" => Some(Self::SortbyNullsFirst),
4284 "SORTBY_NULLS_LAST" => Some(Self::SortbyNullsLast),
4285 _ => None,
4286 }
4287 }
4288}
4289#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4290#[repr(i32)]
4291pub enum SetQuantifier {
4292 Undefined = 0,
4293 Default = 1,
4294 All = 2,
4295 Distinct = 3,
4296}
4297impl SetQuantifier {
4298 pub fn as_str_name(&self) -> &'static str {
4303 match self {
4304 Self::Undefined => "SET_QUANTIFIER_UNDEFINED",
4305 Self::Default => "SET_QUANTIFIER_DEFAULT",
4306 Self::All => "SET_QUANTIFIER_ALL",
4307 Self::Distinct => "SET_QUANTIFIER_DISTINCT",
4308 }
4309 }
4310 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4312 match value {
4313 "SET_QUANTIFIER_UNDEFINED" => Some(Self::Undefined),
4314 "SET_QUANTIFIER_DEFAULT" => Some(Self::Default),
4315 "SET_QUANTIFIER_ALL" => Some(Self::All),
4316 "SET_QUANTIFIER_DISTINCT" => Some(Self::Distinct),
4317 _ => None,
4318 }
4319 }
4320}
4321#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4322#[repr(i32)]
4323pub enum AExprKind {
4324 Undefined = 0,
4325 AexprOp = 1,
4326 AexprOpAny = 2,
4327 AexprOpAll = 3,
4328 AexprDistinct = 4,
4329 AexprNotDistinct = 5,
4330 AexprNullif = 6,
4331 AexprIn = 7,
4332 AexprLike = 8,
4333 AexprIlike = 9,
4334 AexprSimilar = 10,
4335 AexprBetween = 11,
4336 AexprNotBetween = 12,
4337 AexprBetweenSym = 13,
4338 AexprNotBetweenSym = 14,
4339}
4340impl AExprKind {
4341 pub fn as_str_name(&self) -> &'static str {
4346 match self {
4347 Self::Undefined => "A_EXPR_KIND_UNDEFINED",
4348 Self::AexprOp => "AEXPR_OP",
4349 Self::AexprOpAny => "AEXPR_OP_ANY",
4350 Self::AexprOpAll => "AEXPR_OP_ALL",
4351 Self::AexprDistinct => "AEXPR_DISTINCT",
4352 Self::AexprNotDistinct => "AEXPR_NOT_DISTINCT",
4353 Self::AexprNullif => "AEXPR_NULLIF",
4354 Self::AexprIn => "AEXPR_IN",
4355 Self::AexprLike => "AEXPR_LIKE",
4356 Self::AexprIlike => "AEXPR_ILIKE",
4357 Self::AexprSimilar => "AEXPR_SIMILAR",
4358 Self::AexprBetween => "AEXPR_BETWEEN",
4359 Self::AexprNotBetween => "AEXPR_NOT_BETWEEN",
4360 Self::AexprBetweenSym => "AEXPR_BETWEEN_SYM",
4361 Self::AexprNotBetweenSym => "AEXPR_NOT_BETWEEN_SYM",
4362 }
4363 }
4364 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4366 match value {
4367 "A_EXPR_KIND_UNDEFINED" => Some(Self::Undefined),
4368 "AEXPR_OP" => Some(Self::AexprOp),
4369 "AEXPR_OP_ANY" => Some(Self::AexprOpAny),
4370 "AEXPR_OP_ALL" => Some(Self::AexprOpAll),
4371 "AEXPR_DISTINCT" => Some(Self::AexprDistinct),
4372 "AEXPR_NOT_DISTINCT" => Some(Self::AexprNotDistinct),
4373 "AEXPR_NULLIF" => Some(Self::AexprNullif),
4374 "AEXPR_IN" => Some(Self::AexprIn),
4375 "AEXPR_LIKE" => Some(Self::AexprLike),
4376 "AEXPR_ILIKE" => Some(Self::AexprIlike),
4377 "AEXPR_SIMILAR" => Some(Self::AexprSimilar),
4378 "AEXPR_BETWEEN" => Some(Self::AexprBetween),
4379 "AEXPR_NOT_BETWEEN" => Some(Self::AexprNotBetween),
4380 "AEXPR_BETWEEN_SYM" => Some(Self::AexprBetweenSym),
4381 "AEXPR_NOT_BETWEEN_SYM" => Some(Self::AexprNotBetweenSym),
4382 _ => None,
4383 }
4384 }
4385}
4386#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4387#[repr(i32)]
4388pub enum RoleSpecType {
4389 Undefined = 0,
4390 RolespecCstring = 1,
4391 RolespecCurrentRole = 2,
4392 RolespecCurrentUser = 3,
4393 RolespecSessionUser = 4,
4394 RolespecPublic = 5,
4395}
4396impl RoleSpecType {
4397 pub fn as_str_name(&self) -> &'static str {
4402 match self {
4403 Self::Undefined => "ROLE_SPEC_TYPE_UNDEFINED",
4404 Self::RolespecCstring => "ROLESPEC_CSTRING",
4405 Self::RolespecCurrentRole => "ROLESPEC_CURRENT_ROLE",
4406 Self::RolespecCurrentUser => "ROLESPEC_CURRENT_USER",
4407 Self::RolespecSessionUser => "ROLESPEC_SESSION_USER",
4408 Self::RolespecPublic => "ROLESPEC_PUBLIC",
4409 }
4410 }
4411 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4413 match value {
4414 "ROLE_SPEC_TYPE_UNDEFINED" => Some(Self::Undefined),
4415 "ROLESPEC_CSTRING" => Some(Self::RolespecCstring),
4416 "ROLESPEC_CURRENT_ROLE" => Some(Self::RolespecCurrentRole),
4417 "ROLESPEC_CURRENT_USER" => Some(Self::RolespecCurrentUser),
4418 "ROLESPEC_SESSION_USER" => Some(Self::RolespecSessionUser),
4419 "ROLESPEC_PUBLIC" => Some(Self::RolespecPublic),
4420 _ => None,
4421 }
4422 }
4423}
4424#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4425#[repr(i32)]
4426pub enum TableLikeOption {
4427 Undefined = 0,
4428 CreateTableLikeComments = 1,
4429 CreateTableLikeCompression = 2,
4430 CreateTableLikeConstraints = 3,
4431 CreateTableLikeDefaults = 4,
4432 CreateTableLikeGenerated = 5,
4433 CreateTableLikeIdentity = 6,
4434 CreateTableLikeIndexes = 7,
4435 CreateTableLikeStatistics = 8,
4436 CreateTableLikeStorage = 9,
4437 CreateTableLikeAll = 10,
4438}
4439impl TableLikeOption {
4440 pub fn as_str_name(&self) -> &'static str {
4445 match self {
4446 Self::Undefined => "TABLE_LIKE_OPTION_UNDEFINED",
4447 Self::CreateTableLikeComments => "CREATE_TABLE_LIKE_COMMENTS",
4448 Self::CreateTableLikeCompression => "CREATE_TABLE_LIKE_COMPRESSION",
4449 Self::CreateTableLikeConstraints => "CREATE_TABLE_LIKE_CONSTRAINTS",
4450 Self::CreateTableLikeDefaults => "CREATE_TABLE_LIKE_DEFAULTS",
4451 Self::CreateTableLikeGenerated => "CREATE_TABLE_LIKE_GENERATED",
4452 Self::CreateTableLikeIdentity => "CREATE_TABLE_LIKE_IDENTITY",
4453 Self::CreateTableLikeIndexes => "CREATE_TABLE_LIKE_INDEXES",
4454 Self::CreateTableLikeStatistics => "CREATE_TABLE_LIKE_STATISTICS",
4455 Self::CreateTableLikeStorage => "CREATE_TABLE_LIKE_STORAGE",
4456 Self::CreateTableLikeAll => "CREATE_TABLE_LIKE_ALL",
4457 }
4458 }
4459 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4461 match value {
4462 "TABLE_LIKE_OPTION_UNDEFINED" => Some(Self::Undefined),
4463 "CREATE_TABLE_LIKE_COMMENTS" => Some(Self::CreateTableLikeComments),
4464 "CREATE_TABLE_LIKE_COMPRESSION" => Some(Self::CreateTableLikeCompression),
4465 "CREATE_TABLE_LIKE_CONSTRAINTS" => Some(Self::CreateTableLikeConstraints),
4466 "CREATE_TABLE_LIKE_DEFAULTS" => Some(Self::CreateTableLikeDefaults),
4467 "CREATE_TABLE_LIKE_GENERATED" => Some(Self::CreateTableLikeGenerated),
4468 "CREATE_TABLE_LIKE_IDENTITY" => Some(Self::CreateTableLikeIdentity),
4469 "CREATE_TABLE_LIKE_INDEXES" => Some(Self::CreateTableLikeIndexes),
4470 "CREATE_TABLE_LIKE_STATISTICS" => Some(Self::CreateTableLikeStatistics),
4471 "CREATE_TABLE_LIKE_STORAGE" => Some(Self::CreateTableLikeStorage),
4472 "CREATE_TABLE_LIKE_ALL" => Some(Self::CreateTableLikeAll),
4473 _ => None,
4474 }
4475 }
4476}
4477#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4478#[repr(i32)]
4479pub enum DefElemAction {
4480 Undefined = 0,
4481 DefelemUnspec = 1,
4482 DefelemSet = 2,
4483 DefelemAdd = 3,
4484 DefelemDrop = 4,
4485}
4486impl DefElemAction {
4487 pub fn as_str_name(&self) -> &'static str {
4492 match self {
4493 Self::Undefined => "DEF_ELEM_ACTION_UNDEFINED",
4494 Self::DefelemUnspec => "DEFELEM_UNSPEC",
4495 Self::DefelemSet => "DEFELEM_SET",
4496 Self::DefelemAdd => "DEFELEM_ADD",
4497 Self::DefelemDrop => "DEFELEM_DROP",
4498 }
4499 }
4500 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4502 match value {
4503 "DEF_ELEM_ACTION_UNDEFINED" => Some(Self::Undefined),
4504 "DEFELEM_UNSPEC" => Some(Self::DefelemUnspec),
4505 "DEFELEM_SET" => Some(Self::DefelemSet),
4506 "DEFELEM_ADD" => Some(Self::DefelemAdd),
4507 "DEFELEM_DROP" => Some(Self::DefelemDrop),
4508 _ => None,
4509 }
4510 }
4511}
4512#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4513#[repr(i32)]
4514pub enum PartitionStrategy {
4515 Undefined = 0,
4516 List = 1,
4517 Range = 2,
4518 Hash = 3,
4519}
4520impl PartitionStrategy {
4521 pub fn as_str_name(&self) -> &'static str {
4526 match self {
4527 Self::Undefined => "PARTITION_STRATEGY_UNDEFINED",
4528 Self::List => "PARTITION_STRATEGY_LIST",
4529 Self::Range => "PARTITION_STRATEGY_RANGE",
4530 Self::Hash => "PARTITION_STRATEGY_HASH",
4531 }
4532 }
4533 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4535 match value {
4536 "PARTITION_STRATEGY_UNDEFINED" => Some(Self::Undefined),
4537 "PARTITION_STRATEGY_LIST" => Some(Self::List),
4538 "PARTITION_STRATEGY_RANGE" => Some(Self::Range),
4539 "PARTITION_STRATEGY_HASH" => Some(Self::Hash),
4540 _ => None,
4541 }
4542 }
4543}
4544#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4545#[repr(i32)]
4546pub enum PartitionRangeDatumKind {
4547 Undefined = 0,
4548 PartitionRangeDatumMinvalue = 1,
4549 PartitionRangeDatumValue = 2,
4550 PartitionRangeDatumMaxvalue = 3,
4551}
4552impl PartitionRangeDatumKind {
4553 pub fn as_str_name(&self) -> &'static str {
4558 match self {
4559 Self::Undefined => "PARTITION_RANGE_DATUM_KIND_UNDEFINED",
4560 Self::PartitionRangeDatumMinvalue => "PARTITION_RANGE_DATUM_MINVALUE",
4561 Self::PartitionRangeDatumValue => "PARTITION_RANGE_DATUM_VALUE",
4562 Self::PartitionRangeDatumMaxvalue => "PARTITION_RANGE_DATUM_MAXVALUE",
4563 }
4564 }
4565 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4567 match value {
4568 "PARTITION_RANGE_DATUM_KIND_UNDEFINED" => Some(Self::Undefined),
4569 "PARTITION_RANGE_DATUM_MINVALUE" => Some(Self::PartitionRangeDatumMinvalue),
4570 "PARTITION_RANGE_DATUM_VALUE" => Some(Self::PartitionRangeDatumValue),
4571 "PARTITION_RANGE_DATUM_MAXVALUE" => Some(Self::PartitionRangeDatumMaxvalue),
4572 _ => None,
4573 }
4574 }
4575}
4576#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4577#[repr(i32)]
4578pub enum RteKind {
4579 RtekindUndefined = 0,
4580 RteRelation = 1,
4581 RteSubquery = 2,
4582 RteJoin = 3,
4583 RteFunction = 4,
4584 RteTablefunc = 5,
4585 RteValues = 6,
4586 RteCte = 7,
4587 RteNamedtuplestore = 8,
4588 RteResult = 9,
4589}
4590impl RteKind {
4591 pub fn as_str_name(&self) -> &'static str {
4596 match self {
4597 Self::RtekindUndefined => "RTEKIND_UNDEFINED",
4598 Self::RteRelation => "RTE_RELATION",
4599 Self::RteSubquery => "RTE_SUBQUERY",
4600 Self::RteJoin => "RTE_JOIN",
4601 Self::RteFunction => "RTE_FUNCTION",
4602 Self::RteTablefunc => "RTE_TABLEFUNC",
4603 Self::RteValues => "RTE_VALUES",
4604 Self::RteCte => "RTE_CTE",
4605 Self::RteNamedtuplestore => "RTE_NAMEDTUPLESTORE",
4606 Self::RteResult => "RTE_RESULT",
4607 }
4608 }
4609 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4611 match value {
4612 "RTEKIND_UNDEFINED" => Some(Self::RtekindUndefined),
4613 "RTE_RELATION" => Some(Self::RteRelation),
4614 "RTE_SUBQUERY" => Some(Self::RteSubquery),
4615 "RTE_JOIN" => Some(Self::RteJoin),
4616 "RTE_FUNCTION" => Some(Self::RteFunction),
4617 "RTE_TABLEFUNC" => Some(Self::RteTablefunc),
4618 "RTE_VALUES" => Some(Self::RteValues),
4619 "RTE_CTE" => Some(Self::RteCte),
4620 "RTE_NAMEDTUPLESTORE" => Some(Self::RteNamedtuplestore),
4621 "RTE_RESULT" => Some(Self::RteResult),
4622 _ => None,
4623 }
4624 }
4625}
4626#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4627#[repr(i32)]
4628pub enum WcoKind {
4629 WcokindUndefined = 0,
4630 WcoViewCheck = 1,
4631 WcoRlsInsertCheck = 2,
4632 WcoRlsUpdateCheck = 3,
4633 WcoRlsConflictCheck = 4,
4634 WcoRlsMergeUpdateCheck = 5,
4635 WcoRlsMergeDeleteCheck = 6,
4636}
4637impl WcoKind {
4638 pub fn as_str_name(&self) -> &'static str {
4643 match self {
4644 Self::WcokindUndefined => "WCOKIND_UNDEFINED",
4645 Self::WcoViewCheck => "WCO_VIEW_CHECK",
4646 Self::WcoRlsInsertCheck => "WCO_RLS_INSERT_CHECK",
4647 Self::WcoRlsUpdateCheck => "WCO_RLS_UPDATE_CHECK",
4648 Self::WcoRlsConflictCheck => "WCO_RLS_CONFLICT_CHECK",
4649 Self::WcoRlsMergeUpdateCheck => "WCO_RLS_MERGE_UPDATE_CHECK",
4650 Self::WcoRlsMergeDeleteCheck => "WCO_RLS_MERGE_DELETE_CHECK",
4651 }
4652 }
4653 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4655 match value {
4656 "WCOKIND_UNDEFINED" => Some(Self::WcokindUndefined),
4657 "WCO_VIEW_CHECK" => Some(Self::WcoViewCheck),
4658 "WCO_RLS_INSERT_CHECK" => Some(Self::WcoRlsInsertCheck),
4659 "WCO_RLS_UPDATE_CHECK" => Some(Self::WcoRlsUpdateCheck),
4660 "WCO_RLS_CONFLICT_CHECK" => Some(Self::WcoRlsConflictCheck),
4661 "WCO_RLS_MERGE_UPDATE_CHECK" => Some(Self::WcoRlsMergeUpdateCheck),
4662 "WCO_RLS_MERGE_DELETE_CHECK" => Some(Self::WcoRlsMergeDeleteCheck),
4663 _ => None,
4664 }
4665 }
4666}
4667#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4668#[repr(i32)]
4669pub enum GroupingSetKind {
4670 Undefined = 0,
4671 GroupingSetEmpty = 1,
4672 GroupingSetSimple = 2,
4673 GroupingSetRollup = 3,
4674 GroupingSetCube = 4,
4675 GroupingSetSets = 5,
4676}
4677impl GroupingSetKind {
4678 pub fn as_str_name(&self) -> &'static str {
4683 match self {
4684 Self::Undefined => "GROUPING_SET_KIND_UNDEFINED",
4685 Self::GroupingSetEmpty => "GROUPING_SET_EMPTY",
4686 Self::GroupingSetSimple => "GROUPING_SET_SIMPLE",
4687 Self::GroupingSetRollup => "GROUPING_SET_ROLLUP",
4688 Self::GroupingSetCube => "GROUPING_SET_CUBE",
4689 Self::GroupingSetSets => "GROUPING_SET_SETS",
4690 }
4691 }
4692 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4694 match value {
4695 "GROUPING_SET_KIND_UNDEFINED" => Some(Self::Undefined),
4696 "GROUPING_SET_EMPTY" => Some(Self::GroupingSetEmpty),
4697 "GROUPING_SET_SIMPLE" => Some(Self::GroupingSetSimple),
4698 "GROUPING_SET_ROLLUP" => Some(Self::GroupingSetRollup),
4699 "GROUPING_SET_CUBE" => Some(Self::GroupingSetCube),
4700 "GROUPING_SET_SETS" => Some(Self::GroupingSetSets),
4701 _ => None,
4702 }
4703 }
4704}
4705#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4706#[repr(i32)]
4707pub enum CteMaterialize {
4708 CtematerializeUndefined = 0,
4709 Default = 1,
4710 Always = 2,
4711 Never = 3,
4712}
4713impl CteMaterialize {
4714 pub fn as_str_name(&self) -> &'static str {
4719 match self {
4720 Self::CtematerializeUndefined => "CTEMATERIALIZE_UNDEFINED",
4721 Self::Default => "CTEMaterializeDefault",
4722 Self::Always => "CTEMaterializeAlways",
4723 Self::Never => "CTEMaterializeNever",
4724 }
4725 }
4726 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4728 match value {
4729 "CTEMATERIALIZE_UNDEFINED" => Some(Self::CtematerializeUndefined),
4730 "CTEMaterializeDefault" => Some(Self::Default),
4731 "CTEMaterializeAlways" => Some(Self::Always),
4732 "CTEMaterializeNever" => Some(Self::Never),
4733 _ => None,
4734 }
4735 }
4736}
4737#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4738#[repr(i32)]
4739pub enum JsonQuotes {
4740 Undefined = 0,
4741 JsQuotesUnspec = 1,
4742 JsQuotesKeep = 2,
4743 JsQuotesOmit = 3,
4744}
4745impl JsonQuotes {
4746 pub fn as_str_name(&self) -> &'static str {
4751 match self {
4752 Self::Undefined => "JSON_QUOTES_UNDEFINED",
4753 Self::JsQuotesUnspec => "JS_QUOTES_UNSPEC",
4754 Self::JsQuotesKeep => "JS_QUOTES_KEEP",
4755 Self::JsQuotesOmit => "JS_QUOTES_OMIT",
4756 }
4757 }
4758 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4760 match value {
4761 "JSON_QUOTES_UNDEFINED" => Some(Self::Undefined),
4762 "JS_QUOTES_UNSPEC" => Some(Self::JsQuotesUnspec),
4763 "JS_QUOTES_KEEP" => Some(Self::JsQuotesKeep),
4764 "JS_QUOTES_OMIT" => Some(Self::JsQuotesOmit),
4765 _ => None,
4766 }
4767 }
4768}
4769#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4770#[repr(i32)]
4771pub enum JsonTableColumnType {
4772 Undefined = 0,
4773 JtcForOrdinality = 1,
4774 JtcRegular = 2,
4775 JtcExists = 3,
4776 JtcFormatted = 4,
4777 JtcNested = 5,
4778}
4779impl JsonTableColumnType {
4780 pub fn as_str_name(&self) -> &'static str {
4785 match self {
4786 Self::Undefined => "JSON_TABLE_COLUMN_TYPE_UNDEFINED",
4787 Self::JtcForOrdinality => "JTC_FOR_ORDINALITY",
4788 Self::JtcRegular => "JTC_REGULAR",
4789 Self::JtcExists => "JTC_EXISTS",
4790 Self::JtcFormatted => "JTC_FORMATTED",
4791 Self::JtcNested => "JTC_NESTED",
4792 }
4793 }
4794 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4796 match value {
4797 "JSON_TABLE_COLUMN_TYPE_UNDEFINED" => Some(Self::Undefined),
4798 "JTC_FOR_ORDINALITY" => Some(Self::JtcForOrdinality),
4799 "JTC_REGULAR" => Some(Self::JtcRegular),
4800 "JTC_EXISTS" => Some(Self::JtcExists),
4801 "JTC_FORMATTED" => Some(Self::JtcFormatted),
4802 "JTC_NESTED" => Some(Self::JtcNested),
4803 _ => None,
4804 }
4805 }
4806}
4807#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4808#[repr(i32)]
4809pub enum SetOperation {
4810 Undefined = 0,
4811 SetopNone = 1,
4812 SetopUnion = 2,
4813 SetopIntersect = 3,
4814 SetopExcept = 4,
4815}
4816impl SetOperation {
4817 pub fn as_str_name(&self) -> &'static str {
4822 match self {
4823 Self::Undefined => "SET_OPERATION_UNDEFINED",
4824 Self::SetopNone => "SETOP_NONE",
4825 Self::SetopUnion => "SETOP_UNION",
4826 Self::SetopIntersect => "SETOP_INTERSECT",
4827 Self::SetopExcept => "SETOP_EXCEPT",
4828 }
4829 }
4830 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4832 match value {
4833 "SET_OPERATION_UNDEFINED" => Some(Self::Undefined),
4834 "SETOP_NONE" => Some(Self::SetopNone),
4835 "SETOP_UNION" => Some(Self::SetopUnion),
4836 "SETOP_INTERSECT" => Some(Self::SetopIntersect),
4837 "SETOP_EXCEPT" => Some(Self::SetopExcept),
4838 _ => None,
4839 }
4840 }
4841}
4842#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
4843#[repr(i32)]
4844pub enum ObjectType {
4845 Undefined = 0,
4846 ObjectAccessMethod = 1,
4847 ObjectAggregate = 2,
4848 ObjectAmop = 3,
4849 ObjectAmproc = 4,
4850 ObjectAttribute = 5,
4851 ObjectCast = 6,
4852 ObjectColumn = 7,
4853 ObjectCollation = 8,
4854 ObjectConversion = 9,
4855 ObjectDatabase = 10,
4856 ObjectDefault = 11,
4857 ObjectDefacl = 12,
4858 ObjectDomain = 13,
4859 ObjectDomconstraint = 14,
4860 ObjectEventTrigger = 15,
4861 ObjectExtension = 16,
4862 ObjectFdw = 17,
4863 ObjectForeignServer = 18,
4864 ObjectForeignTable = 19,
4865 ObjectFunction = 20,
4866 ObjectIndex = 21,
4867 ObjectLanguage = 22,
4868 ObjectLargeobject = 23,
4869 ObjectMatview = 24,
4870 ObjectOpclass = 25,
4871 ObjectOperator = 26,
4872 ObjectOpfamily = 27,
4873 ObjectParameterAcl = 28,
4874 ObjectPolicy = 29,
4875 ObjectProcedure = 30,
4876 ObjectPublication = 31,
4877 ObjectPublicationNamespace = 32,
4878 ObjectPublicationRel = 33,
4879 ObjectRole = 34,
4880 ObjectRoutine = 35,
4881 ObjectRule = 36,
4882 ObjectSchema = 37,
4883 ObjectSequence = 38,
4884 ObjectSubscription = 39,
4885 ObjectStatisticExt = 40,
4886 ObjectTabconstraint = 41,
4887 ObjectTable = 42,
4888 ObjectTablespace = 43,
4889 ObjectTransform = 44,
4890 ObjectTrigger = 45,
4891 ObjectTsconfiguration = 46,
4892 ObjectTsdictionary = 47,
4893 ObjectTsparser = 48,
4894 ObjectTstemplate = 49,
4895 ObjectType = 50,
4896 ObjectUserMapping = 51,
4897 ObjectView = 52,
4898}
4899impl ObjectType {
4900 pub fn as_str_name(&self) -> &'static str {
4905 match self {
4906 Self::Undefined => "OBJECT_TYPE_UNDEFINED",
4907 Self::ObjectAccessMethod => "OBJECT_ACCESS_METHOD",
4908 Self::ObjectAggregate => "OBJECT_AGGREGATE",
4909 Self::ObjectAmop => "OBJECT_AMOP",
4910 Self::ObjectAmproc => "OBJECT_AMPROC",
4911 Self::ObjectAttribute => "OBJECT_ATTRIBUTE",
4912 Self::ObjectCast => "OBJECT_CAST",
4913 Self::ObjectColumn => "OBJECT_COLUMN",
4914 Self::ObjectCollation => "OBJECT_COLLATION",
4915 Self::ObjectConversion => "OBJECT_CONVERSION",
4916 Self::ObjectDatabase => "OBJECT_DATABASE",
4917 Self::ObjectDefault => "OBJECT_DEFAULT",
4918 Self::ObjectDefacl => "OBJECT_DEFACL",
4919 Self::ObjectDomain => "OBJECT_DOMAIN",
4920 Self::ObjectDomconstraint => "OBJECT_DOMCONSTRAINT",
4921 Self::ObjectEventTrigger => "OBJECT_EVENT_TRIGGER",
4922 Self::ObjectExtension => "OBJECT_EXTENSION",
4923 Self::ObjectFdw => "OBJECT_FDW",
4924 Self::ObjectForeignServer => "OBJECT_FOREIGN_SERVER",
4925 Self::ObjectForeignTable => "OBJECT_FOREIGN_TABLE",
4926 Self::ObjectFunction => "OBJECT_FUNCTION",
4927 Self::ObjectIndex => "OBJECT_INDEX",
4928 Self::ObjectLanguage => "OBJECT_LANGUAGE",
4929 Self::ObjectLargeobject => "OBJECT_LARGEOBJECT",
4930 Self::ObjectMatview => "OBJECT_MATVIEW",
4931 Self::ObjectOpclass => "OBJECT_OPCLASS",
4932 Self::ObjectOperator => "OBJECT_OPERATOR",
4933 Self::ObjectOpfamily => "OBJECT_OPFAMILY",
4934 Self::ObjectParameterAcl => "OBJECT_PARAMETER_ACL",
4935 Self::ObjectPolicy => "OBJECT_POLICY",
4936 Self::ObjectProcedure => "OBJECT_PROCEDURE",
4937 Self::ObjectPublication => "OBJECT_PUBLICATION",
4938 Self::ObjectPublicationNamespace => "OBJECT_PUBLICATION_NAMESPACE",
4939 Self::ObjectPublicationRel => "OBJECT_PUBLICATION_REL",
4940 Self::ObjectRole => "OBJECT_ROLE",
4941 Self::ObjectRoutine => "OBJECT_ROUTINE",
4942 Self::ObjectRule => "OBJECT_RULE",
4943 Self::ObjectSchema => "OBJECT_SCHEMA",
4944 Self::ObjectSequence => "OBJECT_SEQUENCE",
4945 Self::ObjectSubscription => "OBJECT_SUBSCRIPTION",
4946 Self::ObjectStatisticExt => "OBJECT_STATISTIC_EXT",
4947 Self::ObjectTabconstraint => "OBJECT_TABCONSTRAINT",
4948 Self::ObjectTable => "OBJECT_TABLE",
4949 Self::ObjectTablespace => "OBJECT_TABLESPACE",
4950 Self::ObjectTransform => "OBJECT_TRANSFORM",
4951 Self::ObjectTrigger => "OBJECT_TRIGGER",
4952 Self::ObjectTsconfiguration => "OBJECT_TSCONFIGURATION",
4953 Self::ObjectTsdictionary => "OBJECT_TSDICTIONARY",
4954 Self::ObjectTsparser => "OBJECT_TSPARSER",
4955 Self::ObjectTstemplate => "OBJECT_TSTEMPLATE",
4956 Self::ObjectType => "OBJECT_TYPE",
4957 Self::ObjectUserMapping => "OBJECT_USER_MAPPING",
4958 Self::ObjectView => "OBJECT_VIEW",
4959 }
4960 }
4961 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
4963 match value {
4964 "OBJECT_TYPE_UNDEFINED" => Some(Self::Undefined),
4965 "OBJECT_ACCESS_METHOD" => Some(Self::ObjectAccessMethod),
4966 "OBJECT_AGGREGATE" => Some(Self::ObjectAggregate),
4967 "OBJECT_AMOP" => Some(Self::ObjectAmop),
4968 "OBJECT_AMPROC" => Some(Self::ObjectAmproc),
4969 "OBJECT_ATTRIBUTE" => Some(Self::ObjectAttribute),
4970 "OBJECT_CAST" => Some(Self::ObjectCast),
4971 "OBJECT_COLUMN" => Some(Self::ObjectColumn),
4972 "OBJECT_COLLATION" => Some(Self::ObjectCollation),
4973 "OBJECT_CONVERSION" => Some(Self::ObjectConversion),
4974 "OBJECT_DATABASE" => Some(Self::ObjectDatabase),
4975 "OBJECT_DEFAULT" => Some(Self::ObjectDefault),
4976 "OBJECT_DEFACL" => Some(Self::ObjectDefacl),
4977 "OBJECT_DOMAIN" => Some(Self::ObjectDomain),
4978 "OBJECT_DOMCONSTRAINT" => Some(Self::ObjectDomconstraint),
4979 "OBJECT_EVENT_TRIGGER" => Some(Self::ObjectEventTrigger),
4980 "OBJECT_EXTENSION" => Some(Self::ObjectExtension),
4981 "OBJECT_FDW" => Some(Self::ObjectFdw),
4982 "OBJECT_FOREIGN_SERVER" => Some(Self::ObjectForeignServer),
4983 "OBJECT_FOREIGN_TABLE" => Some(Self::ObjectForeignTable),
4984 "OBJECT_FUNCTION" => Some(Self::ObjectFunction),
4985 "OBJECT_INDEX" => Some(Self::ObjectIndex),
4986 "OBJECT_LANGUAGE" => Some(Self::ObjectLanguage),
4987 "OBJECT_LARGEOBJECT" => Some(Self::ObjectLargeobject),
4988 "OBJECT_MATVIEW" => Some(Self::ObjectMatview),
4989 "OBJECT_OPCLASS" => Some(Self::ObjectOpclass),
4990 "OBJECT_OPERATOR" => Some(Self::ObjectOperator),
4991 "OBJECT_OPFAMILY" => Some(Self::ObjectOpfamily),
4992 "OBJECT_PARAMETER_ACL" => Some(Self::ObjectParameterAcl),
4993 "OBJECT_POLICY" => Some(Self::ObjectPolicy),
4994 "OBJECT_PROCEDURE" => Some(Self::ObjectProcedure),
4995 "OBJECT_PUBLICATION" => Some(Self::ObjectPublication),
4996 "OBJECT_PUBLICATION_NAMESPACE" => Some(Self::ObjectPublicationNamespace),
4997 "OBJECT_PUBLICATION_REL" => Some(Self::ObjectPublicationRel),
4998 "OBJECT_ROLE" => Some(Self::ObjectRole),
4999 "OBJECT_ROUTINE" => Some(Self::ObjectRoutine),
5000 "OBJECT_RULE" => Some(Self::ObjectRule),
5001 "OBJECT_SCHEMA" => Some(Self::ObjectSchema),
5002 "OBJECT_SEQUENCE" => Some(Self::ObjectSequence),
5003 "OBJECT_SUBSCRIPTION" => Some(Self::ObjectSubscription),
5004 "OBJECT_STATISTIC_EXT" => Some(Self::ObjectStatisticExt),
5005 "OBJECT_TABCONSTRAINT" => Some(Self::ObjectTabconstraint),
5006 "OBJECT_TABLE" => Some(Self::ObjectTable),
5007 "OBJECT_TABLESPACE" => Some(Self::ObjectTablespace),
5008 "OBJECT_TRANSFORM" => Some(Self::ObjectTransform),
5009 "OBJECT_TRIGGER" => Some(Self::ObjectTrigger),
5010 "OBJECT_TSCONFIGURATION" => Some(Self::ObjectTsconfiguration),
5011 "OBJECT_TSDICTIONARY" => Some(Self::ObjectTsdictionary),
5012 "OBJECT_TSPARSER" => Some(Self::ObjectTsparser),
5013 "OBJECT_TSTEMPLATE" => Some(Self::ObjectTstemplate),
5014 "OBJECT_TYPE" => Some(Self::ObjectType),
5015 "OBJECT_USER_MAPPING" => Some(Self::ObjectUserMapping),
5016 "OBJECT_VIEW" => Some(Self::ObjectView),
5017 _ => None,
5018 }
5019 }
5020}
5021#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5022#[repr(i32)]
5023pub enum DropBehavior {
5024 Undefined = 0,
5025 DropRestrict = 1,
5026 DropCascade = 2,
5027}
5028impl DropBehavior {
5029 pub fn as_str_name(&self) -> &'static str {
5034 match self {
5035 Self::Undefined => "DROP_BEHAVIOR_UNDEFINED",
5036 Self::DropRestrict => "DROP_RESTRICT",
5037 Self::DropCascade => "DROP_CASCADE",
5038 }
5039 }
5040 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5042 match value {
5043 "DROP_BEHAVIOR_UNDEFINED" => Some(Self::Undefined),
5044 "DROP_RESTRICT" => Some(Self::DropRestrict),
5045 "DROP_CASCADE" => Some(Self::DropCascade),
5046 _ => None,
5047 }
5048 }
5049}
5050#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5051#[repr(i32)]
5052pub enum AlterTableType {
5053 Undefined = 0,
5054 AtAddColumn = 1,
5055 AtAddColumnToView = 2,
5056 AtColumnDefault = 3,
5057 AtCookedColumnDefault = 4,
5058 AtDropNotNull = 5,
5059 AtSetNotNull = 6,
5060 AtSetExpression = 7,
5061 AtDropExpression = 8,
5062 AtCheckNotNull = 9,
5063 AtSetStatistics = 10,
5064 AtSetOptions = 11,
5065 AtResetOptions = 12,
5066 AtSetStorage = 13,
5067 AtSetCompression = 14,
5068 AtDropColumn = 15,
5069 AtAddIndex = 16,
5070 AtReAddIndex = 17,
5071 AtAddConstraint = 18,
5072 AtReAddConstraint = 19,
5073 AtReAddDomainConstraint = 20,
5074 AtAlterConstraint = 21,
5075 AtValidateConstraint = 22,
5076 AtAddIndexConstraint = 23,
5077 AtDropConstraint = 24,
5078 AtReAddComment = 25,
5079 AtAlterColumnType = 26,
5080 AtAlterColumnGenericOptions = 27,
5081 AtChangeOwner = 28,
5082 AtClusterOn = 29,
5083 AtDropCluster = 30,
5084 AtSetLogged = 31,
5085 AtSetUnLogged = 32,
5086 AtDropOids = 33,
5087 AtSetAccessMethod = 34,
5088 AtSetTableSpace = 35,
5089 AtSetRelOptions = 36,
5090 AtResetRelOptions = 37,
5091 AtReplaceRelOptions = 38,
5092 AtEnableTrig = 39,
5093 AtEnableAlwaysTrig = 40,
5094 AtEnableReplicaTrig = 41,
5095 AtDisableTrig = 42,
5096 AtEnableTrigAll = 43,
5097 AtDisableTrigAll = 44,
5098 AtEnableTrigUser = 45,
5099 AtDisableTrigUser = 46,
5100 AtEnableRule = 47,
5101 AtEnableAlwaysRule = 48,
5102 AtEnableReplicaRule = 49,
5103 AtDisableRule = 50,
5104 AtAddInherit = 51,
5105 AtDropInherit = 52,
5106 AtAddOf = 53,
5107 AtDropOf = 54,
5108 AtReplicaIdentity = 55,
5109 AtEnableRowSecurity = 56,
5110 AtDisableRowSecurity = 57,
5111 AtForceRowSecurity = 58,
5112 AtNoForceRowSecurity = 59,
5113 AtGenericOptions = 60,
5114 AtAttachPartition = 61,
5115 AtDetachPartition = 62,
5116 AtDetachPartitionFinalize = 63,
5117 AtAddIdentity = 64,
5118 AtSetIdentity = 65,
5119 AtDropIdentity = 66,
5120 AtReAddStatistics = 67,
5121}
5122impl AlterTableType {
5123 pub fn as_str_name(&self) -> &'static str {
5128 match self {
5129 Self::Undefined => "ALTER_TABLE_TYPE_UNDEFINED",
5130 Self::AtAddColumn => "AT_AddColumn",
5131 Self::AtAddColumnToView => "AT_AddColumnToView",
5132 Self::AtColumnDefault => "AT_ColumnDefault",
5133 Self::AtCookedColumnDefault => "AT_CookedColumnDefault",
5134 Self::AtDropNotNull => "AT_DropNotNull",
5135 Self::AtSetNotNull => "AT_SetNotNull",
5136 Self::AtSetExpression => "AT_SetExpression",
5137 Self::AtDropExpression => "AT_DropExpression",
5138 Self::AtCheckNotNull => "AT_CheckNotNull",
5139 Self::AtSetStatistics => "AT_SetStatistics",
5140 Self::AtSetOptions => "AT_SetOptions",
5141 Self::AtResetOptions => "AT_ResetOptions",
5142 Self::AtSetStorage => "AT_SetStorage",
5143 Self::AtSetCompression => "AT_SetCompression",
5144 Self::AtDropColumn => "AT_DropColumn",
5145 Self::AtAddIndex => "AT_AddIndex",
5146 Self::AtReAddIndex => "AT_ReAddIndex",
5147 Self::AtAddConstraint => "AT_AddConstraint",
5148 Self::AtReAddConstraint => "AT_ReAddConstraint",
5149 Self::AtReAddDomainConstraint => "AT_ReAddDomainConstraint",
5150 Self::AtAlterConstraint => "AT_AlterConstraint",
5151 Self::AtValidateConstraint => "AT_ValidateConstraint",
5152 Self::AtAddIndexConstraint => "AT_AddIndexConstraint",
5153 Self::AtDropConstraint => "AT_DropConstraint",
5154 Self::AtReAddComment => "AT_ReAddComment",
5155 Self::AtAlterColumnType => "AT_AlterColumnType",
5156 Self::AtAlterColumnGenericOptions => "AT_AlterColumnGenericOptions",
5157 Self::AtChangeOwner => "AT_ChangeOwner",
5158 Self::AtClusterOn => "AT_ClusterOn",
5159 Self::AtDropCluster => "AT_DropCluster",
5160 Self::AtSetLogged => "AT_SetLogged",
5161 Self::AtSetUnLogged => "AT_SetUnLogged",
5162 Self::AtDropOids => "AT_DropOids",
5163 Self::AtSetAccessMethod => "AT_SetAccessMethod",
5164 Self::AtSetTableSpace => "AT_SetTableSpace",
5165 Self::AtSetRelOptions => "AT_SetRelOptions",
5166 Self::AtResetRelOptions => "AT_ResetRelOptions",
5167 Self::AtReplaceRelOptions => "AT_ReplaceRelOptions",
5168 Self::AtEnableTrig => "AT_EnableTrig",
5169 Self::AtEnableAlwaysTrig => "AT_EnableAlwaysTrig",
5170 Self::AtEnableReplicaTrig => "AT_EnableReplicaTrig",
5171 Self::AtDisableTrig => "AT_DisableTrig",
5172 Self::AtEnableTrigAll => "AT_EnableTrigAll",
5173 Self::AtDisableTrigAll => "AT_DisableTrigAll",
5174 Self::AtEnableTrigUser => "AT_EnableTrigUser",
5175 Self::AtDisableTrigUser => "AT_DisableTrigUser",
5176 Self::AtEnableRule => "AT_EnableRule",
5177 Self::AtEnableAlwaysRule => "AT_EnableAlwaysRule",
5178 Self::AtEnableReplicaRule => "AT_EnableReplicaRule",
5179 Self::AtDisableRule => "AT_DisableRule",
5180 Self::AtAddInherit => "AT_AddInherit",
5181 Self::AtDropInherit => "AT_DropInherit",
5182 Self::AtAddOf => "AT_AddOf",
5183 Self::AtDropOf => "AT_DropOf",
5184 Self::AtReplicaIdentity => "AT_ReplicaIdentity",
5185 Self::AtEnableRowSecurity => "AT_EnableRowSecurity",
5186 Self::AtDisableRowSecurity => "AT_DisableRowSecurity",
5187 Self::AtForceRowSecurity => "AT_ForceRowSecurity",
5188 Self::AtNoForceRowSecurity => "AT_NoForceRowSecurity",
5189 Self::AtGenericOptions => "AT_GenericOptions",
5190 Self::AtAttachPartition => "AT_AttachPartition",
5191 Self::AtDetachPartition => "AT_DetachPartition",
5192 Self::AtDetachPartitionFinalize => "AT_DetachPartitionFinalize",
5193 Self::AtAddIdentity => "AT_AddIdentity",
5194 Self::AtSetIdentity => "AT_SetIdentity",
5195 Self::AtDropIdentity => "AT_DropIdentity",
5196 Self::AtReAddStatistics => "AT_ReAddStatistics",
5197 }
5198 }
5199 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5201 match value {
5202 "ALTER_TABLE_TYPE_UNDEFINED" => Some(Self::Undefined),
5203 "AT_AddColumn" => Some(Self::AtAddColumn),
5204 "AT_AddColumnToView" => Some(Self::AtAddColumnToView),
5205 "AT_ColumnDefault" => Some(Self::AtColumnDefault),
5206 "AT_CookedColumnDefault" => Some(Self::AtCookedColumnDefault),
5207 "AT_DropNotNull" => Some(Self::AtDropNotNull),
5208 "AT_SetNotNull" => Some(Self::AtSetNotNull),
5209 "AT_SetExpression" => Some(Self::AtSetExpression),
5210 "AT_DropExpression" => Some(Self::AtDropExpression),
5211 "AT_CheckNotNull" => Some(Self::AtCheckNotNull),
5212 "AT_SetStatistics" => Some(Self::AtSetStatistics),
5213 "AT_SetOptions" => Some(Self::AtSetOptions),
5214 "AT_ResetOptions" => Some(Self::AtResetOptions),
5215 "AT_SetStorage" => Some(Self::AtSetStorage),
5216 "AT_SetCompression" => Some(Self::AtSetCompression),
5217 "AT_DropColumn" => Some(Self::AtDropColumn),
5218 "AT_AddIndex" => Some(Self::AtAddIndex),
5219 "AT_ReAddIndex" => Some(Self::AtReAddIndex),
5220 "AT_AddConstraint" => Some(Self::AtAddConstraint),
5221 "AT_ReAddConstraint" => Some(Self::AtReAddConstraint),
5222 "AT_ReAddDomainConstraint" => Some(Self::AtReAddDomainConstraint),
5223 "AT_AlterConstraint" => Some(Self::AtAlterConstraint),
5224 "AT_ValidateConstraint" => Some(Self::AtValidateConstraint),
5225 "AT_AddIndexConstraint" => Some(Self::AtAddIndexConstraint),
5226 "AT_DropConstraint" => Some(Self::AtDropConstraint),
5227 "AT_ReAddComment" => Some(Self::AtReAddComment),
5228 "AT_AlterColumnType" => Some(Self::AtAlterColumnType),
5229 "AT_AlterColumnGenericOptions" => Some(Self::AtAlterColumnGenericOptions),
5230 "AT_ChangeOwner" => Some(Self::AtChangeOwner),
5231 "AT_ClusterOn" => Some(Self::AtClusterOn),
5232 "AT_DropCluster" => Some(Self::AtDropCluster),
5233 "AT_SetLogged" => Some(Self::AtSetLogged),
5234 "AT_SetUnLogged" => Some(Self::AtSetUnLogged),
5235 "AT_DropOids" => Some(Self::AtDropOids),
5236 "AT_SetAccessMethod" => Some(Self::AtSetAccessMethod),
5237 "AT_SetTableSpace" => Some(Self::AtSetTableSpace),
5238 "AT_SetRelOptions" => Some(Self::AtSetRelOptions),
5239 "AT_ResetRelOptions" => Some(Self::AtResetRelOptions),
5240 "AT_ReplaceRelOptions" => Some(Self::AtReplaceRelOptions),
5241 "AT_EnableTrig" => Some(Self::AtEnableTrig),
5242 "AT_EnableAlwaysTrig" => Some(Self::AtEnableAlwaysTrig),
5243 "AT_EnableReplicaTrig" => Some(Self::AtEnableReplicaTrig),
5244 "AT_DisableTrig" => Some(Self::AtDisableTrig),
5245 "AT_EnableTrigAll" => Some(Self::AtEnableTrigAll),
5246 "AT_DisableTrigAll" => Some(Self::AtDisableTrigAll),
5247 "AT_EnableTrigUser" => Some(Self::AtEnableTrigUser),
5248 "AT_DisableTrigUser" => Some(Self::AtDisableTrigUser),
5249 "AT_EnableRule" => Some(Self::AtEnableRule),
5250 "AT_EnableAlwaysRule" => Some(Self::AtEnableAlwaysRule),
5251 "AT_EnableReplicaRule" => Some(Self::AtEnableReplicaRule),
5252 "AT_DisableRule" => Some(Self::AtDisableRule),
5253 "AT_AddInherit" => Some(Self::AtAddInherit),
5254 "AT_DropInherit" => Some(Self::AtDropInherit),
5255 "AT_AddOf" => Some(Self::AtAddOf),
5256 "AT_DropOf" => Some(Self::AtDropOf),
5257 "AT_ReplicaIdentity" => Some(Self::AtReplicaIdentity),
5258 "AT_EnableRowSecurity" => Some(Self::AtEnableRowSecurity),
5259 "AT_DisableRowSecurity" => Some(Self::AtDisableRowSecurity),
5260 "AT_ForceRowSecurity" => Some(Self::AtForceRowSecurity),
5261 "AT_NoForceRowSecurity" => Some(Self::AtNoForceRowSecurity),
5262 "AT_GenericOptions" => Some(Self::AtGenericOptions),
5263 "AT_AttachPartition" => Some(Self::AtAttachPartition),
5264 "AT_DetachPartition" => Some(Self::AtDetachPartition),
5265 "AT_DetachPartitionFinalize" => Some(Self::AtDetachPartitionFinalize),
5266 "AT_AddIdentity" => Some(Self::AtAddIdentity),
5267 "AT_SetIdentity" => Some(Self::AtSetIdentity),
5268 "AT_DropIdentity" => Some(Self::AtDropIdentity),
5269 "AT_ReAddStatistics" => Some(Self::AtReAddStatistics),
5270 _ => None,
5271 }
5272 }
5273}
5274#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5275#[repr(i32)]
5276pub enum GrantTargetType {
5277 Undefined = 0,
5278 AclTargetObject = 1,
5279 AclTargetAllInSchema = 2,
5280 AclTargetDefaults = 3,
5281}
5282impl GrantTargetType {
5283 pub fn as_str_name(&self) -> &'static str {
5288 match self {
5289 Self::Undefined => "GRANT_TARGET_TYPE_UNDEFINED",
5290 Self::AclTargetObject => "ACL_TARGET_OBJECT",
5291 Self::AclTargetAllInSchema => "ACL_TARGET_ALL_IN_SCHEMA",
5292 Self::AclTargetDefaults => "ACL_TARGET_DEFAULTS",
5293 }
5294 }
5295 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5297 match value {
5298 "GRANT_TARGET_TYPE_UNDEFINED" => Some(Self::Undefined),
5299 "ACL_TARGET_OBJECT" => Some(Self::AclTargetObject),
5300 "ACL_TARGET_ALL_IN_SCHEMA" => Some(Self::AclTargetAllInSchema),
5301 "ACL_TARGET_DEFAULTS" => Some(Self::AclTargetDefaults),
5302 _ => None,
5303 }
5304 }
5305}
5306#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5307#[repr(i32)]
5308pub enum VariableSetKind {
5309 Undefined = 0,
5310 VarSetValue = 1,
5311 VarSetDefault = 2,
5312 VarSetCurrent = 3,
5313 VarSetMulti = 4,
5314 VarReset = 5,
5315 VarResetAll = 6,
5316}
5317impl VariableSetKind {
5318 pub fn as_str_name(&self) -> &'static str {
5323 match self {
5324 Self::Undefined => "VARIABLE_SET_KIND_UNDEFINED",
5325 Self::VarSetValue => "VAR_SET_VALUE",
5326 Self::VarSetDefault => "VAR_SET_DEFAULT",
5327 Self::VarSetCurrent => "VAR_SET_CURRENT",
5328 Self::VarSetMulti => "VAR_SET_MULTI",
5329 Self::VarReset => "VAR_RESET",
5330 Self::VarResetAll => "VAR_RESET_ALL",
5331 }
5332 }
5333 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5335 match value {
5336 "VARIABLE_SET_KIND_UNDEFINED" => Some(Self::Undefined),
5337 "VAR_SET_VALUE" => Some(Self::VarSetValue),
5338 "VAR_SET_DEFAULT" => Some(Self::VarSetDefault),
5339 "VAR_SET_CURRENT" => Some(Self::VarSetCurrent),
5340 "VAR_SET_MULTI" => Some(Self::VarSetMulti),
5341 "VAR_RESET" => Some(Self::VarReset),
5342 "VAR_RESET_ALL" => Some(Self::VarResetAll),
5343 _ => None,
5344 }
5345 }
5346}
5347#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5348#[repr(i32)]
5349pub enum ConstrType {
5350 Undefined = 0,
5351 ConstrNull = 1,
5352 ConstrNotnull = 2,
5353 ConstrDefault = 3,
5354 ConstrIdentity = 4,
5355 ConstrGenerated = 5,
5356 ConstrCheck = 6,
5357 ConstrPrimary = 7,
5358 ConstrUnique = 8,
5359 ConstrExclusion = 9,
5360 ConstrForeign = 10,
5361 ConstrAttrDeferrable = 11,
5362 ConstrAttrNotDeferrable = 12,
5363 ConstrAttrDeferred = 13,
5364 ConstrAttrImmediate = 14,
5365}
5366impl ConstrType {
5367 pub fn as_str_name(&self) -> &'static str {
5372 match self {
5373 Self::Undefined => "CONSTR_TYPE_UNDEFINED",
5374 Self::ConstrNull => "CONSTR_NULL",
5375 Self::ConstrNotnull => "CONSTR_NOTNULL",
5376 Self::ConstrDefault => "CONSTR_DEFAULT",
5377 Self::ConstrIdentity => "CONSTR_IDENTITY",
5378 Self::ConstrGenerated => "CONSTR_GENERATED",
5379 Self::ConstrCheck => "CONSTR_CHECK",
5380 Self::ConstrPrimary => "CONSTR_PRIMARY",
5381 Self::ConstrUnique => "CONSTR_UNIQUE",
5382 Self::ConstrExclusion => "CONSTR_EXCLUSION",
5383 Self::ConstrForeign => "CONSTR_FOREIGN",
5384 Self::ConstrAttrDeferrable => "CONSTR_ATTR_DEFERRABLE",
5385 Self::ConstrAttrNotDeferrable => "CONSTR_ATTR_NOT_DEFERRABLE",
5386 Self::ConstrAttrDeferred => "CONSTR_ATTR_DEFERRED",
5387 Self::ConstrAttrImmediate => "CONSTR_ATTR_IMMEDIATE",
5388 }
5389 }
5390 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5392 match value {
5393 "CONSTR_TYPE_UNDEFINED" => Some(Self::Undefined),
5394 "CONSTR_NULL" => Some(Self::ConstrNull),
5395 "CONSTR_NOTNULL" => Some(Self::ConstrNotnull),
5396 "CONSTR_DEFAULT" => Some(Self::ConstrDefault),
5397 "CONSTR_IDENTITY" => Some(Self::ConstrIdentity),
5398 "CONSTR_GENERATED" => Some(Self::ConstrGenerated),
5399 "CONSTR_CHECK" => Some(Self::ConstrCheck),
5400 "CONSTR_PRIMARY" => Some(Self::ConstrPrimary),
5401 "CONSTR_UNIQUE" => Some(Self::ConstrUnique),
5402 "CONSTR_EXCLUSION" => Some(Self::ConstrExclusion),
5403 "CONSTR_FOREIGN" => Some(Self::ConstrForeign),
5404 "CONSTR_ATTR_DEFERRABLE" => Some(Self::ConstrAttrDeferrable),
5405 "CONSTR_ATTR_NOT_DEFERRABLE" => Some(Self::ConstrAttrNotDeferrable),
5406 "CONSTR_ATTR_DEFERRED" => Some(Self::ConstrAttrDeferred),
5407 "CONSTR_ATTR_IMMEDIATE" => Some(Self::ConstrAttrImmediate),
5408 _ => None,
5409 }
5410 }
5411}
5412#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5413#[repr(i32)]
5414pub enum ImportForeignSchemaType {
5415 Undefined = 0,
5416 FdwImportSchemaAll = 1,
5417 FdwImportSchemaLimitTo = 2,
5418 FdwImportSchemaExcept = 3,
5419}
5420impl ImportForeignSchemaType {
5421 pub fn as_str_name(&self) -> &'static str {
5426 match self {
5427 Self::Undefined => "IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED",
5428 Self::FdwImportSchemaAll => "FDW_IMPORT_SCHEMA_ALL",
5429 Self::FdwImportSchemaLimitTo => "FDW_IMPORT_SCHEMA_LIMIT_TO",
5430 Self::FdwImportSchemaExcept => "FDW_IMPORT_SCHEMA_EXCEPT",
5431 }
5432 }
5433 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5435 match value {
5436 "IMPORT_FOREIGN_SCHEMA_TYPE_UNDEFINED" => Some(Self::Undefined),
5437 "FDW_IMPORT_SCHEMA_ALL" => Some(Self::FdwImportSchemaAll),
5438 "FDW_IMPORT_SCHEMA_LIMIT_TO" => Some(Self::FdwImportSchemaLimitTo),
5439 "FDW_IMPORT_SCHEMA_EXCEPT" => Some(Self::FdwImportSchemaExcept),
5440 _ => None,
5441 }
5442 }
5443}
5444#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5445#[repr(i32)]
5446pub enum RoleStmtType {
5447 Undefined = 0,
5448 RolestmtRole = 1,
5449 RolestmtUser = 2,
5450 RolestmtGroup = 3,
5451}
5452impl RoleStmtType {
5453 pub fn as_str_name(&self) -> &'static str {
5458 match self {
5459 Self::Undefined => "ROLE_STMT_TYPE_UNDEFINED",
5460 Self::RolestmtRole => "ROLESTMT_ROLE",
5461 Self::RolestmtUser => "ROLESTMT_USER",
5462 Self::RolestmtGroup => "ROLESTMT_GROUP",
5463 }
5464 }
5465 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5467 match value {
5468 "ROLE_STMT_TYPE_UNDEFINED" => Some(Self::Undefined),
5469 "ROLESTMT_ROLE" => Some(Self::RolestmtRole),
5470 "ROLESTMT_USER" => Some(Self::RolestmtUser),
5471 "ROLESTMT_GROUP" => Some(Self::RolestmtGroup),
5472 _ => None,
5473 }
5474 }
5475}
5476#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5477#[repr(i32)]
5478pub enum FetchDirection {
5479 Undefined = 0,
5480 FetchForward = 1,
5481 FetchBackward = 2,
5482 FetchAbsolute = 3,
5483 FetchRelative = 4,
5484}
5485impl FetchDirection {
5486 pub fn as_str_name(&self) -> &'static str {
5491 match self {
5492 Self::Undefined => "FETCH_DIRECTION_UNDEFINED",
5493 Self::FetchForward => "FETCH_FORWARD",
5494 Self::FetchBackward => "FETCH_BACKWARD",
5495 Self::FetchAbsolute => "FETCH_ABSOLUTE",
5496 Self::FetchRelative => "FETCH_RELATIVE",
5497 }
5498 }
5499 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5501 match value {
5502 "FETCH_DIRECTION_UNDEFINED" => Some(Self::Undefined),
5503 "FETCH_FORWARD" => Some(Self::FetchForward),
5504 "FETCH_BACKWARD" => Some(Self::FetchBackward),
5505 "FETCH_ABSOLUTE" => Some(Self::FetchAbsolute),
5506 "FETCH_RELATIVE" => Some(Self::FetchRelative),
5507 _ => None,
5508 }
5509 }
5510}
5511#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5512#[repr(i32)]
5513pub enum FunctionParameterMode {
5514 Undefined = 0,
5515 FuncParamIn = 1,
5516 FuncParamOut = 2,
5517 FuncParamInout = 3,
5518 FuncParamVariadic = 4,
5519 FuncParamTable = 5,
5520 FuncParamDefault = 6,
5521}
5522impl FunctionParameterMode {
5523 pub fn as_str_name(&self) -> &'static str {
5528 match self {
5529 Self::Undefined => "FUNCTION_PARAMETER_MODE_UNDEFINED",
5530 Self::FuncParamIn => "FUNC_PARAM_IN",
5531 Self::FuncParamOut => "FUNC_PARAM_OUT",
5532 Self::FuncParamInout => "FUNC_PARAM_INOUT",
5533 Self::FuncParamVariadic => "FUNC_PARAM_VARIADIC",
5534 Self::FuncParamTable => "FUNC_PARAM_TABLE",
5535 Self::FuncParamDefault => "FUNC_PARAM_DEFAULT",
5536 }
5537 }
5538 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5540 match value {
5541 "FUNCTION_PARAMETER_MODE_UNDEFINED" => Some(Self::Undefined),
5542 "FUNC_PARAM_IN" => Some(Self::FuncParamIn),
5543 "FUNC_PARAM_OUT" => Some(Self::FuncParamOut),
5544 "FUNC_PARAM_INOUT" => Some(Self::FuncParamInout),
5545 "FUNC_PARAM_VARIADIC" => Some(Self::FuncParamVariadic),
5546 "FUNC_PARAM_TABLE" => Some(Self::FuncParamTable),
5547 "FUNC_PARAM_DEFAULT" => Some(Self::FuncParamDefault),
5548 _ => None,
5549 }
5550 }
5551}
5552#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5553#[repr(i32)]
5554pub enum TransactionStmtKind {
5555 Undefined = 0,
5556 TransStmtBegin = 1,
5557 TransStmtStart = 2,
5558 TransStmtCommit = 3,
5559 TransStmtRollback = 4,
5560 TransStmtSavepoint = 5,
5561 TransStmtRelease = 6,
5562 TransStmtRollbackTo = 7,
5563 TransStmtPrepare = 8,
5564 TransStmtCommitPrepared = 9,
5565 TransStmtRollbackPrepared = 10,
5566}
5567impl TransactionStmtKind {
5568 pub fn as_str_name(&self) -> &'static str {
5573 match self {
5574 Self::Undefined => "TRANSACTION_STMT_KIND_UNDEFINED",
5575 Self::TransStmtBegin => "TRANS_STMT_BEGIN",
5576 Self::TransStmtStart => "TRANS_STMT_START",
5577 Self::TransStmtCommit => "TRANS_STMT_COMMIT",
5578 Self::TransStmtRollback => "TRANS_STMT_ROLLBACK",
5579 Self::TransStmtSavepoint => "TRANS_STMT_SAVEPOINT",
5580 Self::TransStmtRelease => "TRANS_STMT_RELEASE",
5581 Self::TransStmtRollbackTo => "TRANS_STMT_ROLLBACK_TO",
5582 Self::TransStmtPrepare => "TRANS_STMT_PREPARE",
5583 Self::TransStmtCommitPrepared => "TRANS_STMT_COMMIT_PREPARED",
5584 Self::TransStmtRollbackPrepared => "TRANS_STMT_ROLLBACK_PREPARED",
5585 }
5586 }
5587 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5589 match value {
5590 "TRANSACTION_STMT_KIND_UNDEFINED" => Some(Self::Undefined),
5591 "TRANS_STMT_BEGIN" => Some(Self::TransStmtBegin),
5592 "TRANS_STMT_START" => Some(Self::TransStmtStart),
5593 "TRANS_STMT_COMMIT" => Some(Self::TransStmtCommit),
5594 "TRANS_STMT_ROLLBACK" => Some(Self::TransStmtRollback),
5595 "TRANS_STMT_SAVEPOINT" => Some(Self::TransStmtSavepoint),
5596 "TRANS_STMT_RELEASE" => Some(Self::TransStmtRelease),
5597 "TRANS_STMT_ROLLBACK_TO" => Some(Self::TransStmtRollbackTo),
5598 "TRANS_STMT_PREPARE" => Some(Self::TransStmtPrepare),
5599 "TRANS_STMT_COMMIT_PREPARED" => Some(Self::TransStmtCommitPrepared),
5600 "TRANS_STMT_ROLLBACK_PREPARED" => Some(Self::TransStmtRollbackPrepared),
5601 _ => None,
5602 }
5603 }
5604}
5605#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5606#[repr(i32)]
5607pub enum ViewCheckOption {
5608 Undefined = 0,
5609 NoCheckOption = 1,
5610 LocalCheckOption = 2,
5611 CascadedCheckOption = 3,
5612}
5613impl ViewCheckOption {
5614 pub fn as_str_name(&self) -> &'static str {
5619 match self {
5620 Self::Undefined => "VIEW_CHECK_OPTION_UNDEFINED",
5621 Self::NoCheckOption => "NO_CHECK_OPTION",
5622 Self::LocalCheckOption => "LOCAL_CHECK_OPTION",
5623 Self::CascadedCheckOption => "CASCADED_CHECK_OPTION",
5624 }
5625 }
5626 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5628 match value {
5629 "VIEW_CHECK_OPTION_UNDEFINED" => Some(Self::Undefined),
5630 "NO_CHECK_OPTION" => Some(Self::NoCheckOption),
5631 "LOCAL_CHECK_OPTION" => Some(Self::LocalCheckOption),
5632 "CASCADED_CHECK_OPTION" => Some(Self::CascadedCheckOption),
5633 _ => None,
5634 }
5635 }
5636}
5637#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5638#[repr(i32)]
5639pub enum DiscardMode {
5640 Undefined = 0,
5641 DiscardAll = 1,
5642 DiscardPlans = 2,
5643 DiscardSequences = 3,
5644 DiscardTemp = 4,
5645}
5646impl DiscardMode {
5647 pub fn as_str_name(&self) -> &'static str {
5652 match self {
5653 Self::Undefined => "DISCARD_MODE_UNDEFINED",
5654 Self::DiscardAll => "DISCARD_ALL",
5655 Self::DiscardPlans => "DISCARD_PLANS",
5656 Self::DiscardSequences => "DISCARD_SEQUENCES",
5657 Self::DiscardTemp => "DISCARD_TEMP",
5658 }
5659 }
5660 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5662 match value {
5663 "DISCARD_MODE_UNDEFINED" => Some(Self::Undefined),
5664 "DISCARD_ALL" => Some(Self::DiscardAll),
5665 "DISCARD_PLANS" => Some(Self::DiscardPlans),
5666 "DISCARD_SEQUENCES" => Some(Self::DiscardSequences),
5667 "DISCARD_TEMP" => Some(Self::DiscardTemp),
5668 _ => None,
5669 }
5670 }
5671}
5672#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5673#[repr(i32)]
5674pub enum ReindexObjectType {
5675 Undefined = 0,
5676 ReindexObjectIndex = 1,
5677 ReindexObjectTable = 2,
5678 ReindexObjectSchema = 3,
5679 ReindexObjectSystem = 4,
5680 ReindexObjectDatabase = 5,
5681}
5682impl ReindexObjectType {
5683 pub fn as_str_name(&self) -> &'static str {
5688 match self {
5689 Self::Undefined => "REINDEX_OBJECT_TYPE_UNDEFINED",
5690 Self::ReindexObjectIndex => "REINDEX_OBJECT_INDEX",
5691 Self::ReindexObjectTable => "REINDEX_OBJECT_TABLE",
5692 Self::ReindexObjectSchema => "REINDEX_OBJECT_SCHEMA",
5693 Self::ReindexObjectSystem => "REINDEX_OBJECT_SYSTEM",
5694 Self::ReindexObjectDatabase => "REINDEX_OBJECT_DATABASE",
5695 }
5696 }
5697 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5699 match value {
5700 "REINDEX_OBJECT_TYPE_UNDEFINED" => Some(Self::Undefined),
5701 "REINDEX_OBJECT_INDEX" => Some(Self::ReindexObjectIndex),
5702 "REINDEX_OBJECT_TABLE" => Some(Self::ReindexObjectTable),
5703 "REINDEX_OBJECT_SCHEMA" => Some(Self::ReindexObjectSchema),
5704 "REINDEX_OBJECT_SYSTEM" => Some(Self::ReindexObjectSystem),
5705 "REINDEX_OBJECT_DATABASE" => Some(Self::ReindexObjectDatabase),
5706 _ => None,
5707 }
5708 }
5709}
5710#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5711#[repr(i32)]
5712pub enum AlterTsConfigType {
5713 AlterTsconfigTypeUndefined = 0,
5714 AlterTsconfigAddMapping = 1,
5715 AlterTsconfigAlterMappingForToken = 2,
5716 AlterTsconfigReplaceDict = 3,
5717 AlterTsconfigReplaceDictForToken = 4,
5718 AlterTsconfigDropMapping = 5,
5719}
5720impl AlterTsConfigType {
5721 pub fn as_str_name(&self) -> &'static str {
5726 match self {
5727 Self::AlterTsconfigTypeUndefined => "ALTER_TSCONFIG_TYPE_UNDEFINED",
5728 Self::AlterTsconfigAddMapping => "ALTER_TSCONFIG_ADD_MAPPING",
5729 Self::AlterTsconfigAlterMappingForToken => {
5730 "ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN"
5731 }
5732 Self::AlterTsconfigReplaceDict => "ALTER_TSCONFIG_REPLACE_DICT",
5733 Self::AlterTsconfigReplaceDictForToken => {
5734 "ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN"
5735 }
5736 Self::AlterTsconfigDropMapping => "ALTER_TSCONFIG_DROP_MAPPING",
5737 }
5738 }
5739 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5741 match value {
5742 "ALTER_TSCONFIG_TYPE_UNDEFINED" => Some(Self::AlterTsconfigTypeUndefined),
5743 "ALTER_TSCONFIG_ADD_MAPPING" => Some(Self::AlterTsconfigAddMapping),
5744 "ALTER_TSCONFIG_ALTER_MAPPING_FOR_TOKEN" => {
5745 Some(Self::AlterTsconfigAlterMappingForToken)
5746 }
5747 "ALTER_TSCONFIG_REPLACE_DICT" => Some(Self::AlterTsconfigReplaceDict),
5748 "ALTER_TSCONFIG_REPLACE_DICT_FOR_TOKEN" => {
5749 Some(Self::AlterTsconfigReplaceDictForToken)
5750 }
5751 "ALTER_TSCONFIG_DROP_MAPPING" => Some(Self::AlterTsconfigDropMapping),
5752 _ => None,
5753 }
5754 }
5755}
5756#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5757#[repr(i32)]
5758pub enum PublicationObjSpecType {
5759 Undefined = 0,
5760 PublicationobjTable = 1,
5761 PublicationobjTablesInSchema = 2,
5762 PublicationobjTablesInCurSchema = 3,
5763 PublicationobjContinuation = 4,
5764}
5765impl PublicationObjSpecType {
5766 pub fn as_str_name(&self) -> &'static str {
5771 match self {
5772 Self::Undefined => "PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED",
5773 Self::PublicationobjTable => "PUBLICATIONOBJ_TABLE",
5774 Self::PublicationobjTablesInSchema => "PUBLICATIONOBJ_TABLES_IN_SCHEMA",
5775 Self::PublicationobjTablesInCurSchema => {
5776 "PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA"
5777 }
5778 Self::PublicationobjContinuation => "PUBLICATIONOBJ_CONTINUATION",
5779 }
5780 }
5781 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5783 match value {
5784 "PUBLICATION_OBJ_SPEC_TYPE_UNDEFINED" => Some(Self::Undefined),
5785 "PUBLICATIONOBJ_TABLE" => Some(Self::PublicationobjTable),
5786 "PUBLICATIONOBJ_TABLES_IN_SCHEMA" => Some(Self::PublicationobjTablesInSchema),
5787 "PUBLICATIONOBJ_TABLES_IN_CUR_SCHEMA" => {
5788 Some(Self::PublicationobjTablesInCurSchema)
5789 }
5790 "PUBLICATIONOBJ_CONTINUATION" => Some(Self::PublicationobjContinuation),
5791 _ => None,
5792 }
5793 }
5794}
5795#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5796#[repr(i32)]
5797pub enum AlterPublicationAction {
5798 Undefined = 0,
5799 ApAddObjects = 1,
5800 ApDropObjects = 2,
5801 ApSetObjects = 3,
5802}
5803impl AlterPublicationAction {
5804 pub fn as_str_name(&self) -> &'static str {
5809 match self {
5810 Self::Undefined => "ALTER_PUBLICATION_ACTION_UNDEFINED",
5811 Self::ApAddObjects => "AP_AddObjects",
5812 Self::ApDropObjects => "AP_DropObjects",
5813 Self::ApSetObjects => "AP_SetObjects",
5814 }
5815 }
5816 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5818 match value {
5819 "ALTER_PUBLICATION_ACTION_UNDEFINED" => Some(Self::Undefined),
5820 "AP_AddObjects" => Some(Self::ApAddObjects),
5821 "AP_DropObjects" => Some(Self::ApDropObjects),
5822 "AP_SetObjects" => Some(Self::ApSetObjects),
5823 _ => None,
5824 }
5825 }
5826}
5827#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5828#[repr(i32)]
5829pub enum AlterSubscriptionType {
5830 Undefined = 0,
5831 AlterSubscriptionOptions = 1,
5832 AlterSubscriptionConnection = 2,
5833 AlterSubscriptionSetPublication = 3,
5834 AlterSubscriptionAddPublication = 4,
5835 AlterSubscriptionDropPublication = 5,
5836 AlterSubscriptionRefresh = 6,
5837 AlterSubscriptionEnabled = 7,
5838 AlterSubscriptionSkip = 8,
5839}
5840impl AlterSubscriptionType {
5841 pub fn as_str_name(&self) -> &'static str {
5846 match self {
5847 Self::Undefined => "ALTER_SUBSCRIPTION_TYPE_UNDEFINED",
5848 Self::AlterSubscriptionOptions => "ALTER_SUBSCRIPTION_OPTIONS",
5849 Self::AlterSubscriptionConnection => "ALTER_SUBSCRIPTION_CONNECTION",
5850 Self::AlterSubscriptionSetPublication => "ALTER_SUBSCRIPTION_SET_PUBLICATION",
5851 Self::AlterSubscriptionAddPublication => "ALTER_SUBSCRIPTION_ADD_PUBLICATION",
5852 Self::AlterSubscriptionDropPublication => {
5853 "ALTER_SUBSCRIPTION_DROP_PUBLICATION"
5854 }
5855 Self::AlterSubscriptionRefresh => "ALTER_SUBSCRIPTION_REFRESH",
5856 Self::AlterSubscriptionEnabled => "ALTER_SUBSCRIPTION_ENABLED",
5857 Self::AlterSubscriptionSkip => "ALTER_SUBSCRIPTION_SKIP",
5858 }
5859 }
5860 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5862 match value {
5863 "ALTER_SUBSCRIPTION_TYPE_UNDEFINED" => Some(Self::Undefined),
5864 "ALTER_SUBSCRIPTION_OPTIONS" => Some(Self::AlterSubscriptionOptions),
5865 "ALTER_SUBSCRIPTION_CONNECTION" => Some(Self::AlterSubscriptionConnection),
5866 "ALTER_SUBSCRIPTION_SET_PUBLICATION" => {
5867 Some(Self::AlterSubscriptionSetPublication)
5868 }
5869 "ALTER_SUBSCRIPTION_ADD_PUBLICATION" => {
5870 Some(Self::AlterSubscriptionAddPublication)
5871 }
5872 "ALTER_SUBSCRIPTION_DROP_PUBLICATION" => {
5873 Some(Self::AlterSubscriptionDropPublication)
5874 }
5875 "ALTER_SUBSCRIPTION_REFRESH" => Some(Self::AlterSubscriptionRefresh),
5876 "ALTER_SUBSCRIPTION_ENABLED" => Some(Self::AlterSubscriptionEnabled),
5877 "ALTER_SUBSCRIPTION_SKIP" => Some(Self::AlterSubscriptionSkip),
5878 _ => None,
5879 }
5880 }
5881}
5882#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5883#[repr(i32)]
5884pub enum OverridingKind {
5885 Undefined = 0,
5886 OverridingNotSet = 1,
5887 OverridingUserValue = 2,
5888 OverridingSystemValue = 3,
5889}
5890impl OverridingKind {
5891 pub fn as_str_name(&self) -> &'static str {
5896 match self {
5897 Self::Undefined => "OVERRIDING_KIND_UNDEFINED",
5898 Self::OverridingNotSet => "OVERRIDING_NOT_SET",
5899 Self::OverridingUserValue => "OVERRIDING_USER_VALUE",
5900 Self::OverridingSystemValue => "OVERRIDING_SYSTEM_VALUE",
5901 }
5902 }
5903 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5905 match value {
5906 "OVERRIDING_KIND_UNDEFINED" => Some(Self::Undefined),
5907 "OVERRIDING_NOT_SET" => Some(Self::OverridingNotSet),
5908 "OVERRIDING_USER_VALUE" => Some(Self::OverridingUserValue),
5909 "OVERRIDING_SYSTEM_VALUE" => Some(Self::OverridingSystemValue),
5910 _ => None,
5911 }
5912 }
5913}
5914#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5915#[repr(i32)]
5916pub enum OnCommitAction {
5917 Undefined = 0,
5918 OncommitNoop = 1,
5919 OncommitPreserveRows = 2,
5920 OncommitDeleteRows = 3,
5921 OncommitDrop = 4,
5922}
5923impl OnCommitAction {
5924 pub fn as_str_name(&self) -> &'static str {
5929 match self {
5930 Self::Undefined => "ON_COMMIT_ACTION_UNDEFINED",
5931 Self::OncommitNoop => "ONCOMMIT_NOOP",
5932 Self::OncommitPreserveRows => "ONCOMMIT_PRESERVE_ROWS",
5933 Self::OncommitDeleteRows => "ONCOMMIT_DELETE_ROWS",
5934 Self::OncommitDrop => "ONCOMMIT_DROP",
5935 }
5936 }
5937 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5939 match value {
5940 "ON_COMMIT_ACTION_UNDEFINED" => Some(Self::Undefined),
5941 "ONCOMMIT_NOOP" => Some(Self::OncommitNoop),
5942 "ONCOMMIT_PRESERVE_ROWS" => Some(Self::OncommitPreserveRows),
5943 "ONCOMMIT_DELETE_ROWS" => Some(Self::OncommitDeleteRows),
5944 "ONCOMMIT_DROP" => Some(Self::OncommitDrop),
5945 _ => None,
5946 }
5947 }
5948}
5949#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5950#[repr(i32)]
5951pub enum TableFuncType {
5952 Undefined = 0,
5953 TftXmltable = 1,
5954 TftJsonTable = 2,
5955}
5956impl TableFuncType {
5957 pub fn as_str_name(&self) -> &'static str {
5962 match self {
5963 Self::Undefined => "TABLE_FUNC_TYPE_UNDEFINED",
5964 Self::TftXmltable => "TFT_XMLTABLE",
5965 Self::TftJsonTable => "TFT_JSON_TABLE",
5966 }
5967 }
5968 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
5970 match value {
5971 "TABLE_FUNC_TYPE_UNDEFINED" => Some(Self::Undefined),
5972 "TFT_XMLTABLE" => Some(Self::TftXmltable),
5973 "TFT_JSON_TABLE" => Some(Self::TftJsonTable),
5974 _ => None,
5975 }
5976 }
5977}
5978#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
5979#[repr(i32)]
5980pub enum ParamKind {
5981 Undefined = 0,
5982 ParamExtern = 1,
5983 ParamExec = 2,
5984 ParamSublink = 3,
5985 ParamMultiexpr = 4,
5986}
5987impl ParamKind {
5988 pub fn as_str_name(&self) -> &'static str {
5993 match self {
5994 Self::Undefined => "PARAM_KIND_UNDEFINED",
5995 Self::ParamExtern => "PARAM_EXTERN",
5996 Self::ParamExec => "PARAM_EXEC",
5997 Self::ParamSublink => "PARAM_SUBLINK",
5998 Self::ParamMultiexpr => "PARAM_MULTIEXPR",
5999 }
6000 }
6001 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6003 match value {
6004 "PARAM_KIND_UNDEFINED" => Some(Self::Undefined),
6005 "PARAM_EXTERN" => Some(Self::ParamExtern),
6006 "PARAM_EXEC" => Some(Self::ParamExec),
6007 "PARAM_SUBLINK" => Some(Self::ParamSublink),
6008 "PARAM_MULTIEXPR" => Some(Self::ParamMultiexpr),
6009 _ => None,
6010 }
6011 }
6012}
6013#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6014#[repr(i32)]
6015pub enum CoercionContext {
6016 Undefined = 0,
6017 CoercionImplicit = 1,
6018 CoercionAssignment = 2,
6019 CoercionPlpgsql = 3,
6020 CoercionExplicit = 4,
6021}
6022impl CoercionContext {
6023 pub fn as_str_name(&self) -> &'static str {
6028 match self {
6029 Self::Undefined => "COERCION_CONTEXT_UNDEFINED",
6030 Self::CoercionImplicit => "COERCION_IMPLICIT",
6031 Self::CoercionAssignment => "COERCION_ASSIGNMENT",
6032 Self::CoercionPlpgsql => "COERCION_PLPGSQL",
6033 Self::CoercionExplicit => "COERCION_EXPLICIT",
6034 }
6035 }
6036 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6038 match value {
6039 "COERCION_CONTEXT_UNDEFINED" => Some(Self::Undefined),
6040 "COERCION_IMPLICIT" => Some(Self::CoercionImplicit),
6041 "COERCION_ASSIGNMENT" => Some(Self::CoercionAssignment),
6042 "COERCION_PLPGSQL" => Some(Self::CoercionPlpgsql),
6043 "COERCION_EXPLICIT" => Some(Self::CoercionExplicit),
6044 _ => None,
6045 }
6046 }
6047}
6048#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6049#[repr(i32)]
6050pub enum CoercionForm {
6051 Undefined = 0,
6052 CoerceExplicitCall = 1,
6053 CoerceExplicitCast = 2,
6054 CoerceImplicitCast = 3,
6055 CoerceSqlSyntax = 4,
6056}
6057impl CoercionForm {
6058 pub fn as_str_name(&self) -> &'static str {
6063 match self {
6064 Self::Undefined => "COERCION_FORM_UNDEFINED",
6065 Self::CoerceExplicitCall => "COERCE_EXPLICIT_CALL",
6066 Self::CoerceExplicitCast => "COERCE_EXPLICIT_CAST",
6067 Self::CoerceImplicitCast => "COERCE_IMPLICIT_CAST",
6068 Self::CoerceSqlSyntax => "COERCE_SQL_SYNTAX",
6069 }
6070 }
6071 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6073 match value {
6074 "COERCION_FORM_UNDEFINED" => Some(Self::Undefined),
6075 "COERCE_EXPLICIT_CALL" => Some(Self::CoerceExplicitCall),
6076 "COERCE_EXPLICIT_CAST" => Some(Self::CoerceExplicitCast),
6077 "COERCE_IMPLICIT_CAST" => Some(Self::CoerceImplicitCast),
6078 "COERCE_SQL_SYNTAX" => Some(Self::CoerceSqlSyntax),
6079 _ => None,
6080 }
6081 }
6082}
6083#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6084#[repr(i32)]
6085pub enum BoolExprType {
6086 Undefined = 0,
6087 AndExpr = 1,
6088 OrExpr = 2,
6089 NotExpr = 3,
6090}
6091impl BoolExprType {
6092 pub fn as_str_name(&self) -> &'static str {
6097 match self {
6098 Self::Undefined => "BOOL_EXPR_TYPE_UNDEFINED",
6099 Self::AndExpr => "AND_EXPR",
6100 Self::OrExpr => "OR_EXPR",
6101 Self::NotExpr => "NOT_EXPR",
6102 }
6103 }
6104 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6106 match value {
6107 "BOOL_EXPR_TYPE_UNDEFINED" => Some(Self::Undefined),
6108 "AND_EXPR" => Some(Self::AndExpr),
6109 "OR_EXPR" => Some(Self::OrExpr),
6110 "NOT_EXPR" => Some(Self::NotExpr),
6111 _ => None,
6112 }
6113 }
6114}
6115#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6116#[repr(i32)]
6117pub enum SubLinkType {
6118 Undefined = 0,
6119 ExistsSublink = 1,
6120 AllSublink = 2,
6121 AnySublink = 3,
6122 RowcompareSublink = 4,
6123 ExprSublink = 5,
6124 MultiexprSublink = 6,
6125 ArraySublink = 7,
6126 CteSublink = 8,
6127}
6128impl SubLinkType {
6129 pub fn as_str_name(&self) -> &'static str {
6134 match self {
6135 Self::Undefined => "SUB_LINK_TYPE_UNDEFINED",
6136 Self::ExistsSublink => "EXISTS_SUBLINK",
6137 Self::AllSublink => "ALL_SUBLINK",
6138 Self::AnySublink => "ANY_SUBLINK",
6139 Self::RowcompareSublink => "ROWCOMPARE_SUBLINK",
6140 Self::ExprSublink => "EXPR_SUBLINK",
6141 Self::MultiexprSublink => "MULTIEXPR_SUBLINK",
6142 Self::ArraySublink => "ARRAY_SUBLINK",
6143 Self::CteSublink => "CTE_SUBLINK",
6144 }
6145 }
6146 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6148 match value {
6149 "SUB_LINK_TYPE_UNDEFINED" => Some(Self::Undefined),
6150 "EXISTS_SUBLINK" => Some(Self::ExistsSublink),
6151 "ALL_SUBLINK" => Some(Self::AllSublink),
6152 "ANY_SUBLINK" => Some(Self::AnySublink),
6153 "ROWCOMPARE_SUBLINK" => Some(Self::RowcompareSublink),
6154 "EXPR_SUBLINK" => Some(Self::ExprSublink),
6155 "MULTIEXPR_SUBLINK" => Some(Self::MultiexprSublink),
6156 "ARRAY_SUBLINK" => Some(Self::ArraySublink),
6157 "CTE_SUBLINK" => Some(Self::CteSublink),
6158 _ => None,
6159 }
6160 }
6161}
6162#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6163#[repr(i32)]
6164pub enum RowCompareType {
6165 Undefined = 0,
6166 RowcompareLt = 1,
6167 RowcompareLe = 2,
6168 RowcompareEq = 3,
6169 RowcompareGe = 4,
6170 RowcompareGt = 5,
6171 RowcompareNe = 6,
6172}
6173impl RowCompareType {
6174 pub fn as_str_name(&self) -> &'static str {
6179 match self {
6180 Self::Undefined => "ROW_COMPARE_TYPE_UNDEFINED",
6181 Self::RowcompareLt => "ROWCOMPARE_LT",
6182 Self::RowcompareLe => "ROWCOMPARE_LE",
6183 Self::RowcompareEq => "ROWCOMPARE_EQ",
6184 Self::RowcompareGe => "ROWCOMPARE_GE",
6185 Self::RowcompareGt => "ROWCOMPARE_GT",
6186 Self::RowcompareNe => "ROWCOMPARE_NE",
6187 }
6188 }
6189 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6191 match value {
6192 "ROW_COMPARE_TYPE_UNDEFINED" => Some(Self::Undefined),
6193 "ROWCOMPARE_LT" => Some(Self::RowcompareLt),
6194 "ROWCOMPARE_LE" => Some(Self::RowcompareLe),
6195 "ROWCOMPARE_EQ" => Some(Self::RowcompareEq),
6196 "ROWCOMPARE_GE" => Some(Self::RowcompareGe),
6197 "ROWCOMPARE_GT" => Some(Self::RowcompareGt),
6198 "ROWCOMPARE_NE" => Some(Self::RowcompareNe),
6199 _ => None,
6200 }
6201 }
6202}
6203#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6204#[repr(i32)]
6205pub enum MinMaxOp {
6206 Undefined = 0,
6207 IsGreatest = 1,
6208 IsLeast = 2,
6209}
6210impl MinMaxOp {
6211 pub fn as_str_name(&self) -> &'static str {
6216 match self {
6217 Self::Undefined => "MIN_MAX_OP_UNDEFINED",
6218 Self::IsGreatest => "IS_GREATEST",
6219 Self::IsLeast => "IS_LEAST",
6220 }
6221 }
6222 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6224 match value {
6225 "MIN_MAX_OP_UNDEFINED" => Some(Self::Undefined),
6226 "IS_GREATEST" => Some(Self::IsGreatest),
6227 "IS_LEAST" => Some(Self::IsLeast),
6228 _ => None,
6229 }
6230 }
6231}
6232#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6233#[repr(i32)]
6234pub enum SqlValueFunctionOp {
6235 SqlvalueFunctionOpUndefined = 0,
6236 SvfopCurrentDate = 1,
6237 SvfopCurrentTime = 2,
6238 SvfopCurrentTimeN = 3,
6239 SvfopCurrentTimestamp = 4,
6240 SvfopCurrentTimestampN = 5,
6241 SvfopLocaltime = 6,
6242 SvfopLocaltimeN = 7,
6243 SvfopLocaltimestamp = 8,
6244 SvfopLocaltimestampN = 9,
6245 SvfopCurrentRole = 10,
6246 SvfopCurrentUser = 11,
6247 SvfopUser = 12,
6248 SvfopSessionUser = 13,
6249 SvfopCurrentCatalog = 14,
6250 SvfopCurrentSchema = 15,
6251}
6252impl SqlValueFunctionOp {
6253 pub fn as_str_name(&self) -> &'static str {
6258 match self {
6259 Self::SqlvalueFunctionOpUndefined => "SQLVALUE_FUNCTION_OP_UNDEFINED",
6260 Self::SvfopCurrentDate => "SVFOP_CURRENT_DATE",
6261 Self::SvfopCurrentTime => "SVFOP_CURRENT_TIME",
6262 Self::SvfopCurrentTimeN => "SVFOP_CURRENT_TIME_N",
6263 Self::SvfopCurrentTimestamp => "SVFOP_CURRENT_TIMESTAMP",
6264 Self::SvfopCurrentTimestampN => "SVFOP_CURRENT_TIMESTAMP_N",
6265 Self::SvfopLocaltime => "SVFOP_LOCALTIME",
6266 Self::SvfopLocaltimeN => "SVFOP_LOCALTIME_N",
6267 Self::SvfopLocaltimestamp => "SVFOP_LOCALTIMESTAMP",
6268 Self::SvfopLocaltimestampN => "SVFOP_LOCALTIMESTAMP_N",
6269 Self::SvfopCurrentRole => "SVFOP_CURRENT_ROLE",
6270 Self::SvfopCurrentUser => "SVFOP_CURRENT_USER",
6271 Self::SvfopUser => "SVFOP_USER",
6272 Self::SvfopSessionUser => "SVFOP_SESSION_USER",
6273 Self::SvfopCurrentCatalog => "SVFOP_CURRENT_CATALOG",
6274 Self::SvfopCurrentSchema => "SVFOP_CURRENT_SCHEMA",
6275 }
6276 }
6277 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6279 match value {
6280 "SQLVALUE_FUNCTION_OP_UNDEFINED" => Some(Self::SqlvalueFunctionOpUndefined),
6281 "SVFOP_CURRENT_DATE" => Some(Self::SvfopCurrentDate),
6282 "SVFOP_CURRENT_TIME" => Some(Self::SvfopCurrentTime),
6283 "SVFOP_CURRENT_TIME_N" => Some(Self::SvfopCurrentTimeN),
6284 "SVFOP_CURRENT_TIMESTAMP" => Some(Self::SvfopCurrentTimestamp),
6285 "SVFOP_CURRENT_TIMESTAMP_N" => Some(Self::SvfopCurrentTimestampN),
6286 "SVFOP_LOCALTIME" => Some(Self::SvfopLocaltime),
6287 "SVFOP_LOCALTIME_N" => Some(Self::SvfopLocaltimeN),
6288 "SVFOP_LOCALTIMESTAMP" => Some(Self::SvfopLocaltimestamp),
6289 "SVFOP_LOCALTIMESTAMP_N" => Some(Self::SvfopLocaltimestampN),
6290 "SVFOP_CURRENT_ROLE" => Some(Self::SvfopCurrentRole),
6291 "SVFOP_CURRENT_USER" => Some(Self::SvfopCurrentUser),
6292 "SVFOP_USER" => Some(Self::SvfopUser),
6293 "SVFOP_SESSION_USER" => Some(Self::SvfopSessionUser),
6294 "SVFOP_CURRENT_CATALOG" => Some(Self::SvfopCurrentCatalog),
6295 "SVFOP_CURRENT_SCHEMA" => Some(Self::SvfopCurrentSchema),
6296 _ => None,
6297 }
6298 }
6299}
6300#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6301#[repr(i32)]
6302pub enum XmlExprOp {
6303 Undefined = 0,
6304 IsXmlconcat = 1,
6305 IsXmlelement = 2,
6306 IsXmlforest = 3,
6307 IsXmlparse = 4,
6308 IsXmlpi = 5,
6309 IsXmlroot = 6,
6310 IsXmlserialize = 7,
6311 IsDocument = 8,
6312}
6313impl XmlExprOp {
6314 pub fn as_str_name(&self) -> &'static str {
6319 match self {
6320 Self::Undefined => "XML_EXPR_OP_UNDEFINED",
6321 Self::IsXmlconcat => "IS_XMLCONCAT",
6322 Self::IsXmlelement => "IS_XMLELEMENT",
6323 Self::IsXmlforest => "IS_XMLFOREST",
6324 Self::IsXmlparse => "IS_XMLPARSE",
6325 Self::IsXmlpi => "IS_XMLPI",
6326 Self::IsXmlroot => "IS_XMLROOT",
6327 Self::IsXmlserialize => "IS_XMLSERIALIZE",
6328 Self::IsDocument => "IS_DOCUMENT",
6329 }
6330 }
6331 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6333 match value {
6334 "XML_EXPR_OP_UNDEFINED" => Some(Self::Undefined),
6335 "IS_XMLCONCAT" => Some(Self::IsXmlconcat),
6336 "IS_XMLELEMENT" => Some(Self::IsXmlelement),
6337 "IS_XMLFOREST" => Some(Self::IsXmlforest),
6338 "IS_XMLPARSE" => Some(Self::IsXmlparse),
6339 "IS_XMLPI" => Some(Self::IsXmlpi),
6340 "IS_XMLROOT" => Some(Self::IsXmlroot),
6341 "IS_XMLSERIALIZE" => Some(Self::IsXmlserialize),
6342 "IS_DOCUMENT" => Some(Self::IsDocument),
6343 _ => None,
6344 }
6345 }
6346}
6347#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6348#[repr(i32)]
6349pub enum XmlOptionType {
6350 Undefined = 0,
6351 XmloptionDocument = 1,
6352 XmloptionContent = 2,
6353}
6354impl XmlOptionType {
6355 pub fn as_str_name(&self) -> &'static str {
6360 match self {
6361 Self::Undefined => "XML_OPTION_TYPE_UNDEFINED",
6362 Self::XmloptionDocument => "XMLOPTION_DOCUMENT",
6363 Self::XmloptionContent => "XMLOPTION_CONTENT",
6364 }
6365 }
6366 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6368 match value {
6369 "XML_OPTION_TYPE_UNDEFINED" => Some(Self::Undefined),
6370 "XMLOPTION_DOCUMENT" => Some(Self::XmloptionDocument),
6371 "XMLOPTION_CONTENT" => Some(Self::XmloptionContent),
6372 _ => None,
6373 }
6374 }
6375}
6376#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6377#[repr(i32)]
6378pub enum JsonEncoding {
6379 Undefined = 0,
6380 JsEncDefault = 1,
6381 JsEncUtf8 = 2,
6382 JsEncUtf16 = 3,
6383 JsEncUtf32 = 4,
6384}
6385impl JsonEncoding {
6386 pub fn as_str_name(&self) -> &'static str {
6391 match self {
6392 Self::Undefined => "JSON_ENCODING_UNDEFINED",
6393 Self::JsEncDefault => "JS_ENC_DEFAULT",
6394 Self::JsEncUtf8 => "JS_ENC_UTF8",
6395 Self::JsEncUtf16 => "JS_ENC_UTF16",
6396 Self::JsEncUtf32 => "JS_ENC_UTF32",
6397 }
6398 }
6399 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6401 match value {
6402 "JSON_ENCODING_UNDEFINED" => Some(Self::Undefined),
6403 "JS_ENC_DEFAULT" => Some(Self::JsEncDefault),
6404 "JS_ENC_UTF8" => Some(Self::JsEncUtf8),
6405 "JS_ENC_UTF16" => Some(Self::JsEncUtf16),
6406 "JS_ENC_UTF32" => Some(Self::JsEncUtf32),
6407 _ => None,
6408 }
6409 }
6410}
6411#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6412#[repr(i32)]
6413pub enum JsonFormatType {
6414 Undefined = 0,
6415 JsFormatDefault = 1,
6416 JsFormatJson = 2,
6417 JsFormatJsonb = 3,
6418}
6419impl JsonFormatType {
6420 pub fn as_str_name(&self) -> &'static str {
6425 match self {
6426 Self::Undefined => "JSON_FORMAT_TYPE_UNDEFINED",
6427 Self::JsFormatDefault => "JS_FORMAT_DEFAULT",
6428 Self::JsFormatJson => "JS_FORMAT_JSON",
6429 Self::JsFormatJsonb => "JS_FORMAT_JSONB",
6430 }
6431 }
6432 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6434 match value {
6435 "JSON_FORMAT_TYPE_UNDEFINED" => Some(Self::Undefined),
6436 "JS_FORMAT_DEFAULT" => Some(Self::JsFormatDefault),
6437 "JS_FORMAT_JSON" => Some(Self::JsFormatJson),
6438 "JS_FORMAT_JSONB" => Some(Self::JsFormatJsonb),
6439 _ => None,
6440 }
6441 }
6442}
6443#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6444#[repr(i32)]
6445pub enum JsonConstructorType {
6446 Undefined = 0,
6447 JsctorJsonObject = 1,
6448 JsctorJsonArray = 2,
6449 JsctorJsonObjectagg = 3,
6450 JsctorJsonArrayagg = 4,
6451 JsctorJsonParse = 5,
6452 JsctorJsonScalar = 6,
6453 JsctorJsonSerialize = 7,
6454}
6455impl JsonConstructorType {
6456 pub fn as_str_name(&self) -> &'static str {
6461 match self {
6462 Self::Undefined => "JSON_CONSTRUCTOR_TYPE_UNDEFINED",
6463 Self::JsctorJsonObject => "JSCTOR_JSON_OBJECT",
6464 Self::JsctorJsonArray => "JSCTOR_JSON_ARRAY",
6465 Self::JsctorJsonObjectagg => "JSCTOR_JSON_OBJECTAGG",
6466 Self::JsctorJsonArrayagg => "JSCTOR_JSON_ARRAYAGG",
6467 Self::JsctorJsonParse => "JSCTOR_JSON_PARSE",
6468 Self::JsctorJsonScalar => "JSCTOR_JSON_SCALAR",
6469 Self::JsctorJsonSerialize => "JSCTOR_JSON_SERIALIZE",
6470 }
6471 }
6472 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6474 match value {
6475 "JSON_CONSTRUCTOR_TYPE_UNDEFINED" => Some(Self::Undefined),
6476 "JSCTOR_JSON_OBJECT" => Some(Self::JsctorJsonObject),
6477 "JSCTOR_JSON_ARRAY" => Some(Self::JsctorJsonArray),
6478 "JSCTOR_JSON_OBJECTAGG" => Some(Self::JsctorJsonObjectagg),
6479 "JSCTOR_JSON_ARRAYAGG" => Some(Self::JsctorJsonArrayagg),
6480 "JSCTOR_JSON_PARSE" => Some(Self::JsctorJsonParse),
6481 "JSCTOR_JSON_SCALAR" => Some(Self::JsctorJsonScalar),
6482 "JSCTOR_JSON_SERIALIZE" => Some(Self::JsctorJsonSerialize),
6483 _ => None,
6484 }
6485 }
6486}
6487#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6488#[repr(i32)]
6489pub enum JsonValueType {
6490 Undefined = 0,
6491 JsTypeAny = 1,
6492 JsTypeObject = 2,
6493 JsTypeArray = 3,
6494 JsTypeScalar = 4,
6495}
6496impl JsonValueType {
6497 pub fn as_str_name(&self) -> &'static str {
6502 match self {
6503 Self::Undefined => "JSON_VALUE_TYPE_UNDEFINED",
6504 Self::JsTypeAny => "JS_TYPE_ANY",
6505 Self::JsTypeObject => "JS_TYPE_OBJECT",
6506 Self::JsTypeArray => "JS_TYPE_ARRAY",
6507 Self::JsTypeScalar => "JS_TYPE_SCALAR",
6508 }
6509 }
6510 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6512 match value {
6513 "JSON_VALUE_TYPE_UNDEFINED" => Some(Self::Undefined),
6514 "JS_TYPE_ANY" => Some(Self::JsTypeAny),
6515 "JS_TYPE_OBJECT" => Some(Self::JsTypeObject),
6516 "JS_TYPE_ARRAY" => Some(Self::JsTypeArray),
6517 "JS_TYPE_SCALAR" => Some(Self::JsTypeScalar),
6518 _ => None,
6519 }
6520 }
6521}
6522#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6523#[repr(i32)]
6524pub enum JsonWrapper {
6525 Undefined = 0,
6526 JswUnspec = 1,
6527 JswNone = 2,
6528 JswConditional = 3,
6529 JswUnconditional = 4,
6530}
6531impl JsonWrapper {
6532 pub fn as_str_name(&self) -> &'static str {
6537 match self {
6538 Self::Undefined => "JSON_WRAPPER_UNDEFINED",
6539 Self::JswUnspec => "JSW_UNSPEC",
6540 Self::JswNone => "JSW_NONE",
6541 Self::JswConditional => "JSW_CONDITIONAL",
6542 Self::JswUnconditional => "JSW_UNCONDITIONAL",
6543 }
6544 }
6545 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6547 match value {
6548 "JSON_WRAPPER_UNDEFINED" => Some(Self::Undefined),
6549 "JSW_UNSPEC" => Some(Self::JswUnspec),
6550 "JSW_NONE" => Some(Self::JswNone),
6551 "JSW_CONDITIONAL" => Some(Self::JswConditional),
6552 "JSW_UNCONDITIONAL" => Some(Self::JswUnconditional),
6553 _ => None,
6554 }
6555 }
6556}
6557#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6558#[repr(i32)]
6559pub enum JsonBehaviorType {
6560 Undefined = 0,
6561 JsonBehaviorNull = 1,
6562 JsonBehaviorError = 2,
6563 JsonBehaviorEmpty = 3,
6564 JsonBehaviorTrue = 4,
6565 JsonBehaviorFalse = 5,
6566 JsonBehaviorUnknown = 6,
6567 JsonBehaviorEmptyArray = 7,
6568 JsonBehaviorEmptyObject = 8,
6569 JsonBehaviorDefault = 9,
6570}
6571impl JsonBehaviorType {
6572 pub fn as_str_name(&self) -> &'static str {
6577 match self {
6578 Self::Undefined => "JSON_BEHAVIOR_TYPE_UNDEFINED",
6579 Self::JsonBehaviorNull => "JSON_BEHAVIOR_NULL",
6580 Self::JsonBehaviorError => "JSON_BEHAVIOR_ERROR",
6581 Self::JsonBehaviorEmpty => "JSON_BEHAVIOR_EMPTY",
6582 Self::JsonBehaviorTrue => "JSON_BEHAVIOR_TRUE",
6583 Self::JsonBehaviorFalse => "JSON_BEHAVIOR_FALSE",
6584 Self::JsonBehaviorUnknown => "JSON_BEHAVIOR_UNKNOWN",
6585 Self::JsonBehaviorEmptyArray => "JSON_BEHAVIOR_EMPTY_ARRAY",
6586 Self::JsonBehaviorEmptyObject => "JSON_BEHAVIOR_EMPTY_OBJECT",
6587 Self::JsonBehaviorDefault => "JSON_BEHAVIOR_DEFAULT",
6588 }
6589 }
6590 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6592 match value {
6593 "JSON_BEHAVIOR_TYPE_UNDEFINED" => Some(Self::Undefined),
6594 "JSON_BEHAVIOR_NULL" => Some(Self::JsonBehaviorNull),
6595 "JSON_BEHAVIOR_ERROR" => Some(Self::JsonBehaviorError),
6596 "JSON_BEHAVIOR_EMPTY" => Some(Self::JsonBehaviorEmpty),
6597 "JSON_BEHAVIOR_TRUE" => Some(Self::JsonBehaviorTrue),
6598 "JSON_BEHAVIOR_FALSE" => Some(Self::JsonBehaviorFalse),
6599 "JSON_BEHAVIOR_UNKNOWN" => Some(Self::JsonBehaviorUnknown),
6600 "JSON_BEHAVIOR_EMPTY_ARRAY" => Some(Self::JsonBehaviorEmptyArray),
6601 "JSON_BEHAVIOR_EMPTY_OBJECT" => Some(Self::JsonBehaviorEmptyObject),
6602 "JSON_BEHAVIOR_DEFAULT" => Some(Self::JsonBehaviorDefault),
6603 _ => None,
6604 }
6605 }
6606}
6607#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6608#[repr(i32)]
6609pub enum JsonExprOp {
6610 Undefined = 0,
6611 JsonExistsOp = 1,
6612 JsonQueryOp = 2,
6613 JsonValueOp = 3,
6614 JsonTableOp = 4,
6615}
6616impl JsonExprOp {
6617 pub fn as_str_name(&self) -> &'static str {
6622 match self {
6623 Self::Undefined => "JSON_EXPR_OP_UNDEFINED",
6624 Self::JsonExistsOp => "JSON_EXISTS_OP",
6625 Self::JsonQueryOp => "JSON_QUERY_OP",
6626 Self::JsonValueOp => "JSON_VALUE_OP",
6627 Self::JsonTableOp => "JSON_TABLE_OP",
6628 }
6629 }
6630 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6632 match value {
6633 "JSON_EXPR_OP_UNDEFINED" => Some(Self::Undefined),
6634 "JSON_EXISTS_OP" => Some(Self::JsonExistsOp),
6635 "JSON_QUERY_OP" => Some(Self::JsonQueryOp),
6636 "JSON_VALUE_OP" => Some(Self::JsonValueOp),
6637 "JSON_TABLE_OP" => Some(Self::JsonTableOp),
6638 _ => None,
6639 }
6640 }
6641}
6642#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6643#[repr(i32)]
6644pub enum NullTestType {
6645 Undefined = 0,
6646 IsNull = 1,
6647 IsNotNull = 2,
6648}
6649impl NullTestType {
6650 pub fn as_str_name(&self) -> &'static str {
6655 match self {
6656 Self::Undefined => "NULL_TEST_TYPE_UNDEFINED",
6657 Self::IsNull => "IS_NULL",
6658 Self::IsNotNull => "IS_NOT_NULL",
6659 }
6660 }
6661 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6663 match value {
6664 "NULL_TEST_TYPE_UNDEFINED" => Some(Self::Undefined),
6665 "IS_NULL" => Some(Self::IsNull),
6666 "IS_NOT_NULL" => Some(Self::IsNotNull),
6667 _ => None,
6668 }
6669 }
6670}
6671#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6672#[repr(i32)]
6673pub enum BoolTestType {
6674 Undefined = 0,
6675 IsTrue = 1,
6676 IsNotTrue = 2,
6677 IsFalse = 3,
6678 IsNotFalse = 4,
6679 IsUnknown = 5,
6680 IsNotUnknown = 6,
6681}
6682impl BoolTestType {
6683 pub fn as_str_name(&self) -> &'static str {
6688 match self {
6689 Self::Undefined => "BOOL_TEST_TYPE_UNDEFINED",
6690 Self::IsTrue => "IS_TRUE",
6691 Self::IsNotTrue => "IS_NOT_TRUE",
6692 Self::IsFalse => "IS_FALSE",
6693 Self::IsNotFalse => "IS_NOT_FALSE",
6694 Self::IsUnknown => "IS_UNKNOWN",
6695 Self::IsNotUnknown => "IS_NOT_UNKNOWN",
6696 }
6697 }
6698 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6700 match value {
6701 "BOOL_TEST_TYPE_UNDEFINED" => Some(Self::Undefined),
6702 "IS_TRUE" => Some(Self::IsTrue),
6703 "IS_NOT_TRUE" => Some(Self::IsNotTrue),
6704 "IS_FALSE" => Some(Self::IsFalse),
6705 "IS_NOT_FALSE" => Some(Self::IsNotFalse),
6706 "IS_UNKNOWN" => Some(Self::IsUnknown),
6707 "IS_NOT_UNKNOWN" => Some(Self::IsNotUnknown),
6708 _ => None,
6709 }
6710 }
6711}
6712#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6713#[repr(i32)]
6714pub enum MergeMatchKind {
6715 Undefined = 0,
6716 MergeWhenMatched = 1,
6717 MergeWhenNotMatchedBySource = 2,
6718 MergeWhenNotMatchedByTarget = 3,
6719}
6720impl MergeMatchKind {
6721 pub fn as_str_name(&self) -> &'static str {
6726 match self {
6727 Self::Undefined => "MERGE_MATCH_KIND_UNDEFINED",
6728 Self::MergeWhenMatched => "MERGE_WHEN_MATCHED",
6729 Self::MergeWhenNotMatchedBySource => "MERGE_WHEN_NOT_MATCHED_BY_SOURCE",
6730 Self::MergeWhenNotMatchedByTarget => "MERGE_WHEN_NOT_MATCHED_BY_TARGET",
6731 }
6732 }
6733 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6735 match value {
6736 "MERGE_MATCH_KIND_UNDEFINED" => Some(Self::Undefined),
6737 "MERGE_WHEN_MATCHED" => Some(Self::MergeWhenMatched),
6738 "MERGE_WHEN_NOT_MATCHED_BY_SOURCE" => Some(Self::MergeWhenNotMatchedBySource),
6739 "MERGE_WHEN_NOT_MATCHED_BY_TARGET" => Some(Self::MergeWhenNotMatchedByTarget),
6740 _ => None,
6741 }
6742 }
6743}
6744#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6745#[repr(i32)]
6746pub enum CmdType {
6747 Undefined = 0,
6748 CmdUnknown = 1,
6749 CmdSelect = 2,
6750 CmdUpdate = 3,
6751 CmdInsert = 4,
6752 CmdDelete = 5,
6753 CmdMerge = 6,
6754 CmdUtility = 7,
6755 CmdNothing = 8,
6756}
6757impl CmdType {
6758 pub fn as_str_name(&self) -> &'static str {
6763 match self {
6764 Self::Undefined => "CMD_TYPE_UNDEFINED",
6765 Self::CmdUnknown => "CMD_UNKNOWN",
6766 Self::CmdSelect => "CMD_SELECT",
6767 Self::CmdUpdate => "CMD_UPDATE",
6768 Self::CmdInsert => "CMD_INSERT",
6769 Self::CmdDelete => "CMD_DELETE",
6770 Self::CmdMerge => "CMD_MERGE",
6771 Self::CmdUtility => "CMD_UTILITY",
6772 Self::CmdNothing => "CMD_NOTHING",
6773 }
6774 }
6775 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6777 match value {
6778 "CMD_TYPE_UNDEFINED" => Some(Self::Undefined),
6779 "CMD_UNKNOWN" => Some(Self::CmdUnknown),
6780 "CMD_SELECT" => Some(Self::CmdSelect),
6781 "CMD_UPDATE" => Some(Self::CmdUpdate),
6782 "CMD_INSERT" => Some(Self::CmdInsert),
6783 "CMD_DELETE" => Some(Self::CmdDelete),
6784 "CMD_MERGE" => Some(Self::CmdMerge),
6785 "CMD_UTILITY" => Some(Self::CmdUtility),
6786 "CMD_NOTHING" => Some(Self::CmdNothing),
6787 _ => None,
6788 }
6789 }
6790}
6791#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6792#[repr(i32)]
6793pub enum JoinType {
6794 Undefined = 0,
6795 JoinInner = 1,
6796 JoinLeft = 2,
6797 JoinFull = 3,
6798 JoinRight = 4,
6799 JoinSemi = 5,
6800 JoinAnti = 6,
6801 JoinRightAnti = 7,
6802 JoinUniqueOuter = 8,
6803 JoinUniqueInner = 9,
6804}
6805impl JoinType {
6806 pub fn as_str_name(&self) -> &'static str {
6811 match self {
6812 Self::Undefined => "JOIN_TYPE_UNDEFINED",
6813 Self::JoinInner => "JOIN_INNER",
6814 Self::JoinLeft => "JOIN_LEFT",
6815 Self::JoinFull => "JOIN_FULL",
6816 Self::JoinRight => "JOIN_RIGHT",
6817 Self::JoinSemi => "JOIN_SEMI",
6818 Self::JoinAnti => "JOIN_ANTI",
6819 Self::JoinRightAnti => "JOIN_RIGHT_ANTI",
6820 Self::JoinUniqueOuter => "JOIN_UNIQUE_OUTER",
6821 Self::JoinUniqueInner => "JOIN_UNIQUE_INNER",
6822 }
6823 }
6824 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6826 match value {
6827 "JOIN_TYPE_UNDEFINED" => Some(Self::Undefined),
6828 "JOIN_INNER" => Some(Self::JoinInner),
6829 "JOIN_LEFT" => Some(Self::JoinLeft),
6830 "JOIN_FULL" => Some(Self::JoinFull),
6831 "JOIN_RIGHT" => Some(Self::JoinRight),
6832 "JOIN_SEMI" => Some(Self::JoinSemi),
6833 "JOIN_ANTI" => Some(Self::JoinAnti),
6834 "JOIN_RIGHT_ANTI" => Some(Self::JoinRightAnti),
6835 "JOIN_UNIQUE_OUTER" => Some(Self::JoinUniqueOuter),
6836 "JOIN_UNIQUE_INNER" => Some(Self::JoinUniqueInner),
6837 _ => None,
6838 }
6839 }
6840}
6841#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6842#[repr(i32)]
6843pub enum AggStrategy {
6844 Undefined = 0,
6845 AggPlain = 1,
6846 AggSorted = 2,
6847 AggHashed = 3,
6848 AggMixed = 4,
6849}
6850impl AggStrategy {
6851 pub fn as_str_name(&self) -> &'static str {
6856 match self {
6857 Self::Undefined => "AGG_STRATEGY_UNDEFINED",
6858 Self::AggPlain => "AGG_PLAIN",
6859 Self::AggSorted => "AGG_SORTED",
6860 Self::AggHashed => "AGG_HASHED",
6861 Self::AggMixed => "AGG_MIXED",
6862 }
6863 }
6864 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6866 match value {
6867 "AGG_STRATEGY_UNDEFINED" => Some(Self::Undefined),
6868 "AGG_PLAIN" => Some(Self::AggPlain),
6869 "AGG_SORTED" => Some(Self::AggSorted),
6870 "AGG_HASHED" => Some(Self::AggHashed),
6871 "AGG_MIXED" => Some(Self::AggMixed),
6872 _ => None,
6873 }
6874 }
6875}
6876#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6877#[repr(i32)]
6878pub enum AggSplit {
6879 Undefined = 0,
6880 AggsplitSimple = 1,
6881 AggsplitInitialSerial = 2,
6882 AggsplitFinalDeserial = 3,
6883}
6884impl AggSplit {
6885 pub fn as_str_name(&self) -> &'static str {
6890 match self {
6891 Self::Undefined => "AGG_SPLIT_UNDEFINED",
6892 Self::AggsplitSimple => "AGGSPLIT_SIMPLE",
6893 Self::AggsplitInitialSerial => "AGGSPLIT_INITIAL_SERIAL",
6894 Self::AggsplitFinalDeserial => "AGGSPLIT_FINAL_DESERIAL",
6895 }
6896 }
6897 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6899 match value {
6900 "AGG_SPLIT_UNDEFINED" => Some(Self::Undefined),
6901 "AGGSPLIT_SIMPLE" => Some(Self::AggsplitSimple),
6902 "AGGSPLIT_INITIAL_SERIAL" => Some(Self::AggsplitInitialSerial),
6903 "AGGSPLIT_FINAL_DESERIAL" => Some(Self::AggsplitFinalDeserial),
6904 _ => None,
6905 }
6906 }
6907}
6908#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6909#[repr(i32)]
6910pub enum SetOpCmd {
6911 Undefined = 0,
6912 SetopcmdIntersect = 1,
6913 SetopcmdIntersectAll = 2,
6914 SetopcmdExcept = 3,
6915 SetopcmdExceptAll = 4,
6916}
6917impl SetOpCmd {
6918 pub fn as_str_name(&self) -> &'static str {
6923 match self {
6924 Self::Undefined => "SET_OP_CMD_UNDEFINED",
6925 Self::SetopcmdIntersect => "SETOPCMD_INTERSECT",
6926 Self::SetopcmdIntersectAll => "SETOPCMD_INTERSECT_ALL",
6927 Self::SetopcmdExcept => "SETOPCMD_EXCEPT",
6928 Self::SetopcmdExceptAll => "SETOPCMD_EXCEPT_ALL",
6929 }
6930 }
6931 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6933 match value {
6934 "SET_OP_CMD_UNDEFINED" => Some(Self::Undefined),
6935 "SETOPCMD_INTERSECT" => Some(Self::SetopcmdIntersect),
6936 "SETOPCMD_INTERSECT_ALL" => Some(Self::SetopcmdIntersectAll),
6937 "SETOPCMD_EXCEPT" => Some(Self::SetopcmdExcept),
6938 "SETOPCMD_EXCEPT_ALL" => Some(Self::SetopcmdExceptAll),
6939 _ => None,
6940 }
6941 }
6942}
6943#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6944#[repr(i32)]
6945pub enum SetOpStrategy {
6946 Undefined = 0,
6947 SetopSorted = 1,
6948 SetopHashed = 2,
6949}
6950impl SetOpStrategy {
6951 pub fn as_str_name(&self) -> &'static str {
6956 match self {
6957 Self::Undefined => "SET_OP_STRATEGY_UNDEFINED",
6958 Self::SetopSorted => "SETOP_SORTED",
6959 Self::SetopHashed => "SETOP_HASHED",
6960 }
6961 }
6962 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6964 match value {
6965 "SET_OP_STRATEGY_UNDEFINED" => Some(Self::Undefined),
6966 "SETOP_SORTED" => Some(Self::SetopSorted),
6967 "SETOP_HASHED" => Some(Self::SetopHashed),
6968 _ => None,
6969 }
6970 }
6971}
6972#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
6973#[repr(i32)]
6974pub enum OnConflictAction {
6975 Undefined = 0,
6976 OnconflictNone = 1,
6977 OnconflictNothing = 2,
6978 OnconflictUpdate = 3,
6979}
6980impl OnConflictAction {
6981 pub fn as_str_name(&self) -> &'static str {
6986 match self {
6987 Self::Undefined => "ON_CONFLICT_ACTION_UNDEFINED",
6988 Self::OnconflictNone => "ONCONFLICT_NONE",
6989 Self::OnconflictNothing => "ONCONFLICT_NOTHING",
6990 Self::OnconflictUpdate => "ONCONFLICT_UPDATE",
6991 }
6992 }
6993 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
6995 match value {
6996 "ON_CONFLICT_ACTION_UNDEFINED" => Some(Self::Undefined),
6997 "ONCONFLICT_NONE" => Some(Self::OnconflictNone),
6998 "ONCONFLICT_NOTHING" => Some(Self::OnconflictNothing),
6999 "ONCONFLICT_UPDATE" => Some(Self::OnconflictUpdate),
7000 _ => None,
7001 }
7002 }
7003}
7004#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7005#[repr(i32)]
7006pub enum LimitOption {
7007 Undefined = 0,
7008 Default = 1,
7009 Count = 2,
7010 WithTies = 3,
7011}
7012impl LimitOption {
7013 pub fn as_str_name(&self) -> &'static str {
7018 match self {
7019 Self::Undefined => "LIMIT_OPTION_UNDEFINED",
7020 Self::Default => "LIMIT_OPTION_DEFAULT",
7021 Self::Count => "LIMIT_OPTION_COUNT",
7022 Self::WithTies => "LIMIT_OPTION_WITH_TIES",
7023 }
7024 }
7025 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7027 match value {
7028 "LIMIT_OPTION_UNDEFINED" => Some(Self::Undefined),
7029 "LIMIT_OPTION_DEFAULT" => Some(Self::Default),
7030 "LIMIT_OPTION_COUNT" => Some(Self::Count),
7031 "LIMIT_OPTION_WITH_TIES" => Some(Self::WithTies),
7032 _ => None,
7033 }
7034 }
7035}
7036#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7037#[repr(i32)]
7038pub enum LockClauseStrength {
7039 Undefined = 0,
7040 LcsNone = 1,
7041 LcsForkeyshare = 2,
7042 LcsForshare = 3,
7043 LcsFornokeyupdate = 4,
7044 LcsForupdate = 5,
7045}
7046impl LockClauseStrength {
7047 pub fn as_str_name(&self) -> &'static str {
7052 match self {
7053 Self::Undefined => "LOCK_CLAUSE_STRENGTH_UNDEFINED",
7054 Self::LcsNone => "LCS_NONE",
7055 Self::LcsForkeyshare => "LCS_FORKEYSHARE",
7056 Self::LcsForshare => "LCS_FORSHARE",
7057 Self::LcsFornokeyupdate => "LCS_FORNOKEYUPDATE",
7058 Self::LcsForupdate => "LCS_FORUPDATE",
7059 }
7060 }
7061 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7063 match value {
7064 "LOCK_CLAUSE_STRENGTH_UNDEFINED" => Some(Self::Undefined),
7065 "LCS_NONE" => Some(Self::LcsNone),
7066 "LCS_FORKEYSHARE" => Some(Self::LcsForkeyshare),
7067 "LCS_FORSHARE" => Some(Self::LcsForshare),
7068 "LCS_FORNOKEYUPDATE" => Some(Self::LcsFornokeyupdate),
7069 "LCS_FORUPDATE" => Some(Self::LcsForupdate),
7070 _ => None,
7071 }
7072 }
7073}
7074#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7075#[repr(i32)]
7076pub enum LockWaitPolicy {
7077 Undefined = 0,
7078 LockWaitBlock = 1,
7079 LockWaitSkip = 2,
7080 LockWaitError = 3,
7081}
7082impl LockWaitPolicy {
7083 pub fn as_str_name(&self) -> &'static str {
7088 match self {
7089 Self::Undefined => "LOCK_WAIT_POLICY_UNDEFINED",
7090 Self::LockWaitBlock => "LockWaitBlock",
7091 Self::LockWaitSkip => "LockWaitSkip",
7092 Self::LockWaitError => "LockWaitError",
7093 }
7094 }
7095 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7097 match value {
7098 "LOCK_WAIT_POLICY_UNDEFINED" => Some(Self::Undefined),
7099 "LockWaitBlock" => Some(Self::LockWaitBlock),
7100 "LockWaitSkip" => Some(Self::LockWaitSkip),
7101 "LockWaitError" => Some(Self::LockWaitError),
7102 _ => None,
7103 }
7104 }
7105}
7106#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7107#[repr(i32)]
7108pub enum LockTupleMode {
7109 Undefined = 0,
7110 LockTupleKeyShare = 1,
7111 LockTupleShare = 2,
7112 LockTupleNoKeyExclusive = 3,
7113 LockTupleExclusive = 4,
7114}
7115impl LockTupleMode {
7116 pub fn as_str_name(&self) -> &'static str {
7121 match self {
7122 Self::Undefined => "LOCK_TUPLE_MODE_UNDEFINED",
7123 Self::LockTupleKeyShare => "LockTupleKeyShare",
7124 Self::LockTupleShare => "LockTupleShare",
7125 Self::LockTupleNoKeyExclusive => "LockTupleNoKeyExclusive",
7126 Self::LockTupleExclusive => "LockTupleExclusive",
7127 }
7128 }
7129 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7131 match value {
7132 "LOCK_TUPLE_MODE_UNDEFINED" => Some(Self::Undefined),
7133 "LockTupleKeyShare" => Some(Self::LockTupleKeyShare),
7134 "LockTupleShare" => Some(Self::LockTupleShare),
7135 "LockTupleNoKeyExclusive" => Some(Self::LockTupleNoKeyExclusive),
7136 "LockTupleExclusive" => Some(Self::LockTupleExclusive),
7137 _ => None,
7138 }
7139 }
7140}
7141#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7142#[repr(i32)]
7143pub enum KeywordKind {
7144 NoKeyword = 0,
7145 UnreservedKeyword = 1,
7146 ColNameKeyword = 2,
7147 TypeFuncNameKeyword = 3,
7148 ReservedKeyword = 4,
7149}
7150impl KeywordKind {
7151 pub fn as_str_name(&self) -> &'static str {
7156 match self {
7157 Self::NoKeyword => "NO_KEYWORD",
7158 Self::UnreservedKeyword => "UNRESERVED_KEYWORD",
7159 Self::ColNameKeyword => "COL_NAME_KEYWORD",
7160 Self::TypeFuncNameKeyword => "TYPE_FUNC_NAME_KEYWORD",
7161 Self::ReservedKeyword => "RESERVED_KEYWORD",
7162 }
7163 }
7164 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
7166 match value {
7167 "NO_KEYWORD" => Some(Self::NoKeyword),
7168 "UNRESERVED_KEYWORD" => Some(Self::UnreservedKeyword),
7169 "COL_NAME_KEYWORD" => Some(Self::ColNameKeyword),
7170 "TYPE_FUNC_NAME_KEYWORD" => Some(Self::TypeFuncNameKeyword),
7171 "RESERVED_KEYWORD" => Some(Self::ReservedKeyword),
7172 _ => None,
7173 }
7174 }
7175}
7176#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord, ::prost::Enumeration)]
7177#[repr(i32)]
7178pub enum Token {
7179 Nul = 0,
7180 Ascii36 = 36,
7186 Ascii37 = 37,
7188 Ascii40 = 40,
7190 Ascii41 = 41,
7192 Ascii42 = 42,
7194 Ascii43 = 43,
7196 Ascii44 = 44,
7198 Ascii45 = 45,
7200 Ascii46 = 46,
7202 Ascii47 = 47,
7204 Ascii58 = 58,
7206 Ascii59 = 59,
7208 Ascii60 = 60,
7210 Ascii61 = 61,
7212 Ascii62 = 62,
7214 Ascii63 = 63,
7216 Ascii91 = 91,
7218 Ascii92 = 92,
7220 Ascii93 = 93,
7222 Ascii94 = 94,
7224 Ident = 258,
7226 Uident = 259,
7227 Fconst = 260,
7228 Sconst = 261,
7229 Usconst = 262,
7230 Bconst = 263,
7231 Xconst = 264,
7232 Op = 265,
7233 Iconst = 266,
7234 Param = 267,
7235 Typecast = 268,
7236 DotDot = 269,
7237 ColonEquals = 270,
7238 EqualsGreater = 271,
7239 LessEquals = 272,
7240 GreaterEquals = 273,
7241 NotEquals = 274,
7242 SqlComment = 275,
7243 CComment = 276,
7244 AbortP = 277,
7245 Absent = 278,
7246 AbsoluteP = 279,
7247 Access = 280,
7248 Action = 281,
7249 AddP = 282,
7250 Admin = 283,
7251 After = 284,
7252 Aggregate = 285,
7253 All = 286,
7254 Also = 287,
7255 Alter = 288,
7256 Always = 289,
7257 Analyse = 290,
7258 Analyze = 291,
7259 And = 292,
7260 Any = 293,
7261 Array = 294,
7262 As = 295,
7263 Asc = 296,
7264 Asensitive = 297,
7265 Assertion = 298,
7266 Assignment = 299,
7267 Asymmetric = 300,
7268 Atomic = 301,
7269 At = 302,
7270 Attach = 303,
7271 Attribute = 304,
7272 Authorization = 305,
7273 Backward = 306,
7274 Before = 307,
7275 BeginP = 308,
7276 Between = 309,
7277 Bigint = 310,
7278 Binary = 311,
7279 Bit = 312,
7280 BooleanP = 313,
7281 Both = 314,
7282 Breadth = 315,
7283 By = 316,
7284 Cache = 317,
7285 Call = 318,
7286 Called = 319,
7287 Cascade = 320,
7288 Cascaded = 321,
7289 Case = 322,
7290 Cast = 323,
7291 CatalogP = 324,
7292 Chain = 325,
7293 CharP = 326,
7294 Character = 327,
7295 Characteristics = 328,
7296 Check = 329,
7297 Checkpoint = 330,
7298 Class = 331,
7299 Close = 332,
7300 Cluster = 333,
7301 Coalesce = 334,
7302 Collate = 335,
7303 Collation = 336,
7304 Column = 337,
7305 Columns = 338,
7306 Comment = 339,
7307 Comments = 340,
7308 Commit = 341,
7309 Committed = 342,
7310 Compression = 343,
7311 Concurrently = 344,
7312 Conditional = 345,
7313 Configuration = 346,
7314 Conflict = 347,
7315 Connection = 348,
7316 Constraint = 349,
7317 Constraints = 350,
7318 ContentP = 351,
7319 ContinueP = 352,
7320 ConversionP = 353,
7321 Copy = 354,
7322 Cost = 355,
7323 Create = 356,
7324 Cross = 357,
7325 Csv = 358,
7326 Cube = 359,
7327 CurrentP = 360,
7328 CurrentCatalog = 361,
7329 CurrentDate = 362,
7330 CurrentRole = 363,
7331 CurrentSchema = 364,
7332 CurrentTime = 365,
7333 CurrentTimestamp = 366,
7334 CurrentUser = 367,
7335 Cursor = 368,
7336 Cycle = 369,
7337 DataP = 370,
7338 Database = 371,
7339 DayP = 372,
7340 Deallocate = 373,
7341 Dec = 374,
7342 DecimalP = 375,
7343 Declare = 376,
7344 Default = 377,
7345 Defaults = 378,
7346 Deferrable = 379,
7347 Deferred = 380,
7348 Definer = 381,
7349 DeleteP = 382,
7350 Delimiter = 383,
7351 Delimiters = 384,
7352 Depends = 385,
7353 Depth = 386,
7354 Desc = 387,
7355 Detach = 388,
7356 Dictionary = 389,
7357 DisableP = 390,
7358 Discard = 391,
7359 Distinct = 392,
7360 Do = 393,
7361 DocumentP = 394,
7362 DomainP = 395,
7363 DoubleP = 396,
7364 Drop = 397,
7365 Each = 398,
7366 Else = 399,
7367 EmptyP = 400,
7368 EnableP = 401,
7369 Encoding = 402,
7370 Encrypted = 403,
7371 EndP = 404,
7372 EnumP = 405,
7373 ErrorP = 406,
7374 Escape = 407,
7375 Event = 408,
7376 Except = 409,
7377 Exclude = 410,
7378 Excluding = 411,
7379 Exclusive = 412,
7380 Execute = 413,
7381 Exists = 414,
7382 Explain = 415,
7383 Expression = 416,
7384 Extension = 417,
7385 External = 418,
7386 Extract = 419,
7387 FalseP = 420,
7388 Family = 421,
7389 Fetch = 422,
7390 Filter = 423,
7391 Finalize = 424,
7392 FirstP = 425,
7393 FloatP = 426,
7394 Following = 427,
7395 For = 428,
7396 Force = 429,
7397 Foreign = 430,
7398 Format = 431,
7399 Forward = 432,
7400 Freeze = 433,
7401 From = 434,
7402 Full = 435,
7403 Function = 436,
7404 Functions = 437,
7405 Generated = 438,
7406 Global = 439,
7407 Grant = 440,
7408 Granted = 441,
7409 Greatest = 442,
7410 GroupP = 443,
7411 Grouping = 444,
7412 Groups = 445,
7413 Handler = 446,
7414 Having = 447,
7415 HeaderP = 448,
7416 Hold = 449,
7417 HourP = 450,
7418 IdentityP = 451,
7419 IfP = 452,
7420 Ilike = 453,
7421 Immediate = 454,
7422 Immutable = 455,
7423 ImplicitP = 456,
7424 ImportP = 457,
7425 InP = 458,
7426 Include = 459,
7427 Including = 460,
7428 Increment = 461,
7429 Indent = 462,
7430 Index = 463,
7431 Indexes = 464,
7432 Inherit = 465,
7433 Inherits = 466,
7434 Initially = 467,
7435 InlineP = 468,
7436 InnerP = 469,
7437 Inout = 470,
7438 InputP = 471,
7439 Insensitive = 472,
7440 Insert = 473,
7441 Instead = 474,
7442 IntP = 475,
7443 Integer = 476,
7444 Intersect = 477,
7445 Interval = 478,
7446 Into = 479,
7447 Invoker = 480,
7448 Is = 481,
7449 Isnull = 482,
7450 Isolation = 483,
7451 Join = 484,
7452 Json = 485,
7453 JsonArray = 486,
7454 JsonArrayagg = 487,
7455 JsonExists = 488,
7456 JsonObject = 489,
7457 JsonObjectagg = 490,
7458 JsonQuery = 491,
7459 JsonScalar = 492,
7460 JsonSerialize = 493,
7461 JsonTable = 494,
7462 JsonValue = 495,
7463 Keep = 496,
7464 Key = 497,
7465 Keys = 498,
7466 Label = 499,
7467 Language = 500,
7468 LargeP = 501,
7469 LastP = 502,
7470 LateralP = 503,
7471 Leading = 504,
7472 Leakproof = 505,
7473 Least = 506,
7474 Left = 507,
7475 Level = 508,
7476 Like = 509,
7477 Limit = 510,
7478 Listen = 511,
7479 Load = 512,
7480 Local = 513,
7481 Localtime = 514,
7482 Localtimestamp = 515,
7483 Location = 516,
7484 LockP = 517,
7485 Locked = 518,
7486 Logged = 519,
7487 Mapping = 520,
7488 Match = 521,
7489 Matched = 522,
7490 Materialized = 523,
7491 Maxvalue = 524,
7492 Merge = 525,
7493 MergeAction = 526,
7494 Method = 527,
7495 MinuteP = 528,
7496 Minvalue = 529,
7497 Mode = 530,
7498 MonthP = 531,
7499 Move = 532,
7500 NameP = 533,
7501 Names = 534,
7502 National = 535,
7503 Natural = 536,
7504 Nchar = 537,
7505 Nested = 538,
7506 New = 539,
7507 Next = 540,
7508 Nfc = 541,
7509 Nfd = 542,
7510 Nfkc = 543,
7511 Nfkd = 544,
7512 No = 545,
7513 None = 546,
7514 Normalize = 547,
7515 Normalized = 548,
7516 Not = 549,
7517 Nothing = 550,
7518 Notify = 551,
7519 Notnull = 552,
7520 Nowait = 553,
7521 NullP = 554,
7522 Nullif = 555,
7523 NullsP = 556,
7524 Numeric = 557,
7525 ObjectP = 558,
7526 Of = 559,
7527 Off = 560,
7528 Offset = 561,
7529 Oids = 562,
7530 Old = 563,
7531 Omit = 564,
7532 On = 565,
7533 Only = 566,
7534 Operator = 567,
7535 Option = 568,
7536 Options = 569,
7537 Or = 570,
7538 Order = 571,
7539 Ordinality = 572,
7540 Others = 573,
7541 OutP = 574,
7542 OuterP = 575,
7543 Over = 576,
7544 Overlaps = 577,
7545 Overlay = 578,
7546 Overriding = 579,
7547 Owned = 580,
7548 Owner = 581,
7549 Parallel = 582,
7550 Parameter = 583,
7551 Parser = 584,
7552 Partial = 585,
7553 Partition = 586,
7554 Passing = 587,
7555 Password = 588,
7556 Path = 589,
7557 Placing = 590,
7558 Plan = 591,
7559 Plans = 592,
7560 Policy = 593,
7561 Position = 594,
7562 Preceding = 595,
7563 Precision = 596,
7564 Preserve = 597,
7565 Prepare = 598,
7566 Prepared = 599,
7567 Primary = 600,
7568 Prior = 601,
7569 Privileges = 602,
7570 Procedural = 603,
7571 Procedure = 604,
7572 Procedures = 605,
7573 Program = 606,
7574 Publication = 607,
7575 Quote = 608,
7576 Quotes = 609,
7577 Range = 610,
7578 Read = 611,
7579 Real = 612,
7580 Reassign = 613,
7581 Recheck = 614,
7582 Recursive = 615,
7583 RefP = 616,
7584 References = 617,
7585 Referencing = 618,
7586 Refresh = 619,
7587 Reindex = 620,
7588 RelativeP = 621,
7589 Release = 622,
7590 Rename = 623,
7591 Repeatable = 624,
7592 Replace = 625,
7593 Replica = 626,
7594 Reset = 627,
7595 Restart = 628,
7596 Restrict = 629,
7597 Return = 630,
7598 Returning = 631,
7599 Returns = 632,
7600 Revoke = 633,
7601 Right = 634,
7602 Role = 635,
7603 Rollback = 636,
7604 Rollup = 637,
7605 Routine = 638,
7606 Routines = 639,
7607 Row = 640,
7608 Rows = 641,
7609 Rule = 642,
7610 Savepoint = 643,
7611 Scalar = 644,
7612 Schema = 645,
7613 Schemas = 646,
7614 Scroll = 647,
7615 Search = 648,
7616 SecondP = 649,
7617 Security = 650,
7618 Select = 651,
7619 Sequence = 652,
7620 Sequences = 653,
7621 Serializable = 654,
7622 Server = 655,
7623 Session = 656,
7624 SessionUser = 657,
7625 Set = 658,
7626 Sets = 659,
7627 Setof = 660,
7628 Share = 661,
7629 Show = 662,
7630 Similar = 663,
7631 Simple = 664,
7632 Skip = 665,
7633 Smallint = 666,
7634 Snapshot = 667,
7635 Some = 668,
7636 Source = 669,
7637 SqlP = 670,
7638 Stable = 671,
7639 StandaloneP = 672,
7640 Start = 673,
7641 Statement = 674,
7642 Statistics = 675,
7643 Stdin = 676,
7644 Stdout = 677,
7645 Storage = 678,
7646 Stored = 679,
7647 StrictP = 680,
7648 StringP = 681,
7649 StripP = 682,
7650 Subscription = 683,
7651 Substring = 684,
7652 Support = 685,
7653 Symmetric = 686,
7654 Sysid = 687,
7655 SystemP = 688,
7656 SystemUser = 689,
7657 Table = 690,
7658 Tables = 691,
7659 Tablesample = 692,
7660 Tablespace = 693,
7661 Target = 694,
7662 Temp = 695,
7663 Template = 696,
7664 Temporary = 697,
7665 TextP = 698,
7666 Then = 699,
7667 Ties = 700,
7668 Time = 701,
7669 Timestamp = 702,
7670 To = 703,
7671 Trailing = 704,
7672 Transaction = 705,
7673 Transform = 706,
7674 Treat = 707,
7675 Trigger = 708,
7676 Trim = 709,
7677 TrueP = 710,
7678 Truncate = 711,
7679 Trusted = 712,
7680 TypeP = 713,
7681 TypesP = 714,
7682 Uescape = 715,
7683 Unbounded = 716,
7684 Unconditional = 717,
7685 Uncommitted = 718,
7686 Unencrypted = 719,
7687 Union = 720,
7688 Unique = 721,
7689 Unknown = 722,
7690 Unlisten = 723,
7691 Unlogged = 724,
7692 Until = 725,
7693 Update = 726,
7694 User = 727,
7695 Using = 728,
7696 Vacuum = 729,
7697 Valid = 730,
7698 Validate = 731,
7699 Validator = 732,
7700 ValueP = 733,
7701 Values = 734,
7702 Varchar = 735,
7703 Variadic = 736,
7704 Varying = 737,
7705 Verbose = 738,
7706 VersionP = 739,
7707 View = 740,
7708 Views = 741,
7709 Volatile = 742,
7710 When = 743,
7711 Where = 744,
7712 WhitespaceP = 745,
7713 Window = 746,
7714 With = 747,
7715 Within = 748,
7716 Without = 749,
7717 Work = 750,
7718 Wrapper = 751,
7719 Write = 752,
7720 XmlP = 753,
7721 Xmlattributes = 754,
7722 Xmlconcat = 755,
7723 Xmlelement = 756,
7724 Xmlexists = 757,
7725 Xmlforest = 758,
7726 Xmlnamespaces = 759,
7727 Xmlparse = 760,
7728 Xmlpi = 761,
7729 Xmlroot = 762,
7730 Xmlserialize = 763,
7731 Xmltable = 764,
7732 YearP = 765,
7733 YesP = 766,
7734 Zone = 767,
7735 FormatLa = 768,
7736 NotLa = 769,
7737 NullsLa = 770,
7738 WithLa = 771,
7739 WithoutLa = 772,
7740 ModeTypeName = 773,
7741 ModePlpgsqlExpr = 774,
7742 ModePlpgsqlAssign1 = 775,
7743 ModePlpgsqlAssign2 = 776,
7744 ModePlpgsqlAssign3 = 777,
7745 Uminus = 778,
7746}
7747impl Token {
7748 pub fn as_str_name(&self) -> &'static str {
7753 match self {
7754 Self::Nul => "NUL",
7755 Self::Ascii36 => "ASCII_36",
7756 Self::Ascii37 => "ASCII_37",
7757 Self::Ascii40 => "ASCII_40",
7758 Self::Ascii41 => "ASCII_41",
7759 Self::Ascii42 => "ASCII_42",
7760 Self::Ascii43 => "ASCII_43",
7761 Self::Ascii44 => "ASCII_44",
7762 Self::Ascii45 => "ASCII_45",
7763 Self::Ascii46 => "ASCII_46",
7764 Self::Ascii47 => "ASCII_47",
7765 Self::Ascii58 => "ASCII_58",
7766 Self::Ascii59 => "ASCII_59",
7767 Self::Ascii60 => "ASCII_60",
7768 Self::Ascii61 => "ASCII_61",
7769 Self::Ascii62 => "ASCII_62",
7770 Self::Ascii63 => "ASCII_63",
7771 Self::Ascii91 => "ASCII_91",
7772 Self::Ascii92 => "ASCII_92",
7773 Self::Ascii93 => "ASCII_93",
7774 Self::Ascii94 => "ASCII_94",
7775 Self::Ident => "IDENT",
7776 Self::Uident => "UIDENT",
7777 Self::Fconst => "FCONST",
7778 Self::Sconst => "SCONST",
7779 Self::Usconst => "USCONST",
7780 Self::Bconst => "BCONST",
7781 Self::Xconst => "XCONST",
7782 Self::Op => "Op",
7783 Self::Iconst => "ICONST",
7784 Self::Param => "PARAM",
7785 Self::Typecast => "TYPECAST",
7786 Self::DotDot => "DOT_DOT",
7787 Self::ColonEquals => "COLON_EQUALS",
7788 Self::EqualsGreater => "EQUALS_GREATER",
7789 Self::LessEquals => "LESS_EQUALS",
7790 Self::GreaterEquals => "GREATER_EQUALS",
7791 Self::NotEquals => "NOT_EQUALS",
7792 Self::SqlComment => "SQL_COMMENT",
7793 Self::CComment => "C_COMMENT",
7794 Self::AbortP => "ABORT_P",
7795 Self::Absent => "ABSENT",
7796 Self::AbsoluteP => "ABSOLUTE_P",
7797 Self::Access => "ACCESS",
7798 Self::Action => "ACTION",
7799 Self::AddP => "ADD_P",
7800 Self::Admin => "ADMIN",
7801 Self::After => "AFTER",
7802 Self::Aggregate => "AGGREGATE",
7803 Self::All => "ALL",
7804 Self::Also => "ALSO",
7805 Self::Alter => "ALTER",
7806 Self::Always => "ALWAYS",
7807 Self::Analyse => "ANALYSE",
7808 Self::Analyze => "ANALYZE",
7809 Self::And => "AND",
7810 Self::Any => "ANY",
7811 Self::Array => "ARRAY",
7812 Self::As => "AS",
7813 Self::Asc => "ASC",
7814 Self::Asensitive => "ASENSITIVE",
7815 Self::Assertion => "ASSERTION",
7816 Self::Assignment => "ASSIGNMENT",
7817 Self::Asymmetric => "ASYMMETRIC",
7818 Self::Atomic => "ATOMIC",
7819 Self::At => "AT",
7820 Self::Attach => "ATTACH",
7821 Self::Attribute => "ATTRIBUTE",
7822 Self::Authorization => "AUTHORIZATION",
7823 Self::Backward => "BACKWARD",
7824 Self::Before => "BEFORE",
7825 Self::BeginP => "BEGIN_P",
7826 Self::Between => "BETWEEN",
7827 Self::Bigint => "BIGINT",
7828 Self::Binary => "BINARY",
7829 Self::Bit => "BIT",
7830 Self::BooleanP => "BOOLEAN_P",
7831 Self::Both => "BOTH",
7832 Self::Breadth => "BREADTH",
7833 Self::By => "BY",
7834 Self::Cache => "CACHE",
7835 Self::Call => "CALL",
7836 Self::Called => "CALLED",
7837 Self::Cascade => "CASCADE",
7838 Self::Cascaded => "CASCADED",
7839 Self::Case => "CASE",
7840 Self::Cast => "CAST",
7841 Self::CatalogP => "CATALOG_P",
7842 Self::Chain => "CHAIN",
7843 Self::CharP => "CHAR_P",
7844 Self::Character => "CHARACTER",
7845 Self::Characteristics => "CHARACTERISTICS",
7846 Self::Check => "CHECK",
7847 Self::Checkpoint => "CHECKPOINT",
7848 Self::Class => "CLASS",
7849 Self::Close => "CLOSE",
7850 Self::Cluster => "CLUSTER",
7851 Self::Coalesce => "COALESCE",
7852 Self::Collate => "COLLATE",
7853 Self::Collation => "COLLATION",
7854 Self::Column => "COLUMN",
7855 Self::Columns => "COLUMNS",
7856 Self::Comment => "COMMENT",
7857 Self::Comments => "COMMENTS",
7858 Self::Commit => "COMMIT",
7859 Self::Committed => "COMMITTED",
7860 Self::Compression => "COMPRESSION",
7861 Self::Concurrently => "CONCURRENTLY",
7862 Self::Conditional => "CONDITIONAL",
7863 Self::Configuration => "CONFIGURATION",
7864 Self::Conflict => "CONFLICT",
7865 Self::Connection => "CONNECTION",
7866 Self::Constraint => "CONSTRAINT",
7867 Self::Constraints => "CONSTRAINTS",
7868 Self::ContentP => "CONTENT_P",
7869 Self::ContinueP => "CONTINUE_P",
7870 Self::ConversionP => "CONVERSION_P",
7871 Self::Copy => "COPY",
7872 Self::Cost => "COST",
7873 Self::Create => "CREATE",
7874 Self::Cross => "CROSS",
7875 Self::Csv => "CSV",
7876 Self::Cube => "CUBE",
7877 Self::CurrentP => "CURRENT_P",
7878 Self::CurrentCatalog => "CURRENT_CATALOG",
7879 Self::CurrentDate => "CURRENT_DATE",
7880 Self::CurrentRole => "CURRENT_ROLE",
7881 Self::CurrentSchema => "CURRENT_SCHEMA",
7882 Self::CurrentTime => "CURRENT_TIME",
7883 Self::CurrentTimestamp => "CURRENT_TIMESTAMP",
7884 Self::CurrentUser => "CURRENT_USER",
7885 Self::Cursor => "CURSOR",
7886 Self::Cycle => "CYCLE",
7887 Self::DataP => "DATA_P",
7888 Self::Database => "DATABASE",
7889 Self::DayP => "DAY_P",
7890 Self::Deallocate => "DEALLOCATE",
7891 Self::Dec => "DEC",
7892 Self::DecimalP => "DECIMAL_P",
7893 Self::Declare => "DECLARE",
7894 Self::Default => "DEFAULT",
7895 Self::Defaults => "DEFAULTS",
7896 Self::Deferrable => "DEFERRABLE",
7897 Self::Deferred => "DEFERRED",
7898 Self::Definer => "DEFINER",
7899 Self::DeleteP => "DELETE_P",
7900 Self::Delimiter => "DELIMITER",
7901 Self::Delimiters => "DELIMITERS",
7902 Self::Depends => "DEPENDS",
7903 Self::Depth => "DEPTH",
7904 Self::Desc => "DESC",
7905 Self::Detach => "DETACH",
7906 Self::Dictionary => "DICTIONARY",
7907 Self::DisableP => "DISABLE_P",
7908 Self::Discard => "DISCARD",
7909 Self::Distinct => "DISTINCT",
7910 Self::Do => "DO",
7911 Self::DocumentP => "DOCUMENT_P",
7912 Self::DomainP => "DOMAIN_P",
7913 Self::DoubleP => "DOUBLE_P",
7914 Self::Drop => "DROP",
7915 Self::Each => "EACH",
7916 Self::Else => "ELSE",
7917 Self::EmptyP => "EMPTY_P",
7918 Self::EnableP => "ENABLE_P",
7919 Self::Encoding => "ENCODING",
7920 Self::Encrypted => "ENCRYPTED",
7921 Self::EndP => "END_P",
7922 Self::EnumP => "ENUM_P",
7923 Self::ErrorP => "ERROR_P",
7924 Self::Escape => "ESCAPE",
7925 Self::Event => "EVENT",
7926 Self::Except => "EXCEPT",
7927 Self::Exclude => "EXCLUDE",
7928 Self::Excluding => "EXCLUDING",
7929 Self::Exclusive => "EXCLUSIVE",
7930 Self::Execute => "EXECUTE",
7931 Self::Exists => "EXISTS",
7932 Self::Explain => "EXPLAIN",
7933 Self::Expression => "EXPRESSION",
7934 Self::Extension => "EXTENSION",
7935 Self::External => "EXTERNAL",
7936 Self::Extract => "EXTRACT",
7937 Self::FalseP => "FALSE_P",
7938 Self::Family => "FAMILY",
7939 Self::Fetch => "FETCH",
7940 Self::Filter => "FILTER",
7941 Self::Finalize => "FINALIZE",
7942 Self::FirstP => "FIRST_P",
7943 Self::FloatP => "FLOAT_P",
7944 Self::Following => "FOLLOWING",
7945 Self::For => "FOR",
7946 Self::Force => "FORCE",
7947 Self::Foreign => "FOREIGN",
7948 Self::Format => "FORMAT",
7949 Self::Forward => "FORWARD",
7950 Self::Freeze => "FREEZE",
7951 Self::From => "FROM",
7952 Self::Full => "FULL",
7953 Self::Function => "FUNCTION",
7954 Self::Functions => "FUNCTIONS",
7955 Self::Generated => "GENERATED",
7956 Self::Global => "GLOBAL",
7957 Self::Grant => "GRANT",
7958 Self::Granted => "GRANTED",
7959 Self::Greatest => "GREATEST",
7960 Self::GroupP => "GROUP_P",
7961 Self::Grouping => "GROUPING",
7962 Self::Groups => "GROUPS",
7963 Self::Handler => "HANDLER",
7964 Self::Having => "HAVING",
7965 Self::HeaderP => "HEADER_P",
7966 Self::Hold => "HOLD",
7967 Self::HourP => "HOUR_P",
7968 Self::IdentityP => "IDENTITY_P",
7969 Self::IfP => "IF_P",
7970 Self::Ilike => "ILIKE",
7971 Self::Immediate => "IMMEDIATE",
7972 Self::Immutable => "IMMUTABLE",
7973 Self::ImplicitP => "IMPLICIT_P",
7974 Self::ImportP => "IMPORT_P",
7975 Self::InP => "IN_P",
7976 Self::Include => "INCLUDE",
7977 Self::Including => "INCLUDING",
7978 Self::Increment => "INCREMENT",
7979 Self::Indent => "INDENT",
7980 Self::Index => "INDEX",
7981 Self::Indexes => "INDEXES",
7982 Self::Inherit => "INHERIT",
7983 Self::Inherits => "INHERITS",
7984 Self::Initially => "INITIALLY",
7985 Self::InlineP => "INLINE_P",
7986 Self::InnerP => "INNER_P",
7987 Self::Inout => "INOUT",
7988 Self::InputP => "INPUT_P",
7989 Self::Insensitive => "INSENSITIVE",
7990 Self::Insert => "INSERT",
7991 Self::Instead => "INSTEAD",
7992 Self::IntP => "INT_P",
7993 Self::Integer => "INTEGER",
7994 Self::Intersect => "INTERSECT",
7995 Self::Interval => "INTERVAL",
7996 Self::Into => "INTO",
7997 Self::Invoker => "INVOKER",
7998 Self::Is => "IS",
7999 Self::Isnull => "ISNULL",
8000 Self::Isolation => "ISOLATION",
8001 Self::Join => "JOIN",
8002 Self::Json => "JSON",
8003 Self::JsonArray => "JSON_ARRAY",
8004 Self::JsonArrayagg => "JSON_ARRAYAGG",
8005 Self::JsonExists => "JSON_EXISTS",
8006 Self::JsonObject => "JSON_OBJECT",
8007 Self::JsonObjectagg => "JSON_OBJECTAGG",
8008 Self::JsonQuery => "JSON_QUERY",
8009 Self::JsonScalar => "JSON_SCALAR",
8010 Self::JsonSerialize => "JSON_SERIALIZE",
8011 Self::JsonTable => "JSON_TABLE",
8012 Self::JsonValue => "JSON_VALUE",
8013 Self::Keep => "KEEP",
8014 Self::Key => "KEY",
8015 Self::Keys => "KEYS",
8016 Self::Label => "LABEL",
8017 Self::Language => "LANGUAGE",
8018 Self::LargeP => "LARGE_P",
8019 Self::LastP => "LAST_P",
8020 Self::LateralP => "LATERAL_P",
8021 Self::Leading => "LEADING",
8022 Self::Leakproof => "LEAKPROOF",
8023 Self::Least => "LEAST",
8024 Self::Left => "LEFT",
8025 Self::Level => "LEVEL",
8026 Self::Like => "LIKE",
8027 Self::Limit => "LIMIT",
8028 Self::Listen => "LISTEN",
8029 Self::Load => "LOAD",
8030 Self::Local => "LOCAL",
8031 Self::Localtime => "LOCALTIME",
8032 Self::Localtimestamp => "LOCALTIMESTAMP",
8033 Self::Location => "LOCATION",
8034 Self::LockP => "LOCK_P",
8035 Self::Locked => "LOCKED",
8036 Self::Logged => "LOGGED",
8037 Self::Mapping => "MAPPING",
8038 Self::Match => "MATCH",
8039 Self::Matched => "MATCHED",
8040 Self::Materialized => "MATERIALIZED",
8041 Self::Maxvalue => "MAXVALUE",
8042 Self::Merge => "MERGE",
8043 Self::MergeAction => "MERGE_ACTION",
8044 Self::Method => "METHOD",
8045 Self::MinuteP => "MINUTE_P",
8046 Self::Minvalue => "MINVALUE",
8047 Self::Mode => "MODE",
8048 Self::MonthP => "MONTH_P",
8049 Self::Move => "MOVE",
8050 Self::NameP => "NAME_P",
8051 Self::Names => "NAMES",
8052 Self::National => "NATIONAL",
8053 Self::Natural => "NATURAL",
8054 Self::Nchar => "NCHAR",
8055 Self::Nested => "NESTED",
8056 Self::New => "NEW",
8057 Self::Next => "NEXT",
8058 Self::Nfc => "NFC",
8059 Self::Nfd => "NFD",
8060 Self::Nfkc => "NFKC",
8061 Self::Nfkd => "NFKD",
8062 Self::No => "NO",
8063 Self::None => "NONE",
8064 Self::Normalize => "NORMALIZE",
8065 Self::Normalized => "NORMALIZED",
8066 Self::Not => "NOT",
8067 Self::Nothing => "NOTHING",
8068 Self::Notify => "NOTIFY",
8069 Self::Notnull => "NOTNULL",
8070 Self::Nowait => "NOWAIT",
8071 Self::NullP => "NULL_P",
8072 Self::Nullif => "NULLIF",
8073 Self::NullsP => "NULLS_P",
8074 Self::Numeric => "NUMERIC",
8075 Self::ObjectP => "OBJECT_P",
8076 Self::Of => "OF",
8077 Self::Off => "OFF",
8078 Self::Offset => "OFFSET",
8079 Self::Oids => "OIDS",
8080 Self::Old => "OLD",
8081 Self::Omit => "OMIT",
8082 Self::On => "ON",
8083 Self::Only => "ONLY",
8084 Self::Operator => "OPERATOR",
8085 Self::Option => "OPTION",
8086 Self::Options => "OPTIONS",
8087 Self::Or => "OR",
8088 Self::Order => "ORDER",
8089 Self::Ordinality => "ORDINALITY",
8090 Self::Others => "OTHERS",
8091 Self::OutP => "OUT_P",
8092 Self::OuterP => "OUTER_P",
8093 Self::Over => "OVER",
8094 Self::Overlaps => "OVERLAPS",
8095 Self::Overlay => "OVERLAY",
8096 Self::Overriding => "OVERRIDING",
8097 Self::Owned => "OWNED",
8098 Self::Owner => "OWNER",
8099 Self::Parallel => "PARALLEL",
8100 Self::Parameter => "PARAMETER",
8101 Self::Parser => "PARSER",
8102 Self::Partial => "PARTIAL",
8103 Self::Partition => "PARTITION",
8104 Self::Passing => "PASSING",
8105 Self::Password => "PASSWORD",
8106 Self::Path => "PATH",
8107 Self::Placing => "PLACING",
8108 Self::Plan => "PLAN",
8109 Self::Plans => "PLANS",
8110 Self::Policy => "POLICY",
8111 Self::Position => "POSITION",
8112 Self::Preceding => "PRECEDING",
8113 Self::Precision => "PRECISION",
8114 Self::Preserve => "PRESERVE",
8115 Self::Prepare => "PREPARE",
8116 Self::Prepared => "PREPARED",
8117 Self::Primary => "PRIMARY",
8118 Self::Prior => "PRIOR",
8119 Self::Privileges => "PRIVILEGES",
8120 Self::Procedural => "PROCEDURAL",
8121 Self::Procedure => "PROCEDURE",
8122 Self::Procedures => "PROCEDURES",
8123 Self::Program => "PROGRAM",
8124 Self::Publication => "PUBLICATION",
8125 Self::Quote => "QUOTE",
8126 Self::Quotes => "QUOTES",
8127 Self::Range => "RANGE",
8128 Self::Read => "READ",
8129 Self::Real => "REAL",
8130 Self::Reassign => "REASSIGN",
8131 Self::Recheck => "RECHECK",
8132 Self::Recursive => "RECURSIVE",
8133 Self::RefP => "REF_P",
8134 Self::References => "REFERENCES",
8135 Self::Referencing => "REFERENCING",
8136 Self::Refresh => "REFRESH",
8137 Self::Reindex => "REINDEX",
8138 Self::RelativeP => "RELATIVE_P",
8139 Self::Release => "RELEASE",
8140 Self::Rename => "RENAME",
8141 Self::Repeatable => "REPEATABLE",
8142 Self::Replace => "REPLACE",
8143 Self::Replica => "REPLICA",
8144 Self::Reset => "RESET",
8145 Self::Restart => "RESTART",
8146 Self::Restrict => "RESTRICT",
8147 Self::Return => "RETURN",
8148 Self::Returning => "RETURNING",
8149 Self::Returns => "RETURNS",
8150 Self::Revoke => "REVOKE",
8151 Self::Right => "RIGHT",
8152 Self::Role => "ROLE",
8153 Self::Rollback => "ROLLBACK",
8154 Self::Rollup => "ROLLUP",
8155 Self::Routine => "ROUTINE",
8156 Self::Routines => "ROUTINES",
8157 Self::Row => "ROW",
8158 Self::Rows => "ROWS",
8159 Self::Rule => "RULE",
8160 Self::Savepoint => "SAVEPOINT",
8161 Self::Scalar => "SCALAR",
8162 Self::Schema => "SCHEMA",
8163 Self::Schemas => "SCHEMAS",
8164 Self::Scroll => "SCROLL",
8165 Self::Search => "SEARCH",
8166 Self::SecondP => "SECOND_P",
8167 Self::Security => "SECURITY",
8168 Self::Select => "SELECT",
8169 Self::Sequence => "SEQUENCE",
8170 Self::Sequences => "SEQUENCES",
8171 Self::Serializable => "SERIALIZABLE",
8172 Self::Server => "SERVER",
8173 Self::Session => "SESSION",
8174 Self::SessionUser => "SESSION_USER",
8175 Self::Set => "SET",
8176 Self::Sets => "SETS",
8177 Self::Setof => "SETOF",
8178 Self::Share => "SHARE",
8179 Self::Show => "SHOW",
8180 Self::Similar => "SIMILAR",
8181 Self::Simple => "SIMPLE",
8182 Self::Skip => "SKIP",
8183 Self::Smallint => "SMALLINT",
8184 Self::Snapshot => "SNAPSHOT",
8185 Self::Some => "SOME",
8186 Self::Source => "SOURCE",
8187 Self::SqlP => "SQL_P",
8188 Self::Stable => "STABLE",
8189 Self::StandaloneP => "STANDALONE_P",
8190 Self::Start => "START",
8191 Self::Statement => "STATEMENT",
8192 Self::Statistics => "STATISTICS",
8193 Self::Stdin => "STDIN",
8194 Self::Stdout => "STDOUT",
8195 Self::Storage => "STORAGE",
8196 Self::Stored => "STORED",
8197 Self::StrictP => "STRICT_P",
8198 Self::StringP => "STRING_P",
8199 Self::StripP => "STRIP_P",
8200 Self::Subscription => "SUBSCRIPTION",
8201 Self::Substring => "SUBSTRING",
8202 Self::Support => "SUPPORT",
8203 Self::Symmetric => "SYMMETRIC",
8204 Self::Sysid => "SYSID",
8205 Self::SystemP => "SYSTEM_P",
8206 Self::SystemUser => "SYSTEM_USER",
8207 Self::Table => "TABLE",
8208 Self::Tables => "TABLES",
8209 Self::Tablesample => "TABLESAMPLE",
8210 Self::Tablespace => "TABLESPACE",
8211 Self::Target => "TARGET",
8212 Self::Temp => "TEMP",
8213 Self::Template => "TEMPLATE",
8214 Self::Temporary => "TEMPORARY",
8215 Self::TextP => "TEXT_P",
8216 Self::Then => "THEN",
8217 Self::Ties => "TIES",
8218 Self::Time => "TIME",
8219 Self::Timestamp => "TIMESTAMP",
8220 Self::To => "TO",
8221 Self::Trailing => "TRAILING",
8222 Self::Transaction => "TRANSACTION",
8223 Self::Transform => "TRANSFORM",
8224 Self::Treat => "TREAT",
8225 Self::Trigger => "TRIGGER",
8226 Self::Trim => "TRIM",
8227 Self::TrueP => "TRUE_P",
8228 Self::Truncate => "TRUNCATE",
8229 Self::Trusted => "TRUSTED",
8230 Self::TypeP => "TYPE_P",
8231 Self::TypesP => "TYPES_P",
8232 Self::Uescape => "UESCAPE",
8233 Self::Unbounded => "UNBOUNDED",
8234 Self::Unconditional => "UNCONDITIONAL",
8235 Self::Uncommitted => "UNCOMMITTED",
8236 Self::Unencrypted => "UNENCRYPTED",
8237 Self::Union => "UNION",
8238 Self::Unique => "UNIQUE",
8239 Self::Unknown => "UNKNOWN",
8240 Self::Unlisten => "UNLISTEN",
8241 Self::Unlogged => "UNLOGGED",
8242 Self::Until => "UNTIL",
8243 Self::Update => "UPDATE",
8244 Self::User => "USER",
8245 Self::Using => "USING",
8246 Self::Vacuum => "VACUUM",
8247 Self::Valid => "VALID",
8248 Self::Validate => "VALIDATE",
8249 Self::Validator => "VALIDATOR",
8250 Self::ValueP => "VALUE_P",
8251 Self::Values => "VALUES",
8252 Self::Varchar => "VARCHAR",
8253 Self::Variadic => "VARIADIC",
8254 Self::Varying => "VARYING",
8255 Self::Verbose => "VERBOSE",
8256 Self::VersionP => "VERSION_P",
8257 Self::View => "VIEW",
8258 Self::Views => "VIEWS",
8259 Self::Volatile => "VOLATILE",
8260 Self::When => "WHEN",
8261 Self::Where => "WHERE",
8262 Self::WhitespaceP => "WHITESPACE_P",
8263 Self::Window => "WINDOW",
8264 Self::With => "WITH",
8265 Self::Within => "WITHIN",
8266 Self::Without => "WITHOUT",
8267 Self::Work => "WORK",
8268 Self::Wrapper => "WRAPPER",
8269 Self::Write => "WRITE",
8270 Self::XmlP => "XML_P",
8271 Self::Xmlattributes => "XMLATTRIBUTES",
8272 Self::Xmlconcat => "XMLCONCAT",
8273 Self::Xmlelement => "XMLELEMENT",
8274 Self::Xmlexists => "XMLEXISTS",
8275 Self::Xmlforest => "XMLFOREST",
8276 Self::Xmlnamespaces => "XMLNAMESPACES",
8277 Self::Xmlparse => "XMLPARSE",
8278 Self::Xmlpi => "XMLPI",
8279 Self::Xmlroot => "XMLROOT",
8280 Self::Xmlserialize => "XMLSERIALIZE",
8281 Self::Xmltable => "XMLTABLE",
8282 Self::YearP => "YEAR_P",
8283 Self::YesP => "YES_P",
8284 Self::Zone => "ZONE",
8285 Self::FormatLa => "FORMAT_LA",
8286 Self::NotLa => "NOT_LA",
8287 Self::NullsLa => "NULLS_LA",
8288 Self::WithLa => "WITH_LA",
8289 Self::WithoutLa => "WITHOUT_LA",
8290 Self::ModeTypeName => "MODE_TYPE_NAME",
8291 Self::ModePlpgsqlExpr => "MODE_PLPGSQL_EXPR",
8292 Self::ModePlpgsqlAssign1 => "MODE_PLPGSQL_ASSIGN1",
8293 Self::ModePlpgsqlAssign2 => "MODE_PLPGSQL_ASSIGN2",
8294 Self::ModePlpgsqlAssign3 => "MODE_PLPGSQL_ASSIGN3",
8295 Self::Uminus => "UMINUS",
8296 }
8297 }
8298 pub fn from_str_name(value: &str) -> ::core::option::Option<Self> {
8300 match value {
8301 "NUL" => Some(Self::Nul),
8302 "ASCII_36" => Some(Self::Ascii36),
8303 "ASCII_37" => Some(Self::Ascii37),
8304 "ASCII_40" => Some(Self::Ascii40),
8305 "ASCII_41" => Some(Self::Ascii41),
8306 "ASCII_42" => Some(Self::Ascii42),
8307 "ASCII_43" => Some(Self::Ascii43),
8308 "ASCII_44" => Some(Self::Ascii44),
8309 "ASCII_45" => Some(Self::Ascii45),
8310 "ASCII_46" => Some(Self::Ascii46),
8311 "ASCII_47" => Some(Self::Ascii47),
8312 "ASCII_58" => Some(Self::Ascii58),
8313 "ASCII_59" => Some(Self::Ascii59),
8314 "ASCII_60" => Some(Self::Ascii60),
8315 "ASCII_61" => Some(Self::Ascii61),
8316 "ASCII_62" => Some(Self::Ascii62),
8317 "ASCII_63" => Some(Self::Ascii63),
8318 "ASCII_91" => Some(Self::Ascii91),
8319 "ASCII_92" => Some(Self::Ascii92),
8320 "ASCII_93" => Some(Self::Ascii93),
8321 "ASCII_94" => Some(Self::Ascii94),
8322 "IDENT" => Some(Self::Ident),
8323 "UIDENT" => Some(Self::Uident),
8324 "FCONST" => Some(Self::Fconst),
8325 "SCONST" => Some(Self::Sconst),
8326 "USCONST" => Some(Self::Usconst),
8327 "BCONST" => Some(Self::Bconst),
8328 "XCONST" => Some(Self::Xconst),
8329 "Op" => Some(Self::Op),
8330 "ICONST" => Some(Self::Iconst),
8331 "PARAM" => Some(Self::Param),
8332 "TYPECAST" => Some(Self::Typecast),
8333 "DOT_DOT" => Some(Self::DotDot),
8334 "COLON_EQUALS" => Some(Self::ColonEquals),
8335 "EQUALS_GREATER" => Some(Self::EqualsGreater),
8336 "LESS_EQUALS" => Some(Self::LessEquals),
8337 "GREATER_EQUALS" => Some(Self::GreaterEquals),
8338 "NOT_EQUALS" => Some(Self::NotEquals),
8339 "SQL_COMMENT" => Some(Self::SqlComment),
8340 "C_COMMENT" => Some(Self::CComment),
8341 "ABORT_P" => Some(Self::AbortP),
8342 "ABSENT" => Some(Self::Absent),
8343 "ABSOLUTE_P" => Some(Self::AbsoluteP),
8344 "ACCESS" => Some(Self::Access),
8345 "ACTION" => Some(Self::Action),
8346 "ADD_P" => Some(Self::AddP),
8347 "ADMIN" => Some(Self::Admin),
8348 "AFTER" => Some(Self::After),
8349 "AGGREGATE" => Some(Self::Aggregate),
8350 "ALL" => Some(Self::All),
8351 "ALSO" => Some(Self::Also),
8352 "ALTER" => Some(Self::Alter),
8353 "ALWAYS" => Some(Self::Always),
8354 "ANALYSE" => Some(Self::Analyse),
8355 "ANALYZE" => Some(Self::Analyze),
8356 "AND" => Some(Self::And),
8357 "ANY" => Some(Self::Any),
8358 "ARRAY" => Some(Self::Array),
8359 "AS" => Some(Self::As),
8360 "ASC" => Some(Self::Asc),
8361 "ASENSITIVE" => Some(Self::Asensitive),
8362 "ASSERTION" => Some(Self::Assertion),
8363 "ASSIGNMENT" => Some(Self::Assignment),
8364 "ASYMMETRIC" => Some(Self::Asymmetric),
8365 "ATOMIC" => Some(Self::Atomic),
8366 "AT" => Some(Self::At),
8367 "ATTACH" => Some(Self::Attach),
8368 "ATTRIBUTE" => Some(Self::Attribute),
8369 "AUTHORIZATION" => Some(Self::Authorization),
8370 "BACKWARD" => Some(Self::Backward),
8371 "BEFORE" => Some(Self::Before),
8372 "BEGIN_P" => Some(Self::BeginP),
8373 "BETWEEN" => Some(Self::Between),
8374 "BIGINT" => Some(Self::Bigint),
8375 "BINARY" => Some(Self::Binary),
8376 "BIT" => Some(Self::Bit),
8377 "BOOLEAN_P" => Some(Self::BooleanP),
8378 "BOTH" => Some(Self::Both),
8379 "BREADTH" => Some(Self::Breadth),
8380 "BY" => Some(Self::By),
8381 "CACHE" => Some(Self::Cache),
8382 "CALL" => Some(Self::Call),
8383 "CALLED" => Some(Self::Called),
8384 "CASCADE" => Some(Self::Cascade),
8385 "CASCADED" => Some(Self::Cascaded),
8386 "CASE" => Some(Self::Case),
8387 "CAST" => Some(Self::Cast),
8388 "CATALOG_P" => Some(Self::CatalogP),
8389 "CHAIN" => Some(Self::Chain),
8390 "CHAR_P" => Some(Self::CharP),
8391 "CHARACTER" => Some(Self::Character),
8392 "CHARACTERISTICS" => Some(Self::Characteristics),
8393 "CHECK" => Some(Self::Check),
8394 "CHECKPOINT" => Some(Self::Checkpoint),
8395 "CLASS" => Some(Self::Class),
8396 "CLOSE" => Some(Self::Close),
8397 "CLUSTER" => Some(Self::Cluster),
8398 "COALESCE" => Some(Self::Coalesce),
8399 "COLLATE" => Some(Self::Collate),
8400 "COLLATION" => Some(Self::Collation),
8401 "COLUMN" => Some(Self::Column),
8402 "COLUMNS" => Some(Self::Columns),
8403 "COMMENT" => Some(Self::Comment),
8404 "COMMENTS" => Some(Self::Comments),
8405 "COMMIT" => Some(Self::Commit),
8406 "COMMITTED" => Some(Self::Committed),
8407 "COMPRESSION" => Some(Self::Compression),
8408 "CONCURRENTLY" => Some(Self::Concurrently),
8409 "CONDITIONAL" => Some(Self::Conditional),
8410 "CONFIGURATION" => Some(Self::Configuration),
8411 "CONFLICT" => Some(Self::Conflict),
8412 "CONNECTION" => Some(Self::Connection),
8413 "CONSTRAINT" => Some(Self::Constraint),
8414 "CONSTRAINTS" => Some(Self::Constraints),
8415 "CONTENT_P" => Some(Self::ContentP),
8416 "CONTINUE_P" => Some(Self::ContinueP),
8417 "CONVERSION_P" => Some(Self::ConversionP),
8418 "COPY" => Some(Self::Copy),
8419 "COST" => Some(Self::Cost),
8420 "CREATE" => Some(Self::Create),
8421 "CROSS" => Some(Self::Cross),
8422 "CSV" => Some(Self::Csv),
8423 "CUBE" => Some(Self::Cube),
8424 "CURRENT_P" => Some(Self::CurrentP),
8425 "CURRENT_CATALOG" => Some(Self::CurrentCatalog),
8426 "CURRENT_DATE" => Some(Self::CurrentDate),
8427 "CURRENT_ROLE" => Some(Self::CurrentRole),
8428 "CURRENT_SCHEMA" => Some(Self::CurrentSchema),
8429 "CURRENT_TIME" => Some(Self::CurrentTime),
8430 "CURRENT_TIMESTAMP" => Some(Self::CurrentTimestamp),
8431 "CURRENT_USER" => Some(Self::CurrentUser),
8432 "CURSOR" => Some(Self::Cursor),
8433 "CYCLE" => Some(Self::Cycle),
8434 "DATA_P" => Some(Self::DataP),
8435 "DATABASE" => Some(Self::Database),
8436 "DAY_P" => Some(Self::DayP),
8437 "DEALLOCATE" => Some(Self::Deallocate),
8438 "DEC" => Some(Self::Dec),
8439 "DECIMAL_P" => Some(Self::DecimalP),
8440 "DECLARE" => Some(Self::Declare),
8441 "DEFAULT" => Some(Self::Default),
8442 "DEFAULTS" => Some(Self::Defaults),
8443 "DEFERRABLE" => Some(Self::Deferrable),
8444 "DEFERRED" => Some(Self::Deferred),
8445 "DEFINER" => Some(Self::Definer),
8446 "DELETE_P" => Some(Self::DeleteP),
8447 "DELIMITER" => Some(Self::Delimiter),
8448 "DELIMITERS" => Some(Self::Delimiters),
8449 "DEPENDS" => Some(Self::Depends),
8450 "DEPTH" => Some(Self::Depth),
8451 "DESC" => Some(Self::Desc),
8452 "DETACH" => Some(Self::Detach),
8453 "DICTIONARY" => Some(Self::Dictionary),
8454 "DISABLE_P" => Some(Self::DisableP),
8455 "DISCARD" => Some(Self::Discard),
8456 "DISTINCT" => Some(Self::Distinct),
8457 "DO" => Some(Self::Do),
8458 "DOCUMENT_P" => Some(Self::DocumentP),
8459 "DOMAIN_P" => Some(Self::DomainP),
8460 "DOUBLE_P" => Some(Self::DoubleP),
8461 "DROP" => Some(Self::Drop),
8462 "EACH" => Some(Self::Each),
8463 "ELSE" => Some(Self::Else),
8464 "EMPTY_P" => Some(Self::EmptyP),
8465 "ENABLE_P" => Some(Self::EnableP),
8466 "ENCODING" => Some(Self::Encoding),
8467 "ENCRYPTED" => Some(Self::Encrypted),
8468 "END_P" => Some(Self::EndP),
8469 "ENUM_P" => Some(Self::EnumP),
8470 "ERROR_P" => Some(Self::ErrorP),
8471 "ESCAPE" => Some(Self::Escape),
8472 "EVENT" => Some(Self::Event),
8473 "EXCEPT" => Some(Self::Except),
8474 "EXCLUDE" => Some(Self::Exclude),
8475 "EXCLUDING" => Some(Self::Excluding),
8476 "EXCLUSIVE" => Some(Self::Exclusive),
8477 "EXECUTE" => Some(Self::Execute),
8478 "EXISTS" => Some(Self::Exists),
8479 "EXPLAIN" => Some(Self::Explain),
8480 "EXPRESSION" => Some(Self::Expression),
8481 "EXTENSION" => Some(Self::Extension),
8482 "EXTERNAL" => Some(Self::External),
8483 "EXTRACT" => Some(Self::Extract),
8484 "FALSE_P" => Some(Self::FalseP),
8485 "FAMILY" => Some(Self::Family),
8486 "FETCH" => Some(Self::Fetch),
8487 "FILTER" => Some(Self::Filter),
8488 "FINALIZE" => Some(Self::Finalize),
8489 "FIRST_P" => Some(Self::FirstP),
8490 "FLOAT_P" => Some(Self::FloatP),
8491 "FOLLOWING" => Some(Self::Following),
8492 "FOR" => Some(Self::For),
8493 "FORCE" => Some(Self::Force),
8494 "FOREIGN" => Some(Self::Foreign),
8495 "FORMAT" => Some(Self::Format),
8496 "FORWARD" => Some(Self::Forward),
8497 "FREEZE" => Some(Self::Freeze),
8498 "FROM" => Some(Self::From),
8499 "FULL" => Some(Self::Full),
8500 "FUNCTION" => Some(Self::Function),
8501 "FUNCTIONS" => Some(Self::Functions),
8502 "GENERATED" => Some(Self::Generated),
8503 "GLOBAL" => Some(Self::Global),
8504 "GRANT" => Some(Self::Grant),
8505 "GRANTED" => Some(Self::Granted),
8506 "GREATEST" => Some(Self::Greatest),
8507 "GROUP_P" => Some(Self::GroupP),
8508 "GROUPING" => Some(Self::Grouping),
8509 "GROUPS" => Some(Self::Groups),
8510 "HANDLER" => Some(Self::Handler),
8511 "HAVING" => Some(Self::Having),
8512 "HEADER_P" => Some(Self::HeaderP),
8513 "HOLD" => Some(Self::Hold),
8514 "HOUR_P" => Some(Self::HourP),
8515 "IDENTITY_P" => Some(Self::IdentityP),
8516 "IF_P" => Some(Self::IfP),
8517 "ILIKE" => Some(Self::Ilike),
8518 "IMMEDIATE" => Some(Self::Immediate),
8519 "IMMUTABLE" => Some(Self::Immutable),
8520 "IMPLICIT_P" => Some(Self::ImplicitP),
8521 "IMPORT_P" => Some(Self::ImportP),
8522 "IN_P" => Some(Self::InP),
8523 "INCLUDE" => Some(Self::Include),
8524 "INCLUDING" => Some(Self::Including),
8525 "INCREMENT" => Some(Self::Increment),
8526 "INDENT" => Some(Self::Indent),
8527 "INDEX" => Some(Self::Index),
8528 "INDEXES" => Some(Self::Indexes),
8529 "INHERIT" => Some(Self::Inherit),
8530 "INHERITS" => Some(Self::Inherits),
8531 "INITIALLY" => Some(Self::Initially),
8532 "INLINE_P" => Some(Self::InlineP),
8533 "INNER_P" => Some(Self::InnerP),
8534 "INOUT" => Some(Self::Inout),
8535 "INPUT_P" => Some(Self::InputP),
8536 "INSENSITIVE" => Some(Self::Insensitive),
8537 "INSERT" => Some(Self::Insert),
8538 "INSTEAD" => Some(Self::Instead),
8539 "INT_P" => Some(Self::IntP),
8540 "INTEGER" => Some(Self::Integer),
8541 "INTERSECT" => Some(Self::Intersect),
8542 "INTERVAL" => Some(Self::Interval),
8543 "INTO" => Some(Self::Into),
8544 "INVOKER" => Some(Self::Invoker),
8545 "IS" => Some(Self::Is),
8546 "ISNULL" => Some(Self::Isnull),
8547 "ISOLATION" => Some(Self::Isolation),
8548 "JOIN" => Some(Self::Join),
8549 "JSON" => Some(Self::Json),
8550 "JSON_ARRAY" => Some(Self::JsonArray),
8551 "JSON_ARRAYAGG" => Some(Self::JsonArrayagg),
8552 "JSON_EXISTS" => Some(Self::JsonExists),
8553 "JSON_OBJECT" => Some(Self::JsonObject),
8554 "JSON_OBJECTAGG" => Some(Self::JsonObjectagg),
8555 "JSON_QUERY" => Some(Self::JsonQuery),
8556 "JSON_SCALAR" => Some(Self::JsonScalar),
8557 "JSON_SERIALIZE" => Some(Self::JsonSerialize),
8558 "JSON_TABLE" => Some(Self::JsonTable),
8559 "JSON_VALUE" => Some(Self::JsonValue),
8560 "KEEP" => Some(Self::Keep),
8561 "KEY" => Some(Self::Key),
8562 "KEYS" => Some(Self::Keys),
8563 "LABEL" => Some(Self::Label),
8564 "LANGUAGE" => Some(Self::Language),
8565 "LARGE_P" => Some(Self::LargeP),
8566 "LAST_P" => Some(Self::LastP),
8567 "LATERAL_P" => Some(Self::LateralP),
8568 "LEADING" => Some(Self::Leading),
8569 "LEAKPROOF" => Some(Self::Leakproof),
8570 "LEAST" => Some(Self::Least),
8571 "LEFT" => Some(Self::Left),
8572 "LEVEL" => Some(Self::Level),
8573 "LIKE" => Some(Self::Like),
8574 "LIMIT" => Some(Self::Limit),
8575 "LISTEN" => Some(Self::Listen),
8576 "LOAD" => Some(Self::Load),
8577 "LOCAL" => Some(Self::Local),
8578 "LOCALTIME" => Some(Self::Localtime),
8579 "LOCALTIMESTAMP" => Some(Self::Localtimestamp),
8580 "LOCATION" => Some(Self::Location),
8581 "LOCK_P" => Some(Self::LockP),
8582 "LOCKED" => Some(Self::Locked),
8583 "LOGGED" => Some(Self::Logged),
8584 "MAPPING" => Some(Self::Mapping),
8585 "MATCH" => Some(Self::Match),
8586 "MATCHED" => Some(Self::Matched),
8587 "MATERIALIZED" => Some(Self::Materialized),
8588 "MAXVALUE" => Some(Self::Maxvalue),
8589 "MERGE" => Some(Self::Merge),
8590 "MERGE_ACTION" => Some(Self::MergeAction),
8591 "METHOD" => Some(Self::Method),
8592 "MINUTE_P" => Some(Self::MinuteP),
8593 "MINVALUE" => Some(Self::Minvalue),
8594 "MODE" => Some(Self::Mode),
8595 "MONTH_P" => Some(Self::MonthP),
8596 "MOVE" => Some(Self::Move),
8597 "NAME_P" => Some(Self::NameP),
8598 "NAMES" => Some(Self::Names),
8599 "NATIONAL" => Some(Self::National),
8600 "NATURAL" => Some(Self::Natural),
8601 "NCHAR" => Some(Self::Nchar),
8602 "NESTED" => Some(Self::Nested),
8603 "NEW" => Some(Self::New),
8604 "NEXT" => Some(Self::Next),
8605 "NFC" => Some(Self::Nfc),
8606 "NFD" => Some(Self::Nfd),
8607 "NFKC" => Some(Self::Nfkc),
8608 "NFKD" => Some(Self::Nfkd),
8609 "NO" => Some(Self::No),
8610 "NONE" => Some(Self::None),
8611 "NORMALIZE" => Some(Self::Normalize),
8612 "NORMALIZED" => Some(Self::Normalized),
8613 "NOT" => Some(Self::Not),
8614 "NOTHING" => Some(Self::Nothing),
8615 "NOTIFY" => Some(Self::Notify),
8616 "NOTNULL" => Some(Self::Notnull),
8617 "NOWAIT" => Some(Self::Nowait),
8618 "NULL_P" => Some(Self::NullP),
8619 "NULLIF" => Some(Self::Nullif),
8620 "NULLS_P" => Some(Self::NullsP),
8621 "NUMERIC" => Some(Self::Numeric),
8622 "OBJECT_P" => Some(Self::ObjectP),
8623 "OF" => Some(Self::Of),
8624 "OFF" => Some(Self::Off),
8625 "OFFSET" => Some(Self::Offset),
8626 "OIDS" => Some(Self::Oids),
8627 "OLD" => Some(Self::Old),
8628 "OMIT" => Some(Self::Omit),
8629 "ON" => Some(Self::On),
8630 "ONLY" => Some(Self::Only),
8631 "OPERATOR" => Some(Self::Operator),
8632 "OPTION" => Some(Self::Option),
8633 "OPTIONS" => Some(Self::Options),
8634 "OR" => Some(Self::Or),
8635 "ORDER" => Some(Self::Order),
8636 "ORDINALITY" => Some(Self::Ordinality),
8637 "OTHERS" => Some(Self::Others),
8638 "OUT_P" => Some(Self::OutP),
8639 "OUTER_P" => Some(Self::OuterP),
8640 "OVER" => Some(Self::Over),
8641 "OVERLAPS" => Some(Self::Overlaps),
8642 "OVERLAY" => Some(Self::Overlay),
8643 "OVERRIDING" => Some(Self::Overriding),
8644 "OWNED" => Some(Self::Owned),
8645 "OWNER" => Some(Self::Owner),
8646 "PARALLEL" => Some(Self::Parallel),
8647 "PARAMETER" => Some(Self::Parameter),
8648 "PARSER" => Some(Self::Parser),
8649 "PARTIAL" => Some(Self::Partial),
8650 "PARTITION" => Some(Self::Partition),
8651 "PASSING" => Some(Self::Passing),
8652 "PASSWORD" => Some(Self::Password),
8653 "PATH" => Some(Self::Path),
8654 "PLACING" => Some(Self::Placing),
8655 "PLAN" => Some(Self::Plan),
8656 "PLANS" => Some(Self::Plans),
8657 "POLICY" => Some(Self::Policy),
8658 "POSITION" => Some(Self::Position),
8659 "PRECEDING" => Some(Self::Preceding),
8660 "PRECISION" => Some(Self::Precision),
8661 "PRESERVE" => Some(Self::Preserve),
8662 "PREPARE" => Some(Self::Prepare),
8663 "PREPARED" => Some(Self::Prepared),
8664 "PRIMARY" => Some(Self::Primary),
8665 "PRIOR" => Some(Self::Prior),
8666 "PRIVILEGES" => Some(Self::Privileges),
8667 "PROCEDURAL" => Some(Self::Procedural),
8668 "PROCEDURE" => Some(Self::Procedure),
8669 "PROCEDURES" => Some(Self::Procedures),
8670 "PROGRAM" => Some(Self::Program),
8671 "PUBLICATION" => Some(Self::Publication),
8672 "QUOTE" => Some(Self::Quote),
8673 "QUOTES" => Some(Self::Quotes),
8674 "RANGE" => Some(Self::Range),
8675 "READ" => Some(Self::Read),
8676 "REAL" => Some(Self::Real),
8677 "REASSIGN" => Some(Self::Reassign),
8678 "RECHECK" => Some(Self::Recheck),
8679 "RECURSIVE" => Some(Self::Recursive),
8680 "REF_P" => Some(Self::RefP),
8681 "REFERENCES" => Some(Self::References),
8682 "REFERENCING" => Some(Self::Referencing),
8683 "REFRESH" => Some(Self::Refresh),
8684 "REINDEX" => Some(Self::Reindex),
8685 "RELATIVE_P" => Some(Self::RelativeP),
8686 "RELEASE" => Some(Self::Release),
8687 "RENAME" => Some(Self::Rename),
8688 "REPEATABLE" => Some(Self::Repeatable),
8689 "REPLACE" => Some(Self::Replace),
8690 "REPLICA" => Some(Self::Replica),
8691 "RESET" => Some(Self::Reset),
8692 "RESTART" => Some(Self::Restart),
8693 "RESTRICT" => Some(Self::Restrict),
8694 "RETURN" => Some(Self::Return),
8695 "RETURNING" => Some(Self::Returning),
8696 "RETURNS" => Some(Self::Returns),
8697 "REVOKE" => Some(Self::Revoke),
8698 "RIGHT" => Some(Self::Right),
8699 "ROLE" => Some(Self::Role),
8700 "ROLLBACK" => Some(Self::Rollback),
8701 "ROLLUP" => Some(Self::Rollup),
8702 "ROUTINE" => Some(Self::Routine),
8703 "ROUTINES" => Some(Self::Routines),
8704 "ROW" => Some(Self::Row),
8705 "ROWS" => Some(Self::Rows),
8706 "RULE" => Some(Self::Rule),
8707 "SAVEPOINT" => Some(Self::Savepoint),
8708 "SCALAR" => Some(Self::Scalar),
8709 "SCHEMA" => Some(Self::Schema),
8710 "SCHEMAS" => Some(Self::Schemas),
8711 "SCROLL" => Some(Self::Scroll),
8712 "SEARCH" => Some(Self::Search),
8713 "SECOND_P" => Some(Self::SecondP),
8714 "SECURITY" => Some(Self::Security),
8715 "SELECT" => Some(Self::Select),
8716 "SEQUENCE" => Some(Self::Sequence),
8717 "SEQUENCES" => Some(Self::Sequences),
8718 "SERIALIZABLE" => Some(Self::Serializable),
8719 "SERVER" => Some(Self::Server),
8720 "SESSION" => Some(Self::Session),
8721 "SESSION_USER" => Some(Self::SessionUser),
8722 "SET" => Some(Self::Set),
8723 "SETS" => Some(Self::Sets),
8724 "SETOF" => Some(Self::Setof),
8725 "SHARE" => Some(Self::Share),
8726 "SHOW" => Some(Self::Show),
8727 "SIMILAR" => Some(Self::Similar),
8728 "SIMPLE" => Some(Self::Simple),
8729 "SKIP" => Some(Self::Skip),
8730 "SMALLINT" => Some(Self::Smallint),
8731 "SNAPSHOT" => Some(Self::Snapshot),
8732 "SOME" => Some(Self::Some),
8733 "SOURCE" => Some(Self::Source),
8734 "SQL_P" => Some(Self::SqlP),
8735 "STABLE" => Some(Self::Stable),
8736 "STANDALONE_P" => Some(Self::StandaloneP),
8737 "START" => Some(Self::Start),
8738 "STATEMENT" => Some(Self::Statement),
8739 "STATISTICS" => Some(Self::Statistics),
8740 "STDIN" => Some(Self::Stdin),
8741 "STDOUT" => Some(Self::Stdout),
8742 "STORAGE" => Some(Self::Storage),
8743 "STORED" => Some(Self::Stored),
8744 "STRICT_P" => Some(Self::StrictP),
8745 "STRING_P" => Some(Self::StringP),
8746 "STRIP_P" => Some(Self::StripP),
8747 "SUBSCRIPTION" => Some(Self::Subscription),
8748 "SUBSTRING" => Some(Self::Substring),
8749 "SUPPORT" => Some(Self::Support),
8750 "SYMMETRIC" => Some(Self::Symmetric),
8751 "SYSID" => Some(Self::Sysid),
8752 "SYSTEM_P" => Some(Self::SystemP),
8753 "SYSTEM_USER" => Some(Self::SystemUser),
8754 "TABLE" => Some(Self::Table),
8755 "TABLES" => Some(Self::Tables),
8756 "TABLESAMPLE" => Some(Self::Tablesample),
8757 "TABLESPACE" => Some(Self::Tablespace),
8758 "TARGET" => Some(Self::Target),
8759 "TEMP" => Some(Self::Temp),
8760 "TEMPLATE" => Some(Self::Template),
8761 "TEMPORARY" => Some(Self::Temporary),
8762 "TEXT_P" => Some(Self::TextP),
8763 "THEN" => Some(Self::Then),
8764 "TIES" => Some(Self::Ties),
8765 "TIME" => Some(Self::Time),
8766 "TIMESTAMP" => Some(Self::Timestamp),
8767 "TO" => Some(Self::To),
8768 "TRAILING" => Some(Self::Trailing),
8769 "TRANSACTION" => Some(Self::Transaction),
8770 "TRANSFORM" => Some(Self::Transform),
8771 "TREAT" => Some(Self::Treat),
8772 "TRIGGER" => Some(Self::Trigger),
8773 "TRIM" => Some(Self::Trim),
8774 "TRUE_P" => Some(Self::TrueP),
8775 "TRUNCATE" => Some(Self::Truncate),
8776 "TRUSTED" => Some(Self::Trusted),
8777 "TYPE_P" => Some(Self::TypeP),
8778 "TYPES_P" => Some(Self::TypesP),
8779 "UESCAPE" => Some(Self::Uescape),
8780 "UNBOUNDED" => Some(Self::Unbounded),
8781 "UNCONDITIONAL" => Some(Self::Unconditional),
8782 "UNCOMMITTED" => Some(Self::Uncommitted),
8783 "UNENCRYPTED" => Some(Self::Unencrypted),
8784 "UNION" => Some(Self::Union),
8785 "UNIQUE" => Some(Self::Unique),
8786 "UNKNOWN" => Some(Self::Unknown),
8787 "UNLISTEN" => Some(Self::Unlisten),
8788 "UNLOGGED" => Some(Self::Unlogged),
8789 "UNTIL" => Some(Self::Until),
8790 "UPDATE" => Some(Self::Update),
8791 "USER" => Some(Self::User),
8792 "USING" => Some(Self::Using),
8793 "VACUUM" => Some(Self::Vacuum),
8794 "VALID" => Some(Self::Valid),
8795 "VALIDATE" => Some(Self::Validate),
8796 "VALIDATOR" => Some(Self::Validator),
8797 "VALUE_P" => Some(Self::ValueP),
8798 "VALUES" => Some(Self::Values),
8799 "VARCHAR" => Some(Self::Varchar),
8800 "VARIADIC" => Some(Self::Variadic),
8801 "VARYING" => Some(Self::Varying),
8802 "VERBOSE" => Some(Self::Verbose),
8803 "VERSION_P" => Some(Self::VersionP),
8804 "VIEW" => Some(Self::View),
8805 "VIEWS" => Some(Self::Views),
8806 "VOLATILE" => Some(Self::Volatile),
8807 "WHEN" => Some(Self::When),
8808 "WHERE" => Some(Self::Where),
8809 "WHITESPACE_P" => Some(Self::WhitespaceP),
8810 "WINDOW" => Some(Self::Window),
8811 "WITH" => Some(Self::With),
8812 "WITHIN" => Some(Self::Within),
8813 "WITHOUT" => Some(Self::Without),
8814 "WORK" => Some(Self::Work),
8815 "WRAPPER" => Some(Self::Wrapper),
8816 "WRITE" => Some(Self::Write),
8817 "XML_P" => Some(Self::XmlP),
8818 "XMLATTRIBUTES" => Some(Self::Xmlattributes),
8819 "XMLCONCAT" => Some(Self::Xmlconcat),
8820 "XMLELEMENT" => Some(Self::Xmlelement),
8821 "XMLEXISTS" => Some(Self::Xmlexists),
8822 "XMLFOREST" => Some(Self::Xmlforest),
8823 "XMLNAMESPACES" => Some(Self::Xmlnamespaces),
8824 "XMLPARSE" => Some(Self::Xmlparse),
8825 "XMLPI" => Some(Self::Xmlpi),
8826 "XMLROOT" => Some(Self::Xmlroot),
8827 "XMLSERIALIZE" => Some(Self::Xmlserialize),
8828 "XMLTABLE" => Some(Self::Xmltable),
8829 "YEAR_P" => Some(Self::YearP),
8830 "YES_P" => Some(Self::YesP),
8831 "ZONE" => Some(Self::Zone),
8832 "FORMAT_LA" => Some(Self::FormatLa),
8833 "NOT_LA" => Some(Self::NotLa),
8834 "NULLS_LA" => Some(Self::NullsLa),
8835 "WITH_LA" => Some(Self::WithLa),
8836 "WITHOUT_LA" => Some(Self::WithoutLa),
8837 "MODE_TYPE_NAME" => Some(Self::ModeTypeName),
8838 "MODE_PLPGSQL_EXPR" => Some(Self::ModePlpgsqlExpr),
8839 "MODE_PLPGSQL_ASSIGN1" => Some(Self::ModePlpgsqlAssign1),
8840 "MODE_PLPGSQL_ASSIGN2" => Some(Self::ModePlpgsqlAssign2),
8841 "MODE_PLPGSQL_ASSIGN3" => Some(Self::ModePlpgsqlAssign3),
8842 "UMINUS" => Some(Self::Uminus),
8843 _ => None,
8844 }
8845 }
8846}