-
Notifications
You must be signed in to change notification settings - Fork 596
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
Tracking Issue: DynamicFilter
operator
#3419
Comments
there is some discussion about the detailed behavior for scalar subqueries in #2279. and some question still exists for the DynamicFilter
|
This is a good question. Actually, SQL does not restrict a non-equijoin join to only be evaluated on a single row. So as a matter of fact, scalar subqueries need to be explicitly identified as those which must return exactly one row (i.e. contains a simple agg). Using the exact1row and max1row properties can indeed facilitate this query rewriting. However, perhaps as a first approximation, we could simply pattern match on simpleagg with a single column. |
yes.
I think so, and the |
Just brought it back to the project to keep it under tracking. Ping @jon-chuang Any plan for it? |
Design Doc: https://singularity-data.quip.com/AE06Ao1kAIaZ/RFC-Dynamic-Filter-A-New-Streaming-Operator
Logical:
StreamDynamicFilter
(feat(frontend):StreamDynamicFilter
#3515)BatchDynamicFilter
?left_col
LogicalDynamicFilter
. Enable tpch q11, q22 planner testsStreamDynamicFilter
Executor:
DynamicFilterExecutor
(noStateTable
yet) - (feat(executor): Basic in-application-memoryDynamicFilterExecutor
, pass tpch q11, q22 e2e tests #3681)<, <=, >, >=
cache looks like aBTreeMap
.==, <>
it could be BTreeMap or HashMap.DynamicFilterBroadcastExecutor
(broadcasts the RHS value)DynamicFilter
(feat(executor): UseTableCatalog
andStateTable
inDynamicFilter
(only writes) #3757)table_id | vnode | left_col | left_pk
DynamicFilter
cache eviction based on epoch #6540)DynamicFilter
(similar to append-only optimizations)Questions:
Cmp
operators for some datatypes? I guess the determination for this can be done in the frontend.==, <>
? (we don't need broadcast for these)References:
The text was updated successfully, but these errors were encountered: