1pub trait Visit<'ast, T: AstInfo, > {
2 fn visit_abbreviated_grant_or_revoke_statement(&mut self, node: &'ast AbbreviatedGrantOrRevokeStatement<T>) {
3 visit_abbreviated_grant_or_revoke_statement(self, node)
4 }
5 fn visit_abbreviated_grant_statement(&mut self, node: &'ast AbbreviatedGrantStatement<T>) {
6 visit_abbreviated_grant_statement(self, node)
7 }
8 fn visit_abbreviated_revoke_statement(&mut self, node: &'ast AbbreviatedRevokeStatement<T>) {
9 visit_abbreviated_revoke_statement(self, node)
10 }
11 fn visit_alter_cluster_action(&mut self, node: &'ast AlterClusterAction<T>) {
12 visit_alter_cluster_action(self, node)
13 }
14 fn visit_alter_cluster_statement(&mut self, node: &'ast AlterClusterStatement<T>) {
15 visit_alter_cluster_statement(self, node)
16 }
17 fn visit_alter_connection_action(&mut self, node: &'ast AlterConnectionAction<T>) {
18 visit_alter_connection_action(self, node)
19 }
20 fn visit_alter_connection_option(&mut self, node: &'ast AlterConnectionOption<T>) {
21 visit_alter_connection_option(self, node)
22 }
23 fn visit_alter_connection_option_name(&mut self, node: &'ast AlterConnectionOptionName) {
24 visit_alter_connection_option_name(self, node)
25 }
26 fn visit_alter_connection_statement(&mut self, node: &'ast AlterConnectionStatement<T>) {
27 visit_alter_connection_statement(self, node)
28 }
29 fn visit_alter_default_privileges_statement(&mut self, node: &'ast AlterDefaultPrivilegesStatement<T>) {
30 visit_alter_default_privileges_statement(self, node)
31 }
32 fn visit_alter_index_action(&mut self, node: &'ast AlterIndexAction<T>) {
33 visit_alter_index_action(self, node)
34 }
35 fn visit_alter_index_statement(&mut self, node: &'ast AlterIndexStatement<T>) {
36 visit_alter_index_statement(self, node)
37 }
38 fn visit_alter_network_policy_statement(&mut self, node: &'ast AlterNetworkPolicyStatement<T>) {
39 visit_alter_network_policy_statement(self, node)
40 }
41 fn visit_alter_object_rename_statement(&mut self, node: &'ast AlterObjectRenameStatement) {
42 visit_alter_object_rename_statement(self, node)
43 }
44 fn visit_alter_object_swap_statement(&mut self, node: &'ast AlterObjectSwapStatement) {
45 visit_alter_object_swap_statement(self, node)
46 }
47 fn visit_alter_owner_statement(&mut self, node: &'ast AlterOwnerStatement<T>) {
48 visit_alter_owner_statement(self, node)
49 }
50 fn visit_alter_retain_history_statement(&mut self, node: &'ast AlterRetainHistoryStatement<T>) {
51 visit_alter_retain_history_statement(self, node)
52 }
53 fn visit_alter_role_option(&mut self, node: &'ast AlterRoleOption) {
54 visit_alter_role_option(self, node)
55 }
56 fn visit_alter_role_statement(&mut self, node: &'ast AlterRoleStatement<T>) {
57 visit_alter_role_statement(self, node)
58 }
59 fn visit_alter_secret_statement(&mut self, node: &'ast AlterSecretStatement<T>) {
60 visit_alter_secret_statement(self, node)
61 }
62 fn visit_alter_set_cluster_statement(&mut self, node: &'ast AlterSetClusterStatement<T>) {
63 visit_alter_set_cluster_statement(self, node)
64 }
65 fn visit_alter_sink_action(&mut self, node: &'ast AlterSinkAction<T>) {
66 visit_alter_sink_action(self, node)
67 }
68 fn visit_alter_sink_statement(&mut self, node: &'ast AlterSinkStatement<T>) {
69 visit_alter_sink_statement(self, node)
70 }
71 fn visit_alter_source_action(&mut self, node: &'ast AlterSourceAction<T>) {
72 visit_alter_source_action(self, node)
73 }
74 fn visit_alter_source_add_subsource_option(&mut self, node: &'ast AlterSourceAddSubsourceOption<T>) {
75 visit_alter_source_add_subsource_option(self, node)
76 }
77 fn visit_alter_source_add_subsource_option_name(&mut self, node: &'ast AlterSourceAddSubsourceOptionName) {
78 visit_alter_source_add_subsource_option_name(self, node)
79 }
80 fn visit_alter_source_statement(&mut self, node: &'ast AlterSourceStatement<T>) {
81 visit_alter_source_statement(self, node)
82 }
83 fn visit_alter_system_reset_all_statement(&mut self, node: &'ast AlterSystemResetAllStatement) {
84 visit_alter_system_reset_all_statement(self, node)
85 }
86 fn visit_alter_system_reset_statement(&mut self, node: &'ast AlterSystemResetStatement) {
87 visit_alter_system_reset_statement(self, node)
88 }
89 fn visit_alter_system_set_statement(&mut self, node: &'ast AlterSystemSetStatement) {
90 visit_alter_system_set_statement(self, node)
91 }
92 fn visit_alter_table_add_column_statement(&mut self, node: &'ast AlterTableAddColumnStatement<T>) {
93 visit_alter_table_add_column_statement(self, node)
94 }
95 fn visit_as_of(&mut self, node: &'ast AsOf<T>) {
96 visit_as_of(self, node)
97 }
98 fn visit_assignment(&mut self, node: &'ast Assignment<T>) {
99 visit_assignment(self, node)
100 }
101 fn visit_avro_doc_on(&mut self, node: &'ast AvroDocOn<T>) {
102 visit_avro_doc_on(self, node)
103 }
104 fn visit_avro_schema(&mut self, node: &'ast AvroSchema<T>) {
105 visit_avro_schema(self, node)
106 }
107 fn visit_avro_schema_option(&mut self, node: &'ast AvroSchemaOption<T>) {
108 visit_avro_schema_option(self, node)
109 }
110 fn visit_avro_schema_option_name(&mut self, node: &'ast AvroSchemaOptionName) {
111 visit_avro_schema_option_name(self, node)
112 }
113 fn visit_catalog_name(&mut self, node: &'ast CatalogName) {
114 visit_catalog_name(self, node)
115 }
116 fn visit_close_statement(&mut self, node: &'ast CloseStatement) {
117 visit_close_statement(self, node)
118 }
119 fn visit_cluster_alter_option(&mut self, node: &'ast ClusterAlterOption<T>) {
120 visit_cluster_alter_option(self, node)
121 }
122 fn visit_cluster_alter_option_name(&mut self, node: &'ast ClusterAlterOptionName) {
123 visit_cluster_alter_option_name(self, node)
124 }
125 fn visit_cluster_alter_option_value(&mut self, node: &'ast ClusterAlterOptionValue<T>) {
126 visit_cluster_alter_option_value(self, node)
127 }
128 fn visit_cluster_alter_until_ready_option(&mut self, node: &'ast ClusterAlterUntilReadyOption<T>) {
129 visit_cluster_alter_until_ready_option(self, node)
130 }
131 fn visit_cluster_alter_until_ready_option_name(&mut self, node: &'ast ClusterAlterUntilReadyOptionName) {
132 visit_cluster_alter_until_ready_option_name(self, node)
133 }
134 fn visit_cluster_feature(&mut self, node: &'ast ClusterFeature<T>) {
135 visit_cluster_feature(self, node)
136 }
137 fn visit_cluster_feature_name(&mut self, node: &'ast ClusterFeatureName) {
138 visit_cluster_feature_name(self, node)
139 }
140 fn visit_cluster_option(&mut self, node: &'ast ClusterOption<T>) {
141 visit_cluster_option(self, node)
142 }
143 fn visit_cluster_option_name(&mut self, node: &'ast ClusterOptionName) {
144 visit_cluster_option_name(self, node)
145 }
146 fn visit_cluster_schedule_option_value(&mut self, node: &'ast ClusterScheduleOptionValue) {
147 visit_cluster_schedule_option_value(self, node)
148 }
149 fn visit_column_def(&mut self, node: &'ast ColumnDef<T>) {
150 visit_column_def(self, node)
151 }
152 fn visit_column_name(&mut self, node: &'ast ColumnName<T>) {
153 visit_column_name(self, node)
154 }
155 fn visit_column_option(&mut self, node: &'ast ColumnOption<T>) {
156 visit_column_option(self, node)
157 }
158 fn visit_column_option_def(&mut self, node: &'ast ColumnOptionDef<T>) {
159 visit_column_option_def(self, node)
160 }
161 fn visit_column_versioned(&mut self, node: &'ast ColumnVersioned) {
162 visit_column_versioned(self, node)
163 }
164 fn visit_comment_object_type(&mut self, node: &'ast CommentObjectType<T>) {
165 visit_comment_object_type(self, node)
166 }
167 fn visit_comment_statement(&mut self, node: &'ast CommentStatement<T>) {
168 visit_comment_statement(self, node)
169 }
170 fn visit_commit_statement(&mut self, node: &'ast CommitStatement) {
171 visit_commit_statement(self, node)
172 }
173 fn visit_connection_default_aws_privatelink(&mut self, node: &'ast ConnectionDefaultAwsPrivatelink<T>) {
174 visit_connection_default_aws_privatelink(self, node)
175 }
176 fn visit_connection_option(&mut self, node: &'ast ConnectionOption<T>) {
177 visit_connection_option(self, node)
178 }
179 fn visit_connection_option_name(&mut self, node: &'ast ConnectionOptionName) {
180 visit_connection_option_name(self, node)
181 }
182 fn visit_continual_task_option(&mut self, node: &'ast ContinualTaskOption<T>) {
183 visit_continual_task_option(self, node)
184 }
185 fn visit_continual_task_option_name(&mut self, node: &'ast ContinualTaskOptionName) {
186 visit_continual_task_option_name(self, node)
187 }
188 fn visit_continual_task_stmt(&mut self, node: &'ast ContinualTaskStmt<T>) {
189 visit_continual_task_stmt(self, node)
190 }
191 fn visit_copy_direction(&mut self, node: &'ast CopyDirection) {
192 visit_copy_direction(self, node)
193 }
194 fn visit_copy_option(&mut self, node: &'ast CopyOption<T>) {
195 visit_copy_option(self, node)
196 }
197 fn visit_copy_option_name(&mut self, node: &'ast CopyOptionName) {
198 visit_copy_option_name(self, node)
199 }
200 fn visit_copy_relation(&mut self, node: &'ast CopyRelation<T>) {
201 visit_copy_relation(self, node)
202 }
203 fn visit_copy_statement(&mut self, node: &'ast CopyStatement<T>) {
204 visit_copy_statement(self, node)
205 }
206 fn visit_copy_target(&mut self, node: &'ast CopyTarget<T>) {
207 visit_copy_target(self, node)
208 }
209 fn visit_create_cluster_replica_statement(&mut self, node: &'ast CreateClusterReplicaStatement<T>) {
210 visit_create_cluster_replica_statement(self, node)
211 }
212 fn visit_create_cluster_statement(&mut self, node: &'ast CreateClusterStatement<T>) {
213 visit_create_cluster_statement(self, node)
214 }
215 fn visit_create_connection_option(&mut self, node: &'ast CreateConnectionOption<T>) {
216 visit_create_connection_option(self, node)
217 }
218 fn visit_create_connection_option_name(&mut self, node: &'ast CreateConnectionOptionName) {
219 visit_create_connection_option_name(self, node)
220 }
221 fn visit_create_connection_statement(&mut self, node: &'ast CreateConnectionStatement<T>) {
222 visit_create_connection_statement(self, node)
223 }
224 fn visit_create_connection_type(&mut self, node: &'ast CreateConnectionType) {
225 visit_create_connection_type(self, node)
226 }
227 fn visit_create_continual_task_statement(&mut self, node: &'ast CreateContinualTaskStatement<T>) {
228 visit_create_continual_task_statement(self, node)
229 }
230 fn visit_create_continual_task_sugar(&mut self, node: &'ast CreateContinualTaskSugar<T>) {
231 visit_create_continual_task_sugar(self, node)
232 }
233 fn visit_create_database_statement(&mut self, node: &'ast CreateDatabaseStatement) {
234 visit_create_database_statement(self, node)
235 }
236 fn visit_create_index_statement(&mut self, node: &'ast CreateIndexStatement<T>) {
237 visit_create_index_statement(self, node)
238 }
239 fn visit_create_materialized_view_statement(&mut self, node: &'ast CreateMaterializedViewStatement<T>) {
240 visit_create_materialized_view_statement(self, node)
241 }
242 fn visit_create_network_policy_statement(&mut self, node: &'ast CreateNetworkPolicyStatement<T>) {
243 visit_create_network_policy_statement(self, node)
244 }
245 fn visit_create_role_statement(&mut self, node: &'ast CreateRoleStatement) {
246 visit_create_role_statement(self, node)
247 }
248 fn visit_create_schema_statement(&mut self, node: &'ast CreateSchemaStatement) {
249 visit_create_schema_statement(self, node)
250 }
251 fn visit_create_secret_statement(&mut self, node: &'ast CreateSecretStatement<T>) {
252 visit_create_secret_statement(self, node)
253 }
254 fn visit_create_sink_connection(&mut self, node: &'ast CreateSinkConnection<T>) {
255 visit_create_sink_connection(self, node)
256 }
257 fn visit_create_sink_option(&mut self, node: &'ast CreateSinkOption<T>) {
258 visit_create_sink_option(self, node)
259 }
260 fn visit_create_sink_option_name(&mut self, node: &'ast CreateSinkOptionName) {
261 visit_create_sink_option_name(self, node)
262 }
263 fn visit_create_sink_statement(&mut self, node: &'ast CreateSinkStatement<T>) {
264 visit_create_sink_statement(self, node)
265 }
266 fn visit_create_source_connection(&mut self, node: &'ast CreateSourceConnection<T>) {
267 visit_create_source_connection(self, node)
268 }
269 fn visit_create_source_option(&mut self, node: &'ast CreateSourceOption<T>) {
270 visit_create_source_option(self, node)
271 }
272 fn visit_create_source_option_name(&mut self, node: &'ast CreateSourceOptionName) {
273 visit_create_source_option_name(self, node)
274 }
275 fn visit_create_source_statement(&mut self, node: &'ast CreateSourceStatement<T>) {
276 visit_create_source_statement(self, node)
277 }
278 fn visit_create_subsource_option(&mut self, node: &'ast CreateSubsourceOption<T>) {
279 visit_create_subsource_option(self, node)
280 }
281 fn visit_create_subsource_option_name(&mut self, node: &'ast CreateSubsourceOptionName) {
282 visit_create_subsource_option_name(self, node)
283 }
284 fn visit_create_subsource_statement(&mut self, node: &'ast CreateSubsourceStatement<T>) {
285 visit_create_subsource_statement(self, node)
286 }
287 fn visit_create_table_from_source_statement(&mut self, node: &'ast CreateTableFromSourceStatement<T>) {
288 visit_create_table_from_source_statement(self, node)
289 }
290 fn visit_create_table_statement(&mut self, node: &'ast CreateTableStatement<T>) {
291 visit_create_table_statement(self, node)
292 }
293 fn visit_create_type_as(&mut self, node: &'ast CreateTypeAs<T>) {
294 visit_create_type_as(self, node)
295 }
296 fn visit_create_type_list_option(&mut self, node: &'ast CreateTypeListOption<T>) {
297 visit_create_type_list_option(self, node)
298 }
299 fn visit_create_type_list_option_name(&mut self, node: &'ast CreateTypeListOptionName) {
300 visit_create_type_list_option_name(self, node)
301 }
302 fn visit_create_type_map_option(&mut self, node: &'ast CreateTypeMapOption<T>) {
303 visit_create_type_map_option(self, node)
304 }
305 fn visit_create_type_map_option_name(&mut self, node: &'ast CreateTypeMapOptionName) {
306 visit_create_type_map_option_name(self, node)
307 }
308 fn visit_create_type_statement(&mut self, node: &'ast CreateTypeStatement<T>) {
309 visit_create_type_statement(self, node)
310 }
311 fn visit_create_view_statement(&mut self, node: &'ast CreateViewStatement<T>) {
312 visit_create_view_statement(self, node)
313 }
314 fn visit_create_webhook_source_body(&mut self, node: &'ast CreateWebhookSourceBody) {
315 visit_create_webhook_source_body(self, node)
316 }
317 fn visit_create_webhook_source_check(&mut self, node: &'ast CreateWebhookSourceCheck<T>) {
318 visit_create_webhook_source_check(self, node)
319 }
320 fn visit_create_webhook_source_check_options(&mut self, node: &'ast CreateWebhookSourceCheckOptions<T>) {
321 visit_create_webhook_source_check_options(self, node)
322 }
323 fn visit_create_webhook_source_filter_header(&mut self, node: &'ast CreateWebhookSourceFilterHeader) {
324 visit_create_webhook_source_filter_header(self, node)
325 }
326 fn visit_create_webhook_source_header(&mut self, node: &'ast CreateWebhookSourceHeader) {
327 visit_create_webhook_source_header(self, node)
328 }
329 fn visit_create_webhook_source_include_headers(&mut self, node: &'ast CreateWebhookSourceIncludeHeaders) {
330 visit_create_webhook_source_include_headers(self, node)
331 }
332 fn visit_create_webhook_source_map_header(&mut self, node: &'ast CreateWebhookSourceMapHeader) {
333 visit_create_webhook_source_map_header(self, node)
334 }
335 fn visit_create_webhook_source_secret(&mut self, node: &'ast CreateWebhookSourceSecret<T>) {
336 visit_create_webhook_source_secret(self, node)
337 }
338 fn visit_create_webhook_source_statement(&mut self, node: &'ast CreateWebhookSourceStatement<T>) {
339 visit_create_webhook_source_statement(self, node)
340 }
341 fn visit_csr_config_option(&mut self, node: &'ast CsrConfigOption<T>) {
342 visit_csr_config_option(self, node)
343 }
344 fn visit_csr_config_option_name(&mut self, node: &'ast CsrConfigOptionName<T>) {
345 visit_csr_config_option_name(self, node)
346 }
347 fn visit_csr_connection(&mut self, node: &'ast CsrConnection<T>) {
348 visit_csr_connection(self, node)
349 }
350 fn visit_csr_connection_avro(&mut self, node: &'ast CsrConnectionAvro<T>) {
351 visit_csr_connection_avro(self, node)
352 }
353 fn visit_csr_connection_protobuf(&mut self, node: &'ast CsrConnectionProtobuf<T>) {
354 visit_csr_connection_protobuf(self, node)
355 }
356 fn visit_csr_seed_avro(&mut self, node: &'ast CsrSeedAvro) {
357 visit_csr_seed_avro(self, node)
358 }
359 fn visit_csr_seed_protobuf(&mut self, node: &'ast CsrSeedProtobuf) {
360 visit_csr_seed_protobuf(self, node)
361 }
362 fn visit_csr_seed_protobuf_schema(&mut self, node: &'ast CsrSeedProtobufSchema) {
363 visit_csr_seed_protobuf_schema(self, node)
364 }
365 fn visit_csv_columns(&mut self, node: &'ast CsvColumns) {
366 visit_csv_columns(self, node)
367 }
368 fn visit_cte(&mut self, node: &'ast Cte<T>) {
369 visit_cte(self, node)
370 }
371 fn visit_cte_block(&mut self, node: &'ast CteBlock<T>) {
372 visit_cte_block(self, node)
373 }
374 fn visit_cte_mut_rec(&mut self, node: &'ast CteMutRec<T>) {
375 visit_cte_mut_rec(self, node)
376 }
377 fn visit_cte_mut_rec_column_def(&mut self, node: &'ast CteMutRecColumnDef<T>) {
378 visit_cte_mut_rec_column_def(self, node)
379 }
380 fn visit_date_time_field(&mut self, node: &'ast DateTimeField) {
381 visit_date_time_field(self, node)
382 }
383 fn visit_deallocate_statement(&mut self, node: &'ast DeallocateStatement) {
384 visit_deallocate_statement(self, node)
385 }
386 fn visit_declare_statement(&mut self, node: &'ast DeclareStatement<T>) {
387 visit_declare_statement(self, node)
388 }
389 fn visit_deferred_item_name(&mut self, node: &'ast DeferredItemName<T>) {
390 visit_deferred_item_name(self, node)
391 }
392 fn visit_delete_statement(&mut self, node: &'ast DeleteStatement<T>) {
393 visit_delete_statement(self, node)
394 }
395 fn visit_discard_statement(&mut self, node: &'ast DiscardStatement) {
396 visit_discard_statement(self, node)
397 }
398 fn visit_discard_target(&mut self, node: &'ast DiscardTarget) {
399 visit_discard_target(self, node)
400 }
401 fn visit_distinct(&mut self, node: &'ast Distinct<T>) {
402 visit_distinct(self, node)
403 }
404 fn visit_doc_on_identifier(&mut self, node: &'ast DocOnIdentifier<T>) {
405 visit_doc_on_identifier(self, node)
406 }
407 fn visit_doc_on_schema(&mut self, node: &'ast DocOnSchema) {
408 visit_doc_on_schema(self, node)
409 }
410 fn visit_drop_objects_statement(&mut self, node: &'ast DropObjectsStatement) {
411 visit_drop_objects_statement(self, node)
412 }
413 fn visit_drop_owned_statement(&mut self, node: &'ast DropOwnedStatement<T>) {
414 visit_drop_owned_statement(self, node)
415 }
416 fn visit_execute_statement(&mut self, node: &'ast ExecuteStatement<T>) {
417 visit_execute_statement(self, node)
418 }
419 fn visit_explain_analyze_computation_property(&mut self, node: &'ast ExplainAnalyzeComputationProperty) {
420 visit_explain_analyze_computation_property(self, node)
421 }
422 fn visit_explain_analyze_property(&mut self, node: &'ast ExplainAnalyzeProperty) {
423 visit_explain_analyze_property(self, node)
424 }
425 fn visit_explain_analyze_statement(&mut self, node: &'ast ExplainAnalyzeStatement<T>) {
426 visit_explain_analyze_statement(self, node)
427 }
428 fn visit_explain_format(&mut self, node: &'ast ExplainFormat) {
429 visit_explain_format(self, node)
430 }
431 fn visit_explain_plan_option(&mut self, node: &'ast ExplainPlanOption<T>) {
432 visit_explain_plan_option(self, node)
433 }
434 fn visit_explain_plan_option_name(&mut self, node: &'ast ExplainPlanOptionName) {
435 visit_explain_plan_option_name(self, node)
436 }
437 fn visit_explain_plan_statement(&mut self, node: &'ast ExplainPlanStatement<T>) {
438 visit_explain_plan_statement(self, node)
439 }
440 fn visit_explain_pushdown_statement(&mut self, node: &'ast ExplainPushdownStatement<T>) {
441 visit_explain_pushdown_statement(self, node)
442 }
443 fn visit_explain_sink_schema_for(&mut self, node: &'ast ExplainSinkSchemaFor) {
444 visit_explain_sink_schema_for(self, node)
445 }
446 fn visit_explain_sink_schema_statement(&mut self, node: &'ast ExplainSinkSchemaStatement<T>) {
447 visit_explain_sink_schema_statement(self, node)
448 }
449 fn visit_explain_stage(&mut self, node: &'ast ExplainStage) {
450 visit_explain_stage(self, node)
451 }
452 fn visit_explain_timestamp_statement(&mut self, node: &'ast ExplainTimestampStatement<T>) {
453 visit_explain_timestamp_statement(self, node)
454 }
455 fn visit_explainee(&mut self, node: &'ast Explainee<T>) {
456 visit_explainee(self, node)
457 }
458 fn visit_expr(&mut self, node: &'ast Expr<T>) {
459 visit_expr(self, node)
460 }
461 fn visit_external_reference_export(&mut self, node: &'ast ExternalReferenceExport) {
462 visit_external_reference_export(self, node)
463 }
464 fn visit_external_references(&mut self, node: &'ast ExternalReferences) {
465 visit_external_references(self, node)
466 }
467 fn visit_fetch_direction(&mut self, node: &'ast FetchDirection) {
468 visit_fetch_direction(self, node)
469 }
470 fn visit_fetch_option(&mut self, node: &'ast FetchOption<T>) {
471 visit_fetch_option(self, node)
472 }
473 fn visit_fetch_option_name(&mut self, node: &'ast FetchOptionName) {
474 visit_fetch_option_name(self, node)
475 }
476 fn visit_fetch_statement(&mut self, node: &'ast FetchStatement<T>) {
477 visit_fetch_statement(self, node)
478 }
479 fn visit_format(&mut self, node: &'ast Format<T>) {
480 visit_format(self, node)
481 }
482 fn visit_format_specifier(&mut self, node: &'ast FormatSpecifier<T>) {
483 visit_format_specifier(self, node)
484 }
485 fn visit_function(&mut self, node: &'ast Function<T>) {
486 visit_function(self, node)
487 }
488 fn visit_function_args(&mut self, node: &'ast FunctionArgs<T>) {
489 visit_function_args(self, node)
490 }
491 fn visit_grant_privileges_statement(&mut self, node: &'ast GrantPrivilegesStatement<T>) {
492 visit_grant_privileges_statement(self, node)
493 }
494 fn visit_grant_role_statement(&mut self, node: &'ast GrantRoleStatement<T>) {
495 visit_grant_role_statement(self, node)
496 }
497 fn visit_grant_target_all_specification(&mut self, node: &'ast GrantTargetAllSpecification<T>) {
498 visit_grant_target_all_specification(self, node)
499 }
500 fn visit_grant_target_specification(&mut self, node: &'ast GrantTargetSpecification<T>) {
501 visit_grant_target_specification(self, node)
502 }
503 fn visit_grant_target_specification_inner(&mut self, node: &'ast GrantTargetSpecificationInner<T>) {
504 visit_grant_target_specification_inner(self, node)
505 }
506 fn visit_homogenizing_function(&mut self, node: &'ast HomogenizingFunction) {
507 visit_homogenizing_function(self, node)
508 }
509 fn visit_iceberg_sink_config_option(&mut self, node: &'ast IcebergSinkConfigOption<T>) {
510 visit_iceberg_sink_config_option(self, node)
511 }
512 fn visit_iceberg_sink_config_option_name(&mut self, node: &'ast IcebergSinkConfigOptionName) {
513 visit_iceberg_sink_config_option_name(self, node)
514 }
515 fn visit_ident(&mut self, node: &'ast Ident) {
516 visit_ident(self, node)
517 }
518 fn visit_ident_error(&mut self, node: &'ast IdentError) {
519 visit_ident_error(self, node)
520 }
521 fn visit_if_exists_behavior(&mut self, node: &'ast IfExistsBehavior) {
522 visit_if_exists_behavior(self, node)
523 }
524 fn visit_index_option(&mut self, node: &'ast IndexOption<T>) {
525 visit_index_option(self, node)
526 }
527 fn visit_index_option_name(&mut self, node: &'ast IndexOptionName) {
528 visit_index_option_name(self, node)
529 }
530 fn visit_insert_source(&mut self, node: &'ast InsertSource<T>) {
531 visit_insert_source(self, node)
532 }
533 fn visit_insert_statement(&mut self, node: &'ast InsertStatement<T>) {
534 visit_insert_statement(self, node)
535 }
536 fn visit_inspect_shard_statement(&mut self, node: &'ast InspectShardStatement) {
537 visit_inspect_shard_statement(self, node)
538 }
539 fn visit_interval_value(&mut self, node: &'ast IntervalValue) {
540 visit_interval_value(self, node)
541 }
542 fn visit_is_expr_construct(&mut self, node: &'ast IsExprConstruct<T>) {
543 visit_is_expr_construct(self, node)
544 }
545 fn visit_join(&mut self, node: &'ast Join<T>) {
546 visit_join(self, node)
547 }
548 fn visit_join_constraint(&mut self, node: &'ast JoinConstraint<T>) {
549 visit_join_constraint(self, node)
550 }
551 fn visit_join_operator(&mut self, node: &'ast JoinOperator<T>) {
552 visit_join_operator(self, node)
553 }
554 fn visit_kafka_broker(&mut self, node: &'ast KafkaBroker<T>) {
555 visit_kafka_broker(self, node)
556 }
557 fn visit_kafka_broker_aws_privatelink(&mut self, node: &'ast KafkaBrokerAwsPrivatelink<T>) {
558 visit_kafka_broker_aws_privatelink(self, node)
559 }
560 fn visit_kafka_broker_aws_privatelink_option(&mut self, node: &'ast KafkaBrokerAwsPrivatelinkOption<T>) {
561 visit_kafka_broker_aws_privatelink_option(self, node)
562 }
563 fn visit_kafka_broker_aws_privatelink_option_name(&mut self, node: &'ast KafkaBrokerAwsPrivatelinkOptionName) {
564 visit_kafka_broker_aws_privatelink_option_name(self, node)
565 }
566 fn visit_kafka_broker_tunnel(&mut self, node: &'ast KafkaBrokerTunnel<T>) {
567 visit_kafka_broker_tunnel(self, node)
568 }
569 fn visit_kafka_sink_config_option(&mut self, node: &'ast KafkaSinkConfigOption<T>) {
570 visit_kafka_sink_config_option(self, node)
571 }
572 fn visit_kafka_sink_config_option_name(&mut self, node: &'ast KafkaSinkConfigOptionName) {
573 visit_kafka_sink_config_option_name(self, node)
574 }
575 fn visit_kafka_source_config_option(&mut self, node: &'ast KafkaSourceConfigOption<T>) {
576 visit_kafka_source_config_option(self, node)
577 }
578 fn visit_kafka_source_config_option_name(&mut self, node: &'ast KafkaSourceConfigOptionName) {
579 visit_kafka_source_config_option_name(self, node)
580 }
581 fn visit_key_constraint(&mut self, node: &'ast KeyConstraint) {
582 visit_key_constraint(self, node)
583 }
584 fn visit_limit(&mut self, node: &'ast Limit<T>) {
585 visit_limit(self, node)
586 }
587 fn visit_load_generator(&mut self, node: &'ast LoadGenerator) {
588 visit_load_generator(self, node)
589 }
590 fn visit_load_generator_option(&mut self, node: &'ast LoadGeneratorOption<T>) {
591 visit_load_generator_option(self, node)
592 }
593 fn visit_load_generator_option_name(&mut self, node: &'ast LoadGeneratorOptionName) {
594 visit_load_generator_option_name(self, node)
595 }
596 fn visit_map_entry(&mut self, node: &'ast MapEntry<T>) {
597 visit_map_entry(self, node)
598 }
599 fn visit_materialized_view_option(&mut self, node: &'ast MaterializedViewOption<T>) {
600 visit_materialized_view_option(self, node)
601 }
602 fn visit_materialized_view_option_name(&mut self, node: &'ast MaterializedViewOptionName) {
603 visit_materialized_view_option_name(self, node)
604 }
605 fn visit_mut_rec_block(&mut self, node: &'ast MutRecBlock<T>) {
606 visit_mut_rec_block(self, node)
607 }
608 fn visit_mut_rec_block_option(&mut self, node: &'ast MutRecBlockOption<T>) {
609 visit_mut_rec_block_option(self, node)
610 }
611 fn visit_mut_rec_block_option_name(&mut self, node: &'ast MutRecBlockOptionName) {
612 visit_mut_rec_block_option_name(self, node)
613 }
614 fn visit_my_sql_config_option(&mut self, node: &'ast MySqlConfigOption<T>) {
615 visit_my_sql_config_option(self, node)
616 }
617 fn visit_my_sql_config_option_name(&mut self, node: &'ast MySqlConfigOptionName) {
618 visit_my_sql_config_option_name(self, node)
619 }
620 fn visit_named_plan(&mut self, node: &'ast NamedPlan) {
621 visit_named_plan(self, node)
622 }
623 fn visit_network_policy_option(&mut self, node: &'ast NetworkPolicyOption<T>) {
624 visit_network_policy_option(self, node)
625 }
626 fn visit_network_policy_option_name(&mut self, node: &'ast NetworkPolicyOptionName) {
627 visit_network_policy_option_name(self, node)
628 }
629 fn visit_network_policy_rule_definition(&mut self, node: &'ast NetworkPolicyRuleDefinition<T>) {
630 visit_network_policy_rule_definition(self, node)
631 }
632 fn visit_network_policy_rule_option(&mut self, node: &'ast NetworkPolicyRuleOption<T>) {
633 visit_network_policy_rule_option(self, node)
634 }
635 fn visit_network_policy_rule_option_name(&mut self, node: &'ast NetworkPolicyRuleOptionName) {
636 visit_network_policy_rule_option_name(self, node)
637 }
638 fn visit_notice_severity(&mut self, node: &'ast NoticeSeverity) {
639 visit_notice_severity(self, node)
640 }
641 fn visit_object_type(&mut self, node: &'ast ObjectType) {
642 visit_object_type(self, node)
643 }
644 fn visit_op(&mut self, node: &'ast Op) {
645 visit_op(self, node)
646 }
647 fn visit_order_by_expr(&mut self, node: &'ast OrderByExpr<T>) {
648 visit_order_by_expr(self, node)
649 }
650 fn visit_pg_config_option(&mut self, node: &'ast PgConfigOption<T>) {
651 visit_pg_config_option(self, node)
652 }
653 fn visit_pg_config_option_name(&mut self, node: &'ast PgConfigOptionName) {
654 visit_pg_config_option_name(self, node)
655 }
656 fn visit_prepare_statement(&mut self, node: &'ast PrepareStatement<T>) {
657 visit_prepare_statement(self, node)
658 }
659 fn visit_privilege(&mut self, node: &'ast Privilege) {
660 visit_privilege(self, node)
661 }
662 fn visit_privilege_specification(&mut self, node: &'ast PrivilegeSpecification) {
663 visit_privilege_specification(self, node)
664 }
665 fn visit_protobuf_schema(&mut self, node: &'ast ProtobufSchema<T>) {
666 visit_protobuf_schema(self, node)
667 }
668 fn visit_qualified_replica(&mut self, node: &'ast QualifiedReplica) {
669 visit_qualified_replica(self, node)
670 }
671 fn visit_query(&mut self, node: &'ast Query<T>) {
672 visit_query(self, node)
673 }
674 fn visit_raise_statement(&mut self, node: &'ast RaiseStatement) {
675 visit_raise_statement(self, node)
676 }
677 fn visit_reader_schema_selection_strategy(&mut self, node: &'ast ReaderSchemaSelectionStrategy) {
678 visit_reader_schema_selection_strategy(self, node)
679 }
680 fn visit_reassign_owned_statement(&mut self, node: &'ast ReassignOwnedStatement<T>) {
681 visit_reassign_owned_statement(self, node)
682 }
683 fn visit_refresh_at_option_value(&mut self, node: &'ast RefreshAtOptionValue<T>) {
684 visit_refresh_at_option_value(self, node)
685 }
686 fn visit_refresh_every_option_value(&mut self, node: &'ast RefreshEveryOptionValue<T>) {
687 visit_refresh_every_option_value(self, node)
688 }
689 fn visit_refresh_option_value(&mut self, node: &'ast RefreshOptionValue<T>) {
690 visit_refresh_option_value(self, node)
691 }
692 fn visit_replica_definition(&mut self, node: &'ast ReplicaDefinition<T>) {
693 visit_replica_definition(self, node)
694 }
695 fn visit_replica_option(&mut self, node: &'ast ReplicaOption<T>) {
696 visit_replica_option(self, node)
697 }
698 fn visit_replica_option_name(&mut self, node: &'ast ReplicaOptionName) {
699 visit_replica_option_name(self, node)
700 }
701 fn visit_reset_variable_statement(&mut self, node: &'ast ResetVariableStatement) {
702 visit_reset_variable_statement(self, node)
703 }
704 fn visit_revoke_privileges_statement(&mut self, node: &'ast RevokePrivilegesStatement<T>) {
705 visit_revoke_privileges_statement(self, node)
706 }
707 fn visit_revoke_role_statement(&mut self, node: &'ast RevokeRoleStatement<T>) {
708 visit_revoke_role_statement(self, node)
709 }
710 fn visit_role_attribute(&mut self, node: &'ast RoleAttribute) {
711 visit_role_attribute(self, node)
712 }
713 fn visit_rollback_statement(&mut self, node: &'ast RollbackStatement) {
714 visit_rollback_statement(self, node)
715 }
716 fn visit_schema(&mut self, node: &'ast Schema) {
717 visit_schema(self, node)
718 }
719 fn visit_select(&mut self, node: &'ast Select<T>) {
720 visit_select(self, node)
721 }
722 fn visit_select_item(&mut self, node: &'ast SelectItem<T>) {
723 visit_select_item(self, node)
724 }
725 fn visit_select_option(&mut self, node: &'ast SelectOption<T>) {
726 visit_select_option(self, node)
727 }
728 fn visit_select_option_name(&mut self, node: &'ast SelectOptionName) {
729 visit_select_option_name(self, node)
730 }
731 fn visit_select_statement(&mut self, node: &'ast SelectStatement<T>) {
732 visit_select_statement(self, node)
733 }
734 fn visit_set_expr(&mut self, node: &'ast SetExpr<T>) {
735 visit_set_expr(self, node)
736 }
737 fn visit_set_operator(&mut self, node: &'ast SetOperator) {
738 visit_set_operator(self, node)
739 }
740 fn visit_set_role_var(&mut self, node: &'ast SetRoleVar) {
741 visit_set_role_var(self, node)
742 }
743 fn visit_set_transaction_statement(&mut self, node: &'ast SetTransactionStatement) {
744 visit_set_transaction_statement(self, node)
745 }
746 fn visit_set_variable_statement(&mut self, node: &'ast SetVariableStatement) {
747 visit_set_variable_statement(self, node)
748 }
749 fn visit_set_variable_to(&mut self, node: &'ast SetVariableTo) {
750 visit_set_variable_to(self, node)
751 }
752 fn visit_set_variable_value(&mut self, node: &'ast SetVariableValue) {
753 visit_set_variable_value(self, node)
754 }
755 fn visit_show_columns_statement(&mut self, node: &'ast ShowColumnsStatement<T>) {
756 visit_show_columns_statement(self, node)
757 }
758 fn visit_show_create_cluster_statement(&mut self, node: &'ast ShowCreateClusterStatement<T>) {
759 visit_show_create_cluster_statement(self, node)
760 }
761 fn visit_show_create_connection_statement(&mut self, node: &'ast ShowCreateConnectionStatement<T>) {
762 visit_show_create_connection_statement(self, node)
763 }
764 fn visit_show_create_index_statement(&mut self, node: &'ast ShowCreateIndexStatement<T>) {
765 visit_show_create_index_statement(self, node)
766 }
767 fn visit_show_create_materialized_view_statement(&mut self, node: &'ast ShowCreateMaterializedViewStatement<T>) {
768 visit_show_create_materialized_view_statement(self, node)
769 }
770 fn visit_show_create_sink_statement(&mut self, node: &'ast ShowCreateSinkStatement<T>) {
771 visit_show_create_sink_statement(self, node)
772 }
773 fn visit_show_create_source_statement(&mut self, node: &'ast ShowCreateSourceStatement<T>) {
774 visit_show_create_source_statement(self, node)
775 }
776 fn visit_show_create_table_statement(&mut self, node: &'ast ShowCreateTableStatement<T>) {
777 visit_show_create_table_statement(self, node)
778 }
779 fn visit_show_create_type_statement(&mut self, node: &'ast ShowCreateTypeStatement<T>) {
780 visit_show_create_type_statement(self, node)
781 }
782 fn visit_show_create_view_statement(&mut self, node: &'ast ShowCreateViewStatement<T>) {
783 visit_show_create_view_statement(self, node)
784 }
785 fn visit_show_object_type(&mut self, node: &'ast ShowObjectType<T>) {
786 visit_show_object_type(self, node)
787 }
788 fn visit_show_objects_statement(&mut self, node: &'ast ShowObjectsStatement<T>) {
789 visit_show_objects_statement(self, node)
790 }
791 fn visit_show_statement(&mut self, node: &'ast ShowStatement<T>) {
792 visit_show_statement(self, node)
793 }
794 fn visit_show_statement_filter(&mut self, node: &'ast ShowStatementFilter<T>) {
795 visit_show_statement_filter(self, node)
796 }
797 fn visit_show_variable_statement(&mut self, node: &'ast ShowVariableStatement) {
798 visit_show_variable_statement(self, node)
799 }
800 fn visit_sink_envelope(&mut self, node: &'ast SinkEnvelope) {
801 visit_sink_envelope(self, node)
802 }
803 fn visit_sink_key(&mut self, node: &'ast SinkKey) {
804 visit_sink_key(self, node)
805 }
806 fn visit_source_envelope(&mut self, node: &'ast SourceEnvelope) {
807 visit_source_envelope(self, node)
808 }
809 fn visit_source_error_policy(&mut self, node: &'ast SourceErrorPolicy) {
810 visit_source_error_policy(self, node)
811 }
812 fn visit_source_include_metadata(&mut self, node: &'ast SourceIncludeMetadata) {
813 visit_source_include_metadata(self, node)
814 }
815 fn visit_sql_server_config_option(&mut self, node: &'ast SqlServerConfigOption<T>) {
816 visit_sql_server_config_option(self, node)
817 }
818 fn visit_sql_server_config_option_name(&mut self, node: &'ast SqlServerConfigOptionName) {
819 visit_sql_server_config_option_name(self, node)
820 }
821 fn visit_start_transaction_statement(&mut self, node: &'ast StartTransactionStatement) {
822 visit_start_transaction_statement(self, node)
823 }
824 fn visit_statement(&mut self, node: &'ast Statement<T>) {
825 visit_statement(self, node)
826 }
827 fn visit_subscribe_option(&mut self, node: &'ast SubscribeOption<T>) {
828 visit_subscribe_option(self, node)
829 }
830 fn visit_subscribe_option_name(&mut self, node: &'ast SubscribeOptionName) {
831 visit_subscribe_option_name(self, node)
832 }
833 fn visit_subscribe_output(&mut self, node: &'ast SubscribeOutput<T>) {
834 visit_subscribe_output(self, node)
835 }
836 fn visit_subscribe_relation(&mut self, node: &'ast SubscribeRelation<T>) {
837 visit_subscribe_relation(self, node)
838 }
839 fn visit_subscribe_statement(&mut self, node: &'ast SubscribeStatement<T>) {
840 visit_subscribe_statement(self, node)
841 }
842 fn visit_subscript_position(&mut self, node: &'ast SubscriptPosition<T>) {
843 visit_subscript_position(self, node)
844 }
845 fn visit_system_object_type(&mut self, node: &'ast SystemObjectType) {
846 visit_system_object_type(self, node)
847 }
848 fn visit_cluster_name(&mut self, node: &'ast T::ClusterName) {
849 visit_cluster_name(self, node)
850 }
851 fn visit_column_reference(&mut self, node: &'ast T::ColumnReference) {
852 visit_column_reference(self, node)
853 }
854 fn visit_cte_id(&mut self, node: &'ast T::CteId) {
855 visit_cte_id(self, node)
856 }
857 fn visit_data_type(&mut self, node: &'ast T::DataType) {
858 visit_data_type(self, node)
859 }
860 fn visit_database_name(&mut self, node: &'ast T::DatabaseName) {
861 visit_database_name(self, node)
862 }
863 fn visit_item_name(&mut self, node: &'ast T::ItemName) {
864 visit_item_name(self, node)
865 }
866 fn visit_nested_statement(&mut self, node: &'ast T::NestedStatement) {
867 visit_nested_statement(self, node)
868 }
869 fn visit_network_policy_name(&mut self, node: &'ast T::NetworkPolicyName) {
870 visit_network_policy_name(self, node)
871 }
872 fn visit_object_name(&mut self, node: &'ast T::ObjectName) {
873 visit_object_name(self, node)
874 }
875 fn visit_role_name(&mut self, node: &'ast T::RoleName) {
876 visit_role_name(self, node)
877 }
878 fn visit_schema_name(&mut self, node: &'ast T::SchemaName) {
879 visit_schema_name(self, node)
880 }
881 fn visit_table_alias(&mut self, node: &'ast TableAlias) {
882 visit_table_alias(self, node)
883 }
884 fn visit_table_constraint(&mut self, node: &'ast TableConstraint<T>) {
885 visit_table_constraint(self, node)
886 }
887 fn visit_table_factor(&mut self, node: &'ast TableFactor<T>) {
888 visit_table_factor(self, node)
889 }
890 fn visit_table_from_source_columns(&mut self, node: &'ast TableFromSourceColumns<T>) {
891 visit_table_from_source_columns(self, node)
892 }
893 fn visit_table_from_source_option(&mut self, node: &'ast TableFromSourceOption<T>) {
894 visit_table_from_source_option(self, node)
895 }
896 fn visit_table_from_source_option_name(&mut self, node: &'ast TableFromSourceOptionName) {
897 visit_table_from_source_option_name(self, node)
898 }
899 fn visit_table_option(&mut self, node: &'ast TableOption<T>) {
900 visit_table_option(self, node)
901 }
902 fn visit_table_option_name(&mut self, node: &'ast TableOptionName) {
903 visit_table_option_name(self, node)
904 }
905 fn visit_table_with_joins(&mut self, node: &'ast TableWithJoins<T>) {
906 visit_table_with_joins(self, node)
907 }
908 fn visit_target_role_specification(&mut self, node: &'ast TargetRoleSpecification<T>) {
909 visit_target_role_specification(self, node)
910 }
911 fn visit_transaction_access_mode(&mut self, node: &'ast TransactionAccessMode) {
912 visit_transaction_access_mode(self, node)
913 }
914 fn visit_transaction_isolation_level(&mut self, node: &'ast TransactionIsolationLevel) {
915 visit_transaction_isolation_level(self, node)
916 }
917 fn visit_transaction_mode(&mut self, node: &'ast TransactionMode) {
918 visit_transaction_mode(self, node)
919 }
920 fn visit_unresolved_database_name(&mut self, node: &'ast UnresolvedDatabaseName) {
921 visit_unresolved_database_name(self, node)
922 }
923 fn visit_unresolved_item_name(&mut self, node: &'ast UnresolvedItemName) {
924 visit_unresolved_item_name(self, node)
925 }
926 fn visit_unresolved_object_name(&mut self, node: &'ast UnresolvedObjectName) {
927 visit_unresolved_object_name(self, node)
928 }
929 fn visit_unresolved_schema_name(&mut self, node: &'ast UnresolvedSchemaName) {
930 visit_unresolved_schema_name(self, node)
931 }
932 fn visit_update_statement(&mut self, node: &'ast UpdateStatement<T>) {
933 visit_update_statement(self, node)
934 }
935 fn visit_validate_connection_statement(&mut self, node: &'ast ValidateConnectionStatement<T>) {
936 visit_validate_connection_statement(self, node)
937 }
938 fn visit_value(&mut self, node: &'ast Value) {
939 visit_value(self, node)
940 }
941 fn visit_value_error(&mut self, node: &'ast ValueError) {
942 visit_value_error(self, node)
943 }
944 fn visit_values(&mut self, node: &'ast Values<T>) {
945 visit_values(self, node)
946 }
947 fn visit_version(&mut self, node: &'ast Version) {
948 visit_version(self, node)
949 }
950 fn visit_view_definition(&mut self, node: &'ast ViewDefinition<T>) {
951 visit_view_definition(self, node)
952 }
953 fn visit_window_frame(&mut self, node: &'ast WindowFrame) {
954 visit_window_frame(self, node)
955 }
956 fn visit_window_frame_bound(&mut self, node: &'ast WindowFrameBound) {
957 visit_window_frame_bound(self, node)
958 }
959 fn visit_window_frame_units(&mut self, node: &'ast WindowFrameUnits) {
960 visit_window_frame_units(self, node)
961 }
962 fn visit_window_spec(&mut self, node: &'ast WindowSpec<T>) {
963 visit_window_spec(self, node)
964 }
965 fn visit_with_option_value(&mut self, node: &'ast WithOptionValue<T>) {
966 visit_with_option_value(self, node)
967 }
968}
969pub trait VisitNode<'ast, T: AstInfo, > {
970 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V);
971}
972impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AbbreviatedGrantOrRevokeStatement<T> {
973 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
974 visitor.visit_abbreviated_grant_or_revoke_statement(self)
975 }
976}
977#[allow(clippy::needless_pass_by_ref_mut)]
978pub fn visit_abbreviated_grant_or_revoke_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AbbreviatedGrantOrRevokeStatement<T>)
979where
980 V: Visit<'ast, T, > + ?Sized,
981{
982 match node {
983 AbbreviatedGrantOrRevokeStatement::Grant {
984 0: binding0,
985 } => {
986 visitor.visit_abbreviated_grant_statement(binding0);
987 }
988 AbbreviatedGrantOrRevokeStatement::Revoke {
989 0: binding0,
990 } => {
991 visitor.visit_abbreviated_revoke_statement(binding0);
992 }
993 }
994}
995impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AbbreviatedGrantStatement<T> {
996 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
997 visitor.visit_abbreviated_grant_statement(self)
998 }
999}
1000#[allow(clippy::needless_pass_by_ref_mut)]
1001pub fn visit_abbreviated_grant_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AbbreviatedGrantStatement<T>)
1002where
1003 V: Visit<'ast, T, > + ?Sized,
1004{
1005 visitor.visit_privilege_specification(&node.privileges);
1006 visitor.visit_object_type(&node.object_type);
1007 for v in &node.grantees {
1008 visitor.visit_role_name(v);
1009 }
1010}
1011impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AbbreviatedRevokeStatement<T> {
1012 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1013 visitor.visit_abbreviated_revoke_statement(self)
1014 }
1015}
1016#[allow(clippy::needless_pass_by_ref_mut)]
1017pub fn visit_abbreviated_revoke_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AbbreviatedRevokeStatement<T>)
1018where
1019 V: Visit<'ast, T, > + ?Sized,
1020{
1021 visitor.visit_privilege_specification(&node.privileges);
1022 visitor.visit_object_type(&node.object_type);
1023 for v in &node.revokees {
1024 visitor.visit_role_name(v);
1025 }
1026}
1027impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterClusterAction<T> {
1028 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1029 visitor.visit_alter_cluster_action(self)
1030 }
1031}
1032#[allow(clippy::needless_pass_by_ref_mut)]
1033pub fn visit_alter_cluster_action<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterClusterAction<T>)
1034where
1035 V: Visit<'ast, T, > + ?Sized,
1036{
1037 match node {
1038 AlterClusterAction::SetOptions {
1039 options: binding0,
1040 with_options: binding1,
1041 } => {
1042 for v in binding0 {
1043 visitor.visit_cluster_option(v);
1044 }
1045 for v in binding1 {
1046 visitor.visit_cluster_alter_option(v);
1047 }
1048 }
1049 AlterClusterAction::ResetOptions {
1050 0: binding0,
1051 } => {
1052 for v in binding0 {
1053 visitor.visit_cluster_option_name(v);
1054 }
1055 }
1056 }
1057}
1058impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterClusterStatement<T> {
1059 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1060 visitor.visit_alter_cluster_statement(self)
1061 }
1062}
1063#[allow(clippy::needless_pass_by_ref_mut)]
1064pub fn visit_alter_cluster_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterClusterStatement<T>)
1065where
1066 V: Visit<'ast, T, > + ?Sized,
1067{
1068 visitor.visit_ident(&node.name);
1069 visitor.visit_alter_cluster_action(&node.action);
1070}
1071impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterConnectionAction<T> {
1072 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1073 visitor.visit_alter_connection_action(self)
1074 }
1075}
1076#[allow(clippy::needless_pass_by_ref_mut)]
1077pub fn visit_alter_connection_action<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterConnectionAction<T>)
1078where
1079 V: Visit<'ast, T, > + ?Sized,
1080{
1081 match node {
1082 AlterConnectionAction::RotateKeys {
1083 } => {
1084 }
1085 AlterConnectionAction::SetOption {
1086 0: binding0,
1087 } => {
1088 visitor.visit_connection_option(binding0);
1089 }
1090 AlterConnectionAction::DropOption {
1091 0: binding0,
1092 } => {
1093 visitor.visit_connection_option_name(binding0);
1094 }
1095 }
1096}
1097impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterConnectionOption<T> {
1098 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1099 visitor.visit_alter_connection_option(self)
1100 }
1101}
1102#[allow(clippy::needless_pass_by_ref_mut)]
1103pub fn visit_alter_connection_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterConnectionOption<T>)
1104where
1105 V: Visit<'ast, T, > + ?Sized,
1106{
1107 visitor.visit_alter_connection_option_name(&node.name);
1108 if let Some(v) = &node.value {
1109 visitor.visit_with_option_value(v);
1110 }
1111}
1112impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterConnectionOptionName {
1113 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1114 visitor.visit_alter_connection_option_name(self)
1115 }
1116}
1117#[allow(clippy::needless_pass_by_ref_mut)]
1118pub fn visit_alter_connection_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterConnectionOptionName)
1119where
1120 V: Visit<'ast, T, > + ?Sized,
1121{
1122 match node {
1123 AlterConnectionOptionName::Validate {
1124 } => {
1125 }
1126 }
1127}
1128impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterConnectionStatement<T> {
1129 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1130 visitor.visit_alter_connection_statement(self)
1131 }
1132}
1133#[allow(clippy::needless_pass_by_ref_mut)]
1134pub fn visit_alter_connection_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterConnectionStatement<T>)
1135where
1136 V: Visit<'ast, T, > + ?Sized,
1137{
1138 visitor.visit_unresolved_item_name(&node.name);
1139 for v in &node.actions {
1140 visitor.visit_alter_connection_action(v);
1141 }
1142 for v in &node.with_options {
1143 visitor.visit_alter_connection_option(v);
1144 }
1145}
1146impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterDefaultPrivilegesStatement<T> {
1147 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1148 visitor.visit_alter_default_privileges_statement(self)
1149 }
1150}
1151#[allow(clippy::needless_pass_by_ref_mut)]
1152pub fn visit_alter_default_privileges_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterDefaultPrivilegesStatement<T>)
1153where
1154 V: Visit<'ast, T, > + ?Sized,
1155{
1156 visitor.visit_target_role_specification(&node.target_roles);
1157 visitor.visit_grant_target_all_specification(&node.target_objects);
1158 visitor.visit_abbreviated_grant_or_revoke_statement(&node.grant_or_revoke);
1159}
1160impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterIndexAction<T> {
1161 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1162 visitor.visit_alter_index_action(self)
1163 }
1164}
1165#[allow(clippy::needless_pass_by_ref_mut)]
1166pub fn visit_alter_index_action<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterIndexAction<T>)
1167where
1168 V: Visit<'ast, T, > + ?Sized,
1169{
1170 match node {
1171 AlterIndexAction::SetOptions {
1172 0: binding0,
1173 } => {
1174 for v in binding0 {
1175 visitor.visit_index_option(v);
1176 }
1177 }
1178 AlterIndexAction::ResetOptions {
1179 0: binding0,
1180 } => {
1181 for v in binding0 {
1182 visitor.visit_index_option_name(v);
1183 }
1184 }
1185 }
1186}
1187impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterIndexStatement<T> {
1188 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1189 visitor.visit_alter_index_statement(self)
1190 }
1191}
1192#[allow(clippy::needless_pass_by_ref_mut)]
1193pub fn visit_alter_index_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterIndexStatement<T>)
1194where
1195 V: Visit<'ast, T, > + ?Sized,
1196{
1197 visitor.visit_unresolved_item_name(&node.index_name);
1198 visitor.visit_alter_index_action(&node.action);
1199}
1200impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterNetworkPolicyStatement<T> {
1201 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1202 visitor.visit_alter_network_policy_statement(self)
1203 }
1204}
1205#[allow(clippy::needless_pass_by_ref_mut)]
1206pub fn visit_alter_network_policy_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterNetworkPolicyStatement<T>)
1207where
1208 V: Visit<'ast, T, > + ?Sized,
1209{
1210 visitor.visit_ident(&node.name);
1211 for v in &node.options {
1212 visitor.visit_network_policy_option(v);
1213 }
1214}
1215impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterObjectRenameStatement {
1216 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1217 visitor.visit_alter_object_rename_statement(self)
1218 }
1219}
1220#[allow(clippy::needless_pass_by_ref_mut)]
1221pub fn visit_alter_object_rename_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterObjectRenameStatement)
1222where
1223 V: Visit<'ast, T, > + ?Sized,
1224{
1225 visitor.visit_object_type(&node.object_type);
1226 visitor.visit_unresolved_object_name(&node.name);
1227 visitor.visit_ident(&node.to_item_name);
1228}
1229impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterObjectSwapStatement {
1230 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1231 visitor.visit_alter_object_swap_statement(self)
1232 }
1233}
1234#[allow(clippy::needless_pass_by_ref_mut)]
1235pub fn visit_alter_object_swap_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterObjectSwapStatement)
1236where
1237 V: Visit<'ast, T, > + ?Sized,
1238{
1239 visitor.visit_object_type(&node.object_type);
1240 visitor.visit_unresolved_object_name(&node.name_a);
1241 visitor.visit_ident(&node.name_b);
1242}
1243impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterOwnerStatement<T> {
1244 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1245 visitor.visit_alter_owner_statement(self)
1246 }
1247}
1248#[allow(clippy::needless_pass_by_ref_mut)]
1249pub fn visit_alter_owner_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterOwnerStatement<T>)
1250where
1251 V: Visit<'ast, T, > + ?Sized,
1252{
1253 visitor.visit_object_type(&node.object_type);
1254 visitor.visit_unresolved_object_name(&node.name);
1255 visitor.visit_role_name(&node.new_owner);
1256}
1257impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterRetainHistoryStatement<T> {
1258 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1259 visitor.visit_alter_retain_history_statement(self)
1260 }
1261}
1262#[allow(clippy::needless_pass_by_ref_mut)]
1263pub fn visit_alter_retain_history_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterRetainHistoryStatement<T>)
1264where
1265 V: Visit<'ast, T, > + ?Sized,
1266{
1267 visitor.visit_object_type(&node.object_type);
1268 visitor.visit_unresolved_object_name(&node.name);
1269 if let Some(v) = &node.history {
1270 visitor.visit_with_option_value(v);
1271 }
1272}
1273impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterRoleOption {
1274 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1275 visitor.visit_alter_role_option(self)
1276 }
1277}
1278#[allow(clippy::needless_pass_by_ref_mut)]
1279pub fn visit_alter_role_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterRoleOption)
1280where
1281 V: Visit<'ast, T, > + ?Sized,
1282{
1283 match node {
1284 AlterRoleOption::Attributes {
1285 0: binding0,
1286 } => {
1287 for v in binding0 {
1288 visitor.visit_role_attribute(v);
1289 }
1290 }
1291 AlterRoleOption::Variable {
1292 0: binding0,
1293 } => {
1294 visitor.visit_set_role_var(binding0);
1295 }
1296 }
1297}
1298impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterRoleStatement<T> {
1299 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1300 visitor.visit_alter_role_statement(self)
1301 }
1302}
1303#[allow(clippy::needless_pass_by_ref_mut)]
1304pub fn visit_alter_role_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterRoleStatement<T>)
1305where
1306 V: Visit<'ast, T, > + ?Sized,
1307{
1308 visitor.visit_role_name(&node.name);
1309 visitor.visit_alter_role_option(&node.option);
1310}
1311impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSecretStatement<T> {
1312 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1313 visitor.visit_alter_secret_statement(self)
1314 }
1315}
1316#[allow(clippy::needless_pass_by_ref_mut)]
1317pub fn visit_alter_secret_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSecretStatement<T>)
1318where
1319 V: Visit<'ast, T, > + ?Sized,
1320{
1321 visitor.visit_unresolved_item_name(&node.name);
1322 visitor.visit_expr(&node.value);
1323}
1324impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSetClusterStatement<T> {
1325 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1326 visitor.visit_alter_set_cluster_statement(self)
1327 }
1328}
1329#[allow(clippy::needless_pass_by_ref_mut)]
1330pub fn visit_alter_set_cluster_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSetClusterStatement<T>)
1331where
1332 V: Visit<'ast, T, > + ?Sized,
1333{
1334 visitor.visit_unresolved_item_name(&node.name);
1335 visitor.visit_object_type(&node.object_type);
1336 visitor.visit_cluster_name(&node.set_cluster);
1337}
1338impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSinkAction<T> {
1339 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1340 visitor.visit_alter_sink_action(self)
1341 }
1342}
1343#[allow(clippy::needless_pass_by_ref_mut)]
1344pub fn visit_alter_sink_action<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSinkAction<T>)
1345where
1346 V: Visit<'ast, T, > + ?Sized,
1347{
1348 match node {
1349 AlterSinkAction::SetOptions {
1350 0: binding0,
1351 } => {
1352 for v in binding0 {
1353 visitor.visit_create_sink_option(v);
1354 }
1355 }
1356 AlterSinkAction::ResetOptions {
1357 0: binding0,
1358 } => {
1359 for v in binding0 {
1360 visitor.visit_create_sink_option_name(v);
1361 }
1362 }
1363 AlterSinkAction::ChangeRelation {
1364 0: binding0,
1365 } => {
1366 visitor.visit_item_name(binding0);
1367 }
1368 }
1369}
1370impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSinkStatement<T> {
1371 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1372 visitor.visit_alter_sink_statement(self)
1373 }
1374}
1375#[allow(clippy::needless_pass_by_ref_mut)]
1376pub fn visit_alter_sink_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSinkStatement<T>)
1377where
1378 V: Visit<'ast, T, > + ?Sized,
1379{
1380 visitor.visit_unresolved_item_name(&node.sink_name);
1381 visitor.visit_alter_sink_action(&node.action);
1382}
1383impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSourceAction<T> {
1384 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1385 visitor.visit_alter_source_action(self)
1386 }
1387}
1388#[allow(clippy::needless_pass_by_ref_mut)]
1389pub fn visit_alter_source_action<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSourceAction<T>)
1390where
1391 V: Visit<'ast, T, > + ?Sized,
1392{
1393 match node {
1394 AlterSourceAction::SetOptions {
1395 0: binding0,
1396 } => {
1397 for v in binding0 {
1398 visitor.visit_create_source_option(v);
1399 }
1400 }
1401 AlterSourceAction::ResetOptions {
1402 0: binding0,
1403 } => {
1404 for v in binding0 {
1405 visitor.visit_create_source_option_name(v);
1406 }
1407 }
1408 AlterSourceAction::AddSubsources {
1409 external_references: binding0,
1410 options: binding1,
1411 } => {
1412 for v in binding0 {
1413 visitor.visit_external_reference_export(v);
1414 }
1415 for v in binding1 {
1416 visitor.visit_alter_source_add_subsource_option(v);
1417 }
1418 }
1419 AlterSourceAction::DropSubsources {
1420 if_exists: binding0,
1421 cascade: binding1,
1422 names: binding2,
1423 } => {
1424 for v in binding2 {
1425 visitor.visit_unresolved_item_name(v);
1426 }
1427 }
1428 AlterSourceAction::RefreshReferences {
1429 } => {
1430 }
1431 }
1432}
1433impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSourceAddSubsourceOption<T> {
1434 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1435 visitor.visit_alter_source_add_subsource_option(self)
1436 }
1437}
1438#[allow(clippy::needless_pass_by_ref_mut)]
1439pub fn visit_alter_source_add_subsource_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSourceAddSubsourceOption<T>)
1440where
1441 V: Visit<'ast, T, > + ?Sized,
1442{
1443 visitor.visit_alter_source_add_subsource_option_name(&node.name);
1444 if let Some(v) = &node.value {
1445 visitor.visit_with_option_value(v);
1446 }
1447}
1448impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSourceAddSubsourceOptionName {
1449 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1450 visitor.visit_alter_source_add_subsource_option_name(self)
1451 }
1452}
1453#[allow(clippy::needless_pass_by_ref_mut)]
1454pub fn visit_alter_source_add_subsource_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSourceAddSubsourceOptionName)
1455where
1456 V: Visit<'ast, T, > + ?Sized,
1457{
1458 match node {
1459 AlterSourceAddSubsourceOptionName::TextColumns {
1460 } => {
1461 }
1462 AlterSourceAddSubsourceOptionName::ExcludeColumns {
1463 } => {
1464 }
1465 AlterSourceAddSubsourceOptionName::Details {
1466 } => {
1467 }
1468 }
1469}
1470impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSourceStatement<T> {
1471 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1472 visitor.visit_alter_source_statement(self)
1473 }
1474}
1475#[allow(clippy::needless_pass_by_ref_mut)]
1476pub fn visit_alter_source_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSourceStatement<T>)
1477where
1478 V: Visit<'ast, T, > + ?Sized,
1479{
1480 visitor.visit_unresolved_item_name(&node.source_name);
1481 visitor.visit_alter_source_action(&node.action);
1482}
1483impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSystemResetAllStatement {
1484 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1485 visitor.visit_alter_system_reset_all_statement(self)
1486 }
1487}
1488#[allow(clippy::needless_pass_by_ref_mut)]
1489pub fn visit_alter_system_reset_all_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSystemResetAllStatement)
1490where
1491 V: Visit<'ast, T, > + ?Sized,
1492{
1493}
1494impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSystemResetStatement {
1495 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1496 visitor.visit_alter_system_reset_statement(self)
1497 }
1498}
1499#[allow(clippy::needless_pass_by_ref_mut)]
1500pub fn visit_alter_system_reset_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSystemResetStatement)
1501where
1502 V: Visit<'ast, T, > + ?Sized,
1503{
1504 visitor.visit_ident(&node.name);
1505}
1506impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterSystemSetStatement {
1507 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1508 visitor.visit_alter_system_set_statement(self)
1509 }
1510}
1511#[allow(clippy::needless_pass_by_ref_mut)]
1512pub fn visit_alter_system_set_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterSystemSetStatement)
1513where
1514 V: Visit<'ast, T, > + ?Sized,
1515{
1516 visitor.visit_ident(&node.name);
1517 visitor.visit_set_variable_to(&node.to);
1518}
1519impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AlterTableAddColumnStatement<T> {
1520 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1521 visitor.visit_alter_table_add_column_statement(self)
1522 }
1523}
1524#[allow(clippy::needless_pass_by_ref_mut)]
1525pub fn visit_alter_table_add_column_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AlterTableAddColumnStatement<T>)
1526where
1527 V: Visit<'ast, T, > + ?Sized,
1528{
1529 visitor.visit_unresolved_item_name(&node.name);
1530 visitor.visit_ident(&node.column_name);
1531 visitor.visit_data_type(&node.data_type);
1532}
1533impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AsOf<T> {
1534 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1535 visitor.visit_as_of(self)
1536 }
1537}
1538#[allow(clippy::needless_pass_by_ref_mut)]
1539pub fn visit_as_of<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AsOf<T>)
1540where
1541 V: Visit<'ast, T, > + ?Sized,
1542{
1543 match node {
1544 AsOf::At {
1545 0: binding0,
1546 } => {
1547 visitor.visit_expr(binding0);
1548 }
1549 AsOf::AtLeast {
1550 0: binding0,
1551 } => {
1552 visitor.visit_expr(binding0);
1553 }
1554 }
1555}
1556impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Assignment<T> {
1557 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1558 visitor.visit_assignment(self)
1559 }
1560}
1561#[allow(clippy::needless_pass_by_ref_mut)]
1562pub fn visit_assignment<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Assignment<T>)
1563where
1564 V: Visit<'ast, T, > + ?Sized,
1565{
1566 visitor.visit_ident(&node.id);
1567 visitor.visit_expr(&node.value);
1568}
1569impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AvroDocOn<T> {
1570 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1571 visitor.visit_avro_doc_on(self)
1572 }
1573}
1574#[allow(clippy::needless_pass_by_ref_mut)]
1575pub fn visit_avro_doc_on<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AvroDocOn<T>)
1576where
1577 V: Visit<'ast, T, > + ?Sized,
1578{
1579 visitor.visit_doc_on_identifier(&node.identifier);
1580 visitor.visit_doc_on_schema(&node.for_schema);
1581}
1582impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AvroSchema<T> {
1583 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1584 visitor.visit_avro_schema(self)
1585 }
1586}
1587#[allow(clippy::needless_pass_by_ref_mut)]
1588pub fn visit_avro_schema<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AvroSchema<T>)
1589where
1590 V: Visit<'ast, T, > + ?Sized,
1591{
1592 match node {
1593 AvroSchema::Csr {
1594 csr_connection: binding0,
1595 } => {
1596 visitor.visit_csr_connection_avro(binding0);
1597 }
1598 AvroSchema::InlineSchema {
1599 schema: binding0,
1600 with_options: binding1,
1601 } => {
1602 visitor.visit_schema(binding0);
1603 for v in binding1 {
1604 visitor.visit_avro_schema_option(v);
1605 }
1606 }
1607 }
1608}
1609impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AvroSchemaOption<T> {
1610 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1611 visitor.visit_avro_schema_option(self)
1612 }
1613}
1614#[allow(clippy::needless_pass_by_ref_mut)]
1615pub fn visit_avro_schema_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AvroSchemaOption<T>)
1616where
1617 V: Visit<'ast, T, > + ?Sized,
1618{
1619 visitor.visit_avro_schema_option_name(&node.name);
1620 if let Some(v) = &node.value {
1621 visitor.visit_with_option_value(v);
1622 }
1623}
1624impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for AvroSchemaOptionName {
1625 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1626 visitor.visit_avro_schema_option_name(self)
1627 }
1628}
1629#[allow(clippy::needless_pass_by_ref_mut)]
1630pub fn visit_avro_schema_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast AvroSchemaOptionName)
1631where
1632 V: Visit<'ast, T, > + ?Sized,
1633{
1634 match node {
1635 AvroSchemaOptionName::ConfluentWireFormat {
1636 } => {
1637 }
1638 }
1639}
1640impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CatalogName {
1641 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1642 visitor.visit_catalog_name(self)
1643 }
1644}
1645#[allow(clippy::needless_pass_by_ref_mut)]
1646pub fn visit_catalog_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CatalogName)
1647where
1648 V: Visit<'ast, T, > + ?Sized,
1649{
1650 match node {
1651 CatalogName::ItemName {
1652 0: binding0,
1653 } => {
1654 for v in binding0 {
1655 visitor.visit_ident(v);
1656 }
1657 }
1658 CatalogName::FuncName {
1659 0: binding0,
1660 } => {
1661 for v in binding0 {
1662 visitor.visit_ident(v);
1663 }
1664 }
1665 }
1666}
1667impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CloseStatement {
1668 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1669 visitor.visit_close_statement(self)
1670 }
1671}
1672#[allow(clippy::needless_pass_by_ref_mut)]
1673pub fn visit_close_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CloseStatement)
1674where
1675 V: Visit<'ast, T, > + ?Sized,
1676{
1677 visitor.visit_ident(&node.name);
1678}
1679impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterAlterOption<T> {
1680 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1681 visitor.visit_cluster_alter_option(self)
1682 }
1683}
1684#[allow(clippy::needless_pass_by_ref_mut)]
1685pub fn visit_cluster_alter_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterAlterOption<T>)
1686where
1687 V: Visit<'ast, T, > + ?Sized,
1688{
1689 visitor.visit_cluster_alter_option_name(&node.name);
1690 if let Some(v) = &node.value {
1691 visitor.visit_with_option_value(v);
1692 }
1693}
1694impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterAlterOptionName {
1695 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1696 visitor.visit_cluster_alter_option_name(self)
1697 }
1698}
1699#[allow(clippy::needless_pass_by_ref_mut)]
1700pub fn visit_cluster_alter_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterAlterOptionName)
1701where
1702 V: Visit<'ast, T, > + ?Sized,
1703{
1704 match node {
1705 ClusterAlterOptionName::Wait {
1706 } => {
1707 }
1708 }
1709}
1710impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterAlterOptionValue<T> {
1711 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1712 visitor.visit_cluster_alter_option_value(self)
1713 }
1714}
1715#[allow(clippy::needless_pass_by_ref_mut)]
1716pub fn visit_cluster_alter_option_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterAlterOptionValue<T>)
1717where
1718 V: Visit<'ast, T, > + ?Sized,
1719{
1720 match node {
1721 ClusterAlterOptionValue::For {
1722 0: binding0,
1723 } => {
1724 visitor.visit_value(binding0);
1725 }
1726 ClusterAlterOptionValue::UntilReady {
1727 0: binding0,
1728 } => {
1729 for v in binding0 {
1730 visitor.visit_cluster_alter_until_ready_option(v);
1731 }
1732 }
1733 }
1734}
1735impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterAlterUntilReadyOption<T> {
1736 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1737 visitor.visit_cluster_alter_until_ready_option(self)
1738 }
1739}
1740#[allow(clippy::needless_pass_by_ref_mut)]
1741pub fn visit_cluster_alter_until_ready_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterAlterUntilReadyOption<T>)
1742where
1743 V: Visit<'ast, T, > + ?Sized,
1744{
1745 visitor.visit_cluster_alter_until_ready_option_name(&node.name);
1746 if let Some(v) = &node.value {
1747 visitor.visit_with_option_value(v);
1748 }
1749}
1750impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterAlterUntilReadyOptionName {
1751 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1752 visitor.visit_cluster_alter_until_ready_option_name(self)
1753 }
1754}
1755#[allow(clippy::needless_pass_by_ref_mut)]
1756pub fn visit_cluster_alter_until_ready_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterAlterUntilReadyOptionName)
1757where
1758 V: Visit<'ast, T, > + ?Sized,
1759{
1760 match node {
1761 ClusterAlterUntilReadyOptionName::Timeout {
1762 } => {
1763 }
1764 ClusterAlterUntilReadyOptionName::OnTimeout {
1765 } => {
1766 }
1767 }
1768}
1769impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterFeature<T> {
1770 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1771 visitor.visit_cluster_feature(self)
1772 }
1773}
1774#[allow(clippy::needless_pass_by_ref_mut)]
1775pub fn visit_cluster_feature<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterFeature<T>)
1776where
1777 V: Visit<'ast, T, > + ?Sized,
1778{
1779 visitor.visit_cluster_feature_name(&node.name);
1780 if let Some(v) = &node.value {
1781 visitor.visit_with_option_value(v);
1782 }
1783}
1784impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterFeatureName {
1785 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1786 visitor.visit_cluster_feature_name(self)
1787 }
1788}
1789#[allow(clippy::needless_pass_by_ref_mut)]
1790pub fn visit_cluster_feature_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterFeatureName)
1791where
1792 V: Visit<'ast, T, > + ?Sized,
1793{
1794 match node {
1795 ClusterFeatureName::ReoptimizeImportedViews {
1796 } => {
1797 }
1798 ClusterFeatureName::EnableNewOuterJoinLowering {
1799 } => {
1800 }
1801 ClusterFeatureName::EnableEagerDeltaJoins {
1802 } => {
1803 }
1804 ClusterFeatureName::EnableVariadicLeftJoinLowering {
1805 } => {
1806 }
1807 ClusterFeatureName::EnableLetrecFixpointAnalysis {
1808 } => {
1809 }
1810 ClusterFeatureName::EnableJoinPrioritizeArranged {
1811 } => {
1812 }
1813 ClusterFeatureName::EnableProjectionPushdownAfterRelationCse {
1814 } => {
1815 }
1816 }
1817}
1818impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterOption<T> {
1819 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1820 visitor.visit_cluster_option(self)
1821 }
1822}
1823#[allow(clippy::needless_pass_by_ref_mut)]
1824pub fn visit_cluster_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterOption<T>)
1825where
1826 V: Visit<'ast, T, > + ?Sized,
1827{
1828 visitor.visit_cluster_option_name(&node.name);
1829 if let Some(v) = &node.value {
1830 visitor.visit_with_option_value(v);
1831 }
1832}
1833impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterOptionName {
1834 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1835 visitor.visit_cluster_option_name(self)
1836 }
1837}
1838#[allow(clippy::needless_pass_by_ref_mut)]
1839pub fn visit_cluster_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterOptionName)
1840where
1841 V: Visit<'ast, T, > + ?Sized,
1842{
1843 match node {
1844 ClusterOptionName::AvailabilityZones {
1845 } => {
1846 }
1847 ClusterOptionName::Disk {
1848 } => {
1849 }
1850 ClusterOptionName::IntrospectionInterval {
1851 } => {
1852 }
1853 ClusterOptionName::IntrospectionDebugging {
1854 } => {
1855 }
1856 ClusterOptionName::Managed {
1857 } => {
1858 }
1859 ClusterOptionName::Replicas {
1860 } => {
1861 }
1862 ClusterOptionName::ReplicationFactor {
1863 } => {
1864 }
1865 ClusterOptionName::Size {
1866 } => {
1867 }
1868 ClusterOptionName::Schedule {
1869 } => {
1870 }
1871 ClusterOptionName::WorkloadClass {
1872 } => {
1873 }
1874 }
1875}
1876impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ClusterScheduleOptionValue {
1877 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1878 visitor.visit_cluster_schedule_option_value(self)
1879 }
1880}
1881#[allow(clippy::needless_pass_by_ref_mut)]
1882pub fn visit_cluster_schedule_option_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ClusterScheduleOptionValue)
1883where
1884 V: Visit<'ast, T, > + ?Sized,
1885{
1886 match node {
1887 ClusterScheduleOptionValue::Manual {
1888 } => {
1889 }
1890 ClusterScheduleOptionValue::Refresh {
1891 hydration_time_estimate: binding0,
1892 } => {
1893 if let Some(v) = binding0 {
1894 visitor.visit_interval_value(v);
1895 }
1896 }
1897 }
1898}
1899impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ColumnDef<T> {
1900 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1901 visitor.visit_column_def(self)
1902 }
1903}
1904#[allow(clippy::needless_pass_by_ref_mut)]
1905pub fn visit_column_def<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ColumnDef<T>)
1906where
1907 V: Visit<'ast, T, > + ?Sized,
1908{
1909 visitor.visit_ident(&node.name);
1910 visitor.visit_data_type(&node.data_type);
1911 if let Some(v) = &node.collation {
1912 visitor.visit_unresolved_item_name(v);
1913 }
1914 for v in &node.options {
1915 visitor.visit_column_option_def(v);
1916 }
1917}
1918impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ColumnName<T> {
1919 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1920 visitor.visit_column_name(self)
1921 }
1922}
1923#[allow(clippy::needless_pass_by_ref_mut)]
1924pub fn visit_column_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ColumnName<T>)
1925where
1926 V: Visit<'ast, T, > + ?Sized,
1927{
1928 visitor.visit_item_name(&node.relation);
1929 visitor.visit_column_reference(&node.column);
1930}
1931impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ColumnOption<T> {
1932 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1933 visitor.visit_column_option(self)
1934 }
1935}
1936#[allow(clippy::needless_pass_by_ref_mut)]
1937pub fn visit_column_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ColumnOption<T>)
1938where
1939 V: Visit<'ast, T, > + ?Sized,
1940{
1941 match node {
1942 ColumnOption::Null {
1943 } => {
1944 }
1945 ColumnOption::NotNull {
1946 } => {
1947 }
1948 ColumnOption::Default {
1949 0: binding0,
1950 } => {
1951 visitor.visit_expr(binding0);
1952 }
1953 ColumnOption::Unique {
1954 is_primary: binding0,
1955 } => {
1956 }
1957 ColumnOption::ForeignKey {
1958 foreign_table: binding0,
1959 referred_columns: binding1,
1960 } => {
1961 visitor.visit_unresolved_item_name(binding0);
1962 for v in binding1 {
1963 visitor.visit_ident(v);
1964 }
1965 }
1966 ColumnOption::Check {
1967 0: binding0,
1968 } => {
1969 visitor.visit_expr(binding0);
1970 }
1971 ColumnOption::Versioned {
1972 action: binding0,
1973 version: binding1,
1974 } => {
1975 visitor.visit_column_versioned(binding0);
1976 visitor.visit_version(binding1);
1977 }
1978 }
1979}
1980impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ColumnOptionDef<T> {
1981 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1982 visitor.visit_column_option_def(self)
1983 }
1984}
1985#[allow(clippy::needless_pass_by_ref_mut)]
1986pub fn visit_column_option_def<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ColumnOptionDef<T>)
1987where
1988 V: Visit<'ast, T, > + ?Sized,
1989{
1990 if let Some(v) = &node.name {
1991 visitor.visit_ident(v);
1992 }
1993 visitor.visit_column_option(&node.option);
1994}
1995impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ColumnVersioned {
1996 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
1997 visitor.visit_column_versioned(self)
1998 }
1999}
2000#[allow(clippy::needless_pass_by_ref_mut)]
2001pub fn visit_column_versioned<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ColumnVersioned)
2002where
2003 V: Visit<'ast, T, > + ?Sized,
2004{
2005 match node {
2006 ColumnVersioned::Added {
2007 } => {
2008 }
2009 }
2010}
2011impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CommentObjectType<T> {
2012 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2013 visitor.visit_comment_object_type(self)
2014 }
2015}
2016#[allow(clippy::needless_pass_by_ref_mut)]
2017pub fn visit_comment_object_type<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CommentObjectType<T>)
2018where
2019 V: Visit<'ast, T, > + ?Sized,
2020{
2021 match node {
2022 CommentObjectType::Table {
2023 name: binding0,
2024 } => {
2025 visitor.visit_item_name(binding0);
2026 }
2027 CommentObjectType::View {
2028 name: binding0,
2029 } => {
2030 visitor.visit_item_name(binding0);
2031 }
2032 CommentObjectType::Column {
2033 name: binding0,
2034 } => {
2035 visitor.visit_column_name(binding0);
2036 }
2037 CommentObjectType::MaterializedView {
2038 name: binding0,
2039 } => {
2040 visitor.visit_item_name(binding0);
2041 }
2042 CommentObjectType::Source {
2043 name: binding0,
2044 } => {
2045 visitor.visit_item_name(binding0);
2046 }
2047 CommentObjectType::Sink {
2048 name: binding0,
2049 } => {
2050 visitor.visit_item_name(binding0);
2051 }
2052 CommentObjectType::Index {
2053 name: binding0,
2054 } => {
2055 visitor.visit_item_name(binding0);
2056 }
2057 CommentObjectType::Func {
2058 name: binding0,
2059 } => {
2060 visitor.visit_item_name(binding0);
2061 }
2062 CommentObjectType::Connection {
2063 name: binding0,
2064 } => {
2065 visitor.visit_item_name(binding0);
2066 }
2067 CommentObjectType::Type {
2068 ty: binding0,
2069 } => {
2070 visitor.visit_data_type(binding0);
2071 }
2072 CommentObjectType::Secret {
2073 name: binding0,
2074 } => {
2075 visitor.visit_item_name(binding0);
2076 }
2077 CommentObjectType::Role {
2078 name: binding0,
2079 } => {
2080 visitor.visit_role_name(binding0);
2081 }
2082 CommentObjectType::Database {
2083 name: binding0,
2084 } => {
2085 visitor.visit_database_name(binding0);
2086 }
2087 CommentObjectType::Schema {
2088 name: binding0,
2089 } => {
2090 visitor.visit_schema_name(binding0);
2091 }
2092 CommentObjectType::Cluster {
2093 name: binding0,
2094 } => {
2095 visitor.visit_cluster_name(binding0);
2096 }
2097 CommentObjectType::ClusterReplica {
2098 name: binding0,
2099 } => {
2100 visitor.visit_qualified_replica(binding0);
2101 }
2102 CommentObjectType::ContinualTask {
2103 name: binding0,
2104 } => {
2105 visitor.visit_item_name(binding0);
2106 }
2107 CommentObjectType::NetworkPolicy {
2108 name: binding0,
2109 } => {
2110 visitor.visit_network_policy_name(binding0);
2111 }
2112 }
2113}
2114impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CommentStatement<T> {
2115 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2116 visitor.visit_comment_statement(self)
2117 }
2118}
2119#[allow(clippy::needless_pass_by_ref_mut)]
2120pub fn visit_comment_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CommentStatement<T>)
2121where
2122 V: Visit<'ast, T, > + ?Sized,
2123{
2124 visitor.visit_comment_object_type(&node.object);
2125 if let Some(v) = &node.comment {
2126 }
2127}
2128impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CommitStatement {
2129 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2130 visitor.visit_commit_statement(self)
2131 }
2132}
2133#[allow(clippy::needless_pass_by_ref_mut)]
2134pub fn visit_commit_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CommitStatement)
2135where
2136 V: Visit<'ast, T, > + ?Sized,
2137{
2138}
2139impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ConnectionDefaultAwsPrivatelink<T> {
2140 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2141 visitor.visit_connection_default_aws_privatelink(self)
2142 }
2143}
2144#[allow(clippy::needless_pass_by_ref_mut)]
2145pub fn visit_connection_default_aws_privatelink<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ConnectionDefaultAwsPrivatelink<T>)
2146where
2147 V: Visit<'ast, T, > + ?Sized,
2148{
2149 visitor.visit_item_name(&node.connection);
2150 if let Some(v) = &node.port {
2151 }
2152}
2153impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ConnectionOption<T> {
2154 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2155 visitor.visit_connection_option(self)
2156 }
2157}
2158#[allow(clippy::needless_pass_by_ref_mut)]
2159pub fn visit_connection_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ConnectionOption<T>)
2160where
2161 V: Visit<'ast, T, > + ?Sized,
2162{
2163 visitor.visit_connection_option_name(&node.name);
2164 if let Some(v) = &node.value {
2165 visitor.visit_with_option_value(v);
2166 }
2167}
2168impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ConnectionOptionName {
2169 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2170 visitor.visit_connection_option_name(self)
2171 }
2172}
2173#[allow(clippy::needless_pass_by_ref_mut)]
2174pub fn visit_connection_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ConnectionOptionName)
2175where
2176 V: Visit<'ast, T, > + ?Sized,
2177{
2178 match node {
2179 ConnectionOptionName::AccessKeyId {
2180 } => {
2181 }
2182 ConnectionOptionName::AssumeRoleArn {
2183 } => {
2184 }
2185 ConnectionOptionName::AssumeRoleSessionName {
2186 } => {
2187 }
2188 ConnectionOptionName::AvailabilityZones {
2189 } => {
2190 }
2191 ConnectionOptionName::AwsConnection {
2192 } => {
2193 }
2194 ConnectionOptionName::AwsPrivatelink {
2195 } => {
2196 }
2197 ConnectionOptionName::Broker {
2198 } => {
2199 }
2200 ConnectionOptionName::Brokers {
2201 } => {
2202 }
2203 ConnectionOptionName::Credential {
2204 } => {
2205 }
2206 ConnectionOptionName::Database {
2207 } => {
2208 }
2209 ConnectionOptionName::Endpoint {
2210 } => {
2211 }
2212 ConnectionOptionName::Host {
2213 } => {
2214 }
2215 ConnectionOptionName::Password {
2216 } => {
2217 }
2218 ConnectionOptionName::Port {
2219 } => {
2220 }
2221 ConnectionOptionName::ProgressTopic {
2222 } => {
2223 }
2224 ConnectionOptionName::ProgressTopicReplicationFactor {
2225 } => {
2226 }
2227 ConnectionOptionName::PublicKey1 {
2228 } => {
2229 }
2230 ConnectionOptionName::PublicKey2 {
2231 } => {
2232 }
2233 ConnectionOptionName::Region {
2234 } => {
2235 }
2236 ConnectionOptionName::SaslMechanisms {
2237 } => {
2238 }
2239 ConnectionOptionName::SaslPassword {
2240 } => {
2241 }
2242 ConnectionOptionName::SaslUsername {
2243 } => {
2244 }
2245 ConnectionOptionName::Scope {
2246 } => {
2247 }
2248 ConnectionOptionName::SecretAccessKey {
2249 } => {
2250 }
2251 ConnectionOptionName::SecurityProtocol {
2252 } => {
2253 }
2254 ConnectionOptionName::ServiceName {
2255 } => {
2256 }
2257 ConnectionOptionName::SshTunnel {
2258 } => {
2259 }
2260 ConnectionOptionName::SslCertificate {
2261 } => {
2262 }
2263 ConnectionOptionName::SslCertificateAuthority {
2264 } => {
2265 }
2266 ConnectionOptionName::SslKey {
2267 } => {
2268 }
2269 ConnectionOptionName::SslMode {
2270 } => {
2271 }
2272 ConnectionOptionName::SessionToken {
2273 } => {
2274 }
2275 ConnectionOptionName::CatalogType {
2276 } => {
2277 }
2278 ConnectionOptionName::Url {
2279 } => {
2280 }
2281 ConnectionOptionName::User {
2282 } => {
2283 }
2284 ConnectionOptionName::Warehouse {
2285 } => {
2286 }
2287 }
2288}
2289impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ContinualTaskOption<T> {
2290 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2291 visitor.visit_continual_task_option(self)
2292 }
2293}
2294#[allow(clippy::needless_pass_by_ref_mut)]
2295pub fn visit_continual_task_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ContinualTaskOption<T>)
2296where
2297 V: Visit<'ast, T, > + ?Sized,
2298{
2299 visitor.visit_continual_task_option_name(&node.name);
2300 if let Some(v) = &node.value {
2301 visitor.visit_with_option_value(v);
2302 }
2303}
2304impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ContinualTaskOptionName {
2305 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2306 visitor.visit_continual_task_option_name(self)
2307 }
2308}
2309#[allow(clippy::needless_pass_by_ref_mut)]
2310pub fn visit_continual_task_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ContinualTaskOptionName)
2311where
2312 V: Visit<'ast, T, > + ?Sized,
2313{
2314 match node {
2315 ContinualTaskOptionName::Snapshot {
2316 } => {
2317 }
2318 }
2319}
2320impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ContinualTaskStmt<T> {
2321 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2322 visitor.visit_continual_task_stmt(self)
2323 }
2324}
2325#[allow(clippy::needless_pass_by_ref_mut)]
2326pub fn visit_continual_task_stmt<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ContinualTaskStmt<T>)
2327where
2328 V: Visit<'ast, T, > + ?Sized,
2329{
2330 match node {
2331 ContinualTaskStmt::Delete {
2332 0: binding0,
2333 } => {
2334 visitor.visit_delete_statement(binding0);
2335 }
2336 ContinualTaskStmt::Insert {
2337 0: binding0,
2338 } => {
2339 visitor.visit_insert_statement(binding0);
2340 }
2341 }
2342}
2343impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CopyDirection {
2344 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2345 visitor.visit_copy_direction(self)
2346 }
2347}
2348#[allow(clippy::needless_pass_by_ref_mut)]
2349pub fn visit_copy_direction<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CopyDirection)
2350where
2351 V: Visit<'ast, T, > + ?Sized,
2352{
2353 match node {
2354 CopyDirection::To {
2355 } => {
2356 }
2357 CopyDirection::From {
2358 } => {
2359 }
2360 }
2361}
2362impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CopyOption<T> {
2363 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2364 visitor.visit_copy_option(self)
2365 }
2366}
2367#[allow(clippy::needless_pass_by_ref_mut)]
2368pub fn visit_copy_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CopyOption<T>)
2369where
2370 V: Visit<'ast, T, > + ?Sized,
2371{
2372 visitor.visit_copy_option_name(&node.name);
2373 if let Some(v) = &node.value {
2374 visitor.visit_with_option_value(v);
2375 }
2376}
2377impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CopyOptionName {
2378 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2379 visitor.visit_copy_option_name(self)
2380 }
2381}
2382#[allow(clippy::needless_pass_by_ref_mut)]
2383pub fn visit_copy_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CopyOptionName)
2384where
2385 V: Visit<'ast, T, > + ?Sized,
2386{
2387 match node {
2388 CopyOptionName::Format {
2389 } => {
2390 }
2391 CopyOptionName::Delimiter {
2392 } => {
2393 }
2394 CopyOptionName::Null {
2395 } => {
2396 }
2397 CopyOptionName::Escape {
2398 } => {
2399 }
2400 CopyOptionName::Quote {
2401 } => {
2402 }
2403 CopyOptionName::Header {
2404 } => {
2405 }
2406 CopyOptionName::AwsConnection {
2407 } => {
2408 }
2409 CopyOptionName::MaxFileSize {
2410 } => {
2411 }
2412 CopyOptionName::Files {
2413 } => {
2414 }
2415 CopyOptionName::Pattern {
2416 } => {
2417 }
2418 }
2419}
2420impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CopyRelation<T> {
2421 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2422 visitor.visit_copy_relation(self)
2423 }
2424}
2425#[allow(clippy::needless_pass_by_ref_mut)]
2426pub fn visit_copy_relation<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CopyRelation<T>)
2427where
2428 V: Visit<'ast, T, > + ?Sized,
2429{
2430 match node {
2431 CopyRelation::Named {
2432 name: binding0,
2433 columns: binding1,
2434 } => {
2435 visitor.visit_item_name(binding0);
2436 for v in binding1 {
2437 visitor.visit_ident(v);
2438 }
2439 }
2440 CopyRelation::Select {
2441 0: binding0,
2442 } => {
2443 visitor.visit_select_statement(binding0);
2444 }
2445 CopyRelation::Subscribe {
2446 0: binding0,
2447 } => {
2448 visitor.visit_subscribe_statement(binding0);
2449 }
2450 }
2451}
2452impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CopyStatement<T> {
2453 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2454 visitor.visit_copy_statement(self)
2455 }
2456}
2457#[allow(clippy::needless_pass_by_ref_mut)]
2458pub fn visit_copy_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CopyStatement<T>)
2459where
2460 V: Visit<'ast, T, > + ?Sized,
2461{
2462 visitor.visit_copy_relation(&node.relation);
2463 visitor.visit_copy_direction(&node.direction);
2464 visitor.visit_copy_target(&node.target);
2465 for v in &node.options {
2466 visitor.visit_copy_option(v);
2467 }
2468}
2469impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CopyTarget<T> {
2470 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2471 visitor.visit_copy_target(self)
2472 }
2473}
2474#[allow(clippy::needless_pass_by_ref_mut)]
2475pub fn visit_copy_target<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CopyTarget<T>)
2476where
2477 V: Visit<'ast, T, > + ?Sized,
2478{
2479 match node {
2480 CopyTarget::Stdin {
2481 } => {
2482 }
2483 CopyTarget::Stdout {
2484 } => {
2485 }
2486 CopyTarget::Expr {
2487 0: binding0,
2488 } => {
2489 visitor.visit_expr(binding0);
2490 }
2491 }
2492}
2493impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateClusterReplicaStatement<T> {
2494 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2495 visitor.visit_create_cluster_replica_statement(self)
2496 }
2497}
2498#[allow(clippy::needless_pass_by_ref_mut)]
2499pub fn visit_create_cluster_replica_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateClusterReplicaStatement<T>)
2500where
2501 V: Visit<'ast, T, > + ?Sized,
2502{
2503 visitor.visit_ident(&node.of_cluster);
2504 visitor.visit_replica_definition(&node.definition);
2505}
2506impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateClusterStatement<T> {
2507 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2508 visitor.visit_create_cluster_statement(self)
2509 }
2510}
2511#[allow(clippy::needless_pass_by_ref_mut)]
2512pub fn visit_create_cluster_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateClusterStatement<T>)
2513where
2514 V: Visit<'ast, T, > + ?Sized,
2515{
2516 visitor.visit_ident(&node.name);
2517 for v in &node.options {
2518 visitor.visit_cluster_option(v);
2519 }
2520 for v in &node.features {
2521 visitor.visit_cluster_feature(v);
2522 }
2523}
2524impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateConnectionOption<T> {
2525 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2526 visitor.visit_create_connection_option(self)
2527 }
2528}
2529#[allow(clippy::needless_pass_by_ref_mut)]
2530pub fn visit_create_connection_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateConnectionOption<T>)
2531where
2532 V: Visit<'ast, T, > + ?Sized,
2533{
2534 visitor.visit_create_connection_option_name(&node.name);
2535 if let Some(v) = &node.value {
2536 visitor.visit_with_option_value(v);
2537 }
2538}
2539impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateConnectionOptionName {
2540 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2541 visitor.visit_create_connection_option_name(self)
2542 }
2543}
2544#[allow(clippy::needless_pass_by_ref_mut)]
2545pub fn visit_create_connection_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateConnectionOptionName)
2546where
2547 V: Visit<'ast, T, > + ?Sized,
2548{
2549 match node {
2550 CreateConnectionOptionName::Validate {
2551 } => {
2552 }
2553 }
2554}
2555impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateConnectionStatement<T> {
2556 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2557 visitor.visit_create_connection_statement(self)
2558 }
2559}
2560#[allow(clippy::needless_pass_by_ref_mut)]
2561pub fn visit_create_connection_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateConnectionStatement<T>)
2562where
2563 V: Visit<'ast, T, > + ?Sized,
2564{
2565 visitor.visit_unresolved_item_name(&node.name);
2566 visitor.visit_create_connection_type(&node.connection_type);
2567 for v in &node.values {
2568 visitor.visit_connection_option(v);
2569 }
2570 for v in &node.with_options {
2571 visitor.visit_create_connection_option(v);
2572 }
2573}
2574impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateConnectionType {
2575 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2576 visitor.visit_create_connection_type(self)
2577 }
2578}
2579#[allow(clippy::needless_pass_by_ref_mut)]
2580pub fn visit_create_connection_type<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateConnectionType)
2581where
2582 V: Visit<'ast, T, > + ?Sized,
2583{
2584 match node {
2585 CreateConnectionType::Aws {
2586 } => {
2587 }
2588 CreateConnectionType::AwsPrivatelink {
2589 } => {
2590 }
2591 CreateConnectionType::Kafka {
2592 } => {
2593 }
2594 CreateConnectionType::Csr {
2595 } => {
2596 }
2597 CreateConnectionType::Postgres {
2598 } => {
2599 }
2600 CreateConnectionType::Ssh {
2601 } => {
2602 }
2603 CreateConnectionType::SqlServer {
2604 } => {
2605 }
2606 CreateConnectionType::MySql {
2607 } => {
2608 }
2609 CreateConnectionType::IcebergCatalog {
2610 } => {
2611 }
2612 }
2613}
2614impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateContinualTaskStatement<T> {
2615 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2616 visitor.visit_create_continual_task_statement(self)
2617 }
2618}
2619#[allow(clippy::needless_pass_by_ref_mut)]
2620pub fn visit_create_continual_task_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateContinualTaskStatement<T>)
2621where
2622 V: Visit<'ast, T, > + ?Sized,
2623{
2624 visitor.visit_item_name(&node.name);
2625 if let Some(v) = &node.columns {
2626 for v in v {
2627 visitor.visit_cte_mut_rec_column_def(v);
2628 }
2629 }
2630 if let Some(v) = &node.in_cluster {
2631 visitor.visit_cluster_name(v);
2632 }
2633 if let Some(v) = &node.as_of {
2634 }
2635 for v in &node.with_options {
2636 visitor.visit_continual_task_option(v);
2637 }
2638 visitor.visit_item_name(&node.input);
2639 for v in &node.stmts {
2640 visitor.visit_continual_task_stmt(v);
2641 }
2642 if let Some(v) = &node.sugar {
2643 visitor.visit_create_continual_task_sugar(v);
2644 }
2645}
2646impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateContinualTaskSugar<T> {
2647 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2648 visitor.visit_create_continual_task_sugar(self)
2649 }
2650}
2651#[allow(clippy::needless_pass_by_ref_mut)]
2652pub fn visit_create_continual_task_sugar<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateContinualTaskSugar<T>)
2653where
2654 V: Visit<'ast, T, > + ?Sized,
2655{
2656 match node {
2657 CreateContinualTaskSugar::Transform {
2658 transform: binding0,
2659 } => {
2660 visitor.visit_query(binding0);
2661 }
2662 CreateContinualTaskSugar::Retain {
2663 retain: binding0,
2664 } => {
2665 visitor.visit_expr(binding0);
2666 }
2667 }
2668}
2669impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateDatabaseStatement {
2670 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2671 visitor.visit_create_database_statement(self)
2672 }
2673}
2674#[allow(clippy::needless_pass_by_ref_mut)]
2675pub fn visit_create_database_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateDatabaseStatement)
2676where
2677 V: Visit<'ast, T, > + ?Sized,
2678{
2679 visitor.visit_unresolved_database_name(&node.name);
2680}
2681impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateIndexStatement<T> {
2682 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2683 visitor.visit_create_index_statement(self)
2684 }
2685}
2686#[allow(clippy::needless_pass_by_ref_mut)]
2687pub fn visit_create_index_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateIndexStatement<T>)
2688where
2689 V: Visit<'ast, T, > + ?Sized,
2690{
2691 if let Some(v) = &node.name {
2692 visitor.visit_ident(v);
2693 }
2694 if let Some(v) = &node.in_cluster {
2695 visitor.visit_cluster_name(v);
2696 }
2697 visitor.visit_item_name(&node.on_name);
2698 if let Some(v) = &node.key_parts {
2699 for v in v {
2700 visitor.visit_expr(v);
2701 }
2702 }
2703 for v in &node.with_options {
2704 visitor.visit_index_option(v);
2705 }
2706}
2707impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateMaterializedViewStatement<T> {
2708 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2709 visitor.visit_create_materialized_view_statement(self)
2710 }
2711}
2712#[allow(clippy::needless_pass_by_ref_mut)]
2713pub fn visit_create_materialized_view_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateMaterializedViewStatement<T>)
2714where
2715 V: Visit<'ast, T, > + ?Sized,
2716{
2717 visitor.visit_if_exists_behavior(&node.if_exists);
2718 visitor.visit_unresolved_item_name(&node.name);
2719 for v in &node.columns {
2720 visitor.visit_ident(v);
2721 }
2722 if let Some(v) = &node.in_cluster {
2723 visitor.visit_cluster_name(v);
2724 }
2725 visitor.visit_query(&node.query);
2726 if let Some(v) = &node.as_of {
2727 }
2728 for v in &node.with_options {
2729 visitor.visit_materialized_view_option(v);
2730 }
2731}
2732impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateNetworkPolicyStatement<T> {
2733 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2734 visitor.visit_create_network_policy_statement(self)
2735 }
2736}
2737#[allow(clippy::needless_pass_by_ref_mut)]
2738pub fn visit_create_network_policy_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateNetworkPolicyStatement<T>)
2739where
2740 V: Visit<'ast, T, > + ?Sized,
2741{
2742 visitor.visit_ident(&node.name);
2743 for v in &node.options {
2744 visitor.visit_network_policy_option(v);
2745 }
2746}
2747impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateRoleStatement {
2748 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2749 visitor.visit_create_role_statement(self)
2750 }
2751}
2752#[allow(clippy::needless_pass_by_ref_mut)]
2753pub fn visit_create_role_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateRoleStatement)
2754where
2755 V: Visit<'ast, T, > + ?Sized,
2756{
2757 visitor.visit_ident(&node.name);
2758 for v in &node.options {
2759 visitor.visit_role_attribute(v);
2760 }
2761}
2762impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSchemaStatement {
2763 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2764 visitor.visit_create_schema_statement(self)
2765 }
2766}
2767#[allow(clippy::needless_pass_by_ref_mut)]
2768pub fn visit_create_schema_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSchemaStatement)
2769where
2770 V: Visit<'ast, T, > + ?Sized,
2771{
2772 visitor.visit_unresolved_schema_name(&node.name);
2773}
2774impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSecretStatement<T> {
2775 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2776 visitor.visit_create_secret_statement(self)
2777 }
2778}
2779#[allow(clippy::needless_pass_by_ref_mut)]
2780pub fn visit_create_secret_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSecretStatement<T>)
2781where
2782 V: Visit<'ast, T, > + ?Sized,
2783{
2784 visitor.visit_unresolved_item_name(&node.name);
2785 visitor.visit_expr(&node.value);
2786}
2787impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSinkConnection<T> {
2788 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2789 visitor.visit_create_sink_connection(self)
2790 }
2791}
2792#[allow(clippy::needless_pass_by_ref_mut)]
2793pub fn visit_create_sink_connection<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSinkConnection<T>)
2794where
2795 V: Visit<'ast, T, > + ?Sized,
2796{
2797 match node {
2798 CreateSinkConnection::Kafka {
2799 connection: binding0,
2800 options: binding1,
2801 key: binding2,
2802 headers: binding3,
2803 } => {
2804 visitor.visit_item_name(binding0);
2805 for v in binding1 {
2806 visitor.visit_kafka_sink_config_option(v);
2807 }
2808 if let Some(v) = binding2 {
2809 visitor.visit_sink_key(v);
2810 }
2811 if let Some(v) = binding3 {
2812 visitor.visit_ident(v);
2813 }
2814 }
2815 CreateSinkConnection::Iceberg {
2816 connection: binding0,
2817 aws_connection: binding1,
2818 key: binding2,
2819 options: binding3,
2820 } => {
2821 visitor.visit_item_name(binding0);
2822 visitor.visit_item_name(binding1);
2823 if let Some(v) = binding2 {
2824 visitor.visit_sink_key(v);
2825 }
2826 for v in binding3 {
2827 visitor.visit_iceberg_sink_config_option(v);
2828 }
2829 }
2830 }
2831}
2832impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSinkOption<T> {
2833 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2834 visitor.visit_create_sink_option(self)
2835 }
2836}
2837#[allow(clippy::needless_pass_by_ref_mut)]
2838pub fn visit_create_sink_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSinkOption<T>)
2839where
2840 V: Visit<'ast, T, > + ?Sized,
2841{
2842 visitor.visit_create_sink_option_name(&node.name);
2843 if let Some(v) = &node.value {
2844 visitor.visit_with_option_value(v);
2845 }
2846}
2847impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSinkOptionName {
2848 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2849 visitor.visit_create_sink_option_name(self)
2850 }
2851}
2852#[allow(clippy::needless_pass_by_ref_mut)]
2853pub fn visit_create_sink_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSinkOptionName)
2854where
2855 V: Visit<'ast, T, > + ?Sized,
2856{
2857 match node {
2858 CreateSinkOptionName::Snapshot {
2859 } => {
2860 }
2861 CreateSinkOptionName::Version {
2862 } => {
2863 }
2864 CreateSinkOptionName::PartitionStrategy {
2865 } => {
2866 }
2867 CreateSinkOptionName::CommitInterval {
2868 } => {
2869 }
2870 }
2871}
2872impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSinkStatement<T> {
2873 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2874 visitor.visit_create_sink_statement(self)
2875 }
2876}
2877#[allow(clippy::needless_pass_by_ref_mut)]
2878pub fn visit_create_sink_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSinkStatement<T>)
2879where
2880 V: Visit<'ast, T, > + ?Sized,
2881{
2882 if let Some(v) = &node.name {
2883 visitor.visit_unresolved_item_name(v);
2884 }
2885 if let Some(v) = &node.in_cluster {
2886 visitor.visit_cluster_name(v);
2887 }
2888 visitor.visit_item_name(&node.from);
2889 visitor.visit_create_sink_connection(&node.connection);
2890 if let Some(v) = &node.format {
2891 visitor.visit_format_specifier(v);
2892 }
2893 if let Some(v) = &node.envelope {
2894 visitor.visit_sink_envelope(v);
2895 }
2896 for v in &node.with_options {
2897 visitor.visit_create_sink_option(v);
2898 }
2899}
2900impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSourceConnection<T> {
2901 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2902 visitor.visit_create_source_connection(self)
2903 }
2904}
2905#[allow(clippy::needless_pass_by_ref_mut)]
2906pub fn visit_create_source_connection<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSourceConnection<T>)
2907where
2908 V: Visit<'ast, T, > + ?Sized,
2909{
2910 match node {
2911 CreateSourceConnection::Kafka {
2912 connection: binding0,
2913 options: binding1,
2914 } => {
2915 visitor.visit_item_name(binding0);
2916 for v in binding1 {
2917 visitor.visit_kafka_source_config_option(v);
2918 }
2919 }
2920 CreateSourceConnection::Postgres {
2921 connection: binding0,
2922 options: binding1,
2923 } => {
2924 visitor.visit_item_name(binding0);
2925 for v in binding1 {
2926 visitor.visit_pg_config_option(v);
2927 }
2928 }
2929 CreateSourceConnection::SqlServer {
2930 connection: binding0,
2931 options: binding1,
2932 } => {
2933 visitor.visit_item_name(binding0);
2934 for v in binding1 {
2935 visitor.visit_sql_server_config_option(v);
2936 }
2937 }
2938 CreateSourceConnection::MySql {
2939 connection: binding0,
2940 options: binding1,
2941 } => {
2942 visitor.visit_item_name(binding0);
2943 for v in binding1 {
2944 visitor.visit_my_sql_config_option(v);
2945 }
2946 }
2947 CreateSourceConnection::LoadGenerator {
2948 generator: binding0,
2949 options: binding1,
2950 } => {
2951 visitor.visit_load_generator(binding0);
2952 for v in binding1 {
2953 visitor.visit_load_generator_option(v);
2954 }
2955 }
2956 }
2957}
2958impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSourceOption<T> {
2959 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2960 visitor.visit_create_source_option(self)
2961 }
2962}
2963#[allow(clippy::needless_pass_by_ref_mut)]
2964pub fn visit_create_source_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSourceOption<T>)
2965where
2966 V: Visit<'ast, T, > + ?Sized,
2967{
2968 visitor.visit_create_source_option_name(&node.name);
2969 if let Some(v) = &node.value {
2970 visitor.visit_with_option_value(v);
2971 }
2972}
2973impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSourceOptionName {
2974 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2975 visitor.visit_create_source_option_name(self)
2976 }
2977}
2978#[allow(clippy::needless_pass_by_ref_mut)]
2979pub fn visit_create_source_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSourceOptionName)
2980where
2981 V: Visit<'ast, T, > + ?Sized,
2982{
2983 match node {
2984 CreateSourceOptionName::TimestampInterval {
2985 } => {
2986 }
2987 CreateSourceOptionName::RetainHistory {
2988 } => {
2989 }
2990 }
2991}
2992impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSourceStatement<T> {
2993 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
2994 visitor.visit_create_source_statement(self)
2995 }
2996}
2997#[allow(clippy::needless_pass_by_ref_mut)]
2998pub fn visit_create_source_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSourceStatement<T>)
2999where
3000 V: Visit<'ast, T, > + ?Sized,
3001{
3002 visitor.visit_unresolved_item_name(&node.name);
3003 if let Some(v) = &node.in_cluster {
3004 visitor.visit_cluster_name(v);
3005 }
3006 for v in &node.col_names {
3007 visitor.visit_ident(v);
3008 }
3009 visitor.visit_create_source_connection(&node.connection);
3010 for v in &node.include_metadata {
3011 visitor.visit_source_include_metadata(v);
3012 }
3013 if let Some(v) = &node.format {
3014 visitor.visit_format_specifier(v);
3015 }
3016 if let Some(v) = &node.envelope {
3017 visitor.visit_source_envelope(v);
3018 }
3019 if let Some(v) = &node.key_constraint {
3020 visitor.visit_key_constraint(v);
3021 }
3022 for v in &node.with_options {
3023 visitor.visit_create_source_option(v);
3024 }
3025 if let Some(v) = &node.external_references {
3026 visitor.visit_external_references(v);
3027 }
3028 if let Some(v) = &node.progress_subsource {
3029 visitor.visit_deferred_item_name(v);
3030 }
3031}
3032impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSubsourceOption<T> {
3033 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3034 visitor.visit_create_subsource_option(self)
3035 }
3036}
3037#[allow(clippy::needless_pass_by_ref_mut)]
3038pub fn visit_create_subsource_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSubsourceOption<T>)
3039where
3040 V: Visit<'ast, T, > + ?Sized,
3041{
3042 visitor.visit_create_subsource_option_name(&node.name);
3043 if let Some(v) = &node.value {
3044 visitor.visit_with_option_value(v);
3045 }
3046}
3047impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSubsourceOptionName {
3048 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3049 visitor.visit_create_subsource_option_name(self)
3050 }
3051}
3052#[allow(clippy::needless_pass_by_ref_mut)]
3053pub fn visit_create_subsource_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSubsourceOptionName)
3054where
3055 V: Visit<'ast, T, > + ?Sized,
3056{
3057 match node {
3058 CreateSubsourceOptionName::Progress {
3059 } => {
3060 }
3061 CreateSubsourceOptionName::ExternalReference {
3062 } => {
3063 }
3064 CreateSubsourceOptionName::RetainHistory {
3065 } => {
3066 }
3067 CreateSubsourceOptionName::TextColumns {
3068 } => {
3069 }
3070 CreateSubsourceOptionName::ExcludeColumns {
3071 } => {
3072 }
3073 CreateSubsourceOptionName::Details {
3074 } => {
3075 }
3076 }
3077}
3078impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateSubsourceStatement<T> {
3079 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3080 visitor.visit_create_subsource_statement(self)
3081 }
3082}
3083#[allow(clippy::needless_pass_by_ref_mut)]
3084pub fn visit_create_subsource_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateSubsourceStatement<T>)
3085where
3086 V: Visit<'ast, T, > + ?Sized,
3087{
3088 visitor.visit_unresolved_item_name(&node.name);
3089 for v in &node.columns {
3090 visitor.visit_column_def(v);
3091 }
3092 if let Some(v) = &node.of_source {
3093 visitor.visit_item_name(v);
3094 }
3095 for v in &node.constraints {
3096 visitor.visit_table_constraint(v);
3097 }
3098 for v in &node.with_options {
3099 visitor.visit_create_subsource_option(v);
3100 }
3101}
3102impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTableFromSourceStatement<T> {
3103 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3104 visitor.visit_create_table_from_source_statement(self)
3105 }
3106}
3107#[allow(clippy::needless_pass_by_ref_mut)]
3108pub fn visit_create_table_from_source_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTableFromSourceStatement<T>)
3109where
3110 V: Visit<'ast, T, > + ?Sized,
3111{
3112 visitor.visit_unresolved_item_name(&node.name);
3113 visitor.visit_table_from_source_columns(&node.columns);
3114 for v in &node.constraints {
3115 visitor.visit_table_constraint(v);
3116 }
3117 visitor.visit_item_name(&node.source);
3118 if let Some(v) = &node.external_reference {
3119 visitor.visit_unresolved_item_name(v);
3120 }
3121 for v in &node.with_options {
3122 visitor.visit_table_from_source_option(v);
3123 }
3124 for v in &node.include_metadata {
3125 visitor.visit_source_include_metadata(v);
3126 }
3127 if let Some(v) = &node.format {
3128 visitor.visit_format_specifier(v);
3129 }
3130 if let Some(v) = &node.envelope {
3131 visitor.visit_source_envelope(v);
3132 }
3133}
3134impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTableStatement<T> {
3135 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3136 visitor.visit_create_table_statement(self)
3137 }
3138}
3139#[allow(clippy::needless_pass_by_ref_mut)]
3140pub fn visit_create_table_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTableStatement<T>)
3141where
3142 V: Visit<'ast, T, > + ?Sized,
3143{
3144 visitor.visit_unresolved_item_name(&node.name);
3145 for v in &node.columns {
3146 visitor.visit_column_def(v);
3147 }
3148 for v in &node.constraints {
3149 visitor.visit_table_constraint(v);
3150 }
3151 for v in &node.with_options {
3152 visitor.visit_table_option(v);
3153 }
3154}
3155impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTypeAs<T> {
3156 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3157 visitor.visit_create_type_as(self)
3158 }
3159}
3160#[allow(clippy::needless_pass_by_ref_mut)]
3161pub fn visit_create_type_as<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTypeAs<T>)
3162where
3163 V: Visit<'ast, T, > + ?Sized,
3164{
3165 match node {
3166 CreateTypeAs::List {
3167 options: binding0,
3168 } => {
3169 for v in binding0 {
3170 visitor.visit_create_type_list_option(v);
3171 }
3172 }
3173 CreateTypeAs::Map {
3174 options: binding0,
3175 } => {
3176 for v in binding0 {
3177 visitor.visit_create_type_map_option(v);
3178 }
3179 }
3180 CreateTypeAs::Record {
3181 column_defs: binding0,
3182 } => {
3183 for v in binding0 {
3184 visitor.visit_column_def(v);
3185 }
3186 }
3187 }
3188}
3189impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTypeListOption<T> {
3190 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3191 visitor.visit_create_type_list_option(self)
3192 }
3193}
3194#[allow(clippy::needless_pass_by_ref_mut)]
3195pub fn visit_create_type_list_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTypeListOption<T>)
3196where
3197 V: Visit<'ast, T, > + ?Sized,
3198{
3199 visitor.visit_create_type_list_option_name(&node.name);
3200 if let Some(v) = &node.value {
3201 visitor.visit_with_option_value(v);
3202 }
3203}
3204impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTypeListOptionName {
3205 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3206 visitor.visit_create_type_list_option_name(self)
3207 }
3208}
3209#[allow(clippy::needless_pass_by_ref_mut)]
3210pub fn visit_create_type_list_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTypeListOptionName)
3211where
3212 V: Visit<'ast, T, > + ?Sized,
3213{
3214 match node {
3215 CreateTypeListOptionName::ElementType {
3216 } => {
3217 }
3218 }
3219}
3220impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTypeMapOption<T> {
3221 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3222 visitor.visit_create_type_map_option(self)
3223 }
3224}
3225#[allow(clippy::needless_pass_by_ref_mut)]
3226pub fn visit_create_type_map_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTypeMapOption<T>)
3227where
3228 V: Visit<'ast, T, > + ?Sized,
3229{
3230 visitor.visit_create_type_map_option_name(&node.name);
3231 if let Some(v) = &node.value {
3232 visitor.visit_with_option_value(v);
3233 }
3234}
3235impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTypeMapOptionName {
3236 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3237 visitor.visit_create_type_map_option_name(self)
3238 }
3239}
3240#[allow(clippy::needless_pass_by_ref_mut)]
3241pub fn visit_create_type_map_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTypeMapOptionName)
3242where
3243 V: Visit<'ast, T, > + ?Sized,
3244{
3245 match node {
3246 CreateTypeMapOptionName::KeyType {
3247 } => {
3248 }
3249 CreateTypeMapOptionName::ValueType {
3250 } => {
3251 }
3252 }
3253}
3254impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateTypeStatement<T> {
3255 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3256 visitor.visit_create_type_statement(self)
3257 }
3258}
3259#[allow(clippy::needless_pass_by_ref_mut)]
3260pub fn visit_create_type_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateTypeStatement<T>)
3261where
3262 V: Visit<'ast, T, > + ?Sized,
3263{
3264 visitor.visit_unresolved_item_name(&node.name);
3265 visitor.visit_create_type_as(&node.as_type);
3266}
3267impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateViewStatement<T> {
3268 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3269 visitor.visit_create_view_statement(self)
3270 }
3271}
3272#[allow(clippy::needless_pass_by_ref_mut)]
3273pub fn visit_create_view_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateViewStatement<T>)
3274where
3275 V: Visit<'ast, T, > + ?Sized,
3276{
3277 visitor.visit_if_exists_behavior(&node.if_exists);
3278 visitor.visit_view_definition(&node.definition);
3279}
3280impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceBody {
3281 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3282 visitor.visit_create_webhook_source_body(self)
3283 }
3284}
3285#[allow(clippy::needless_pass_by_ref_mut)]
3286pub fn visit_create_webhook_source_body<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceBody)
3287where
3288 V: Visit<'ast, T, > + ?Sized,
3289{
3290 if let Some(v) = &node.alias {
3291 visitor.visit_ident(v);
3292 }
3293}
3294impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceCheck<T> {
3295 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3296 visitor.visit_create_webhook_source_check(self)
3297 }
3298}
3299#[allow(clippy::needless_pass_by_ref_mut)]
3300pub fn visit_create_webhook_source_check<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceCheck<T>)
3301where
3302 V: Visit<'ast, T, > + ?Sized,
3303{
3304 if let Some(v) = &node.options {
3305 visitor.visit_create_webhook_source_check_options(v);
3306 }
3307 visitor.visit_expr(&node.using);
3308}
3309impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceCheckOptions<T> {
3310 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3311 visitor.visit_create_webhook_source_check_options(self)
3312 }
3313}
3314#[allow(clippy::needless_pass_by_ref_mut)]
3315pub fn visit_create_webhook_source_check_options<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceCheckOptions<T>)
3316where
3317 V: Visit<'ast, T, > + ?Sized,
3318{
3319 for v in &node.secrets {
3320 visitor.visit_create_webhook_source_secret(v);
3321 }
3322 for v in &node.headers {
3323 visitor.visit_create_webhook_source_header(v);
3324 }
3325 for v in &node.bodies {
3326 visitor.visit_create_webhook_source_body(v);
3327 }
3328}
3329impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceFilterHeader {
3330 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3331 visitor.visit_create_webhook_source_filter_header(self)
3332 }
3333}
3334#[allow(clippy::needless_pass_by_ref_mut)]
3335pub fn visit_create_webhook_source_filter_header<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceFilterHeader)
3336where
3337 V: Visit<'ast, T, > + ?Sized,
3338{
3339}
3340impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceHeader {
3341 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3342 visitor.visit_create_webhook_source_header(self)
3343 }
3344}
3345#[allow(clippy::needless_pass_by_ref_mut)]
3346pub fn visit_create_webhook_source_header<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceHeader)
3347where
3348 V: Visit<'ast, T, > + ?Sized,
3349{
3350 if let Some(v) = &node.alias {
3351 visitor.visit_ident(v);
3352 }
3353}
3354impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceIncludeHeaders {
3355 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3356 visitor.visit_create_webhook_source_include_headers(self)
3357 }
3358}
3359#[allow(clippy::needless_pass_by_ref_mut)]
3360pub fn visit_create_webhook_source_include_headers<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceIncludeHeaders)
3361where
3362 V: Visit<'ast, T, > + ?Sized,
3363{
3364 for v in &node.mappings {
3365 visitor.visit_create_webhook_source_map_header(v);
3366 }
3367 if let Some(v) = &node.column {
3368 for v in v {
3369 visitor.visit_create_webhook_source_filter_header(v);
3370 }
3371 }
3372}
3373impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceMapHeader {
3374 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3375 visitor.visit_create_webhook_source_map_header(self)
3376 }
3377}
3378#[allow(clippy::needless_pass_by_ref_mut)]
3379pub fn visit_create_webhook_source_map_header<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceMapHeader)
3380where
3381 V: Visit<'ast, T, > + ?Sized,
3382{
3383 visitor.visit_ident(&node.column_name);
3384}
3385impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceSecret<T> {
3386 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3387 visitor.visit_create_webhook_source_secret(self)
3388 }
3389}
3390#[allow(clippy::needless_pass_by_ref_mut)]
3391pub fn visit_create_webhook_source_secret<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceSecret<T>)
3392where
3393 V: Visit<'ast, T, > + ?Sized,
3394{
3395 visitor.visit_item_name(&node.secret);
3396 if let Some(v) = &node.alias {
3397 visitor.visit_ident(v);
3398 }
3399}
3400impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CreateWebhookSourceStatement<T> {
3401 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3402 visitor.visit_create_webhook_source_statement(self)
3403 }
3404}
3405#[allow(clippy::needless_pass_by_ref_mut)]
3406pub fn visit_create_webhook_source_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CreateWebhookSourceStatement<T>)
3407where
3408 V: Visit<'ast, T, > + ?Sized,
3409{
3410 visitor.visit_unresolved_item_name(&node.name);
3411 visitor.visit_format(&node.body_format);
3412 visitor.visit_create_webhook_source_include_headers(&node.include_headers);
3413 if let Some(v) = &node.validate_using {
3414 visitor.visit_create_webhook_source_check(v);
3415 }
3416 if let Some(v) = &node.in_cluster {
3417 visitor.visit_cluster_name(v);
3418 }
3419}
3420impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrConfigOption<T> {
3421 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3422 visitor.visit_csr_config_option(self)
3423 }
3424}
3425#[allow(clippy::needless_pass_by_ref_mut)]
3426pub fn visit_csr_config_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrConfigOption<T>)
3427where
3428 V: Visit<'ast, T, > + ?Sized,
3429{
3430 visitor.visit_csr_config_option_name(&node.name);
3431 if let Some(v) = &node.value {
3432 visitor.visit_with_option_value(v);
3433 }
3434}
3435impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrConfigOptionName<T> {
3436 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3437 visitor.visit_csr_config_option_name(self)
3438 }
3439}
3440#[allow(clippy::needless_pass_by_ref_mut)]
3441pub fn visit_csr_config_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrConfigOptionName<T>)
3442where
3443 V: Visit<'ast, T, > + ?Sized,
3444{
3445 match node {
3446 CsrConfigOptionName::AvroKeyFullname {
3447 } => {
3448 }
3449 CsrConfigOptionName::AvroValueFullname {
3450 } => {
3451 }
3452 CsrConfigOptionName::NullDefaults {
3453 } => {
3454 }
3455 CsrConfigOptionName::AvroDocOn {
3456 0: binding0,
3457 } => {
3458 visitor.visit_avro_doc_on(binding0);
3459 }
3460 CsrConfigOptionName::KeyCompatibilityLevel {
3461 } => {
3462 }
3463 CsrConfigOptionName::ValueCompatibilityLevel {
3464 } => {
3465 }
3466 }
3467}
3468impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrConnection<T> {
3469 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3470 visitor.visit_csr_connection(self)
3471 }
3472}
3473#[allow(clippy::needless_pass_by_ref_mut)]
3474pub fn visit_csr_connection<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrConnection<T>)
3475where
3476 V: Visit<'ast, T, > + ?Sized,
3477{
3478 visitor.visit_item_name(&node.connection);
3479 for v in &node.options {
3480 visitor.visit_csr_config_option(v);
3481 }
3482}
3483impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrConnectionAvro<T> {
3484 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3485 visitor.visit_csr_connection_avro(self)
3486 }
3487}
3488#[allow(clippy::needless_pass_by_ref_mut)]
3489pub fn visit_csr_connection_avro<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrConnectionAvro<T>)
3490where
3491 V: Visit<'ast, T, > + ?Sized,
3492{
3493 visitor.visit_csr_connection(&node.connection);
3494 if let Some(v) = &node.key_strategy {
3495 visitor.visit_reader_schema_selection_strategy(v);
3496 }
3497 if let Some(v) = &node.value_strategy {
3498 visitor.visit_reader_schema_selection_strategy(v);
3499 }
3500 if let Some(v) = &node.seed {
3501 visitor.visit_csr_seed_avro(v);
3502 }
3503}
3504impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrConnectionProtobuf<T> {
3505 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3506 visitor.visit_csr_connection_protobuf(self)
3507 }
3508}
3509#[allow(clippy::needless_pass_by_ref_mut)]
3510pub fn visit_csr_connection_protobuf<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrConnectionProtobuf<T>)
3511where
3512 V: Visit<'ast, T, > + ?Sized,
3513{
3514 visitor.visit_csr_connection(&node.connection);
3515 if let Some(v) = &node.seed {
3516 visitor.visit_csr_seed_protobuf(v);
3517 }
3518}
3519impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrSeedAvro {
3520 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3521 visitor.visit_csr_seed_avro(self)
3522 }
3523}
3524#[allow(clippy::needless_pass_by_ref_mut)]
3525pub fn visit_csr_seed_avro<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrSeedAvro)
3526where
3527 V: Visit<'ast, T, > + ?Sized,
3528{
3529 if let Some(v) = &node.key_schema {
3530 }
3531}
3532impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrSeedProtobuf {
3533 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3534 visitor.visit_csr_seed_protobuf(self)
3535 }
3536}
3537#[allow(clippy::needless_pass_by_ref_mut)]
3538pub fn visit_csr_seed_protobuf<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrSeedProtobuf)
3539where
3540 V: Visit<'ast, T, > + ?Sized,
3541{
3542 if let Some(v) = &node.key {
3543 visitor.visit_csr_seed_protobuf_schema(v);
3544 }
3545 visitor.visit_csr_seed_protobuf_schema(&node.value);
3546}
3547impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsrSeedProtobufSchema {
3548 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3549 visitor.visit_csr_seed_protobuf_schema(self)
3550 }
3551}
3552#[allow(clippy::needless_pass_by_ref_mut)]
3553pub fn visit_csr_seed_protobuf_schema<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsrSeedProtobufSchema)
3554where
3555 V: Visit<'ast, T, > + ?Sized,
3556{
3557}
3558impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CsvColumns {
3559 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3560 visitor.visit_csv_columns(self)
3561 }
3562}
3563#[allow(clippy::needless_pass_by_ref_mut)]
3564pub fn visit_csv_columns<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CsvColumns)
3565where
3566 V: Visit<'ast, T, > + ?Sized,
3567{
3568 match node {
3569 CsvColumns::Count {
3570 0: binding0,
3571 } => {
3572 }
3573 CsvColumns::Header {
3574 names: binding0,
3575 } => {
3576 for v in binding0 {
3577 visitor.visit_ident(v);
3578 }
3579 }
3580 }
3581}
3582impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Cte<T> {
3583 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3584 visitor.visit_cte(self)
3585 }
3586}
3587#[allow(clippy::needless_pass_by_ref_mut)]
3588pub fn visit_cte<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Cte<T>)
3589where
3590 V: Visit<'ast, T, > + ?Sized,
3591{
3592 visitor.visit_table_alias(&node.alias);
3593 visitor.visit_cte_id(&node.id);
3594 visitor.visit_query(&node.query);
3595}
3596impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CteBlock<T> {
3597 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3598 visitor.visit_cte_block(self)
3599 }
3600}
3601#[allow(clippy::needless_pass_by_ref_mut)]
3602pub fn visit_cte_block<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CteBlock<T>)
3603where
3604 V: Visit<'ast, T, > + ?Sized,
3605{
3606 match node {
3607 CteBlock::Simple {
3608 0: binding0,
3609 } => {
3610 for v in binding0 {
3611 visitor.visit_cte(v);
3612 }
3613 }
3614 CteBlock::MutuallyRecursive {
3615 0: binding0,
3616 } => {
3617 visitor.visit_mut_rec_block(binding0);
3618 }
3619 }
3620}
3621impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CteMutRec<T> {
3622 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3623 visitor.visit_cte_mut_rec(self)
3624 }
3625}
3626#[allow(clippy::needless_pass_by_ref_mut)]
3627pub fn visit_cte_mut_rec<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CteMutRec<T>)
3628where
3629 V: Visit<'ast, T, > + ?Sized,
3630{
3631 visitor.visit_ident(&node.name);
3632 for v in &node.columns {
3633 visitor.visit_cte_mut_rec_column_def(v);
3634 }
3635 visitor.visit_cte_id(&node.id);
3636 visitor.visit_query(&node.query);
3637}
3638impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for CteMutRecColumnDef<T> {
3639 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3640 visitor.visit_cte_mut_rec_column_def(self)
3641 }
3642}
3643#[allow(clippy::needless_pass_by_ref_mut)]
3644pub fn visit_cte_mut_rec_column_def<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast CteMutRecColumnDef<T>)
3645where
3646 V: Visit<'ast, T, > + ?Sized,
3647{
3648 visitor.visit_ident(&node.name);
3649 visitor.visit_data_type(&node.data_type);
3650}
3651impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DateTimeField {
3652 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3653 visitor.visit_date_time_field(self)
3654 }
3655}
3656#[allow(clippy::needless_pass_by_ref_mut)]
3657pub fn visit_date_time_field<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DateTimeField)
3658where
3659 V: Visit<'ast, T, > + ?Sized,
3660{
3661 match node {
3662 DateTimeField::Millennium {
3663 } => {
3664 }
3665 DateTimeField::Century {
3666 } => {
3667 }
3668 DateTimeField::Decade {
3669 } => {
3670 }
3671 DateTimeField::Year {
3672 } => {
3673 }
3674 DateTimeField::Month {
3675 } => {
3676 }
3677 DateTimeField::Day {
3678 } => {
3679 }
3680 DateTimeField::Hour {
3681 } => {
3682 }
3683 DateTimeField::Minute {
3684 } => {
3685 }
3686 DateTimeField::Second {
3687 } => {
3688 }
3689 DateTimeField::Milliseconds {
3690 } => {
3691 }
3692 DateTimeField::Microseconds {
3693 } => {
3694 }
3695 }
3696}
3697impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DeallocateStatement {
3698 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3699 visitor.visit_deallocate_statement(self)
3700 }
3701}
3702#[allow(clippy::needless_pass_by_ref_mut)]
3703pub fn visit_deallocate_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DeallocateStatement)
3704where
3705 V: Visit<'ast, T, > + ?Sized,
3706{
3707 if let Some(v) = &node.name {
3708 visitor.visit_ident(v);
3709 }
3710}
3711impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DeclareStatement<T> {
3712 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3713 visitor.visit_declare_statement(self)
3714 }
3715}
3716#[allow(clippy::needless_pass_by_ref_mut)]
3717pub fn visit_declare_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DeclareStatement<T>)
3718where
3719 V: Visit<'ast, T, > + ?Sized,
3720{
3721 visitor.visit_ident(&node.name);
3722 visitor.visit_nested_statement(&*&node.stmt);
3723}
3724impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DeferredItemName<T> {
3725 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3726 visitor.visit_deferred_item_name(self)
3727 }
3728}
3729#[allow(clippy::needless_pass_by_ref_mut)]
3730pub fn visit_deferred_item_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DeferredItemName<T>)
3731where
3732 V: Visit<'ast, T, > + ?Sized,
3733{
3734 match node {
3735 DeferredItemName::Named {
3736 0: binding0,
3737 } => {
3738 visitor.visit_item_name(binding0);
3739 }
3740 DeferredItemName::Deferred {
3741 0: binding0,
3742 } => {
3743 visitor.visit_unresolved_item_name(binding0);
3744 }
3745 }
3746}
3747impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DeleteStatement<T> {
3748 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3749 visitor.visit_delete_statement(self)
3750 }
3751}
3752#[allow(clippy::needless_pass_by_ref_mut)]
3753pub fn visit_delete_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DeleteStatement<T>)
3754where
3755 V: Visit<'ast, T, > + ?Sized,
3756{
3757 visitor.visit_item_name(&node.table_name);
3758 if let Some(v) = &node.alias {
3759 visitor.visit_table_alias(v);
3760 }
3761 for v in &node.using {
3762 visitor.visit_table_with_joins(v);
3763 }
3764 if let Some(v) = &node.selection {
3765 visitor.visit_expr(v);
3766 }
3767}
3768impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DiscardStatement {
3769 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3770 visitor.visit_discard_statement(self)
3771 }
3772}
3773#[allow(clippy::needless_pass_by_ref_mut)]
3774pub fn visit_discard_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DiscardStatement)
3775where
3776 V: Visit<'ast, T, > + ?Sized,
3777{
3778 visitor.visit_discard_target(&node.target);
3779}
3780impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DiscardTarget {
3781 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3782 visitor.visit_discard_target(self)
3783 }
3784}
3785#[allow(clippy::needless_pass_by_ref_mut)]
3786pub fn visit_discard_target<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DiscardTarget)
3787where
3788 V: Visit<'ast, T, > + ?Sized,
3789{
3790 match node {
3791 DiscardTarget::Plans {
3792 } => {
3793 }
3794 DiscardTarget::Sequences {
3795 } => {
3796 }
3797 DiscardTarget::Temp {
3798 } => {
3799 }
3800 DiscardTarget::All {
3801 } => {
3802 }
3803 }
3804}
3805impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Distinct<T> {
3806 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3807 visitor.visit_distinct(self)
3808 }
3809}
3810#[allow(clippy::needless_pass_by_ref_mut)]
3811pub fn visit_distinct<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Distinct<T>)
3812where
3813 V: Visit<'ast, T, > + ?Sized,
3814{
3815 match node {
3816 Distinct::EntireRow {
3817 } => {
3818 }
3819 Distinct::On {
3820 0: binding0,
3821 } => {
3822 for v in binding0 {
3823 visitor.visit_expr(v);
3824 }
3825 }
3826 }
3827}
3828impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DocOnIdentifier<T> {
3829 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3830 visitor.visit_doc_on_identifier(self)
3831 }
3832}
3833#[allow(clippy::needless_pass_by_ref_mut)]
3834pub fn visit_doc_on_identifier<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DocOnIdentifier<T>)
3835where
3836 V: Visit<'ast, T, > + ?Sized,
3837{
3838 match node {
3839 DocOnIdentifier::Column {
3840 0: binding0,
3841 } => {
3842 visitor.visit_column_name(binding0);
3843 }
3844 DocOnIdentifier::Type {
3845 0: binding0,
3846 } => {
3847 visitor.visit_item_name(binding0);
3848 }
3849 }
3850}
3851impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DocOnSchema {
3852 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3853 visitor.visit_doc_on_schema(self)
3854 }
3855}
3856#[allow(clippy::needless_pass_by_ref_mut)]
3857pub fn visit_doc_on_schema<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DocOnSchema)
3858where
3859 V: Visit<'ast, T, > + ?Sized,
3860{
3861 match node {
3862 DocOnSchema::KeyOnly {
3863 } => {
3864 }
3865 DocOnSchema::ValueOnly {
3866 } => {
3867 }
3868 DocOnSchema::All {
3869 } => {
3870 }
3871 }
3872}
3873impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DropObjectsStatement {
3874 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3875 visitor.visit_drop_objects_statement(self)
3876 }
3877}
3878#[allow(clippy::needless_pass_by_ref_mut)]
3879pub fn visit_drop_objects_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DropObjectsStatement)
3880where
3881 V: Visit<'ast, T, > + ?Sized,
3882{
3883 visitor.visit_object_type(&node.object_type);
3884 for v in &node.names {
3885 visitor.visit_unresolved_object_name(v);
3886 }
3887}
3888impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for DropOwnedStatement<T> {
3889 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3890 visitor.visit_drop_owned_statement(self)
3891 }
3892}
3893#[allow(clippy::needless_pass_by_ref_mut)]
3894pub fn visit_drop_owned_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast DropOwnedStatement<T>)
3895where
3896 V: Visit<'ast, T, > + ?Sized,
3897{
3898 for v in &node.role_names {
3899 visitor.visit_role_name(v);
3900 }
3901 if let Some(v) = &node.cascade {
3902 }
3903}
3904impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExecuteStatement<T> {
3905 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3906 visitor.visit_execute_statement(self)
3907 }
3908}
3909#[allow(clippy::needless_pass_by_ref_mut)]
3910pub fn visit_execute_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExecuteStatement<T>)
3911where
3912 V: Visit<'ast, T, > + ?Sized,
3913{
3914 visitor.visit_ident(&node.name);
3915 for v in &node.params {
3916 visitor.visit_expr(v);
3917 }
3918}
3919impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainAnalyzeComputationProperty {
3920 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3921 visitor.visit_explain_analyze_computation_property(self)
3922 }
3923}
3924#[allow(clippy::needless_pass_by_ref_mut)]
3925pub fn visit_explain_analyze_computation_property<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainAnalyzeComputationProperty)
3926where
3927 V: Visit<'ast, T, > + ?Sized,
3928{
3929 match node {
3930 ExplainAnalyzeComputationProperty::Cpu {
3931 } => {
3932 }
3933 ExplainAnalyzeComputationProperty::Memory {
3934 } => {
3935 }
3936 }
3937}
3938impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainAnalyzeProperty {
3939 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3940 visitor.visit_explain_analyze_property(self)
3941 }
3942}
3943#[allow(clippy::needless_pass_by_ref_mut)]
3944pub fn visit_explain_analyze_property<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainAnalyzeProperty)
3945where
3946 V: Visit<'ast, T, > + ?Sized,
3947{
3948 match node {
3949 ExplainAnalyzeProperty::Computation {
3950 properties: binding0,
3951 skew: binding1,
3952 } => {
3953 for v in binding0 {
3954 visitor.visit_explain_analyze_computation_property(v);
3955 }
3956 }
3957 ExplainAnalyzeProperty::Hints {
3958 } => {
3959 }
3960 }
3961}
3962impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainAnalyzeStatement<T> {
3963 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3964 visitor.visit_explain_analyze_statement(self)
3965 }
3966}
3967#[allow(clippy::needless_pass_by_ref_mut)]
3968pub fn visit_explain_analyze_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainAnalyzeStatement<T>)
3969where
3970 V: Visit<'ast, T, > + ?Sized,
3971{
3972 visitor.visit_explain_analyze_property(&node.properties);
3973 visitor.visit_explainee(&node.explainee);
3974}
3975impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainFormat {
3976 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
3977 visitor.visit_explain_format(self)
3978 }
3979}
3980#[allow(clippy::needless_pass_by_ref_mut)]
3981pub fn visit_explain_format<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainFormat)
3982where
3983 V: Visit<'ast, T, > + ?Sized,
3984{
3985 match node {
3986 ExplainFormat::Text {
3987 } => {
3988 }
3989 ExplainFormat::VerboseText {
3990 } => {
3991 }
3992 ExplainFormat::Json {
3993 } => {
3994 }
3995 ExplainFormat::Dot {
3996 } => {
3997 }
3998 }
3999}
4000impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainPlanOption<T> {
4001 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4002 visitor.visit_explain_plan_option(self)
4003 }
4004}
4005#[allow(clippy::needless_pass_by_ref_mut)]
4006pub fn visit_explain_plan_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainPlanOption<T>)
4007where
4008 V: Visit<'ast, T, > + ?Sized,
4009{
4010 visitor.visit_explain_plan_option_name(&node.name);
4011 if let Some(v) = &node.value {
4012 visitor.visit_with_option_value(v);
4013 }
4014}
4015impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainPlanOptionName {
4016 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4017 visitor.visit_explain_plan_option_name(self)
4018 }
4019}
4020#[allow(clippy::needless_pass_by_ref_mut)]
4021pub fn visit_explain_plan_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainPlanOptionName)
4022where
4023 V: Visit<'ast, T, > + ?Sized,
4024{
4025 match node {
4026 ExplainPlanOptionName::Arity {
4027 } => {
4028 }
4029 ExplainPlanOptionName::Cardinality {
4030 } => {
4031 }
4032 ExplainPlanOptionName::ColumnNames {
4033 } => {
4034 }
4035 ExplainPlanOptionName::FilterPushdown {
4036 } => {
4037 }
4038 ExplainPlanOptionName::HumanizedExpressions {
4039 } => {
4040 }
4041 ExplainPlanOptionName::JoinImplementations {
4042 } => {
4043 }
4044 ExplainPlanOptionName::Keys {
4045 } => {
4046 }
4047 ExplainPlanOptionName::LinearChains {
4048 } => {
4049 }
4050 ExplainPlanOptionName::NonNegative {
4051 } => {
4052 }
4053 ExplainPlanOptionName::NoFastPath {
4054 } => {
4055 }
4056 ExplainPlanOptionName::NoNotices {
4057 } => {
4058 }
4059 ExplainPlanOptionName::NodeIdentifiers {
4060 } => {
4061 }
4062 ExplainPlanOptionName::RawPlans {
4063 } => {
4064 }
4065 ExplainPlanOptionName::RawSyntax {
4066 } => {
4067 }
4068 ExplainPlanOptionName::Raw {
4069 } => {
4070 }
4071 ExplainPlanOptionName::Redacted {
4072 } => {
4073 }
4074 ExplainPlanOptionName::SubtreeSize {
4075 } => {
4076 }
4077 ExplainPlanOptionName::Timing {
4078 } => {
4079 }
4080 ExplainPlanOptionName::Types {
4081 } => {
4082 }
4083 ExplainPlanOptionName::Equivalences {
4084 } => {
4085 }
4086 ExplainPlanOptionName::ReoptimizeImportedViews {
4087 } => {
4088 }
4089 ExplainPlanOptionName::EnableNewOuterJoinLowering {
4090 } => {
4091 }
4092 ExplainPlanOptionName::EnableEagerDeltaJoins {
4093 } => {
4094 }
4095 ExplainPlanOptionName::EnableVariadicLeftJoinLowering {
4096 } => {
4097 }
4098 ExplainPlanOptionName::EnableLetrecFixpointAnalysis {
4099 } => {
4100 }
4101 ExplainPlanOptionName::EnableJoinPrioritizeArranged {
4102 } => {
4103 }
4104 ExplainPlanOptionName::EnableProjectionPushdownAfterRelationCse {
4105 } => {
4106 }
4107 }
4108}
4109impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainPlanStatement<T> {
4110 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4111 visitor.visit_explain_plan_statement(self)
4112 }
4113}
4114#[allow(clippy::needless_pass_by_ref_mut)]
4115pub fn visit_explain_plan_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainPlanStatement<T>)
4116where
4117 V: Visit<'ast, T, > + ?Sized,
4118{
4119 if let Some(v) = &node.stage {
4120 visitor.visit_explain_stage(v);
4121 }
4122 for v in &node.with_options {
4123 visitor.visit_explain_plan_option(v);
4124 }
4125 if let Some(v) = &node.format {
4126 visitor.visit_explain_format(v);
4127 }
4128 visitor.visit_explainee(&node.explainee);
4129}
4130impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainPushdownStatement<T> {
4131 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4132 visitor.visit_explain_pushdown_statement(self)
4133 }
4134}
4135#[allow(clippy::needless_pass_by_ref_mut)]
4136pub fn visit_explain_pushdown_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainPushdownStatement<T>)
4137where
4138 V: Visit<'ast, T, > + ?Sized,
4139{
4140 visitor.visit_explainee(&node.explainee);
4141}
4142impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainSinkSchemaFor {
4143 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4144 visitor.visit_explain_sink_schema_for(self)
4145 }
4146}
4147#[allow(clippy::needless_pass_by_ref_mut)]
4148pub fn visit_explain_sink_schema_for<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainSinkSchemaFor)
4149where
4150 V: Visit<'ast, T, > + ?Sized,
4151{
4152 match node {
4153 ExplainSinkSchemaFor::Key {
4154 } => {
4155 }
4156 ExplainSinkSchemaFor::Value {
4157 } => {
4158 }
4159 }
4160}
4161impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainSinkSchemaStatement<T> {
4162 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4163 visitor.visit_explain_sink_schema_statement(self)
4164 }
4165}
4166#[allow(clippy::needless_pass_by_ref_mut)]
4167pub fn visit_explain_sink_schema_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainSinkSchemaStatement<T>)
4168where
4169 V: Visit<'ast, T, > + ?Sized,
4170{
4171 visitor.visit_explain_sink_schema_for(&node.schema_for);
4172 if let Some(v) = &node.format {
4173 visitor.visit_explain_format(v);
4174 }
4175 visitor.visit_create_sink_statement(&node.statement);
4176}
4177impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainStage {
4178 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4179 visitor.visit_explain_stage(self)
4180 }
4181}
4182#[allow(clippy::needless_pass_by_ref_mut)]
4183pub fn visit_explain_stage<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainStage)
4184where
4185 V: Visit<'ast, T, > + ?Sized,
4186{
4187 match node {
4188 ExplainStage::RawPlan {
4189 } => {
4190 }
4191 ExplainStage::DecorrelatedPlan {
4192 } => {
4193 }
4194 ExplainStage::LocalPlan {
4195 } => {
4196 }
4197 ExplainStage::GlobalPlan {
4198 } => {
4199 }
4200 ExplainStage::PhysicalPlan {
4201 } => {
4202 }
4203 ExplainStage::Trace {
4204 } => {
4205 }
4206 ExplainStage::PlanInsights {
4207 } => {
4208 }
4209 }
4210}
4211impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExplainTimestampStatement<T> {
4212 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4213 visitor.visit_explain_timestamp_statement(self)
4214 }
4215}
4216#[allow(clippy::needless_pass_by_ref_mut)]
4217pub fn visit_explain_timestamp_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExplainTimestampStatement<T>)
4218where
4219 V: Visit<'ast, T, > + ?Sized,
4220{
4221 if let Some(v) = &node.format {
4222 visitor.visit_explain_format(v);
4223 }
4224 visitor.visit_select_statement(&node.select);
4225}
4226impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Explainee<T> {
4227 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4228 visitor.visit_explainee(self)
4229 }
4230}
4231#[allow(clippy::needless_pass_by_ref_mut)]
4232pub fn visit_explainee<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Explainee<T>)
4233where
4234 V: Visit<'ast, T, > + ?Sized,
4235{
4236 match node {
4237 Explainee::View {
4238 0: binding0,
4239 } => {
4240 visitor.visit_item_name(binding0);
4241 }
4242 Explainee::MaterializedView {
4243 0: binding0,
4244 } => {
4245 visitor.visit_item_name(binding0);
4246 }
4247 Explainee::Index {
4248 0: binding0,
4249 } => {
4250 visitor.visit_item_name(binding0);
4251 }
4252 Explainee::ReplanView {
4253 0: binding0,
4254 } => {
4255 visitor.visit_item_name(binding0);
4256 }
4257 Explainee::ReplanMaterializedView {
4258 0: binding0,
4259 } => {
4260 visitor.visit_item_name(binding0);
4261 }
4262 Explainee::ReplanIndex {
4263 0: binding0,
4264 } => {
4265 visitor.visit_item_name(binding0);
4266 }
4267 Explainee::Select {
4268 0: binding0,
4269 1: binding1,
4270 } => {
4271 visitor.visit_select_statement(&*binding0);
4272 }
4273 Explainee::CreateView {
4274 0: binding0,
4275 1: binding1,
4276 } => {
4277 visitor.visit_create_view_statement(&*binding0);
4278 }
4279 Explainee::CreateMaterializedView {
4280 0: binding0,
4281 1: binding1,
4282 } => {
4283 visitor.visit_create_materialized_view_statement(&*binding0);
4284 }
4285 Explainee::CreateIndex {
4286 0: binding0,
4287 1: binding1,
4288 } => {
4289 visitor.visit_create_index_statement(&*binding0);
4290 }
4291 }
4292}
4293impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Expr<T> {
4294 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4295 visitor.visit_expr(self)
4296 }
4297}
4298#[allow(clippy::needless_pass_by_ref_mut)]
4299pub fn visit_expr<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Expr<T>)
4300where
4301 V: Visit<'ast, T, > + ?Sized,
4302{
4303 match node {
4304 Expr::Identifier {
4305 0: binding0,
4306 } => {
4307 for v in binding0 {
4308 visitor.visit_ident(v);
4309 }
4310 }
4311 Expr::QualifiedWildcard {
4312 0: binding0,
4313 } => {
4314 for v in binding0 {
4315 visitor.visit_ident(v);
4316 }
4317 }
4318 Expr::FieldAccess {
4319 expr: binding0,
4320 field: binding1,
4321 } => {
4322 visitor.visit_expr(&*binding0);
4323 visitor.visit_ident(binding1);
4324 }
4325 Expr::WildcardAccess {
4326 0: binding0,
4327 } => {
4328 visitor.visit_expr(&*binding0);
4329 }
4330 Expr::Parameter {
4331 0: binding0,
4332 } => {
4333 }
4334 Expr::Not {
4335 expr: binding0,
4336 } => {
4337 visitor.visit_expr(&*binding0);
4338 }
4339 Expr::And {
4340 left: binding0,
4341 right: binding1,
4342 } => {
4343 visitor.visit_expr(&*binding0);
4344 visitor.visit_expr(&*binding1);
4345 }
4346 Expr::Or {
4347 left: binding0,
4348 right: binding1,
4349 } => {
4350 visitor.visit_expr(&*binding0);
4351 visitor.visit_expr(&*binding1);
4352 }
4353 Expr::IsExpr {
4354 expr: binding0,
4355 construct: binding1,
4356 negated: binding2,
4357 } => {
4358 visitor.visit_expr(&*binding0);
4359 visitor.visit_is_expr_construct(binding1);
4360 }
4361 Expr::InList {
4362 expr: binding0,
4363 list: binding1,
4364 negated: binding2,
4365 } => {
4366 visitor.visit_expr(&*binding0);
4367 for v in binding1 {
4368 visitor.visit_expr(v);
4369 }
4370 }
4371 Expr::InSubquery {
4372 expr: binding0,
4373 subquery: binding1,
4374 negated: binding2,
4375 } => {
4376 visitor.visit_expr(&*binding0);
4377 visitor.visit_query(&*binding1);
4378 }
4379 Expr::Like {
4380 expr: binding0,
4381 pattern: binding1,
4382 escape: binding2,
4383 case_insensitive: binding3,
4384 negated: binding4,
4385 } => {
4386 visitor.visit_expr(&*binding0);
4387 visitor.visit_expr(&*binding1);
4388 if let Some(v) = binding2 {
4389 visitor.visit_expr(&*v);
4390 }
4391 }
4392 Expr::Between {
4393 expr: binding0,
4394 negated: binding1,
4395 low: binding2,
4396 high: binding3,
4397 } => {
4398 visitor.visit_expr(&*binding0);
4399 visitor.visit_expr(&*binding2);
4400 visitor.visit_expr(&*binding3);
4401 }
4402 Expr::Op {
4403 op: binding0,
4404 expr1: binding1,
4405 expr2: binding2,
4406 } => {
4407 visitor.visit_op(binding0);
4408 visitor.visit_expr(&*binding1);
4409 if let Some(v) = binding2 {
4410 visitor.visit_expr(&*v);
4411 }
4412 }
4413 Expr::Cast {
4414 expr: binding0,
4415 data_type: binding1,
4416 } => {
4417 visitor.visit_expr(&*binding0);
4418 visitor.visit_data_type(binding1);
4419 }
4420 Expr::Collate {
4421 expr: binding0,
4422 collation: binding1,
4423 } => {
4424 visitor.visit_expr(&*binding0);
4425 visitor.visit_unresolved_item_name(binding1);
4426 }
4427 Expr::HomogenizingFunction {
4428 function: binding0,
4429 exprs: binding1,
4430 } => {
4431 visitor.visit_homogenizing_function(binding0);
4432 for v in binding1 {
4433 visitor.visit_expr(v);
4434 }
4435 }
4436 Expr::NullIf {
4437 l_expr: binding0,
4438 r_expr: binding1,
4439 } => {
4440 visitor.visit_expr(&*binding0);
4441 visitor.visit_expr(&*binding1);
4442 }
4443 Expr::Nested {
4444 0: binding0,
4445 } => {
4446 visitor.visit_expr(&*binding0);
4447 }
4448 Expr::Row {
4449 exprs: binding0,
4450 } => {
4451 for v in binding0 {
4452 visitor.visit_expr(v);
4453 }
4454 }
4455 Expr::Value {
4456 0: binding0,
4457 } => {
4458 visitor.visit_value(binding0);
4459 }
4460 Expr::Function {
4461 0: binding0,
4462 } => {
4463 visitor.visit_function(binding0);
4464 }
4465 Expr::Case {
4466 operand: binding0,
4467 conditions: binding1,
4468 results: binding2,
4469 else_result: binding3,
4470 } => {
4471 if let Some(v) = binding0 {
4472 visitor.visit_expr(&*v);
4473 }
4474 for v in binding1 {
4475 visitor.visit_expr(v);
4476 }
4477 for v in binding2 {
4478 visitor.visit_expr(v);
4479 }
4480 if let Some(v) = binding3 {
4481 visitor.visit_expr(&*v);
4482 }
4483 }
4484 Expr::Exists {
4485 0: binding0,
4486 } => {
4487 visitor.visit_query(&*binding0);
4488 }
4489 Expr::Subquery {
4490 0: binding0,
4491 } => {
4492 visitor.visit_query(&*binding0);
4493 }
4494 Expr::AnySubquery {
4495 left: binding0,
4496 op: binding1,
4497 right: binding2,
4498 } => {
4499 visitor.visit_expr(&*binding0);
4500 visitor.visit_op(binding1);
4501 visitor.visit_query(&*binding2);
4502 }
4503 Expr::AnyExpr {
4504 left: binding0,
4505 op: binding1,
4506 right: binding2,
4507 } => {
4508 visitor.visit_expr(&*binding0);
4509 visitor.visit_op(binding1);
4510 visitor.visit_expr(&*binding2);
4511 }
4512 Expr::AllSubquery {
4513 left: binding0,
4514 op: binding1,
4515 right: binding2,
4516 } => {
4517 visitor.visit_expr(&*binding0);
4518 visitor.visit_op(binding1);
4519 visitor.visit_query(&*binding2);
4520 }
4521 Expr::AllExpr {
4522 left: binding0,
4523 op: binding1,
4524 right: binding2,
4525 } => {
4526 visitor.visit_expr(&*binding0);
4527 visitor.visit_op(binding1);
4528 visitor.visit_expr(&*binding2);
4529 }
4530 Expr::Array {
4531 0: binding0,
4532 } => {
4533 for v in binding0 {
4534 visitor.visit_expr(v);
4535 }
4536 }
4537 Expr::ArraySubquery {
4538 0: binding0,
4539 } => {
4540 visitor.visit_query(&*binding0);
4541 }
4542 Expr::List {
4543 0: binding0,
4544 } => {
4545 for v in binding0 {
4546 visitor.visit_expr(v);
4547 }
4548 }
4549 Expr::ListSubquery {
4550 0: binding0,
4551 } => {
4552 visitor.visit_query(&*binding0);
4553 }
4554 Expr::Map {
4555 0: binding0,
4556 } => {
4557 for v in binding0 {
4558 visitor.visit_map_entry(v);
4559 }
4560 }
4561 Expr::MapSubquery {
4562 0: binding0,
4563 } => {
4564 visitor.visit_query(&*binding0);
4565 }
4566 Expr::Subscript {
4567 expr: binding0,
4568 positions: binding1,
4569 } => {
4570 visitor.visit_expr(&*binding0);
4571 for v in binding1 {
4572 visitor.visit_subscript_position(v);
4573 }
4574 }
4575 }
4576}
4577impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExternalReferenceExport {
4578 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4579 visitor.visit_external_reference_export(self)
4580 }
4581}
4582#[allow(clippy::needless_pass_by_ref_mut)]
4583pub fn visit_external_reference_export<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExternalReferenceExport)
4584where
4585 V: Visit<'ast, T, > + ?Sized,
4586{
4587 visitor.visit_unresolved_item_name(&node.reference);
4588 if let Some(v) = &node.alias {
4589 visitor.visit_unresolved_item_name(v);
4590 }
4591}
4592impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ExternalReferences {
4593 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4594 visitor.visit_external_references(self)
4595 }
4596}
4597#[allow(clippy::needless_pass_by_ref_mut)]
4598pub fn visit_external_references<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ExternalReferences)
4599where
4600 V: Visit<'ast, T, > + ?Sized,
4601{
4602 match node {
4603 ExternalReferences::SubsetTables {
4604 0: binding0,
4605 } => {
4606 for v in binding0 {
4607 visitor.visit_external_reference_export(v);
4608 }
4609 }
4610 ExternalReferences::SubsetSchemas {
4611 0: binding0,
4612 } => {
4613 for v in binding0 {
4614 visitor.visit_ident(v);
4615 }
4616 }
4617 ExternalReferences::All {
4618 } => {
4619 }
4620 }
4621}
4622impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for FetchDirection {
4623 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4624 visitor.visit_fetch_direction(self)
4625 }
4626}
4627#[allow(clippy::needless_pass_by_ref_mut)]
4628pub fn visit_fetch_direction<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast FetchDirection)
4629where
4630 V: Visit<'ast, T, > + ?Sized,
4631{
4632 match node {
4633 FetchDirection::ForwardAll {
4634 } => {
4635 }
4636 FetchDirection::ForwardCount {
4637 0: binding0,
4638 } => {
4639 }
4640 }
4641}
4642impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for FetchOption<T> {
4643 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4644 visitor.visit_fetch_option(self)
4645 }
4646}
4647#[allow(clippy::needless_pass_by_ref_mut)]
4648pub fn visit_fetch_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast FetchOption<T>)
4649where
4650 V: Visit<'ast, T, > + ?Sized,
4651{
4652 visitor.visit_fetch_option_name(&node.name);
4653 if let Some(v) = &node.value {
4654 visitor.visit_with_option_value(v);
4655 }
4656}
4657impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for FetchOptionName {
4658 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4659 visitor.visit_fetch_option_name(self)
4660 }
4661}
4662#[allow(clippy::needless_pass_by_ref_mut)]
4663pub fn visit_fetch_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast FetchOptionName)
4664where
4665 V: Visit<'ast, T, > + ?Sized,
4666{
4667 match node {
4668 FetchOptionName::Timeout {
4669 } => {
4670 }
4671 }
4672}
4673impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for FetchStatement<T> {
4674 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4675 visitor.visit_fetch_statement(self)
4676 }
4677}
4678#[allow(clippy::needless_pass_by_ref_mut)]
4679pub fn visit_fetch_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast FetchStatement<T>)
4680where
4681 V: Visit<'ast, T, > + ?Sized,
4682{
4683 visitor.visit_ident(&node.name);
4684 if let Some(v) = &node.count {
4685 visitor.visit_fetch_direction(v);
4686 }
4687 for v in &node.options {
4688 visitor.visit_fetch_option(v);
4689 }
4690}
4691impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Format<T> {
4692 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4693 visitor.visit_format(self)
4694 }
4695}
4696#[allow(clippy::needless_pass_by_ref_mut)]
4697pub fn visit_format<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Format<T>)
4698where
4699 V: Visit<'ast, T, > + ?Sized,
4700{
4701 match node {
4702 Format::Bytes {
4703 } => {
4704 }
4705 Format::Avro {
4706 0: binding0,
4707 } => {
4708 visitor.visit_avro_schema(binding0);
4709 }
4710 Format::Protobuf {
4711 0: binding0,
4712 } => {
4713 visitor.visit_protobuf_schema(binding0);
4714 }
4715 Format::Regex {
4716 0: binding0,
4717 } => {
4718 }
4719 Format::Csv {
4720 columns: binding0,
4721 delimiter: binding1,
4722 } => {
4723 visitor.visit_csv_columns(binding0);
4724 }
4725 Format::Json {
4726 array: binding0,
4727 } => {
4728 }
4729 Format::Text {
4730 } => {
4731 }
4732 }
4733}
4734impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for FormatSpecifier<T> {
4735 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4736 visitor.visit_format_specifier(self)
4737 }
4738}
4739#[allow(clippy::needless_pass_by_ref_mut)]
4740pub fn visit_format_specifier<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast FormatSpecifier<T>)
4741where
4742 V: Visit<'ast, T, > + ?Sized,
4743{
4744 match node {
4745 FormatSpecifier::Bare {
4746 0: binding0,
4747 } => {
4748 visitor.visit_format(binding0);
4749 }
4750 FormatSpecifier::KeyValue {
4751 key: binding0,
4752 value: binding1,
4753 } => {
4754 visitor.visit_format(binding0);
4755 visitor.visit_format(binding1);
4756 }
4757 }
4758}
4759impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Function<T> {
4760 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4761 visitor.visit_function(self)
4762 }
4763}
4764#[allow(clippy::needless_pass_by_ref_mut)]
4765pub fn visit_function<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Function<T>)
4766where
4767 V: Visit<'ast, T, > + ?Sized,
4768{
4769 visitor.visit_item_name(&node.name);
4770 visitor.visit_function_args(&node.args);
4771 if let Some(v) = &node.filter {
4772 visitor.visit_expr(&*v);
4773 }
4774 if let Some(v) = &node.over {
4775 visitor.visit_window_spec(v);
4776 }
4777}
4778impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for FunctionArgs<T> {
4779 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4780 visitor.visit_function_args(self)
4781 }
4782}
4783#[allow(clippy::needless_pass_by_ref_mut)]
4784pub fn visit_function_args<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast FunctionArgs<T>)
4785where
4786 V: Visit<'ast, T, > + ?Sized,
4787{
4788 match node {
4789 FunctionArgs::Star {
4790 } => {
4791 }
4792 FunctionArgs::Args {
4793 args: binding0,
4794 order_by: binding1,
4795 } => {
4796 for v in binding0 {
4797 visitor.visit_expr(v);
4798 }
4799 for v in binding1 {
4800 visitor.visit_order_by_expr(v);
4801 }
4802 }
4803 }
4804}
4805impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for GrantPrivilegesStatement<T> {
4806 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4807 visitor.visit_grant_privileges_statement(self)
4808 }
4809}
4810#[allow(clippy::needless_pass_by_ref_mut)]
4811pub fn visit_grant_privileges_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast GrantPrivilegesStatement<T>)
4812where
4813 V: Visit<'ast, T, > + ?Sized,
4814{
4815 visitor.visit_privilege_specification(&node.privileges);
4816 visitor.visit_grant_target_specification(&node.target);
4817 for v in &node.roles {
4818 visitor.visit_role_name(v);
4819 }
4820}
4821impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for GrantRoleStatement<T> {
4822 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4823 visitor.visit_grant_role_statement(self)
4824 }
4825}
4826#[allow(clippy::needless_pass_by_ref_mut)]
4827pub fn visit_grant_role_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast GrantRoleStatement<T>)
4828where
4829 V: Visit<'ast, T, > + ?Sized,
4830{
4831 for v in &node.role_names {
4832 visitor.visit_role_name(v);
4833 }
4834 for v in &node.member_names {
4835 visitor.visit_role_name(v);
4836 }
4837}
4838impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for GrantTargetAllSpecification<T> {
4839 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4840 visitor.visit_grant_target_all_specification(self)
4841 }
4842}
4843#[allow(clippy::needless_pass_by_ref_mut)]
4844pub fn visit_grant_target_all_specification<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast GrantTargetAllSpecification<T>)
4845where
4846 V: Visit<'ast, T, > + ?Sized,
4847{
4848 match node {
4849 GrantTargetAllSpecification::All {
4850 } => {
4851 }
4852 GrantTargetAllSpecification::AllDatabases {
4853 databases: binding0,
4854 } => {
4855 for v in binding0 {
4856 visitor.visit_database_name(v);
4857 }
4858 }
4859 GrantTargetAllSpecification::AllSchemas {
4860 schemas: binding0,
4861 } => {
4862 for v in binding0 {
4863 visitor.visit_schema_name(v);
4864 }
4865 }
4866 }
4867}
4868impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for GrantTargetSpecification<T> {
4869 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4870 visitor.visit_grant_target_specification(self)
4871 }
4872}
4873#[allow(clippy::needless_pass_by_ref_mut)]
4874pub fn visit_grant_target_specification<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast GrantTargetSpecification<T>)
4875where
4876 V: Visit<'ast, T, > + ?Sized,
4877{
4878 match node {
4879 GrantTargetSpecification::Object {
4880 object_type: binding0,
4881 object_spec_inner: binding1,
4882 } => {
4883 visitor.visit_object_type(binding0);
4884 visitor.visit_grant_target_specification_inner(binding1);
4885 }
4886 GrantTargetSpecification::System {
4887 } => {
4888 }
4889 }
4890}
4891impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for GrantTargetSpecificationInner<T> {
4892 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4893 visitor.visit_grant_target_specification_inner(self)
4894 }
4895}
4896#[allow(clippy::needless_pass_by_ref_mut)]
4897pub fn visit_grant_target_specification_inner<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast GrantTargetSpecificationInner<T>)
4898where
4899 V: Visit<'ast, T, > + ?Sized,
4900{
4901 match node {
4902 GrantTargetSpecificationInner::All {
4903 0: binding0,
4904 } => {
4905 visitor.visit_grant_target_all_specification(binding0);
4906 }
4907 GrantTargetSpecificationInner::Objects {
4908 names: binding0,
4909 } => {
4910 for v in binding0 {
4911 visitor.visit_object_name(v);
4912 }
4913 }
4914 }
4915}
4916impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for HomogenizingFunction {
4917 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4918 visitor.visit_homogenizing_function(self)
4919 }
4920}
4921#[allow(clippy::needless_pass_by_ref_mut)]
4922pub fn visit_homogenizing_function<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast HomogenizingFunction)
4923where
4924 V: Visit<'ast, T, > + ?Sized,
4925{
4926 match node {
4927 HomogenizingFunction::Coalesce {
4928 } => {
4929 }
4930 HomogenizingFunction::Greatest {
4931 } => {
4932 }
4933 HomogenizingFunction::Least {
4934 } => {
4935 }
4936 }
4937}
4938impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IcebergSinkConfigOption<T> {
4939 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4940 visitor.visit_iceberg_sink_config_option(self)
4941 }
4942}
4943#[allow(clippy::needless_pass_by_ref_mut)]
4944pub fn visit_iceberg_sink_config_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IcebergSinkConfigOption<T>)
4945where
4946 V: Visit<'ast, T, > + ?Sized,
4947{
4948 visitor.visit_iceberg_sink_config_option_name(&node.name);
4949 if let Some(v) = &node.value {
4950 visitor.visit_with_option_value(v);
4951 }
4952}
4953impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IcebergSinkConfigOptionName {
4954 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4955 visitor.visit_iceberg_sink_config_option_name(self)
4956 }
4957}
4958#[allow(clippy::needless_pass_by_ref_mut)]
4959pub fn visit_iceberg_sink_config_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IcebergSinkConfigOptionName)
4960where
4961 V: Visit<'ast, T, > + ?Sized,
4962{
4963 match node {
4964 IcebergSinkConfigOptionName::Namespace {
4965 } => {
4966 }
4967 IcebergSinkConfigOptionName::Table {
4968 } => {
4969 }
4970 }
4971}
4972impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Ident {
4973 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4974 visitor.visit_ident(self)
4975 }
4976}
4977#[allow(clippy::needless_pass_by_ref_mut)]
4978pub fn visit_ident<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Ident)
4979where
4980 V: Visit<'ast, T, > + ?Sized,
4981{
4982}
4983impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IdentError {
4984 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
4985 visitor.visit_ident_error(self)
4986 }
4987}
4988#[allow(clippy::needless_pass_by_ref_mut)]
4989pub fn visit_ident_error<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IdentError)
4990where
4991 V: Visit<'ast, T, > + ?Sized,
4992{
4993 match node {
4994 IdentError::TooLong {
4995 0: binding0,
4996 } => {
4997 }
4998 IdentError::FailedToGenerate {
4999 prefix: binding0,
5000 suffix: binding1,
5001 attempts: binding2,
5002 } => {
5003 }
5004 IdentError::Invalid {
5005 0: binding0,
5006 } => {
5007 }
5008 }
5009}
5010impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IfExistsBehavior {
5011 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5012 visitor.visit_if_exists_behavior(self)
5013 }
5014}
5015#[allow(clippy::needless_pass_by_ref_mut)]
5016pub fn visit_if_exists_behavior<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IfExistsBehavior)
5017where
5018 V: Visit<'ast, T, > + ?Sized,
5019{
5020 match node {
5021 IfExistsBehavior::Error {
5022 } => {
5023 }
5024 IfExistsBehavior::Skip {
5025 } => {
5026 }
5027 IfExistsBehavior::Replace {
5028 } => {
5029 }
5030 }
5031}
5032impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IndexOption<T> {
5033 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5034 visitor.visit_index_option(self)
5035 }
5036}
5037#[allow(clippy::needless_pass_by_ref_mut)]
5038pub fn visit_index_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IndexOption<T>)
5039where
5040 V: Visit<'ast, T, > + ?Sized,
5041{
5042 visitor.visit_index_option_name(&node.name);
5043 if let Some(v) = &node.value {
5044 visitor.visit_with_option_value(v);
5045 }
5046}
5047impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IndexOptionName {
5048 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5049 visitor.visit_index_option_name(self)
5050 }
5051}
5052#[allow(clippy::needless_pass_by_ref_mut)]
5053pub fn visit_index_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IndexOptionName)
5054where
5055 V: Visit<'ast, T, > + ?Sized,
5056{
5057 match node {
5058 IndexOptionName::RetainHistory {
5059 } => {
5060 }
5061 }
5062}
5063impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for InsertSource<T> {
5064 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5065 visitor.visit_insert_source(self)
5066 }
5067}
5068#[allow(clippy::needless_pass_by_ref_mut)]
5069pub fn visit_insert_source<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast InsertSource<T>)
5070where
5071 V: Visit<'ast, T, > + ?Sized,
5072{
5073 match node {
5074 InsertSource::Query {
5075 0: binding0,
5076 } => {
5077 visitor.visit_query(binding0);
5078 }
5079 InsertSource::DefaultValues {
5080 } => {
5081 }
5082 }
5083}
5084impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for InsertStatement<T> {
5085 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5086 visitor.visit_insert_statement(self)
5087 }
5088}
5089#[allow(clippy::needless_pass_by_ref_mut)]
5090pub fn visit_insert_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast InsertStatement<T>)
5091where
5092 V: Visit<'ast, T, > + ?Sized,
5093{
5094 visitor.visit_item_name(&node.table_name);
5095 for v in &node.columns {
5096 visitor.visit_ident(v);
5097 }
5098 visitor.visit_insert_source(&node.source);
5099 for v in &node.returning {
5100 visitor.visit_select_item(v);
5101 }
5102}
5103impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for InspectShardStatement {
5104 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5105 visitor.visit_inspect_shard_statement(self)
5106 }
5107}
5108#[allow(clippy::needless_pass_by_ref_mut)]
5109pub fn visit_inspect_shard_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast InspectShardStatement)
5110where
5111 V: Visit<'ast, T, > + ?Sized,
5112{
5113}
5114impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IntervalValue {
5115 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5116 visitor.visit_interval_value(self)
5117 }
5118}
5119#[allow(clippy::needless_pass_by_ref_mut)]
5120pub fn visit_interval_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IntervalValue)
5121where
5122 V: Visit<'ast, T, > + ?Sized,
5123{
5124 visitor.visit_date_time_field(&node.precision_high);
5125 visitor.visit_date_time_field(&node.precision_low);
5126 if let Some(v) = &node.fsec_max_precision {
5127 }
5128}
5129impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for IsExprConstruct<T> {
5130 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5131 visitor.visit_is_expr_construct(self)
5132 }
5133}
5134#[allow(clippy::needless_pass_by_ref_mut)]
5135pub fn visit_is_expr_construct<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast IsExprConstruct<T>)
5136where
5137 V: Visit<'ast, T, > + ?Sized,
5138{
5139 match node {
5140 IsExprConstruct::Null {
5141 } => {
5142 }
5143 IsExprConstruct::True {
5144 } => {
5145 }
5146 IsExprConstruct::False {
5147 } => {
5148 }
5149 IsExprConstruct::Unknown {
5150 } => {
5151 }
5152 IsExprConstruct::DistinctFrom {
5153 0: binding0,
5154 } => {
5155 visitor.visit_expr(&*binding0);
5156 }
5157 }
5158}
5159impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Join<T> {
5160 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5161 visitor.visit_join(self)
5162 }
5163}
5164#[allow(clippy::needless_pass_by_ref_mut)]
5165pub fn visit_join<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Join<T>)
5166where
5167 V: Visit<'ast, T, > + ?Sized,
5168{
5169 visitor.visit_table_factor(&node.relation);
5170 visitor.visit_join_operator(&node.join_operator);
5171}
5172impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for JoinConstraint<T> {
5173 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5174 visitor.visit_join_constraint(self)
5175 }
5176}
5177#[allow(clippy::needless_pass_by_ref_mut)]
5178pub fn visit_join_constraint<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast JoinConstraint<T>)
5179where
5180 V: Visit<'ast, T, > + ?Sized,
5181{
5182 match node {
5183 JoinConstraint::On {
5184 0: binding0,
5185 } => {
5186 visitor.visit_expr(binding0);
5187 }
5188 JoinConstraint::Using {
5189 columns: binding0,
5190 alias: binding1,
5191 } => {
5192 for v in binding0 {
5193 visitor.visit_ident(v);
5194 }
5195 if let Some(v) = binding1 {
5196 visitor.visit_ident(v);
5197 }
5198 }
5199 JoinConstraint::Natural {
5200 } => {
5201 }
5202 }
5203}
5204impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for JoinOperator<T> {
5205 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5206 visitor.visit_join_operator(self)
5207 }
5208}
5209#[allow(clippy::needless_pass_by_ref_mut)]
5210pub fn visit_join_operator<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast JoinOperator<T>)
5211where
5212 V: Visit<'ast, T, > + ?Sized,
5213{
5214 match node {
5215 JoinOperator::Inner {
5216 0: binding0,
5217 } => {
5218 visitor.visit_join_constraint(binding0);
5219 }
5220 JoinOperator::LeftOuter {
5221 0: binding0,
5222 } => {
5223 visitor.visit_join_constraint(binding0);
5224 }
5225 JoinOperator::RightOuter {
5226 0: binding0,
5227 } => {
5228 visitor.visit_join_constraint(binding0);
5229 }
5230 JoinOperator::FullOuter {
5231 0: binding0,
5232 } => {
5233 visitor.visit_join_constraint(binding0);
5234 }
5235 JoinOperator::CrossJoin {
5236 } => {
5237 }
5238 }
5239}
5240impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaBroker<T> {
5241 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5242 visitor.visit_kafka_broker(self)
5243 }
5244}
5245#[allow(clippy::needless_pass_by_ref_mut)]
5246pub fn visit_kafka_broker<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaBroker<T>)
5247where
5248 V: Visit<'ast, T, > + ?Sized,
5249{
5250 visitor.visit_kafka_broker_tunnel(&node.tunnel);
5251}
5252impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaBrokerAwsPrivatelink<T> {
5253 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5254 visitor.visit_kafka_broker_aws_privatelink(self)
5255 }
5256}
5257#[allow(clippy::needless_pass_by_ref_mut)]
5258pub fn visit_kafka_broker_aws_privatelink<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaBrokerAwsPrivatelink<T>)
5259where
5260 V: Visit<'ast, T, > + ?Sized,
5261{
5262 visitor.visit_item_name(&node.connection);
5263 for v in &node.options {
5264 visitor.visit_kafka_broker_aws_privatelink_option(v);
5265 }
5266}
5267impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaBrokerAwsPrivatelinkOption<T> {
5268 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5269 visitor.visit_kafka_broker_aws_privatelink_option(self)
5270 }
5271}
5272#[allow(clippy::needless_pass_by_ref_mut)]
5273pub fn visit_kafka_broker_aws_privatelink_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaBrokerAwsPrivatelinkOption<T>)
5274where
5275 V: Visit<'ast, T, > + ?Sized,
5276{
5277 visitor.visit_kafka_broker_aws_privatelink_option_name(&node.name);
5278 if let Some(v) = &node.value {
5279 visitor.visit_with_option_value(v);
5280 }
5281}
5282impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaBrokerAwsPrivatelinkOptionName {
5283 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5284 visitor.visit_kafka_broker_aws_privatelink_option_name(self)
5285 }
5286}
5287#[allow(clippy::needless_pass_by_ref_mut)]
5288pub fn visit_kafka_broker_aws_privatelink_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaBrokerAwsPrivatelinkOptionName)
5289where
5290 V: Visit<'ast, T, > + ?Sized,
5291{
5292 match node {
5293 KafkaBrokerAwsPrivatelinkOptionName::AvailabilityZone {
5294 } => {
5295 }
5296 KafkaBrokerAwsPrivatelinkOptionName::Port {
5297 } => {
5298 }
5299 }
5300}
5301impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaBrokerTunnel<T> {
5302 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5303 visitor.visit_kafka_broker_tunnel(self)
5304 }
5305}
5306#[allow(clippy::needless_pass_by_ref_mut)]
5307pub fn visit_kafka_broker_tunnel<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaBrokerTunnel<T>)
5308where
5309 V: Visit<'ast, T, > + ?Sized,
5310{
5311 match node {
5312 KafkaBrokerTunnel::Direct {
5313 } => {
5314 }
5315 KafkaBrokerTunnel::AwsPrivatelink {
5316 0: binding0,
5317 } => {
5318 visitor.visit_kafka_broker_aws_privatelink(binding0);
5319 }
5320 KafkaBrokerTunnel::SshTunnel {
5321 0: binding0,
5322 } => {
5323 visitor.visit_item_name(binding0);
5324 }
5325 }
5326}
5327impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaSinkConfigOption<T> {
5328 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5329 visitor.visit_kafka_sink_config_option(self)
5330 }
5331}
5332#[allow(clippy::needless_pass_by_ref_mut)]
5333pub fn visit_kafka_sink_config_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaSinkConfigOption<T>)
5334where
5335 V: Visit<'ast, T, > + ?Sized,
5336{
5337 visitor.visit_kafka_sink_config_option_name(&node.name);
5338 if let Some(v) = &node.value {
5339 visitor.visit_with_option_value(v);
5340 }
5341}
5342impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaSinkConfigOptionName {
5343 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5344 visitor.visit_kafka_sink_config_option_name(self)
5345 }
5346}
5347#[allow(clippy::needless_pass_by_ref_mut)]
5348pub fn visit_kafka_sink_config_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaSinkConfigOptionName)
5349where
5350 V: Visit<'ast, T, > + ?Sized,
5351{
5352 match node {
5353 KafkaSinkConfigOptionName::CompressionType {
5354 } => {
5355 }
5356 KafkaSinkConfigOptionName::PartitionBy {
5357 } => {
5358 }
5359 KafkaSinkConfigOptionName::ProgressGroupIdPrefix {
5360 } => {
5361 }
5362 KafkaSinkConfigOptionName::Topic {
5363 } => {
5364 }
5365 KafkaSinkConfigOptionName::TransactionalIdPrefix {
5366 } => {
5367 }
5368 KafkaSinkConfigOptionName::LegacyIds {
5369 } => {
5370 }
5371 KafkaSinkConfigOptionName::TopicConfig {
5372 } => {
5373 }
5374 KafkaSinkConfigOptionName::TopicMetadataRefreshInterval {
5375 } => {
5376 }
5377 KafkaSinkConfigOptionName::TopicPartitionCount {
5378 } => {
5379 }
5380 KafkaSinkConfigOptionName::TopicReplicationFactor {
5381 } => {
5382 }
5383 }
5384}
5385impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaSourceConfigOption<T> {
5386 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5387 visitor.visit_kafka_source_config_option(self)
5388 }
5389}
5390#[allow(clippy::needless_pass_by_ref_mut)]
5391pub fn visit_kafka_source_config_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaSourceConfigOption<T>)
5392where
5393 V: Visit<'ast, T, > + ?Sized,
5394{
5395 visitor.visit_kafka_source_config_option_name(&node.name);
5396 if let Some(v) = &node.value {
5397 visitor.visit_with_option_value(v);
5398 }
5399}
5400impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KafkaSourceConfigOptionName {
5401 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5402 visitor.visit_kafka_source_config_option_name(self)
5403 }
5404}
5405#[allow(clippy::needless_pass_by_ref_mut)]
5406pub fn visit_kafka_source_config_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KafkaSourceConfigOptionName)
5407where
5408 V: Visit<'ast, T, > + ?Sized,
5409{
5410 match node {
5411 KafkaSourceConfigOptionName::GroupIdPrefix {
5412 } => {
5413 }
5414 KafkaSourceConfigOptionName::Topic {
5415 } => {
5416 }
5417 KafkaSourceConfigOptionName::TopicMetadataRefreshInterval {
5418 } => {
5419 }
5420 KafkaSourceConfigOptionName::StartTimestamp {
5421 } => {
5422 }
5423 KafkaSourceConfigOptionName::StartOffset {
5424 } => {
5425 }
5426 }
5427}
5428impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for KeyConstraint {
5429 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5430 visitor.visit_key_constraint(self)
5431 }
5432}
5433#[allow(clippy::needless_pass_by_ref_mut)]
5434pub fn visit_key_constraint<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast KeyConstraint)
5435where
5436 V: Visit<'ast, T, > + ?Sized,
5437{
5438 match node {
5439 KeyConstraint::PrimaryKeyNotEnforced {
5440 columns: binding0,
5441 } => {
5442 for v in binding0 {
5443 visitor.visit_ident(v);
5444 }
5445 }
5446 }
5447}
5448impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Limit<T> {
5449 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5450 visitor.visit_limit(self)
5451 }
5452}
5453#[allow(clippy::needless_pass_by_ref_mut)]
5454pub fn visit_limit<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Limit<T>)
5455where
5456 V: Visit<'ast, T, > + ?Sized,
5457{
5458 visitor.visit_expr(&node.quantity);
5459}
5460impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for LoadGenerator {
5461 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5462 visitor.visit_load_generator(self)
5463 }
5464}
5465#[allow(clippy::needless_pass_by_ref_mut)]
5466pub fn visit_load_generator<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast LoadGenerator)
5467where
5468 V: Visit<'ast, T, > + ?Sized,
5469{
5470 match node {
5471 LoadGenerator::Clock {
5472 } => {
5473 }
5474 LoadGenerator::Counter {
5475 } => {
5476 }
5477 LoadGenerator::Marketing {
5478 } => {
5479 }
5480 LoadGenerator::Auction {
5481 } => {
5482 }
5483 LoadGenerator::Datums {
5484 } => {
5485 }
5486 LoadGenerator::Tpch {
5487 } => {
5488 }
5489 LoadGenerator::KeyValue {
5490 } => {
5491 }
5492 }
5493}
5494impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for LoadGeneratorOption<T> {
5495 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5496 visitor.visit_load_generator_option(self)
5497 }
5498}
5499#[allow(clippy::needless_pass_by_ref_mut)]
5500pub fn visit_load_generator_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast LoadGeneratorOption<T>)
5501where
5502 V: Visit<'ast, T, > + ?Sized,
5503{
5504 visitor.visit_load_generator_option_name(&node.name);
5505 if let Some(v) = &node.value {
5506 visitor.visit_with_option_value(v);
5507 }
5508}
5509impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for LoadGeneratorOptionName {
5510 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5511 visitor.visit_load_generator_option_name(self)
5512 }
5513}
5514#[allow(clippy::needless_pass_by_ref_mut)]
5515pub fn visit_load_generator_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast LoadGeneratorOptionName)
5516where
5517 V: Visit<'ast, T, > + ?Sized,
5518{
5519 match node {
5520 LoadGeneratorOptionName::ScaleFactor {
5521 } => {
5522 }
5523 LoadGeneratorOptionName::TickInterval {
5524 } => {
5525 }
5526 LoadGeneratorOptionName::AsOf {
5527 } => {
5528 }
5529 LoadGeneratorOptionName::UpTo {
5530 } => {
5531 }
5532 LoadGeneratorOptionName::MaxCardinality {
5533 } => {
5534 }
5535 LoadGeneratorOptionName::Keys {
5536 } => {
5537 }
5538 LoadGeneratorOptionName::SnapshotRounds {
5539 } => {
5540 }
5541 LoadGeneratorOptionName::TransactionalSnapshot {
5542 } => {
5543 }
5544 LoadGeneratorOptionName::ValueSize {
5545 } => {
5546 }
5547 LoadGeneratorOptionName::Seed {
5548 } => {
5549 }
5550 LoadGeneratorOptionName::Partitions {
5551 } => {
5552 }
5553 LoadGeneratorOptionName::BatchSize {
5554 } => {
5555 }
5556 }
5557}
5558impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MapEntry<T> {
5559 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5560 visitor.visit_map_entry(self)
5561 }
5562}
5563#[allow(clippy::needless_pass_by_ref_mut)]
5564pub fn visit_map_entry<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MapEntry<T>)
5565where
5566 V: Visit<'ast, T, > + ?Sized,
5567{
5568 visitor.visit_expr(&node.key);
5569 visitor.visit_expr(&node.value);
5570}
5571impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MaterializedViewOption<T> {
5572 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5573 visitor.visit_materialized_view_option(self)
5574 }
5575}
5576#[allow(clippy::needless_pass_by_ref_mut)]
5577pub fn visit_materialized_view_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MaterializedViewOption<T>)
5578where
5579 V: Visit<'ast, T, > + ?Sized,
5580{
5581 visitor.visit_materialized_view_option_name(&node.name);
5582 if let Some(v) = &node.value {
5583 visitor.visit_with_option_value(v);
5584 }
5585}
5586impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MaterializedViewOptionName {
5587 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5588 visitor.visit_materialized_view_option_name(self)
5589 }
5590}
5591#[allow(clippy::needless_pass_by_ref_mut)]
5592pub fn visit_materialized_view_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MaterializedViewOptionName)
5593where
5594 V: Visit<'ast, T, > + ?Sized,
5595{
5596 match node {
5597 MaterializedViewOptionName::AssertNotNull {
5598 } => {
5599 }
5600 MaterializedViewOptionName::PartitionBy {
5601 } => {
5602 }
5603 MaterializedViewOptionName::RetainHistory {
5604 } => {
5605 }
5606 MaterializedViewOptionName::Refresh {
5607 } => {
5608 }
5609 }
5610}
5611impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MutRecBlock<T> {
5612 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5613 visitor.visit_mut_rec_block(self)
5614 }
5615}
5616#[allow(clippy::needless_pass_by_ref_mut)]
5617pub fn visit_mut_rec_block<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MutRecBlock<T>)
5618where
5619 V: Visit<'ast, T, > + ?Sized,
5620{
5621 for v in &node.options {
5622 visitor.visit_mut_rec_block_option(v);
5623 }
5624 for v in &node.ctes {
5625 visitor.visit_cte_mut_rec(v);
5626 }
5627}
5628impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MutRecBlockOption<T> {
5629 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5630 visitor.visit_mut_rec_block_option(self)
5631 }
5632}
5633#[allow(clippy::needless_pass_by_ref_mut)]
5634pub fn visit_mut_rec_block_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MutRecBlockOption<T>)
5635where
5636 V: Visit<'ast, T, > + ?Sized,
5637{
5638 visitor.visit_mut_rec_block_option_name(&node.name);
5639 if let Some(v) = &node.value {
5640 visitor.visit_with_option_value(v);
5641 }
5642}
5643impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MutRecBlockOptionName {
5644 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5645 visitor.visit_mut_rec_block_option_name(self)
5646 }
5647}
5648#[allow(clippy::needless_pass_by_ref_mut)]
5649pub fn visit_mut_rec_block_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MutRecBlockOptionName)
5650where
5651 V: Visit<'ast, T, > + ?Sized,
5652{
5653 match node {
5654 MutRecBlockOptionName::RecursionLimit {
5655 } => {
5656 }
5657 MutRecBlockOptionName::ErrorAtRecursionLimit {
5658 } => {
5659 }
5660 MutRecBlockOptionName::ReturnAtRecursionLimit {
5661 } => {
5662 }
5663 }
5664}
5665impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MySqlConfigOption<T> {
5666 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5667 visitor.visit_my_sql_config_option(self)
5668 }
5669}
5670#[allow(clippy::needless_pass_by_ref_mut)]
5671pub fn visit_my_sql_config_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MySqlConfigOption<T>)
5672where
5673 V: Visit<'ast, T, > + ?Sized,
5674{
5675 visitor.visit_my_sql_config_option_name(&node.name);
5676 if let Some(v) = &node.value {
5677 visitor.visit_with_option_value(v);
5678 }
5679}
5680impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for MySqlConfigOptionName {
5681 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5682 visitor.visit_my_sql_config_option_name(self)
5683 }
5684}
5685#[allow(clippy::needless_pass_by_ref_mut)]
5686pub fn visit_my_sql_config_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast MySqlConfigOptionName)
5687where
5688 V: Visit<'ast, T, > + ?Sized,
5689{
5690 match node {
5691 MySqlConfigOptionName::Details {
5692 } => {
5693 }
5694 MySqlConfigOptionName::TextColumns {
5695 } => {
5696 }
5697 MySqlConfigOptionName::ExcludeColumns {
5698 } => {
5699 }
5700 }
5701}
5702impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for NamedPlan {
5703 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5704 visitor.visit_named_plan(self)
5705 }
5706}
5707#[allow(clippy::needless_pass_by_ref_mut)]
5708pub fn visit_named_plan<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast NamedPlan)
5709where
5710 V: Visit<'ast, T, > + ?Sized,
5711{
5712 match node {
5713 NamedPlan::Raw {
5714 } => {
5715 }
5716 NamedPlan::Decorrelated {
5717 } => {
5718 }
5719 NamedPlan::Local {
5720 } => {
5721 }
5722 NamedPlan::Global {
5723 } => {
5724 }
5725 NamedPlan::Physical {
5726 } => {
5727 }
5728 NamedPlan::FastPath {
5729 } => {
5730 }
5731 }
5732}
5733impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for NetworkPolicyOption<T> {
5734 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5735 visitor.visit_network_policy_option(self)
5736 }
5737}
5738#[allow(clippy::needless_pass_by_ref_mut)]
5739pub fn visit_network_policy_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast NetworkPolicyOption<T>)
5740where
5741 V: Visit<'ast, T, > + ?Sized,
5742{
5743 visitor.visit_network_policy_option_name(&node.name);
5744 if let Some(v) = &node.value {
5745 visitor.visit_with_option_value(v);
5746 }
5747}
5748impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for NetworkPolicyOptionName {
5749 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5750 visitor.visit_network_policy_option_name(self)
5751 }
5752}
5753#[allow(clippy::needless_pass_by_ref_mut)]
5754pub fn visit_network_policy_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast NetworkPolicyOptionName)
5755where
5756 V: Visit<'ast, T, > + ?Sized,
5757{
5758 match node {
5759 NetworkPolicyOptionName::Rules {
5760 } => {
5761 }
5762 }
5763}
5764impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for NetworkPolicyRuleDefinition<T> {
5765 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5766 visitor.visit_network_policy_rule_definition(self)
5767 }
5768}
5769#[allow(clippy::needless_pass_by_ref_mut)]
5770pub fn visit_network_policy_rule_definition<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast NetworkPolicyRuleDefinition<T>)
5771where
5772 V: Visit<'ast, T, > + ?Sized,
5773{
5774 visitor.visit_ident(&node.name);
5775 for v in &node.options {
5776 visitor.visit_network_policy_rule_option(v);
5777 }
5778}
5779impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for NetworkPolicyRuleOption<T> {
5780 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5781 visitor.visit_network_policy_rule_option(self)
5782 }
5783}
5784#[allow(clippy::needless_pass_by_ref_mut)]
5785pub fn visit_network_policy_rule_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast NetworkPolicyRuleOption<T>)
5786where
5787 V: Visit<'ast, T, > + ?Sized,
5788{
5789 visitor.visit_network_policy_rule_option_name(&node.name);
5790 if let Some(v) = &node.value {
5791 visitor.visit_with_option_value(v);
5792 }
5793}
5794impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for NetworkPolicyRuleOptionName {
5795 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5796 visitor.visit_network_policy_rule_option_name(self)
5797 }
5798}
5799#[allow(clippy::needless_pass_by_ref_mut)]
5800pub fn visit_network_policy_rule_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast NetworkPolicyRuleOptionName)
5801where
5802 V: Visit<'ast, T, > + ?Sized,
5803{
5804 match node {
5805 NetworkPolicyRuleOptionName::Direction {
5806 } => {
5807 }
5808 NetworkPolicyRuleOptionName::Action {
5809 } => {
5810 }
5811 NetworkPolicyRuleOptionName::Address {
5812 } => {
5813 }
5814 }
5815}
5816impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for NoticeSeverity {
5817 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5818 visitor.visit_notice_severity(self)
5819 }
5820}
5821#[allow(clippy::needless_pass_by_ref_mut)]
5822pub fn visit_notice_severity<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast NoticeSeverity)
5823where
5824 V: Visit<'ast, T, > + ?Sized,
5825{
5826 match node {
5827 NoticeSeverity::Debug {
5828 } => {
5829 }
5830 NoticeSeverity::Info {
5831 } => {
5832 }
5833 NoticeSeverity::Log {
5834 } => {
5835 }
5836 NoticeSeverity::Notice {
5837 } => {
5838 }
5839 NoticeSeverity::Warning {
5840 } => {
5841 }
5842 }
5843}
5844impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ObjectType {
5845 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5846 visitor.visit_object_type(self)
5847 }
5848}
5849#[allow(clippy::needless_pass_by_ref_mut)]
5850pub fn visit_object_type<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ObjectType)
5851where
5852 V: Visit<'ast, T, > + ?Sized,
5853{
5854 match node {
5855 ObjectType::Table {
5856 } => {
5857 }
5858 ObjectType::View {
5859 } => {
5860 }
5861 ObjectType::MaterializedView {
5862 } => {
5863 }
5864 ObjectType::Source {
5865 } => {
5866 }
5867 ObjectType::Sink {
5868 } => {
5869 }
5870 ObjectType::Index {
5871 } => {
5872 }
5873 ObjectType::Type {
5874 } => {
5875 }
5876 ObjectType::Role {
5877 } => {
5878 }
5879 ObjectType::Cluster {
5880 } => {
5881 }
5882 ObjectType::ClusterReplica {
5883 } => {
5884 }
5885 ObjectType::Secret {
5886 } => {
5887 }
5888 ObjectType::Connection {
5889 } => {
5890 }
5891 ObjectType::Database {
5892 } => {
5893 }
5894 ObjectType::Schema {
5895 } => {
5896 }
5897 ObjectType::Func {
5898 } => {
5899 }
5900 ObjectType::Subsource {
5901 } => {
5902 }
5903 ObjectType::ContinualTask {
5904 } => {
5905 }
5906 ObjectType::NetworkPolicy {
5907 } => {
5908 }
5909 }
5910}
5911impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Op {
5912 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5913 visitor.visit_op(self)
5914 }
5915}
5916#[allow(clippy::needless_pass_by_ref_mut)]
5917pub fn visit_op<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Op)
5918where
5919 V: Visit<'ast, T, > + ?Sized,
5920{
5921 if let Some(v) = &node.namespace {
5922 for v in v {
5923 visitor.visit_ident(v);
5924 }
5925 }
5926}
5927impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for OrderByExpr<T> {
5928 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5929 visitor.visit_order_by_expr(self)
5930 }
5931}
5932#[allow(clippy::needless_pass_by_ref_mut)]
5933pub fn visit_order_by_expr<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast OrderByExpr<T>)
5934where
5935 V: Visit<'ast, T, > + ?Sized,
5936{
5937 visitor.visit_expr(&node.expr);
5938 if let Some(v) = &node.asc {
5939 }
5940 if let Some(v) = &node.nulls_last {
5941 }
5942}
5943impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for PgConfigOption<T> {
5944 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5945 visitor.visit_pg_config_option(self)
5946 }
5947}
5948#[allow(clippy::needless_pass_by_ref_mut)]
5949pub fn visit_pg_config_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast PgConfigOption<T>)
5950where
5951 V: Visit<'ast, T, > + ?Sized,
5952{
5953 visitor.visit_pg_config_option_name(&node.name);
5954 if let Some(v) = &node.value {
5955 visitor.visit_with_option_value(v);
5956 }
5957}
5958impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for PgConfigOptionName {
5959 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5960 visitor.visit_pg_config_option_name(self)
5961 }
5962}
5963#[allow(clippy::needless_pass_by_ref_mut)]
5964pub fn visit_pg_config_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast PgConfigOptionName)
5965where
5966 V: Visit<'ast, T, > + ?Sized,
5967{
5968 match node {
5969 PgConfigOptionName::Details {
5970 } => {
5971 }
5972 PgConfigOptionName::Publication {
5973 } => {
5974 }
5975 PgConfigOptionName::TextColumns {
5976 } => {
5977 }
5978 PgConfigOptionName::ExcludeColumns {
5979 } => {
5980 }
5981 }
5982}
5983impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for PrepareStatement<T> {
5984 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5985 visitor.visit_prepare_statement(self)
5986 }
5987}
5988#[allow(clippy::needless_pass_by_ref_mut)]
5989pub fn visit_prepare_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast PrepareStatement<T>)
5990where
5991 V: Visit<'ast, T, > + ?Sized,
5992{
5993 visitor.visit_ident(&node.name);
5994 visitor.visit_nested_statement(&*&node.stmt);
5995}
5996impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Privilege {
5997 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
5998 visitor.visit_privilege(self)
5999 }
6000}
6001#[allow(clippy::needless_pass_by_ref_mut)]
6002pub fn visit_privilege<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Privilege)
6003where
6004 V: Visit<'ast, T, > + ?Sized,
6005{
6006 match node {
6007 Privilege::SELECT {
6008 } => {
6009 }
6010 Privilege::INSERT {
6011 } => {
6012 }
6013 Privilege::UPDATE {
6014 } => {
6015 }
6016 Privilege::DELETE {
6017 } => {
6018 }
6019 Privilege::USAGE {
6020 } => {
6021 }
6022 Privilege::CREATE {
6023 } => {
6024 }
6025 Privilege::CREATEROLE {
6026 } => {
6027 }
6028 Privilege::CREATEDB {
6029 } => {
6030 }
6031 Privilege::CREATECLUSTER {
6032 } => {
6033 }
6034 Privilege::CREATENETWORKPOLICY {
6035 } => {
6036 }
6037 }
6038}
6039impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for PrivilegeSpecification {
6040 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6041 visitor.visit_privilege_specification(self)
6042 }
6043}
6044#[allow(clippy::needless_pass_by_ref_mut)]
6045pub fn visit_privilege_specification<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast PrivilegeSpecification)
6046where
6047 V: Visit<'ast, T, > + ?Sized,
6048{
6049 match node {
6050 PrivilegeSpecification::All {
6051 } => {
6052 }
6053 PrivilegeSpecification::Privileges {
6054 0: binding0,
6055 } => {
6056 for v in binding0 {
6057 visitor.visit_privilege(v);
6058 }
6059 }
6060 }
6061}
6062impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ProtobufSchema<T> {
6063 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6064 visitor.visit_protobuf_schema(self)
6065 }
6066}
6067#[allow(clippy::needless_pass_by_ref_mut)]
6068pub fn visit_protobuf_schema<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ProtobufSchema<T>)
6069where
6070 V: Visit<'ast, T, > + ?Sized,
6071{
6072 match node {
6073 ProtobufSchema::Csr {
6074 csr_connection: binding0,
6075 } => {
6076 visitor.visit_csr_connection_protobuf(binding0);
6077 }
6078 ProtobufSchema::InlineSchema {
6079 message_name: binding0,
6080 schema: binding1,
6081 } => {
6082 visitor.visit_schema(binding1);
6083 }
6084 }
6085}
6086impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for QualifiedReplica {
6087 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6088 visitor.visit_qualified_replica(self)
6089 }
6090}
6091#[allow(clippy::needless_pass_by_ref_mut)]
6092pub fn visit_qualified_replica<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast QualifiedReplica)
6093where
6094 V: Visit<'ast, T, > + ?Sized,
6095{
6096 visitor.visit_ident(&node.cluster);
6097 visitor.visit_ident(&node.replica);
6098}
6099impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Query<T> {
6100 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6101 visitor.visit_query(self)
6102 }
6103}
6104#[allow(clippy::needless_pass_by_ref_mut)]
6105pub fn visit_query<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Query<T>)
6106where
6107 V: Visit<'ast, T, > + ?Sized,
6108{
6109 visitor.visit_cte_block(&node.ctes);
6110 visitor.visit_set_expr(&node.body);
6111 for v in &node.order_by {
6112 visitor.visit_order_by_expr(v);
6113 }
6114 if let Some(v) = &node.limit {
6115 visitor.visit_limit(v);
6116 }
6117 if let Some(v) = &node.offset {
6118 visitor.visit_expr(v);
6119 }
6120}
6121impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RaiseStatement {
6122 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6123 visitor.visit_raise_statement(self)
6124 }
6125}
6126#[allow(clippy::needless_pass_by_ref_mut)]
6127pub fn visit_raise_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RaiseStatement)
6128where
6129 V: Visit<'ast, T, > + ?Sized,
6130{
6131 visitor.visit_notice_severity(&node.severity);
6132}
6133impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ReaderSchemaSelectionStrategy {
6134 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6135 visitor.visit_reader_schema_selection_strategy(self)
6136 }
6137}
6138#[allow(clippy::needless_pass_by_ref_mut)]
6139pub fn visit_reader_schema_selection_strategy<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ReaderSchemaSelectionStrategy)
6140where
6141 V: Visit<'ast, T, > + ?Sized,
6142{
6143 match node {
6144 ReaderSchemaSelectionStrategy::Latest {
6145 } => {
6146 }
6147 ReaderSchemaSelectionStrategy::Inline {
6148 0: binding0,
6149 } => {
6150 }
6151 ReaderSchemaSelectionStrategy::ById {
6152 0: binding0,
6153 } => {
6154 }
6155 }
6156}
6157impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ReassignOwnedStatement<T> {
6158 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6159 visitor.visit_reassign_owned_statement(self)
6160 }
6161}
6162#[allow(clippy::needless_pass_by_ref_mut)]
6163pub fn visit_reassign_owned_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ReassignOwnedStatement<T>)
6164where
6165 V: Visit<'ast, T, > + ?Sized,
6166{
6167 for v in &node.old_roles {
6168 visitor.visit_role_name(v);
6169 }
6170 visitor.visit_role_name(&node.new_role);
6171}
6172impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RefreshAtOptionValue<T> {
6173 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6174 visitor.visit_refresh_at_option_value(self)
6175 }
6176}
6177#[allow(clippy::needless_pass_by_ref_mut)]
6178pub fn visit_refresh_at_option_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RefreshAtOptionValue<T>)
6179where
6180 V: Visit<'ast, T, > + ?Sized,
6181{
6182 visitor.visit_expr(&node.time);
6183}
6184impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RefreshEveryOptionValue<T> {
6185 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6186 visitor.visit_refresh_every_option_value(self)
6187 }
6188}
6189#[allow(clippy::needless_pass_by_ref_mut)]
6190pub fn visit_refresh_every_option_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RefreshEveryOptionValue<T>)
6191where
6192 V: Visit<'ast, T, > + ?Sized,
6193{
6194 visitor.visit_interval_value(&node.interval);
6195 if let Some(v) = &node.aligned_to {
6196 visitor.visit_expr(v);
6197 }
6198}
6199impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RefreshOptionValue<T> {
6200 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6201 visitor.visit_refresh_option_value(self)
6202 }
6203}
6204#[allow(clippy::needless_pass_by_ref_mut)]
6205pub fn visit_refresh_option_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RefreshOptionValue<T>)
6206where
6207 V: Visit<'ast, T, > + ?Sized,
6208{
6209 match node {
6210 RefreshOptionValue::OnCommit {
6211 } => {
6212 }
6213 RefreshOptionValue::AtCreation {
6214 } => {
6215 }
6216 RefreshOptionValue::At {
6217 0: binding0,
6218 } => {
6219 visitor.visit_refresh_at_option_value(binding0);
6220 }
6221 RefreshOptionValue::Every {
6222 0: binding0,
6223 } => {
6224 visitor.visit_refresh_every_option_value(binding0);
6225 }
6226 }
6227}
6228impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ReplicaDefinition<T> {
6229 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6230 visitor.visit_replica_definition(self)
6231 }
6232}
6233#[allow(clippy::needless_pass_by_ref_mut)]
6234pub fn visit_replica_definition<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ReplicaDefinition<T>)
6235where
6236 V: Visit<'ast, T, > + ?Sized,
6237{
6238 visitor.visit_ident(&node.name);
6239 for v in &node.options {
6240 visitor.visit_replica_option(v);
6241 }
6242}
6243impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ReplicaOption<T> {
6244 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6245 visitor.visit_replica_option(self)
6246 }
6247}
6248#[allow(clippy::needless_pass_by_ref_mut)]
6249pub fn visit_replica_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ReplicaOption<T>)
6250where
6251 V: Visit<'ast, T, > + ?Sized,
6252{
6253 visitor.visit_replica_option_name(&node.name);
6254 if let Some(v) = &node.value {
6255 visitor.visit_with_option_value(v);
6256 }
6257}
6258impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ReplicaOptionName {
6259 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6260 visitor.visit_replica_option_name(self)
6261 }
6262}
6263#[allow(clippy::needless_pass_by_ref_mut)]
6264pub fn visit_replica_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ReplicaOptionName)
6265where
6266 V: Visit<'ast, T, > + ?Sized,
6267{
6268 match node {
6269 ReplicaOptionName::BilledAs {
6270 } => {
6271 }
6272 ReplicaOptionName::Size {
6273 } => {
6274 }
6275 ReplicaOptionName::AvailabilityZone {
6276 } => {
6277 }
6278 ReplicaOptionName::StorageAddresses {
6279 } => {
6280 }
6281 ReplicaOptionName::StoragectlAddresses {
6282 } => {
6283 }
6284 ReplicaOptionName::ComputectlAddresses {
6285 } => {
6286 }
6287 ReplicaOptionName::ComputeAddresses {
6288 } => {
6289 }
6290 ReplicaOptionName::Workers {
6291 } => {
6292 }
6293 ReplicaOptionName::Internal {
6294 } => {
6295 }
6296 ReplicaOptionName::IntrospectionInterval {
6297 } => {
6298 }
6299 ReplicaOptionName::IntrospectionDebugging {
6300 } => {
6301 }
6302 ReplicaOptionName::Disk {
6303 } => {
6304 }
6305 }
6306}
6307impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ResetVariableStatement {
6308 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6309 visitor.visit_reset_variable_statement(self)
6310 }
6311}
6312#[allow(clippy::needless_pass_by_ref_mut)]
6313pub fn visit_reset_variable_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ResetVariableStatement)
6314where
6315 V: Visit<'ast, T, > + ?Sized,
6316{
6317 visitor.visit_ident(&node.variable);
6318}
6319impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RevokePrivilegesStatement<T> {
6320 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6321 visitor.visit_revoke_privileges_statement(self)
6322 }
6323}
6324#[allow(clippy::needless_pass_by_ref_mut)]
6325pub fn visit_revoke_privileges_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RevokePrivilegesStatement<T>)
6326where
6327 V: Visit<'ast, T, > + ?Sized,
6328{
6329 visitor.visit_privilege_specification(&node.privileges);
6330 visitor.visit_grant_target_specification(&node.target);
6331 for v in &node.roles {
6332 visitor.visit_role_name(v);
6333 }
6334}
6335impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RevokeRoleStatement<T> {
6336 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6337 visitor.visit_revoke_role_statement(self)
6338 }
6339}
6340#[allow(clippy::needless_pass_by_ref_mut)]
6341pub fn visit_revoke_role_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RevokeRoleStatement<T>)
6342where
6343 V: Visit<'ast, T, > + ?Sized,
6344{
6345 for v in &node.role_names {
6346 visitor.visit_role_name(v);
6347 }
6348 for v in &node.member_names {
6349 visitor.visit_role_name(v);
6350 }
6351}
6352impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RoleAttribute {
6353 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6354 visitor.visit_role_attribute(self)
6355 }
6356}
6357#[allow(clippy::needless_pass_by_ref_mut)]
6358pub fn visit_role_attribute<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RoleAttribute)
6359where
6360 V: Visit<'ast, T, > + ?Sized,
6361{
6362 match node {
6363 RoleAttribute::Inherit {
6364 } => {
6365 }
6366 RoleAttribute::NoInherit {
6367 } => {
6368 }
6369 RoleAttribute::Password {
6370 0: binding0,
6371 } => {
6372 if let Some(v) = binding0 {
6373 }
6374 }
6375 RoleAttribute::Login {
6376 } => {
6377 }
6378 RoleAttribute::NoLogin {
6379 } => {
6380 }
6381 RoleAttribute::SuperUser {
6382 } => {
6383 }
6384 RoleAttribute::NoSuperUser {
6385 } => {
6386 }
6387 RoleAttribute::CreateCluster {
6388 } => {
6389 }
6390 RoleAttribute::NoCreateCluster {
6391 } => {
6392 }
6393 RoleAttribute::CreateDB {
6394 } => {
6395 }
6396 RoleAttribute::NoCreateDB {
6397 } => {
6398 }
6399 RoleAttribute::CreateRole {
6400 } => {
6401 }
6402 RoleAttribute::NoCreateRole {
6403 } => {
6404 }
6405 }
6406}
6407impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for RollbackStatement {
6408 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6409 visitor.visit_rollback_statement(self)
6410 }
6411}
6412#[allow(clippy::needless_pass_by_ref_mut)]
6413pub fn visit_rollback_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast RollbackStatement)
6414where
6415 V: Visit<'ast, T, > + ?Sized,
6416{
6417}
6418impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Schema {
6419 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6420 visitor.visit_schema(self)
6421 }
6422}
6423#[allow(clippy::needless_pass_by_ref_mut)]
6424pub fn visit_schema<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Schema)
6425where
6426 V: Visit<'ast, T, > + ?Sized,
6427{
6428}
6429impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Select<T> {
6430 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6431 visitor.visit_select(self)
6432 }
6433}
6434#[allow(clippy::needless_pass_by_ref_mut)]
6435pub fn visit_select<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Select<T>)
6436where
6437 V: Visit<'ast, T, > + ?Sized,
6438{
6439 if let Some(v) = &node.distinct {
6440 visitor.visit_distinct(v);
6441 }
6442 for v in &node.projection {
6443 visitor.visit_select_item(v);
6444 }
6445 for v in &node.from {
6446 visitor.visit_table_with_joins(v);
6447 }
6448 if let Some(v) = &node.selection {
6449 visitor.visit_expr(v);
6450 }
6451 for v in &node.group_by {
6452 visitor.visit_expr(v);
6453 }
6454 if let Some(v) = &node.having {
6455 visitor.visit_expr(v);
6456 }
6457 if let Some(v) = &node.qualify {
6458 visitor.visit_expr(v);
6459 }
6460 for v in &node.options {
6461 visitor.visit_select_option(v);
6462 }
6463}
6464impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SelectItem<T> {
6465 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6466 visitor.visit_select_item(self)
6467 }
6468}
6469#[allow(clippy::needless_pass_by_ref_mut)]
6470pub fn visit_select_item<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SelectItem<T>)
6471where
6472 V: Visit<'ast, T, > + ?Sized,
6473{
6474 match node {
6475 SelectItem::Expr {
6476 expr: binding0,
6477 alias: binding1,
6478 } => {
6479 visitor.visit_expr(binding0);
6480 if let Some(v) = binding1 {
6481 visitor.visit_ident(v);
6482 }
6483 }
6484 SelectItem::Wildcard {
6485 } => {
6486 }
6487 }
6488}
6489impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SelectOption<T> {
6490 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6491 visitor.visit_select_option(self)
6492 }
6493}
6494#[allow(clippy::needless_pass_by_ref_mut)]
6495pub fn visit_select_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SelectOption<T>)
6496where
6497 V: Visit<'ast, T, > + ?Sized,
6498{
6499 visitor.visit_select_option_name(&node.name);
6500 if let Some(v) = &node.value {
6501 visitor.visit_with_option_value(v);
6502 }
6503}
6504impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SelectOptionName {
6505 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6506 visitor.visit_select_option_name(self)
6507 }
6508}
6509#[allow(clippy::needless_pass_by_ref_mut)]
6510pub fn visit_select_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SelectOptionName)
6511where
6512 V: Visit<'ast, T, > + ?Sized,
6513{
6514 match node {
6515 SelectOptionName::ExpectedGroupSize {
6516 } => {
6517 }
6518 SelectOptionName::AggregateInputGroupSize {
6519 } => {
6520 }
6521 SelectOptionName::DistinctOnInputGroupSize {
6522 } => {
6523 }
6524 SelectOptionName::LimitInputGroupSize {
6525 } => {
6526 }
6527 }
6528}
6529impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SelectStatement<T> {
6530 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6531 visitor.visit_select_statement(self)
6532 }
6533}
6534#[allow(clippy::needless_pass_by_ref_mut)]
6535pub fn visit_select_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SelectStatement<T>)
6536where
6537 V: Visit<'ast, T, > + ?Sized,
6538{
6539 visitor.visit_query(&node.query);
6540 if let Some(v) = &node.as_of {
6541 visitor.visit_as_of(v);
6542 }
6543}
6544impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SetExpr<T> {
6545 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6546 visitor.visit_set_expr(self)
6547 }
6548}
6549#[allow(clippy::needless_pass_by_ref_mut)]
6550pub fn visit_set_expr<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SetExpr<T>)
6551where
6552 V: Visit<'ast, T, > + ?Sized,
6553{
6554 match node {
6555 SetExpr::Select {
6556 0: binding0,
6557 } => {
6558 visitor.visit_select(&*binding0);
6559 }
6560 SetExpr::Query {
6561 0: binding0,
6562 } => {
6563 visitor.visit_query(&*binding0);
6564 }
6565 SetExpr::SetOperation {
6566 op: binding0,
6567 all: binding1,
6568 left: binding2,
6569 right: binding3,
6570 } => {
6571 visitor.visit_set_operator(binding0);
6572 visitor.visit_set_expr(&*binding2);
6573 visitor.visit_set_expr(&*binding3);
6574 }
6575 SetExpr::Values {
6576 0: binding0,
6577 } => {
6578 visitor.visit_values(binding0);
6579 }
6580 SetExpr::Show {
6581 0: binding0,
6582 } => {
6583 visitor.visit_show_statement(binding0);
6584 }
6585 SetExpr::Table {
6586 0: binding0,
6587 } => {
6588 visitor.visit_item_name(binding0);
6589 }
6590 }
6591}
6592impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SetOperator {
6593 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6594 visitor.visit_set_operator(self)
6595 }
6596}
6597#[allow(clippy::needless_pass_by_ref_mut)]
6598pub fn visit_set_operator<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SetOperator)
6599where
6600 V: Visit<'ast, T, > + ?Sized,
6601{
6602 match node {
6603 SetOperator::Union {
6604 } => {
6605 }
6606 SetOperator::Except {
6607 } => {
6608 }
6609 SetOperator::Intersect {
6610 } => {
6611 }
6612 }
6613}
6614impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SetRoleVar {
6615 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6616 visitor.visit_set_role_var(self)
6617 }
6618}
6619#[allow(clippy::needless_pass_by_ref_mut)]
6620pub fn visit_set_role_var<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SetRoleVar)
6621where
6622 V: Visit<'ast, T, > + ?Sized,
6623{
6624 match node {
6625 SetRoleVar::Set {
6626 name: binding0,
6627 value: binding1,
6628 } => {
6629 visitor.visit_ident(binding0);
6630 visitor.visit_set_variable_to(binding1);
6631 }
6632 SetRoleVar::Reset {
6633 name: binding0,
6634 } => {
6635 visitor.visit_ident(binding0);
6636 }
6637 }
6638}
6639impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SetTransactionStatement {
6640 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6641 visitor.visit_set_transaction_statement(self)
6642 }
6643}
6644#[allow(clippy::needless_pass_by_ref_mut)]
6645pub fn visit_set_transaction_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SetTransactionStatement)
6646where
6647 V: Visit<'ast, T, > + ?Sized,
6648{
6649 for v in &node.modes {
6650 visitor.visit_transaction_mode(v);
6651 }
6652}
6653impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SetVariableStatement {
6654 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6655 visitor.visit_set_variable_statement(self)
6656 }
6657}
6658#[allow(clippy::needless_pass_by_ref_mut)]
6659pub fn visit_set_variable_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SetVariableStatement)
6660where
6661 V: Visit<'ast, T, > + ?Sized,
6662{
6663 visitor.visit_ident(&node.variable);
6664 visitor.visit_set_variable_to(&node.to);
6665}
6666impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SetVariableTo {
6667 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6668 visitor.visit_set_variable_to(self)
6669 }
6670}
6671#[allow(clippy::needless_pass_by_ref_mut)]
6672pub fn visit_set_variable_to<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SetVariableTo)
6673where
6674 V: Visit<'ast, T, > + ?Sized,
6675{
6676 match node {
6677 SetVariableTo::Default {
6678 } => {
6679 }
6680 SetVariableTo::Values {
6681 0: binding0,
6682 } => {
6683 for v in binding0 {
6684 visitor.visit_set_variable_value(v);
6685 }
6686 }
6687 }
6688}
6689impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SetVariableValue {
6690 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6691 visitor.visit_set_variable_value(self)
6692 }
6693}
6694#[allow(clippy::needless_pass_by_ref_mut)]
6695pub fn visit_set_variable_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SetVariableValue)
6696where
6697 V: Visit<'ast, T, > + ?Sized,
6698{
6699 match node {
6700 SetVariableValue::Ident {
6701 0: binding0,
6702 } => {
6703 visitor.visit_ident(binding0);
6704 }
6705 SetVariableValue::Literal {
6706 0: binding0,
6707 } => {
6708 visitor.visit_value(binding0);
6709 }
6710 }
6711}
6712impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowColumnsStatement<T> {
6713 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6714 visitor.visit_show_columns_statement(self)
6715 }
6716}
6717#[allow(clippy::needless_pass_by_ref_mut)]
6718pub fn visit_show_columns_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowColumnsStatement<T>)
6719where
6720 V: Visit<'ast, T, > + ?Sized,
6721{
6722 visitor.visit_item_name(&node.table_name);
6723 if let Some(v) = &node.filter {
6724 visitor.visit_show_statement_filter(v);
6725 }
6726}
6727impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateClusterStatement<T> {
6728 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6729 visitor.visit_show_create_cluster_statement(self)
6730 }
6731}
6732#[allow(clippy::needless_pass_by_ref_mut)]
6733pub fn visit_show_create_cluster_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateClusterStatement<T>)
6734where
6735 V: Visit<'ast, T, > + ?Sized,
6736{
6737 visitor.visit_cluster_name(&node.cluster_name);
6738}
6739impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateConnectionStatement<T> {
6740 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6741 visitor.visit_show_create_connection_statement(self)
6742 }
6743}
6744#[allow(clippy::needless_pass_by_ref_mut)]
6745pub fn visit_show_create_connection_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateConnectionStatement<T>)
6746where
6747 V: Visit<'ast, T, > + ?Sized,
6748{
6749 visitor.visit_item_name(&node.connection_name);
6750}
6751impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateIndexStatement<T> {
6752 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6753 visitor.visit_show_create_index_statement(self)
6754 }
6755}
6756#[allow(clippy::needless_pass_by_ref_mut)]
6757pub fn visit_show_create_index_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateIndexStatement<T>)
6758where
6759 V: Visit<'ast, T, > + ?Sized,
6760{
6761 visitor.visit_item_name(&node.index_name);
6762}
6763impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateMaterializedViewStatement<T> {
6764 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6765 visitor.visit_show_create_materialized_view_statement(self)
6766 }
6767}
6768#[allow(clippy::needless_pass_by_ref_mut)]
6769pub fn visit_show_create_materialized_view_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateMaterializedViewStatement<T>)
6770where
6771 V: Visit<'ast, T, > + ?Sized,
6772{
6773 visitor.visit_item_name(&node.materialized_view_name);
6774}
6775impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateSinkStatement<T> {
6776 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6777 visitor.visit_show_create_sink_statement(self)
6778 }
6779}
6780#[allow(clippy::needless_pass_by_ref_mut)]
6781pub fn visit_show_create_sink_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateSinkStatement<T>)
6782where
6783 V: Visit<'ast, T, > + ?Sized,
6784{
6785 visitor.visit_item_name(&node.sink_name);
6786}
6787impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateSourceStatement<T> {
6788 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6789 visitor.visit_show_create_source_statement(self)
6790 }
6791}
6792#[allow(clippy::needless_pass_by_ref_mut)]
6793pub fn visit_show_create_source_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateSourceStatement<T>)
6794where
6795 V: Visit<'ast, T, > + ?Sized,
6796{
6797 visitor.visit_item_name(&node.source_name);
6798}
6799impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateTableStatement<T> {
6800 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6801 visitor.visit_show_create_table_statement(self)
6802 }
6803}
6804#[allow(clippy::needless_pass_by_ref_mut)]
6805pub fn visit_show_create_table_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateTableStatement<T>)
6806where
6807 V: Visit<'ast, T, > + ?Sized,
6808{
6809 visitor.visit_item_name(&node.table_name);
6810}
6811impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateTypeStatement<T> {
6812 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6813 visitor.visit_show_create_type_statement(self)
6814 }
6815}
6816#[allow(clippy::needless_pass_by_ref_mut)]
6817pub fn visit_show_create_type_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateTypeStatement<T>)
6818where
6819 V: Visit<'ast, T, > + ?Sized,
6820{
6821 visitor.visit_data_type(&node.type_name);
6822}
6823impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowCreateViewStatement<T> {
6824 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6825 visitor.visit_show_create_view_statement(self)
6826 }
6827}
6828#[allow(clippy::needless_pass_by_ref_mut)]
6829pub fn visit_show_create_view_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowCreateViewStatement<T>)
6830where
6831 V: Visit<'ast, T, > + ?Sized,
6832{
6833 visitor.visit_item_name(&node.view_name);
6834}
6835impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowObjectType<T> {
6836 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6837 visitor.visit_show_object_type(self)
6838 }
6839}
6840#[allow(clippy::needless_pass_by_ref_mut)]
6841pub fn visit_show_object_type<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowObjectType<T>)
6842where
6843 V: Visit<'ast, T, > + ?Sized,
6844{
6845 match node {
6846 ShowObjectType::MaterializedView {
6847 in_cluster: binding0,
6848 } => {
6849 if let Some(v) = binding0 {
6850 visitor.visit_cluster_name(v);
6851 }
6852 }
6853 ShowObjectType::Index {
6854 in_cluster: binding0,
6855 on_object: binding1,
6856 } => {
6857 if let Some(v) = binding0 {
6858 visitor.visit_cluster_name(v);
6859 }
6860 if let Some(v) = binding1 {
6861 visitor.visit_item_name(v);
6862 }
6863 }
6864 ShowObjectType::Table {
6865 on_source: binding0,
6866 } => {
6867 if let Some(v) = binding0 {
6868 visitor.visit_item_name(v);
6869 }
6870 }
6871 ShowObjectType::View {
6872 } => {
6873 }
6874 ShowObjectType::Source {
6875 in_cluster: binding0,
6876 } => {
6877 if let Some(v) = binding0 {
6878 visitor.visit_cluster_name(v);
6879 }
6880 }
6881 ShowObjectType::Sink {
6882 in_cluster: binding0,
6883 } => {
6884 if let Some(v) = binding0 {
6885 visitor.visit_cluster_name(v);
6886 }
6887 }
6888 ShowObjectType::Type {
6889 } => {
6890 }
6891 ShowObjectType::Role {
6892 } => {
6893 }
6894 ShowObjectType::Cluster {
6895 } => {
6896 }
6897 ShowObjectType::ClusterReplica {
6898 } => {
6899 }
6900 ShowObjectType::Object {
6901 } => {
6902 }
6903 ShowObjectType::Secret {
6904 } => {
6905 }
6906 ShowObjectType::Connection {
6907 } => {
6908 }
6909 ShowObjectType::Database {
6910 } => {
6911 }
6912 ShowObjectType::Schema {
6913 from: binding0,
6914 } => {
6915 if let Some(v) = binding0 {
6916 visitor.visit_database_name(v);
6917 }
6918 }
6919 ShowObjectType::Subsource {
6920 on_source: binding0,
6921 } => {
6922 if let Some(v) = binding0 {
6923 visitor.visit_item_name(v);
6924 }
6925 }
6926 ShowObjectType::Privileges {
6927 object_type: binding0,
6928 role: binding1,
6929 } => {
6930 if let Some(v) = binding0 {
6931 visitor.visit_system_object_type(v);
6932 }
6933 if let Some(v) = binding1 {
6934 visitor.visit_role_name(v);
6935 }
6936 }
6937 ShowObjectType::DefaultPrivileges {
6938 object_type: binding0,
6939 role: binding1,
6940 } => {
6941 if let Some(v) = binding0 {
6942 visitor.visit_object_type(v);
6943 }
6944 if let Some(v) = binding1 {
6945 visitor.visit_role_name(v);
6946 }
6947 }
6948 ShowObjectType::RoleMembership {
6949 role: binding0,
6950 } => {
6951 if let Some(v) = binding0 {
6952 visitor.visit_role_name(v);
6953 }
6954 }
6955 ShowObjectType::ContinualTask {
6956 in_cluster: binding0,
6957 } => {
6958 if let Some(v) = binding0 {
6959 visitor.visit_cluster_name(v);
6960 }
6961 }
6962 ShowObjectType::NetworkPolicy {
6963 } => {
6964 }
6965 }
6966}
6967impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowObjectsStatement<T> {
6968 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6969 visitor.visit_show_objects_statement(self)
6970 }
6971}
6972#[allow(clippy::needless_pass_by_ref_mut)]
6973pub fn visit_show_objects_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowObjectsStatement<T>)
6974where
6975 V: Visit<'ast, T, > + ?Sized,
6976{
6977 visitor.visit_show_object_type(&node.object_type);
6978 if let Some(v) = &node.from {
6979 visitor.visit_schema_name(v);
6980 }
6981 if let Some(v) = &node.filter {
6982 visitor.visit_show_statement_filter(v);
6983 }
6984}
6985impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowStatement<T> {
6986 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
6987 visitor.visit_show_statement(self)
6988 }
6989}
6990#[allow(clippy::needless_pass_by_ref_mut)]
6991pub fn visit_show_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowStatement<T>)
6992where
6993 V: Visit<'ast, T, > + ?Sized,
6994{
6995 match node {
6996 ShowStatement::ShowObjects {
6997 0: binding0,
6998 } => {
6999 visitor.visit_show_objects_statement(binding0);
7000 }
7001 ShowStatement::ShowColumns {
7002 0: binding0,
7003 } => {
7004 visitor.visit_show_columns_statement(binding0);
7005 }
7006 ShowStatement::ShowCreateView {
7007 0: binding0,
7008 } => {
7009 visitor.visit_show_create_view_statement(binding0);
7010 }
7011 ShowStatement::ShowCreateMaterializedView {
7012 0: binding0,
7013 } => {
7014 visitor.visit_show_create_materialized_view_statement(binding0);
7015 }
7016 ShowStatement::ShowCreateSource {
7017 0: binding0,
7018 } => {
7019 visitor.visit_show_create_source_statement(binding0);
7020 }
7021 ShowStatement::ShowCreateTable {
7022 0: binding0,
7023 } => {
7024 visitor.visit_show_create_table_statement(binding0);
7025 }
7026 ShowStatement::ShowCreateSink {
7027 0: binding0,
7028 } => {
7029 visitor.visit_show_create_sink_statement(binding0);
7030 }
7031 ShowStatement::ShowCreateIndex {
7032 0: binding0,
7033 } => {
7034 visitor.visit_show_create_index_statement(binding0);
7035 }
7036 ShowStatement::ShowCreateConnection {
7037 0: binding0,
7038 } => {
7039 visitor.visit_show_create_connection_statement(binding0);
7040 }
7041 ShowStatement::ShowCreateCluster {
7042 0: binding0,
7043 } => {
7044 visitor.visit_show_create_cluster_statement(binding0);
7045 }
7046 ShowStatement::ShowCreateType {
7047 0: binding0,
7048 } => {
7049 visitor.visit_show_create_type_statement(binding0);
7050 }
7051 ShowStatement::ShowVariable {
7052 0: binding0,
7053 } => {
7054 visitor.visit_show_variable_statement(binding0);
7055 }
7056 ShowStatement::InspectShard {
7057 0: binding0,
7058 } => {
7059 visitor.visit_inspect_shard_statement(binding0);
7060 }
7061 }
7062}
7063impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowStatementFilter<T> {
7064 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7065 visitor.visit_show_statement_filter(self)
7066 }
7067}
7068#[allow(clippy::needless_pass_by_ref_mut)]
7069pub fn visit_show_statement_filter<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowStatementFilter<T>)
7070where
7071 V: Visit<'ast, T, > + ?Sized,
7072{
7073 match node {
7074 ShowStatementFilter::Like {
7075 0: binding0,
7076 } => {
7077 }
7078 ShowStatementFilter::Where {
7079 0: binding0,
7080 } => {
7081 visitor.visit_expr(binding0);
7082 }
7083 }
7084}
7085impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ShowVariableStatement {
7086 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7087 visitor.visit_show_variable_statement(self)
7088 }
7089}
7090#[allow(clippy::needless_pass_by_ref_mut)]
7091pub fn visit_show_variable_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ShowVariableStatement)
7092where
7093 V: Visit<'ast, T, > + ?Sized,
7094{
7095 visitor.visit_ident(&node.variable);
7096}
7097impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SinkEnvelope {
7098 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7099 visitor.visit_sink_envelope(self)
7100 }
7101}
7102#[allow(clippy::needless_pass_by_ref_mut)]
7103pub fn visit_sink_envelope<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SinkEnvelope)
7104where
7105 V: Visit<'ast, T, > + ?Sized,
7106{
7107 match node {
7108 SinkEnvelope::Debezium {
7109 } => {
7110 }
7111 SinkEnvelope::Upsert {
7112 } => {
7113 }
7114 }
7115}
7116impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SinkKey {
7117 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7118 visitor.visit_sink_key(self)
7119 }
7120}
7121#[allow(clippy::needless_pass_by_ref_mut)]
7122pub fn visit_sink_key<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SinkKey)
7123where
7124 V: Visit<'ast, T, > + ?Sized,
7125{
7126 for v in &node.key_columns {
7127 visitor.visit_ident(v);
7128 }
7129}
7130impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SourceEnvelope {
7131 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7132 visitor.visit_source_envelope(self)
7133 }
7134}
7135#[allow(clippy::needless_pass_by_ref_mut)]
7136pub fn visit_source_envelope<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SourceEnvelope)
7137where
7138 V: Visit<'ast, T, > + ?Sized,
7139{
7140 match node {
7141 SourceEnvelope::None {
7142 } => {
7143 }
7144 SourceEnvelope::Debezium {
7145 } => {
7146 }
7147 SourceEnvelope::Upsert {
7148 value_decode_err_policy: binding0,
7149 } => {
7150 for v in binding0 {
7151 visitor.visit_source_error_policy(v);
7152 }
7153 }
7154 SourceEnvelope::CdcV2 {
7155 } => {
7156 }
7157 }
7158}
7159impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SourceErrorPolicy {
7160 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7161 visitor.visit_source_error_policy(self)
7162 }
7163}
7164#[allow(clippy::needless_pass_by_ref_mut)]
7165pub fn visit_source_error_policy<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SourceErrorPolicy)
7166where
7167 V: Visit<'ast, T, > + ?Sized,
7168{
7169 match node {
7170 SourceErrorPolicy::Inline {
7171 alias: binding0,
7172 } => {
7173 if let Some(v) = binding0 {
7174 visitor.visit_ident(v);
7175 }
7176 }
7177 }
7178}
7179impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SourceIncludeMetadata {
7180 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7181 visitor.visit_source_include_metadata(self)
7182 }
7183}
7184#[allow(clippy::needless_pass_by_ref_mut)]
7185pub fn visit_source_include_metadata<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SourceIncludeMetadata)
7186where
7187 V: Visit<'ast, T, > + ?Sized,
7188{
7189 match node {
7190 SourceIncludeMetadata::Key {
7191 alias: binding0,
7192 } => {
7193 if let Some(v) = binding0 {
7194 visitor.visit_ident(v);
7195 }
7196 }
7197 SourceIncludeMetadata::Timestamp {
7198 alias: binding0,
7199 } => {
7200 if let Some(v) = binding0 {
7201 visitor.visit_ident(v);
7202 }
7203 }
7204 SourceIncludeMetadata::Partition {
7205 alias: binding0,
7206 } => {
7207 if let Some(v) = binding0 {
7208 visitor.visit_ident(v);
7209 }
7210 }
7211 SourceIncludeMetadata::Offset {
7212 alias: binding0,
7213 } => {
7214 if let Some(v) = binding0 {
7215 visitor.visit_ident(v);
7216 }
7217 }
7218 SourceIncludeMetadata::Headers {
7219 alias: binding0,
7220 } => {
7221 if let Some(v) = binding0 {
7222 visitor.visit_ident(v);
7223 }
7224 }
7225 SourceIncludeMetadata::Header {
7226 key: binding0,
7227 alias: binding1,
7228 use_bytes: binding2,
7229 } => {
7230 visitor.visit_ident(binding1);
7231 }
7232 }
7233}
7234impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SqlServerConfigOption<T> {
7235 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7236 visitor.visit_sql_server_config_option(self)
7237 }
7238}
7239#[allow(clippy::needless_pass_by_ref_mut)]
7240pub fn visit_sql_server_config_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SqlServerConfigOption<T>)
7241where
7242 V: Visit<'ast, T, > + ?Sized,
7243{
7244 visitor.visit_sql_server_config_option_name(&node.name);
7245 if let Some(v) = &node.value {
7246 visitor.visit_with_option_value(v);
7247 }
7248}
7249impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SqlServerConfigOptionName {
7250 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7251 visitor.visit_sql_server_config_option_name(self)
7252 }
7253}
7254#[allow(clippy::needless_pass_by_ref_mut)]
7255pub fn visit_sql_server_config_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SqlServerConfigOptionName)
7256where
7257 V: Visit<'ast, T, > + ?Sized,
7258{
7259 match node {
7260 SqlServerConfigOptionName::Details {
7261 } => {
7262 }
7263 SqlServerConfigOptionName::TextColumns {
7264 } => {
7265 }
7266 SqlServerConfigOptionName::ExcludeColumns {
7267 } => {
7268 }
7269 }
7270}
7271impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for StartTransactionStatement {
7272 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7273 visitor.visit_start_transaction_statement(self)
7274 }
7275}
7276#[allow(clippy::needless_pass_by_ref_mut)]
7277pub fn visit_start_transaction_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast StartTransactionStatement)
7278where
7279 V: Visit<'ast, T, > + ?Sized,
7280{
7281 for v in &node.modes {
7282 visitor.visit_transaction_mode(v);
7283 }
7284}
7285impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Statement<T> {
7286 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7287 visitor.visit_statement(self)
7288 }
7289}
7290#[allow(clippy::needless_pass_by_ref_mut)]
7291pub fn visit_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Statement<T>)
7292where
7293 V: Visit<'ast, T, > + ?Sized,
7294{
7295 match node {
7296 Statement::Select {
7297 0: binding0,
7298 } => {
7299 visitor.visit_select_statement(binding0);
7300 }
7301 Statement::Insert {
7302 0: binding0,
7303 } => {
7304 visitor.visit_insert_statement(binding0);
7305 }
7306 Statement::Copy {
7307 0: binding0,
7308 } => {
7309 visitor.visit_copy_statement(binding0);
7310 }
7311 Statement::Update {
7312 0: binding0,
7313 } => {
7314 visitor.visit_update_statement(binding0);
7315 }
7316 Statement::Delete {
7317 0: binding0,
7318 } => {
7319 visitor.visit_delete_statement(binding0);
7320 }
7321 Statement::CreateConnection {
7322 0: binding0,
7323 } => {
7324 visitor.visit_create_connection_statement(binding0);
7325 }
7326 Statement::CreateDatabase {
7327 0: binding0,
7328 } => {
7329 visitor.visit_create_database_statement(binding0);
7330 }
7331 Statement::CreateSchema {
7332 0: binding0,
7333 } => {
7334 visitor.visit_create_schema_statement(binding0);
7335 }
7336 Statement::CreateWebhookSource {
7337 0: binding0,
7338 } => {
7339 visitor.visit_create_webhook_source_statement(binding0);
7340 }
7341 Statement::CreateSource {
7342 0: binding0,
7343 } => {
7344 visitor.visit_create_source_statement(binding0);
7345 }
7346 Statement::CreateSubsource {
7347 0: binding0,
7348 } => {
7349 visitor.visit_create_subsource_statement(binding0);
7350 }
7351 Statement::CreateSink {
7352 0: binding0,
7353 } => {
7354 visitor.visit_create_sink_statement(binding0);
7355 }
7356 Statement::CreateView {
7357 0: binding0,
7358 } => {
7359 visitor.visit_create_view_statement(binding0);
7360 }
7361 Statement::CreateMaterializedView {
7362 0: binding0,
7363 } => {
7364 visitor.visit_create_materialized_view_statement(binding0);
7365 }
7366 Statement::CreateContinualTask {
7367 0: binding0,
7368 } => {
7369 visitor.visit_create_continual_task_statement(binding0);
7370 }
7371 Statement::CreateTable {
7372 0: binding0,
7373 } => {
7374 visitor.visit_create_table_statement(binding0);
7375 }
7376 Statement::CreateTableFromSource {
7377 0: binding0,
7378 } => {
7379 visitor.visit_create_table_from_source_statement(binding0);
7380 }
7381 Statement::CreateIndex {
7382 0: binding0,
7383 } => {
7384 visitor.visit_create_index_statement(binding0);
7385 }
7386 Statement::CreateType {
7387 0: binding0,
7388 } => {
7389 visitor.visit_create_type_statement(binding0);
7390 }
7391 Statement::CreateRole {
7392 0: binding0,
7393 } => {
7394 visitor.visit_create_role_statement(binding0);
7395 }
7396 Statement::CreateCluster {
7397 0: binding0,
7398 } => {
7399 visitor.visit_create_cluster_statement(binding0);
7400 }
7401 Statement::CreateClusterReplica {
7402 0: binding0,
7403 } => {
7404 visitor.visit_create_cluster_replica_statement(binding0);
7405 }
7406 Statement::CreateSecret {
7407 0: binding0,
7408 } => {
7409 visitor.visit_create_secret_statement(binding0);
7410 }
7411 Statement::CreateNetworkPolicy {
7412 0: binding0,
7413 } => {
7414 visitor.visit_create_network_policy_statement(binding0);
7415 }
7416 Statement::AlterCluster {
7417 0: binding0,
7418 } => {
7419 visitor.visit_alter_cluster_statement(binding0);
7420 }
7421 Statement::AlterOwner {
7422 0: binding0,
7423 } => {
7424 visitor.visit_alter_owner_statement(binding0);
7425 }
7426 Statement::AlterObjectRename {
7427 0: binding0,
7428 } => {
7429 visitor.visit_alter_object_rename_statement(binding0);
7430 }
7431 Statement::AlterObjectSwap {
7432 0: binding0,
7433 } => {
7434 visitor.visit_alter_object_swap_statement(binding0);
7435 }
7436 Statement::AlterRetainHistory {
7437 0: binding0,
7438 } => {
7439 visitor.visit_alter_retain_history_statement(binding0);
7440 }
7441 Statement::AlterIndex {
7442 0: binding0,
7443 } => {
7444 visitor.visit_alter_index_statement(binding0);
7445 }
7446 Statement::AlterSecret {
7447 0: binding0,
7448 } => {
7449 visitor.visit_alter_secret_statement(binding0);
7450 }
7451 Statement::AlterSetCluster {
7452 0: binding0,
7453 } => {
7454 visitor.visit_alter_set_cluster_statement(binding0);
7455 }
7456 Statement::AlterSink {
7457 0: binding0,
7458 } => {
7459 visitor.visit_alter_sink_statement(binding0);
7460 }
7461 Statement::AlterSource {
7462 0: binding0,
7463 } => {
7464 visitor.visit_alter_source_statement(binding0);
7465 }
7466 Statement::AlterSystemSet {
7467 0: binding0,
7468 } => {
7469 visitor.visit_alter_system_set_statement(binding0);
7470 }
7471 Statement::AlterSystemReset {
7472 0: binding0,
7473 } => {
7474 visitor.visit_alter_system_reset_statement(binding0);
7475 }
7476 Statement::AlterSystemResetAll {
7477 0: binding0,
7478 } => {
7479 visitor.visit_alter_system_reset_all_statement(binding0);
7480 }
7481 Statement::AlterConnection {
7482 0: binding0,
7483 } => {
7484 visitor.visit_alter_connection_statement(binding0);
7485 }
7486 Statement::AlterNetworkPolicy {
7487 0: binding0,
7488 } => {
7489 visitor.visit_alter_network_policy_statement(binding0);
7490 }
7491 Statement::AlterRole {
7492 0: binding0,
7493 } => {
7494 visitor.visit_alter_role_statement(binding0);
7495 }
7496 Statement::AlterTableAddColumn {
7497 0: binding0,
7498 } => {
7499 visitor.visit_alter_table_add_column_statement(binding0);
7500 }
7501 Statement::Discard {
7502 0: binding0,
7503 } => {
7504 visitor.visit_discard_statement(binding0);
7505 }
7506 Statement::DropObjects {
7507 0: binding0,
7508 } => {
7509 visitor.visit_drop_objects_statement(binding0);
7510 }
7511 Statement::DropOwned {
7512 0: binding0,
7513 } => {
7514 visitor.visit_drop_owned_statement(binding0);
7515 }
7516 Statement::SetVariable {
7517 0: binding0,
7518 } => {
7519 visitor.visit_set_variable_statement(binding0);
7520 }
7521 Statement::ResetVariable {
7522 0: binding0,
7523 } => {
7524 visitor.visit_reset_variable_statement(binding0);
7525 }
7526 Statement::Show {
7527 0: binding0,
7528 } => {
7529 visitor.visit_show_statement(binding0);
7530 }
7531 Statement::StartTransaction {
7532 0: binding0,
7533 } => {
7534 visitor.visit_start_transaction_statement(binding0);
7535 }
7536 Statement::SetTransaction {
7537 0: binding0,
7538 } => {
7539 visitor.visit_set_transaction_statement(binding0);
7540 }
7541 Statement::Commit {
7542 0: binding0,
7543 } => {
7544 visitor.visit_commit_statement(binding0);
7545 }
7546 Statement::Rollback {
7547 0: binding0,
7548 } => {
7549 visitor.visit_rollback_statement(binding0);
7550 }
7551 Statement::Subscribe {
7552 0: binding0,
7553 } => {
7554 visitor.visit_subscribe_statement(binding0);
7555 }
7556 Statement::ExplainPlan {
7557 0: binding0,
7558 } => {
7559 visitor.visit_explain_plan_statement(binding0);
7560 }
7561 Statement::ExplainPushdown {
7562 0: binding0,
7563 } => {
7564 visitor.visit_explain_pushdown_statement(binding0);
7565 }
7566 Statement::ExplainTimestamp {
7567 0: binding0,
7568 } => {
7569 visitor.visit_explain_timestamp_statement(binding0);
7570 }
7571 Statement::ExplainSinkSchema {
7572 0: binding0,
7573 } => {
7574 visitor.visit_explain_sink_schema_statement(binding0);
7575 }
7576 Statement::ExplainAnalyze {
7577 0: binding0,
7578 } => {
7579 visitor.visit_explain_analyze_statement(binding0);
7580 }
7581 Statement::Declare {
7582 0: binding0,
7583 } => {
7584 visitor.visit_declare_statement(binding0);
7585 }
7586 Statement::Fetch {
7587 0: binding0,
7588 } => {
7589 visitor.visit_fetch_statement(binding0);
7590 }
7591 Statement::Close {
7592 0: binding0,
7593 } => {
7594 visitor.visit_close_statement(binding0);
7595 }
7596 Statement::Prepare {
7597 0: binding0,
7598 } => {
7599 visitor.visit_prepare_statement(binding0);
7600 }
7601 Statement::Execute {
7602 0: binding0,
7603 } => {
7604 visitor.visit_execute_statement(binding0);
7605 }
7606 Statement::Deallocate {
7607 0: binding0,
7608 } => {
7609 visitor.visit_deallocate_statement(binding0);
7610 }
7611 Statement::Raise {
7612 0: binding0,
7613 } => {
7614 visitor.visit_raise_statement(binding0);
7615 }
7616 Statement::GrantRole {
7617 0: binding0,
7618 } => {
7619 visitor.visit_grant_role_statement(binding0);
7620 }
7621 Statement::RevokeRole {
7622 0: binding0,
7623 } => {
7624 visitor.visit_revoke_role_statement(binding0);
7625 }
7626 Statement::GrantPrivileges {
7627 0: binding0,
7628 } => {
7629 visitor.visit_grant_privileges_statement(binding0);
7630 }
7631 Statement::RevokePrivileges {
7632 0: binding0,
7633 } => {
7634 visitor.visit_revoke_privileges_statement(binding0);
7635 }
7636 Statement::AlterDefaultPrivileges {
7637 0: binding0,
7638 } => {
7639 visitor.visit_alter_default_privileges_statement(binding0);
7640 }
7641 Statement::ReassignOwned {
7642 0: binding0,
7643 } => {
7644 visitor.visit_reassign_owned_statement(binding0);
7645 }
7646 Statement::ValidateConnection {
7647 0: binding0,
7648 } => {
7649 visitor.visit_validate_connection_statement(binding0);
7650 }
7651 Statement::Comment {
7652 0: binding0,
7653 } => {
7654 visitor.visit_comment_statement(binding0);
7655 }
7656 }
7657}
7658impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SubscribeOption<T> {
7659 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7660 visitor.visit_subscribe_option(self)
7661 }
7662}
7663#[allow(clippy::needless_pass_by_ref_mut)]
7664pub fn visit_subscribe_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SubscribeOption<T>)
7665where
7666 V: Visit<'ast, T, > + ?Sized,
7667{
7668 visitor.visit_subscribe_option_name(&node.name);
7669 if let Some(v) = &node.value {
7670 visitor.visit_with_option_value(v);
7671 }
7672}
7673impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SubscribeOptionName {
7674 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7675 visitor.visit_subscribe_option_name(self)
7676 }
7677}
7678#[allow(clippy::needless_pass_by_ref_mut)]
7679pub fn visit_subscribe_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SubscribeOptionName)
7680where
7681 V: Visit<'ast, T, > + ?Sized,
7682{
7683 match node {
7684 SubscribeOptionName::Snapshot {
7685 } => {
7686 }
7687 SubscribeOptionName::Progress {
7688 } => {
7689 }
7690 }
7691}
7692impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SubscribeOutput<T> {
7693 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7694 visitor.visit_subscribe_output(self)
7695 }
7696}
7697#[allow(clippy::needless_pass_by_ref_mut)]
7698pub fn visit_subscribe_output<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SubscribeOutput<T>)
7699where
7700 V: Visit<'ast, T, > + ?Sized,
7701{
7702 match node {
7703 SubscribeOutput::Diffs {
7704 } => {
7705 }
7706 SubscribeOutput::WithinTimestampOrderBy {
7707 order_by: binding0,
7708 } => {
7709 for v in binding0 {
7710 visitor.visit_order_by_expr(v);
7711 }
7712 }
7713 SubscribeOutput::EnvelopeUpsert {
7714 key_columns: binding0,
7715 } => {
7716 for v in binding0 {
7717 visitor.visit_ident(v);
7718 }
7719 }
7720 SubscribeOutput::EnvelopeDebezium {
7721 key_columns: binding0,
7722 } => {
7723 for v in binding0 {
7724 visitor.visit_ident(v);
7725 }
7726 }
7727 }
7728}
7729impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SubscribeRelation<T> {
7730 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7731 visitor.visit_subscribe_relation(self)
7732 }
7733}
7734#[allow(clippy::needless_pass_by_ref_mut)]
7735pub fn visit_subscribe_relation<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SubscribeRelation<T>)
7736where
7737 V: Visit<'ast, T, > + ?Sized,
7738{
7739 match node {
7740 SubscribeRelation::Name {
7741 0: binding0,
7742 } => {
7743 visitor.visit_item_name(binding0);
7744 }
7745 SubscribeRelation::Query {
7746 0: binding0,
7747 } => {
7748 visitor.visit_query(binding0);
7749 }
7750 }
7751}
7752impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SubscribeStatement<T> {
7753 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7754 visitor.visit_subscribe_statement(self)
7755 }
7756}
7757#[allow(clippy::needless_pass_by_ref_mut)]
7758pub fn visit_subscribe_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SubscribeStatement<T>)
7759where
7760 V: Visit<'ast, T, > + ?Sized,
7761{
7762 visitor.visit_subscribe_relation(&node.relation);
7763 for v in &node.options {
7764 visitor.visit_subscribe_option(v);
7765 }
7766 if let Some(v) = &node.as_of {
7767 visitor.visit_as_of(v);
7768 }
7769 if let Some(v) = &node.up_to {
7770 visitor.visit_expr(v);
7771 }
7772 visitor.visit_subscribe_output(&node.output);
7773}
7774impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SubscriptPosition<T> {
7775 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7776 visitor.visit_subscript_position(self)
7777 }
7778}
7779#[allow(clippy::needless_pass_by_ref_mut)]
7780pub fn visit_subscript_position<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SubscriptPosition<T>)
7781where
7782 V: Visit<'ast, T, > + ?Sized,
7783{
7784 if let Some(v) = &node.start {
7785 visitor.visit_expr(v);
7786 }
7787 if let Some(v) = &node.end {
7788 visitor.visit_expr(v);
7789 }
7790}
7791impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for SystemObjectType {
7792 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7793 visitor.visit_system_object_type(self)
7794 }
7795}
7796#[allow(clippy::needless_pass_by_ref_mut)]
7797pub fn visit_system_object_type<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast SystemObjectType)
7798where
7799 V: Visit<'ast, T, > + ?Sized,
7800{
7801 match node {
7802 SystemObjectType::System {
7803 } => {
7804 }
7805 SystemObjectType::Object {
7806 0: binding0,
7807 } => {
7808 visitor.visit_object_type(binding0);
7809 }
7810 }
7811}
7812#[allow(clippy::needless_pass_by_ref_mut)]
7813pub fn visit_cluster_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::ClusterName)
7814where
7815 V: Visit<'ast, T, > + ?Sized,
7816{
7817}
7818#[allow(clippy::needless_pass_by_ref_mut)]
7819pub fn visit_column_reference<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::ColumnReference)
7820where
7821 V: Visit<'ast, T, > + ?Sized,
7822{
7823}
7824#[allow(clippy::needless_pass_by_ref_mut)]
7825pub fn visit_cte_id<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::CteId)
7826where
7827 V: Visit<'ast, T, > + ?Sized,
7828{
7829}
7830#[allow(clippy::needless_pass_by_ref_mut)]
7831pub fn visit_data_type<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::DataType)
7832where
7833 V: Visit<'ast, T, > + ?Sized,
7834{
7835}
7836#[allow(clippy::needless_pass_by_ref_mut)]
7837pub fn visit_database_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::DatabaseName)
7838where
7839 V: Visit<'ast, T, > + ?Sized,
7840{
7841}
7842#[allow(clippy::needless_pass_by_ref_mut)]
7843pub fn visit_item_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::ItemName)
7844where
7845 V: Visit<'ast, T, > + ?Sized,
7846{
7847}
7848#[allow(clippy::needless_pass_by_ref_mut)]
7849pub fn visit_nested_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::NestedStatement)
7850where
7851 V: Visit<'ast, T, > + ?Sized,
7852{
7853}
7854#[allow(clippy::needless_pass_by_ref_mut)]
7855pub fn visit_network_policy_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::NetworkPolicyName)
7856where
7857 V: Visit<'ast, T, > + ?Sized,
7858{
7859}
7860#[allow(clippy::needless_pass_by_ref_mut)]
7861pub fn visit_object_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::ObjectName)
7862where
7863 V: Visit<'ast, T, > + ?Sized,
7864{
7865}
7866#[allow(clippy::needless_pass_by_ref_mut)]
7867pub fn visit_role_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::RoleName)
7868where
7869 V: Visit<'ast, T, > + ?Sized,
7870{
7871}
7872#[allow(clippy::needless_pass_by_ref_mut)]
7873pub fn visit_schema_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast T::SchemaName)
7874where
7875 V: Visit<'ast, T, > + ?Sized,
7876{
7877}
7878impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableAlias {
7879 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7880 visitor.visit_table_alias(self)
7881 }
7882}
7883#[allow(clippy::needless_pass_by_ref_mut)]
7884pub fn visit_table_alias<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableAlias)
7885where
7886 V: Visit<'ast, T, > + ?Sized,
7887{
7888 visitor.visit_ident(&node.name);
7889 for v in &node.columns {
7890 visitor.visit_ident(v);
7891 }
7892}
7893impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableConstraint<T> {
7894 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7895 visitor.visit_table_constraint(self)
7896 }
7897}
7898#[allow(clippy::needless_pass_by_ref_mut)]
7899pub fn visit_table_constraint<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableConstraint<T>)
7900where
7901 V: Visit<'ast, T, > + ?Sized,
7902{
7903 match node {
7904 TableConstraint::Unique {
7905 name: binding0,
7906 columns: binding1,
7907 is_primary: binding2,
7908 nulls_not_distinct: binding3,
7909 } => {
7910 if let Some(v) = binding0 {
7911 visitor.visit_ident(v);
7912 }
7913 for v in binding1 {
7914 visitor.visit_ident(v);
7915 }
7916 }
7917 TableConstraint::ForeignKey {
7918 name: binding0,
7919 columns: binding1,
7920 foreign_table: binding2,
7921 referred_columns: binding3,
7922 } => {
7923 if let Some(v) = binding0 {
7924 visitor.visit_ident(v);
7925 }
7926 for v in binding1 {
7927 visitor.visit_ident(v);
7928 }
7929 visitor.visit_item_name(binding2);
7930 for v in binding3 {
7931 visitor.visit_ident(v);
7932 }
7933 }
7934 TableConstraint::Check {
7935 name: binding0,
7936 expr: binding1,
7937 } => {
7938 if let Some(v) = binding0 {
7939 visitor.visit_ident(v);
7940 }
7941 visitor.visit_expr(&*binding1);
7942 }
7943 }
7944}
7945impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableFactor<T> {
7946 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
7947 visitor.visit_table_factor(self)
7948 }
7949}
7950#[allow(clippy::needless_pass_by_ref_mut)]
7951pub fn visit_table_factor<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableFactor<T>)
7952where
7953 V: Visit<'ast, T, > + ?Sized,
7954{
7955 match node {
7956 TableFactor::Table {
7957 name: binding0,
7958 alias: binding1,
7959 } => {
7960 visitor.visit_item_name(binding0);
7961 if let Some(v) = binding1 {
7962 visitor.visit_table_alias(v);
7963 }
7964 }
7965 TableFactor::Function {
7966 function: binding0,
7967 alias: binding1,
7968 with_ordinality: binding2,
7969 } => {
7970 visitor.visit_function(binding0);
7971 if let Some(v) = binding1 {
7972 visitor.visit_table_alias(v);
7973 }
7974 }
7975 TableFactor::RowsFrom {
7976 functions: binding0,
7977 alias: binding1,
7978 with_ordinality: binding2,
7979 } => {
7980 for v in binding0 {
7981 visitor.visit_function(v);
7982 }
7983 if let Some(v) = binding1 {
7984 visitor.visit_table_alias(v);
7985 }
7986 }
7987 TableFactor::Derived {
7988 lateral: binding0,
7989 subquery: binding1,
7990 alias: binding2,
7991 } => {
7992 visitor.visit_query(&*binding1);
7993 if let Some(v) = binding2 {
7994 visitor.visit_table_alias(v);
7995 }
7996 }
7997 TableFactor::NestedJoin {
7998 join: binding0,
7999 alias: binding1,
8000 } => {
8001 visitor.visit_table_with_joins(&*binding0);
8002 if let Some(v) = binding1 {
8003 visitor.visit_table_alias(v);
8004 }
8005 }
8006 }
8007}
8008impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableFromSourceColumns<T> {
8009 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8010 visitor.visit_table_from_source_columns(self)
8011 }
8012}
8013#[allow(clippy::needless_pass_by_ref_mut)]
8014pub fn visit_table_from_source_columns<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableFromSourceColumns<T>)
8015where
8016 V: Visit<'ast, T, > + ?Sized,
8017{
8018 match node {
8019 TableFromSourceColumns::NotSpecified {
8020 } => {
8021 }
8022 TableFromSourceColumns::Named {
8023 0: binding0,
8024 } => {
8025 for v in binding0 {
8026 visitor.visit_ident(v);
8027 }
8028 }
8029 TableFromSourceColumns::Defined {
8030 0: binding0,
8031 } => {
8032 for v in binding0 {
8033 visitor.visit_column_def(v);
8034 }
8035 }
8036 }
8037}
8038impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableFromSourceOption<T> {
8039 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8040 visitor.visit_table_from_source_option(self)
8041 }
8042}
8043#[allow(clippy::needless_pass_by_ref_mut)]
8044pub fn visit_table_from_source_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableFromSourceOption<T>)
8045where
8046 V: Visit<'ast, T, > + ?Sized,
8047{
8048 visitor.visit_table_from_source_option_name(&node.name);
8049 if let Some(v) = &node.value {
8050 visitor.visit_with_option_value(v);
8051 }
8052}
8053impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableFromSourceOptionName {
8054 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8055 visitor.visit_table_from_source_option_name(self)
8056 }
8057}
8058#[allow(clippy::needless_pass_by_ref_mut)]
8059pub fn visit_table_from_source_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableFromSourceOptionName)
8060where
8061 V: Visit<'ast, T, > + ?Sized,
8062{
8063 match node {
8064 TableFromSourceOptionName::TextColumns {
8065 } => {
8066 }
8067 TableFromSourceOptionName::ExcludeColumns {
8068 } => {
8069 }
8070 TableFromSourceOptionName::Details {
8071 } => {
8072 }
8073 TableFromSourceOptionName::PartitionBy {
8074 } => {
8075 }
8076 TableFromSourceOptionName::RetainHistory {
8077 } => {
8078 }
8079 }
8080}
8081impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableOption<T> {
8082 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8083 visitor.visit_table_option(self)
8084 }
8085}
8086#[allow(clippy::needless_pass_by_ref_mut)]
8087pub fn visit_table_option<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableOption<T>)
8088where
8089 V: Visit<'ast, T, > + ?Sized,
8090{
8091 visitor.visit_table_option_name(&node.name);
8092 if let Some(v) = &node.value {
8093 visitor.visit_with_option_value(v);
8094 }
8095}
8096impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableOptionName {
8097 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8098 visitor.visit_table_option_name(self)
8099 }
8100}
8101#[allow(clippy::needless_pass_by_ref_mut)]
8102pub fn visit_table_option_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableOptionName)
8103where
8104 V: Visit<'ast, T, > + ?Sized,
8105{
8106 match node {
8107 TableOptionName::PartitionBy {
8108 } => {
8109 }
8110 TableOptionName::RetainHistory {
8111 } => {
8112 }
8113 TableOptionName::RedactedTest {
8114 } => {
8115 }
8116 }
8117}
8118impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TableWithJoins<T> {
8119 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8120 visitor.visit_table_with_joins(self)
8121 }
8122}
8123#[allow(clippy::needless_pass_by_ref_mut)]
8124pub fn visit_table_with_joins<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TableWithJoins<T>)
8125where
8126 V: Visit<'ast, T, > + ?Sized,
8127{
8128 visitor.visit_table_factor(&node.relation);
8129 for v in &node.joins {
8130 visitor.visit_join(v);
8131 }
8132}
8133impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TargetRoleSpecification<T> {
8134 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8135 visitor.visit_target_role_specification(self)
8136 }
8137}
8138#[allow(clippy::needless_pass_by_ref_mut)]
8139pub fn visit_target_role_specification<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TargetRoleSpecification<T>)
8140where
8141 V: Visit<'ast, T, > + ?Sized,
8142{
8143 match node {
8144 TargetRoleSpecification::Roles {
8145 0: binding0,
8146 } => {
8147 for v in binding0 {
8148 visitor.visit_role_name(v);
8149 }
8150 }
8151 TargetRoleSpecification::AllRoles {
8152 } => {
8153 }
8154 }
8155}
8156impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TransactionAccessMode {
8157 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8158 visitor.visit_transaction_access_mode(self)
8159 }
8160}
8161#[allow(clippy::needless_pass_by_ref_mut)]
8162pub fn visit_transaction_access_mode<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TransactionAccessMode)
8163where
8164 V: Visit<'ast, T, > + ?Sized,
8165{
8166 match node {
8167 TransactionAccessMode::ReadOnly {
8168 } => {
8169 }
8170 TransactionAccessMode::ReadWrite {
8171 } => {
8172 }
8173 }
8174}
8175impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TransactionIsolationLevel {
8176 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8177 visitor.visit_transaction_isolation_level(self)
8178 }
8179}
8180#[allow(clippy::needless_pass_by_ref_mut)]
8181pub fn visit_transaction_isolation_level<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TransactionIsolationLevel)
8182where
8183 V: Visit<'ast, T, > + ?Sized,
8184{
8185 match node {
8186 TransactionIsolationLevel::ReadUncommitted {
8187 } => {
8188 }
8189 TransactionIsolationLevel::ReadCommitted {
8190 } => {
8191 }
8192 TransactionIsolationLevel::RepeatableRead {
8193 } => {
8194 }
8195 TransactionIsolationLevel::Serializable {
8196 } => {
8197 }
8198 TransactionIsolationLevel::StrongSessionSerializable {
8199 } => {
8200 }
8201 TransactionIsolationLevel::StrictSerializable {
8202 } => {
8203 }
8204 }
8205}
8206impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for TransactionMode {
8207 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8208 visitor.visit_transaction_mode(self)
8209 }
8210}
8211#[allow(clippy::needless_pass_by_ref_mut)]
8212pub fn visit_transaction_mode<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast TransactionMode)
8213where
8214 V: Visit<'ast, T, > + ?Sized,
8215{
8216 match node {
8217 TransactionMode::AccessMode {
8218 0: binding0,
8219 } => {
8220 visitor.visit_transaction_access_mode(binding0);
8221 }
8222 TransactionMode::IsolationLevel {
8223 0: binding0,
8224 } => {
8225 visitor.visit_transaction_isolation_level(binding0);
8226 }
8227 }
8228}
8229impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for UnresolvedDatabaseName {
8230 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8231 visitor.visit_unresolved_database_name(self)
8232 }
8233}
8234#[allow(clippy::needless_pass_by_ref_mut)]
8235pub fn visit_unresolved_database_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast UnresolvedDatabaseName)
8236where
8237 V: Visit<'ast, T, > + ?Sized,
8238{
8239 visitor.visit_ident(&node.0);
8240}
8241impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for UnresolvedItemName {
8242 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8243 visitor.visit_unresolved_item_name(self)
8244 }
8245}
8246#[allow(clippy::needless_pass_by_ref_mut)]
8247pub fn visit_unresolved_item_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast UnresolvedItemName)
8248where
8249 V: Visit<'ast, T, > + ?Sized,
8250{
8251 for v in &node.0 {
8252 visitor.visit_ident(v);
8253 }
8254}
8255impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for UnresolvedObjectName {
8256 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8257 visitor.visit_unresolved_object_name(self)
8258 }
8259}
8260#[allow(clippy::needless_pass_by_ref_mut)]
8261pub fn visit_unresolved_object_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast UnresolvedObjectName)
8262where
8263 V: Visit<'ast, T, > + ?Sized,
8264{
8265 match node {
8266 UnresolvedObjectName::Cluster {
8267 0: binding0,
8268 } => {
8269 visitor.visit_ident(binding0);
8270 }
8271 UnresolvedObjectName::ClusterReplica {
8272 0: binding0,
8273 } => {
8274 visitor.visit_qualified_replica(binding0);
8275 }
8276 UnresolvedObjectName::Database {
8277 0: binding0,
8278 } => {
8279 visitor.visit_unresolved_database_name(binding0);
8280 }
8281 UnresolvedObjectName::Schema {
8282 0: binding0,
8283 } => {
8284 visitor.visit_unresolved_schema_name(binding0);
8285 }
8286 UnresolvedObjectName::Role {
8287 0: binding0,
8288 } => {
8289 visitor.visit_ident(binding0);
8290 }
8291 UnresolvedObjectName::Item {
8292 0: binding0,
8293 } => {
8294 visitor.visit_unresolved_item_name(binding0);
8295 }
8296 UnresolvedObjectName::NetworkPolicy {
8297 0: binding0,
8298 } => {
8299 visitor.visit_ident(binding0);
8300 }
8301 }
8302}
8303impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for UnresolvedSchemaName {
8304 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8305 visitor.visit_unresolved_schema_name(self)
8306 }
8307}
8308#[allow(clippy::needless_pass_by_ref_mut)]
8309pub fn visit_unresolved_schema_name<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast UnresolvedSchemaName)
8310where
8311 V: Visit<'ast, T, > + ?Sized,
8312{
8313 for v in &node.0 {
8314 visitor.visit_ident(v);
8315 }
8316}
8317impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for UpdateStatement<T> {
8318 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8319 visitor.visit_update_statement(self)
8320 }
8321}
8322#[allow(clippy::needless_pass_by_ref_mut)]
8323pub fn visit_update_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast UpdateStatement<T>)
8324where
8325 V: Visit<'ast, T, > + ?Sized,
8326{
8327 visitor.visit_item_name(&node.table_name);
8328 if let Some(v) = &node.alias {
8329 visitor.visit_table_alias(v);
8330 }
8331 for v in &node.assignments {
8332 visitor.visit_assignment(v);
8333 }
8334 if let Some(v) = &node.selection {
8335 visitor.visit_expr(v);
8336 }
8337}
8338impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ValidateConnectionStatement<T> {
8339 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8340 visitor.visit_validate_connection_statement(self)
8341 }
8342}
8343#[allow(clippy::needless_pass_by_ref_mut)]
8344pub fn visit_validate_connection_statement<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ValidateConnectionStatement<T>)
8345where
8346 V: Visit<'ast, T, > + ?Sized,
8347{
8348 visitor.visit_item_name(&node.name);
8349}
8350impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Value {
8351 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8352 visitor.visit_value(self)
8353 }
8354}
8355#[allow(clippy::needless_pass_by_ref_mut)]
8356pub fn visit_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Value)
8357where
8358 V: Visit<'ast, T, > + ?Sized,
8359{
8360 match node {
8361 Value::Number {
8362 0: binding0,
8363 } => {
8364 }
8365 Value::String {
8366 0: binding0,
8367 } => {
8368 }
8369 Value::HexString {
8370 0: binding0,
8371 } => {
8372 }
8373 Value::Boolean {
8374 0: binding0,
8375 } => {
8376 }
8377 Value::Interval {
8378 0: binding0,
8379 } => {
8380 visitor.visit_interval_value(binding0);
8381 }
8382 Value::Null {
8383 } => {
8384 }
8385 }
8386}
8387impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ValueError {
8388 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8389 visitor.visit_value_error(self)
8390 }
8391}
8392#[allow(clippy::needless_pass_by_ref_mut)]
8393pub fn visit_value_error<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ValueError)
8394where
8395 V: Visit<'ast, T, > + ?Sized,
8396{
8397}
8398impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Values<T> {
8399 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8400 visitor.visit_values(self)
8401 }
8402}
8403#[allow(clippy::needless_pass_by_ref_mut)]
8404pub fn visit_values<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Values<T>)
8405where
8406 V: Visit<'ast, T, > + ?Sized,
8407{
8408 for v in &node.0 {
8409 for v in v {
8410 visitor.visit_expr(v);
8411 }
8412 }
8413}
8414impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for Version {
8415 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8416 visitor.visit_version(self)
8417 }
8418}
8419#[allow(clippy::needless_pass_by_ref_mut)]
8420pub fn visit_version<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast Version)
8421where
8422 V: Visit<'ast, T, > + ?Sized,
8423{
8424}
8425impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for ViewDefinition<T> {
8426 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8427 visitor.visit_view_definition(self)
8428 }
8429}
8430#[allow(clippy::needless_pass_by_ref_mut)]
8431pub fn visit_view_definition<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast ViewDefinition<T>)
8432where
8433 V: Visit<'ast, T, > + ?Sized,
8434{
8435 visitor.visit_unresolved_item_name(&node.name);
8436 for v in &node.columns {
8437 visitor.visit_ident(v);
8438 }
8439 visitor.visit_query(&node.query);
8440}
8441impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for WindowFrame {
8442 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8443 visitor.visit_window_frame(self)
8444 }
8445}
8446#[allow(clippy::needless_pass_by_ref_mut)]
8447pub fn visit_window_frame<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast WindowFrame)
8448where
8449 V: Visit<'ast, T, > + ?Sized,
8450{
8451 visitor.visit_window_frame_units(&node.units);
8452 visitor.visit_window_frame_bound(&node.start_bound);
8453 if let Some(v) = &node.end_bound {
8454 visitor.visit_window_frame_bound(v);
8455 }
8456}
8457impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for WindowFrameBound {
8458 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8459 visitor.visit_window_frame_bound(self)
8460 }
8461}
8462#[allow(clippy::needless_pass_by_ref_mut)]
8463pub fn visit_window_frame_bound<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast WindowFrameBound)
8464where
8465 V: Visit<'ast, T, > + ?Sized,
8466{
8467 match node {
8468 WindowFrameBound::CurrentRow {
8469 } => {
8470 }
8471 WindowFrameBound::Preceding {
8472 0: binding0,
8473 } => {
8474 if let Some(v) = binding0 {
8475 }
8476 }
8477 WindowFrameBound::Following {
8478 0: binding0,
8479 } => {
8480 if let Some(v) = binding0 {
8481 }
8482 }
8483 }
8484}
8485impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for WindowFrameUnits {
8486 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8487 visitor.visit_window_frame_units(self)
8488 }
8489}
8490#[allow(clippy::needless_pass_by_ref_mut)]
8491pub fn visit_window_frame_units<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast WindowFrameUnits)
8492where
8493 V: Visit<'ast, T, > + ?Sized,
8494{
8495 match node {
8496 WindowFrameUnits::Rows {
8497 } => {
8498 }
8499 WindowFrameUnits::Range {
8500 } => {
8501 }
8502 WindowFrameUnits::Groups {
8503 } => {
8504 }
8505 }
8506}
8507impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for WindowSpec<T> {
8508 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8509 visitor.visit_window_spec(self)
8510 }
8511}
8512#[allow(clippy::needless_pass_by_ref_mut)]
8513pub fn visit_window_spec<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast WindowSpec<T>)
8514where
8515 V: Visit<'ast, T, > + ?Sized,
8516{
8517 for v in &node.partition_by {
8518 visitor.visit_expr(v);
8519 }
8520 for v in &node.order_by {
8521 visitor.visit_order_by_expr(v);
8522 }
8523 if let Some(v) = &node.window_frame {
8524 visitor.visit_window_frame(v);
8525 }
8526}
8527impl<'ast, T: AstInfo, > VisitNode<'ast, T, > for WithOptionValue<T> {
8528 fn visit<V: Visit<'ast, T, >>(&'ast self, visitor: &mut V) {
8529 visitor.visit_with_option_value(self)
8530 }
8531}
8532#[allow(clippy::needless_pass_by_ref_mut)]
8533pub fn visit_with_option_value<'ast, V, T: AstInfo, >(visitor: &mut V, node: &'ast WithOptionValue<T>)
8534where
8535 V: Visit<'ast, T, > + ?Sized,
8536{
8537 match node {
8538 WithOptionValue::Value {
8539 0: binding0,
8540 } => {
8541 visitor.visit_value(binding0);
8542 }
8543 WithOptionValue::DataType {
8544 0: binding0,
8545 } => {
8546 visitor.visit_data_type(binding0);
8547 }
8548 WithOptionValue::Secret {
8549 0: binding0,
8550 } => {
8551 visitor.visit_item_name(binding0);
8552 }
8553 WithOptionValue::Item {
8554 0: binding0,
8555 } => {
8556 visitor.visit_item_name(binding0);
8557 }
8558 WithOptionValue::UnresolvedItemName {
8559 0: binding0,
8560 } => {
8561 visitor.visit_unresolved_item_name(binding0);
8562 }
8563 WithOptionValue::Ident {
8564 0: binding0,
8565 } => {
8566 visitor.visit_ident(binding0);
8567 }
8568 WithOptionValue::Sequence {
8569 0: binding0,
8570 } => {
8571 for v in binding0 {
8572 visitor.visit_with_option_value(v);
8573 }
8574 }
8575 WithOptionValue::Map {
8576 0: binding0,
8577 } => {
8578 for (_, value) in binding0 {
8579 visitor.visit_with_option_value(value);
8580 }
8581 }
8582 WithOptionValue::Expr {
8583 0: binding0,
8584 } => {
8585 visitor.visit_expr(binding0);
8586 }
8587 WithOptionValue::ClusterReplicas {
8588 0: binding0,
8589 } => {
8590 for v in binding0 {
8591 visitor.visit_replica_definition(v);
8592 }
8593 }
8594 WithOptionValue::ConnectionKafkaBroker {
8595 0: binding0,
8596 } => {
8597 visitor.visit_kafka_broker(binding0);
8598 }
8599 WithOptionValue::ConnectionAwsPrivatelink {
8600 0: binding0,
8601 } => {
8602 visitor.visit_connection_default_aws_privatelink(binding0);
8603 }
8604 WithOptionValue::RetainHistoryFor {
8605 0: binding0,
8606 } => {
8607 visitor.visit_value(binding0);
8608 }
8609 WithOptionValue::Refresh {
8610 0: binding0,
8611 } => {
8612 visitor.visit_refresh_option_value(binding0);
8613 }
8614 WithOptionValue::ClusterScheduleOptionValue {
8615 0: binding0,
8616 } => {
8617 visitor.visit_cluster_schedule_option_value(binding0);
8618 }
8619 WithOptionValue::ClusterAlterStrategy {
8620 0: binding0,
8621 } => {
8622 visitor.visit_cluster_alter_option_value(binding0);
8623 }
8624 WithOptionValue::NetworkPolicyRules {
8625 0: binding0,
8626 } => {
8627 for v in binding0 {
8628 visitor.visit_network_policy_rule_definition(v);
8629 }
8630 }
8631 }
8632}