sxt-proof-of-sql icon indicating copy to clipboard operation
sxt-proof-of-sql copied to clipboard

Replace `proof_of_sql_parser::intermediate_ast::SelectStatement` with `sqlparser::ast::Query` in the `proof-of-sql` crate

Open iajoiner opened this issue 3 months ago • 0 comments

Background and Motivation

This issue is a subtask in https://github.com/spaceandtimelabs/sxt-proof-of-sql/issues/235. In short since we plan to add more SQL features we plan to switch to the sqlparser crate which is a feature-rich, no_std-compatible parser used by DataFusion, which is part of the Arrow ecosystem.

Right now we already have some code that can convert intermediate AST from proof-of-sql-parser we use to sqlparser AST. Now we need to systematically replace instances of proof-of-sql-parser constructs with their corresponding sqlparser ones.

Changes Required

  • [ ] Replace proof_of_sql_parser::intermediate_ast::SelectResultExpr with sqlparser::ast::SelectItem in the proof-of-sql crate.
  • [ ] Replace proof_of_sql_parser::intermediate_ast::SetExpression with sqlparser::ast::Select in the proof-of-sql crate.
  • [ ] Replace proof_of_sql_parser::intermediate_ast::SelectStatement with sqlparser::ast::Query in the proof-of-sql crate.
  • [ ] Once this issue is complete there should be no instances of any construct from the proof-of-sql-parser in the proof-of-sql crate.

Note that this issue is blocked until all previous issues related to sqlparser refactoring are complete.

iajoiner avatar Nov 07 '24 19:11 iajoiner