You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Move large Statement arms out of SqlToRel::sql_statement_to_plan_with_context_impl #26301
Every sqlparser upgrade that adds a field to CreateTable has to touch this destructuring pattern, which makes the function a recurring merge-conflict and review burden.
Describe the solution you'd like
Make the match a pure dispatcher where each large arm calls a method on SqlToRel, following the existing describe_table_to_plan pattern: create_table_to_plan, create_view_to_plan, drop_to_plan, prepare_to_plan, execute_to_plan, show_tables_to_plan, start_transaction_to_plan, create_function_to_plan, truncate_to_plan, ...
For CreateTable, bind the struct by name (Statement::CreateTable(create_table)) and move the unsupported-option checks into a helper such as reject_unsupported_create_table_options(&create_table), so new sqlparser fields don't require editing the match pattern.
Optionally split statement.rs into submodules by statement family (DDL, DML, utility).
Activity
Theodus commentedon Oct 15, 2026
take