-
Notifications
You must be signed in to change notification settings - Fork 3k
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
Projection pushdown #676
Projection pushdown #676
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I understand with this you would be able to remove getTableLayout
entirely, am I right?
presto-main/src/main/java/io/prestosql/spi/expression/ConnectorExpressionTranslator.java
Outdated
Show resolved
Hide resolved
presto-main/src/main/java/io/prestosql/spi/expression/ConnectorExpressionTranslator.java
Show resolved
Hide resolved
presto-main/src/main/java/io/prestosql/spi/expression/ConnectorExpressionTranslator.java
Show resolved
Hide resolved
presto-main/src/main/java/io/prestosql/spi/expression/ConnectorExpressionTranslator.java
Outdated
Show resolved
Hide resolved
presto-main/src/main/java/io/prestosql/spi/expression/ConnectorExpressionTranslator.java
Outdated
Show resolved
Hide resolved
...-main/src/main/java/io/prestosql/sql/planner/iterative/rule/PushProjectionIntoTableScan.java
Show resolved
Hide resolved
...-main/src/main/java/io/prestosql/sql/planner/iterative/rule/PushProjectionIntoTableScan.java
Outdated
Show resolved
Hide resolved
presto-memory/src/main/java/io/prestosql/plugin/memory/MemoryMetadata.java
Outdated
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/connector/ProjectionApplicationResult.java
Outdated
Show resolved
Hide resolved
return newProjections; | ||
} | ||
|
||
public List<Assignment> getAssignments() |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
getNewAssignments?
...-main/src/main/java/io/prestosql/sql/planner/iterative/rule/PushProjectionIntoTableScan.java
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/expression/ConnectorExpression.java
Outdated
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/connector/ProjectionApplicationResult.java
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/connector/ProjectionApplicationResult.java
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/connector/ProjectionApplicationResult.java
Outdated
Show resolved
Hide resolved
...-main/src/main/java/io/prestosql/sql/planner/iterative/rule/PushProjectionIntoTableScan.java
Show resolved
Hide resolved
41a7d00
to
1ae5191
Compare
c981e39
to
1b15a21
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should we have toString()
on all the expression classes?
presto-spi/src/main/java/io/prestosql/spi/connector/ProjectionApplicationResult.java
Outdated
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/connector/ProjectionApplicationResult.java
Outdated
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/expression/ConnectorExpression.java
Outdated
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/expression/FieldDereference.java
Outdated
Show resolved
Hide resolved
presto-spi/src/main/java/io/prestosql/spi/expression/ConnectorExpression.java
Show resolved
Hide resolved
40d8eb2
to
ac828f9
Compare
ac828f9
to
acbf4c5
Compare
Row is an Expression, so it should delegate to visitExpression instead of jumping directly to visitNode
Add a new applyProjection API to ConnectorMetadata. Currently, simple column references and field dereference expressions are supported.
acbf4c5
to
5dccec2
Compare
It supports basic column and row field dereference pushdown.