Skip to content

Alter SQL Support  #11

@rickyyx

Description

@rickyyx

TODOs:

  • At TrafficCop::BindQuery:
    • Implement the binder logic at : BindNodeVisitor::Visit(parser::AlterTableStatement)
  • At TrafficCop::OptimizeBoundQuery:
    • Implement operator trasnformer at : QueryToOperatorTransformer::Visit(AlterTableStatement)
    • Implement Logical Operator for Alter at : logical_operator.h
    • Implement Logical to Physical rules at: 'rule.cpp' and 'implementation_rules.cpp'
    • To generate a physical plan, implement physical operator at : physical_operator.h' for AlterTable`
    • Implement plan node for AlterTable at : alter_table_plan_node.h ?

    Maybe Should we break the AlterTable based on different commands? Like different AlterCmd should have different (sub) plan node? Needs to keep in mind there are tons of commands possible.

    • Implement PlanGenerator::Visit for AlterTable physical plan operator at plan_generator.cpp
  • At TrafficCop::ExecutePortal:
    • TrafficCop to execute the physical plan for AlteTable Query, so implement maybe ExecuteAlterStatement at postgres_network_commands.cpp:ExecutePortal
    • Implement the executors at DDLExecutors, AlterTableExectutor

Implement Add column first through the entire pipeline first. And then refactor from there.
Change column type might have to scan through the table, should be delayed.

Metadata

Metadata

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions