This is an automated email from the ASF dual-hosted git repository.

kxiao pushed a commit to branch branch-2.0
in repository https://gitbox.apache.org/repos/asf/doris.git

commit e6febc12d71df6312d030460e4b4703b98bc38fa
Author: minghong <[email protected]>
AuthorDate: Mon Oct 9 11:09:07 2023 +0800

    min max rf type (#25129)
    
    extend min-max rf to support 3 types:
    
    n<A
    m>A
    n<A<m,
    in which m/n are constants and A is column.
    this pr only contains thrift definition.
---
 gensrc/thrift/PlanNodes.thrift | 17 +++++++++++++++++
 1 file changed, 17 insertions(+)

diff --git a/gensrc/thrift/PlanNodes.thrift b/gensrc/thrift/PlanNodes.thrift
index 9d75c7fc168..e32092994ef 100644
--- a/gensrc/thrift/PlanNodes.thrift
+++ b/gensrc/thrift/PlanNodes.thrift
@@ -1058,6 +1058,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)
@@ -1098,8 +1110,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


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to