substrait-rs
substrait-rs copied to clipboard
Tracking issue for `parse` module
This is a tracking issue for a parse
module in the Substrait crate.
Some requirements of Substrait can not be expressed via Protobuf definition or schema files. A parse
module can provide types for the generated types, that when constructed are known to be checked. This enables producers and consumers to skip redundant checking of invariants described by the specification.
I want to propose incrementally building the parse
module i.e. split up the intial work in #89 to help reviewers and to encourage collaboration.
Parser progress
Proto
- [x]
PlanVersion
https://github.com/substrait-io/substrait-rs/pull/165- [x]
Version
https://github.com/substrait-io/substrait-rs/pull/164
- [x]
- [ ]
Plan
- [x]
Version
https://github.com/substrait-io/substrait-rs/pull/164 - [x]
SimpleExtensionUri
https://github.com/substrait-io/substrait-rs/pull/169 - [ ]
SimpleExtensionDeclaration
https://github.com/substrait-io/substrait-rs/pull/170- [ ]
MappingType
- [ ]
ExtensionType
- [ ]
ExtensionTypeVariation
- [ ]
ExtensionFunction
- [ ]
- [ ]
- [ ]
PlanRel
- [ ]
AdvancedExtension
- [ ]
expected_type_urls
- [x]
- [ ]
PlanRel
- [ ]
ExtendedExpression
- [x]
Version
https://github.com/substrait-io/substrait-rs/pull/164 - [ ] ...
- [x]
Text
- [ ]
SimpleExtensions
- [ ]
AggregateFunction
- [ ]
AggregateFunctionImplsItem
- [ ]
Arguments
- [ ]
ArgumentsItem
https://github.com/substrait-io/substrait-rs/pull/185
- [ ]
- [ ]
- [ ]
- [ ] ...
- [ ]
Other tasks
- [x] Add the
parse
module with traits to drive the parser https://github.com/substrait-io/substrait-rs/pull/164 - [ ] Include core extensions in crate, so they can be added to a parse context
- [ ] Add a
parser
cli - [ ] Add bindings to support using the parse module in other languages