From 39e953e784938c8d95c61d36752df3b241c98ca9 Mon Sep 17 00:00:00 2001 From: englefly Date: Sun, 8 Oct 2023 03:31:03 +0800 Subject: [PATCH] min max rf type --- gensrc/thrift/PlanNodes.thrift | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift index ff587ddc68c96c..0d883043ec8e9a 100644 --- a/gensrc/thrift/PlanNodes.thrift +++ b/gensrc/thrift/PlanNodes.thrift @@ -1064,6 +1064,18 @@ enum TRuntimeFilterType { BITMAP = 16 } +// generate min-max runtime filter for non-equal condition or equal condition. +enum TMinMaxRuntimeFilterType { + // only min is valid, RF generated according to condition: n < col_A + MIN = 1 + // only max is valid, RF generated according to condition: m > col_A + MAX = 2 + // both min/max are valid, + // support hash join condition: col_A = col_B + // support other join condition: n < col_A and col_A < m + MIN_MAX = 4 +} + // Specification of a runtime filter. struct TRuntimeFilterDesc { // Filter unique id (within a query) @@ -1104,8 +1116,13 @@ struct TRuntimeFilterDesc { 11: optional bool bitmap_filter_not_in 12: optional bool opt_remote_rf; + + // for min/max rf + 13: optional TMinMaxRuntimeFilterType min_max_type; } + + struct TDataGenScanNode { 1: optional Types.TTupleId tuple_id 2: optional TDataGenFunctionName func_name