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 @@ -150,9 +150,7 @@ impl HashJoinBuildState {
150
150
let mut enable_bloom_runtime_filter = false ;
151
151
let mut enable_inlist_runtime_filter = false ;
152
152
let mut enable_min_max_runtime_filter = false ;
153
- if supported_join_type_for_runtime_filter ( & hash_join_state. hash_join_desc . join_type )
154
- && ctx. get_settings ( ) . get_join_spilling_memory_ratio ( ) ? == 0
155
- {
153
+ if supported_join_type_for_runtime_filter ( & hash_join_state. hash_join_desc . join_type ) {
156
154
let is_cluster = !ctx. get_cluster ( ) . is_empty ( ) ;
157
155
// For cluster, only support runtime filter for broadcast join.
158
156
let is_broadcast_join = hash_join_state. hash_join_desc . broadcast ;
@@ -324,7 +322,10 @@ impl HashJoinBuildState {
324
322
. clone ( )
325
323
} ;
326
324
327
- self . add_runtime_filter ( & build_chunks, build_num_rows) ?;
325
+ // If spilling happened, skip adding runtime filter, because probe data is ready and spilled.
326
+ if self . spilled_partition_set . read ( ) . is_empty ( ) {
327
+ self . add_runtime_filter ( & build_chunks, build_num_rows) ?;
328
+ }
328
329
329
330
if self . hash_join_state . hash_join_desc . join_type == JoinType :: Cross {
330
331
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