Skip to content

[CALCITE-3975] Add options to ProjectFilterTransposeRule to push down project and filter expressions whole, not just field references #1999

Closed
julianhyde wants to merge 2 commits intoapache:masterfrom
julianhyde:3975-project-filter
Closed

[CALCITE-3975] Add options to ProjectFilterTransposeRule to push down project and filter expressions whole, not just field references #1999
julianhyde wants to merge 2 commits intoapache:masterfrom
julianhyde:3975-project-filter

Conversation

@julianhyde
Copy link
Contributor

Make mutable field RelOptUtil.InputFinder.inputBitSet private.
The field still exists, public and deprecated, but it shadows
a new private field. Rather than calling InputFinder.inputBitSet.build()
you should now call InputFinder.build().

In RexVisitor and RexBiVisitor add methods visitList and
visitEach (the former returns a list, and the latter returns
void).

Deprecate RexShuttle.apply in favor of visitList.

Add RexWindowBound.accept(RexBiVisitor).

For RexBiVisitor<X, Integer> add a method visitEachIndexed,
the index passed as the 'payload' argument.

Add abstract implementations of RexBiVisitor:
RexUnaryBiVisitor and RexBiVisitorImpl.
… project and filter expressions whole, not just field references

Close apache#1999
@julianhyde julianhyde force-pushed the 3975-project-filter branch from 1b07879 to a45f46b Compare June 2, 2020 22:07
Copy link
Member

@hsyuan hsyuan left a comment

Choose a reason for hiding this comment

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

+1
The rexnode visitor is a really nice refactoring. Thanks!

Copy link
Contributor

@danny0405 danny0405 left a comment

Choose a reason for hiding this comment

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

+1

julianhyde added a commit to julianhyde/calcite that referenced this pull request Jun 10, 2020
… project and filter expressions whole, not just field references

Close apache#1999
@asfgit asfgit closed this in eb22c01 Jun 11, 2020
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.

3 participants