Wenzhe Zhou has posted comments on this change. ( http://gerrit.cloudera.org:8080/16103 )
Change subject: IMPALA-9294: Support DATE for min-max runtime filter ...................................................................... Patch Set 3: (6 comments) http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/runtime/date-value.h File be/src/runtime/date-value.h: http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/runtime/date-value.h@179 PS3, Line 179: pvalue > Do we need to worry pvalue being nullptr? No. The caller get pvalue by calling function UpdateFilterParamsPB::mutable_min_max_filter(), which will create a impala::MinMaxFilterPB object if the object has not been created yet. http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/util/min-max-filter-test.cc File be/src/util/min-max-filter-test.cc: http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/util/min-max-filter-test.cc@371 PS3, Line 371: DATE_TIME_CHECK_VALS > Maybe rename it as CHECK_NON_EMPTY_FILTER. It's a micro for CheckTimestampVals and CheckDateVals. I try to keep the naming consistent. http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/util/min-max-filter.h File be/src/util/min-max-filter.h: http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/util/min-max-filter.h@220 PS3, Line 220: > min_ and max_ are not inited in the cstr. Don't need to initialize min_ and max_ in constructor since always_false_ is set as true which means no rows have been inserted. min_ and max_ will be overwrote when the first row is inserted. http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/util/min-max-filter.cc File be/src/util/min-max-filter.cc: http://gerrit.cloudera.org:8080/#/c/16103/3/be/src/util/min-max-filter.cc@368 PS3, Line 368: in > I wonder if In can be empty? No. There is just one caller for this function. It's called only if 'in' has the value in MinMaxFilter::Or(). http://gerrit.cloudera.org:8080/#/c/16103/3/testdata/workloads/functional-planner/queries/PlannerTest/min-max-runtime-filters.test File testdata/workloads/functional-planner/queries/PlannerTest/min-max-runtime-filters.test: http://gerrit.cloudera.org:8080/#/c/16103/3/testdata/workloads/functional-planner/queries/PlannerTest/min-max-runtime-filters.test@167 PS3, Line 167: Date type of column for > Maybe "Query with date-typed join column"? Agree http://gerrit.cloudera.org:8080/#/c/16103/3/testdata/workloads/functional-planner/queries/PlannerTest/min-max-runtime-filters.test@168 PS3, Line 168: functional_kudu.date_tbl a : join [BROADCAST] functional_kudu.date_tbl b > It may be useful to include some additional join queries: There is 3-way join test case for integer-typed join columns. Since the min-max filter generation function don't check column type, the integer-typed test case should be enough to cover the logic. Also I don't see 3-way join for other type, like timestamp, string, decimal, etc. -- To view, visit http://gerrit.cloudera.org:8080/16103 To unsubscribe, visit http://gerrit.cloudera.org:8080/settings Gerrit-Project: Impala-ASF Gerrit-Branch: master Gerrit-MessageType: comment Gerrit-Change-Id: Ic2f6e2dc6949735d5f0fcf317361cc2969a5e82c Gerrit-Change-Number: 16103 Gerrit-PatchSet: 3 Gerrit-Owner: Wenzhe Zhou <[email protected]> Gerrit-Reviewer: Impala Public Jenkins <[email protected]> Gerrit-Reviewer: Qifan Chen <[email protected]> Gerrit-Reviewer: Thomas Tauber-Marshall <[email protected]> Gerrit-Reviewer: Wenzhe Zhou <[email protected]> Gerrit-Comment-Date: Fri, 26 Jun 2020 20:34:16 +0000 Gerrit-HasComments: Yes
