File tree Expand file tree Collapse file tree 2 files changed +6
-4
lines changed
src/query/service/src/pipelines/processors/transforms/hash_join
tests/sqllogictests/suites/tpch Expand file tree Collapse file tree 2 files changed +6
-4
lines changed Original file line number Diff line number Diff line change @@ -153,9 +153,7 @@ impl HashJoinBuildState {
153
153
let mut enable_bloom_runtime_filter = false ;
154
154
let mut enable_inlist_runtime_filter = false ;
155
155
let mut enable_min_max_runtime_filter = false ;
156
- if supported_join_type_for_runtime_filter ( & hash_join_state. hash_join_desc . join_type )
157
- && ctx. get_settings ( ) . get_join_spilling_memory_ratio ( ) ? == 0
158
- {
156
+ if supported_join_type_for_runtime_filter ( & hash_join_state. hash_join_desc . join_type ) {
159
157
let is_cluster = !ctx. get_cluster ( ) . is_empty ( ) ;
160
158
// For cluster, only support runtime filter for broadcast join.
161
159
let is_broadcast_join = hash_join_state. hash_join_desc . broadcast ;
@@ -327,7 +325,10 @@ impl HashJoinBuildState {
327
325
. clone ( )
328
326
} ;
329
327
330
- self . add_runtime_filter ( & build_chunks, build_num_rows) ?;
328
+ // If spilling happened, skip adding runtime filter, because probe data is ready and spilled.
329
+ if self . spilled_partition_set . read ( ) . is_empty ( ) {
330
+ self . add_runtime_filter ( & build_chunks, build_num_rows) ?;
331
+ }
331
332
332
333
if self . hash_join_state . hash_join_desc . join_type == JoinType :: Cross {
333
334
return Ok ( ( ) ) ;
Original file line number Diff line number Diff line change @@ -802,6 +802,7 @@ Brand#13 LARGE BURNISHED COPPER 45 8
802
802
Brand#13 MEDIUM ANODIZED STEEL 23 8
803
803
804
804
#Q17
805
+
805
806
query I
806
807
select
807
808
truncate(sum(l_extendedprice) / 7.0,8) as avg_yearly
You canโt perform that action at this time.
0 commit comments