-
Notifications
You must be signed in to change notification settings - Fork 3.1k
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
Pass Constraint with functional predicate to ConnectorSplitManager #7608
Comments
Should we fix planner and connectors instead so that pushdown of predicate via |
|
Are the performance reasons that it can be expensive to evaluate? Then we should improve that, instead. There’s no reason why it should be as slow as it is today — Trino used to evaluate expressions exclusively by interpreting them on the early days, and it was not horrible. |
Let's track this as a separate issue
Improving performance wouldn't alleviate the underlying problem that split manager doesn't have access to full information. |
We use selected partitions list to generate table predicates. We could maybe keep |
I wanted to start a separate thread about ... #7620 |
cc: @losipiuk |
…le domain fixes trinodb#9309 fixes trinodb#7608 The idea is to push constraint down to split source and not generate splits that would be filtered out by this constraint's predicate.
…le domain fixes trinodb#9309 fixes trinodb#7608 The idea is to push constraint down to split source and not generate splits that would be filtered out by this constraint's predicate.
Constraint#predicate
represents a Filter that cannot be converted to aTupleDomain
.Today the
Constraint#predicate
is passed toio.trino.spi.connector.ConnectorMetadata#applyFilter
(but only sometimes, i.e. withinAddExchanges
)Connector may be unable to derived all the possible information out of that at this stage.
We should pass the same information second time, to
ConnectorSplitManager
.The text was updated successfully, but these errors were encountered: