Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: extension spaces, functions, aggregation relations to binary #67

Merged
merged 34 commits into from
Jun 12, 2023

Conversation

EpsilonPrime
Copy link
Member

@EpsilonPrime EpsilonPrime commented Jun 7, 2023

  • Features
    • Extension spaces and functions are now emitted to the binary plan
    • Details such as invocation, measures, groupings now implemented for aggregation relations and sorts for sort relations
  • Fixes
    • Type conversion to text standardized for schemas and extensions
    • Changes lookupSymbolByLocation to return a pointer as the named lookup.

@EpsilonPrime EpsilonPrime changed the title feat: fields, schemas, and sources binary output for the textplan parser feat: round trip testing Jun 7, 2023
@EpsilonPrime EpsilonPrime changed the title feat: round trip testing feat: extension spaces, functions, aggregation relations to binary Jun 7, 2023
Copy link
Member

@westonpace westonpace left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few minor thoughts, nothing too major.

@@ -2,10 +2,13 @@

#include "substrait/textplan/converter/PlanPrinterVisitor.h"

#include <iostream>
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this needed?

Copy link
Member Author

@EpsilonPrime EpsilonPrime Jun 8, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There are some stringstream operations going on so it's currently marked as being included. Eventually we should run an IWYU on the project (which we need to set up -- I added issue #70 for that).

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use <sstream>

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we use <sstream>

src/substrait/textplan/converter/PlanPrinterVisitor.cpp Outdated Show resolved Hide resolved
@@ -79,8 +86,16 @@ ParseResult parseStream(antlr4::ANTLRInputStream stream) {
*pipelineVisitor->getSymbolTable(), pipelineVisitor->getErrorListener());
try {
relationVisitor->visitPlan(tree);
} catch (std::invalid_argument ex) {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe add a comment what you are trying to catch here? Do you want to just grab any std::exception?

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Added a comment. When using std::exception it didn't catch the any_cast exception I was looking for.

@westonpace westonpace merged commit fee0829 into substrait-io:main Jun 12, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants