diff options
| author | udovichenko-r <[email protected]> | 2026-06-18 19:58:57 +0300 |
|---|---|---|
| committer | udovichenko-r <[email protected]> | 2026-06-18 20:38:07 +0300 |
| commit | ddedfffe40c70e7b353843176a4d4647c19bbba2 (patch) | |
| tree | 6d1c7a7e7e1d107b03c3d88386f1fed6fd0134c7 /yql/essentials/sql/v1/format/sql_format.cpp | |
| parent | 24590eaba442f1c9640d00bbb40909c11b135a37 (diff) | |
SQL parser + type annotation for Materialize statement
#### SQL Parser and Type Annotation for Materialize Statement ✎
- Added support for the `MATERIALIZE` SQL statement including parser rules and syntax highlighting updates
- Implemented type annotation and validation for the `MATERIALIZE` statement with proper error handling
- Enhanced SQL query processing to handle `MATERIALIZE` statements in various contexts including subqueries and limited views
- Added runtime support for `MATERIALIZE` operations with sort preservation and proper data sink handling
- Integrated `MATERIALIZE` into the SQL grammar and updated completion suggestions
- Added comprehensive unit tests covering various `MATERIALIZE` scenarios and edge cases
<a href="https://nda.ya.ru/t/qa0kX64r7DqvtN"><font size="2">Autodescription by Yandex Code Assistant</font></a>
commit_hash:32b04f93ceadf624b4d39fd6512798f9354bfd80
Diffstat (limited to 'yql/essentials/sql/v1/format/sql_format.cpp')
| -rw-r--r-- | yql/essentials/sql/v1/format/sql_format.cpp | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/yql/essentials/sql/v1/format/sql_format.cpp b/yql/essentials/sql/v1/format/sql_format.cpp index d2f5a488849..3d6ff416ddd 100644 --- a/yql/essentials/sql/v1/format/sql_format.cpp +++ b/yql/essentials/sql/v1/format/sql_format.cpp @@ -1127,6 +1127,11 @@ private: VisitAllFields(TRule_truncate_table_stmt::GetDescriptor(), msg); } + void VisitMaterialize(const TRule_materialize_stmt& msg) { + NewLine(); + VisitAllFields(TRule_materialize_stmt::GetDescriptor(), msg); + } + void VisitCreateTable(const TRule_create_table_stmt& msg) { NewLine(); Visit(msg.GetToken1()); @@ -3406,6 +3411,7 @@ TStaticData::TStaticData() {TRule_alter_sequence_stmt::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitAlterSequence)}, {TRule_alter_database_stmt::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitAlterDatabase)}, {TRule_truncate_table_stmt::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitTruncateTable)}, + {TRule_materialize_stmt::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitMaterialize)}, {TRule_show_create_table_stmt::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitShowCreateTable)}, {TRule_streaming_query_settings::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitStreamingQuerySettings)}, {TRule_create_streaming_query_stmt::GetDescriptor(), MakePrettyFunctor(&TPrettyVisitor::VisitCreateStreamingQuery)}, |
