This is an automated email from the ASF dual-hosted git repository. xiangfu pushed a change to branch support_case_when_statement in repository https://gitbox.apache.org/repos/asf/incubator-pinot.git.
discard 41aba47 Address comments discard f793def Address comments discard d65cf51 Address comments discard a23d654 Not allowing aggregation functions in case statements for now discard f4ba091 Checks on then statements result type discard 07cfe54 Adding transform function support for case-when-else discard 1e9a171 Adding case-when-else sql parsing statement add d54b04a Deep extraction in Avro and Json RecordExtractor (#5492) add 3443593 Enhance and simplify the filtering (#5444) add d72493e Update SegmentDumpTool to use PinotSegmentRecordReader. (#5505) add 04e12bd Config for raw index writer version (#5503) add bea55a0 [TE] Add data quality/sla rule to the detection template (#5515) add 2e834cf Support escaping single quote for SQL literal (#5501) add c139488 Support expression as the left-hand side for BETWEEN and IN clause (#5502) add 626c429 Adding case-when-else sql parsing statement add 961025e Adding transform function support for case-when-else add 4906cd3 Checks on then statements result type add ed37aab Not allowing aggregation functions in case statements for now add 61b796d Address comments add 0bdfe2d Address comments add d6c0ca8 Address comments This update added new revisions after undoing existing revisions. That is to say, some revisions that were in the old version of the branch are not in the new version. This situation occurs when a user --force pushes a change and generates a repository containing something like this: * -- * -- B -- O -- O -- O (41aba47) \ N -- N -- N refs/heads/support_case_when_statement (d6c0ca8) You should already have received notification emails for all of the O revisions, and so the following emails describe only the N revisions from the common base, B. Any revisions marked "omit" are not gone; other references still refer to them. Any revisions marked "discard" are gone forever. No new revisions were added by this update. Summary of changes: .../pinot/common/function/JsonFunctions.java | 9 + .../pinot/common/utils/request/RequestUtils.java | 7 +- .../parsers/pql2/ast/BetweenPredicateAstNode.java | 8 +- .../pql/parsers/pql2/ast/InPredicateAstNode.java | 2 + .../pinot/sql/parsers/CalciteSqlCompilerTest.java | 2 +- .../pinot/core/common/BlockDocIdIterator.java | 22 +- .../apache/pinot/core/common/BlockDocIdSet.java | 10 +- .../writer/impl/v1/BaseChunkSingleValueWriter.java | 8 +- .../impl/v1/FixedByteChunkSingleValueWriter.java | 10 +- .../impl/v1/VarByteChunkSingleValueWriter.java | 9 +- .../pinot/core/minion/RawIndexConverter.java | 3 +- .../core/operator/blocks/EmptyFilterBlock.java | 4 +- .../operator/dociditerators/AndDocIdIterator.java | 123 ++++------- .../dociditerators/ArrayBasedDocIdIterator.java | 37 +--- ...Iterator.java => BitmapBasedDocIdIterator.java} | 9 +- .../dociditerators/BitmapDocIdIterator.java | 79 +++----- ...kDocIdIterator.java => EmptyDocIdIterator.java} | 16 +- .../ExpressionScanDocIdIterator.java | 72 ++----- .../dociditerators/MVScanDocIdIterator.java | 142 ++++--------- ...cIdIterator.java => MatchAllDocIdIterator.java} | 33 ++- .../operator/dociditerators/OrDocIdIterator.java | 102 ++++------ .../RangelessBitmapDocIdIterator.java | 53 ++--- .../dociditerators/SVScanDocIdIterator.java | 200 +++++------------- .../dociditerators/ScanBasedDocIdIterator.java | 22 +- .../dociditerators/SortedDocIdIterator.java | 99 ++++----- .../core/operator/docidsets/AndBlockDocIdSet.java | 181 ----------------- .../pinot/core/operator/docidsets/AndDocIdSet.java | 156 ++++++++++++++ .../operator/docidsets/ArrayBasedDocIdSet.java | 21 +- .../core/operator/docidsets/BitmapDocIdSet.java | 70 +------ .../{ScanBasedDocIdSet.java => EmptyDocIdSet.java} | 24 ++- .../docidsets/EmptyFilterBlockDocIdSet.java | 70 ------- .../docidsets/ExpressionFilterDocIdSet.java | 51 +---- .../operator/docidsets/FilterBlockDocIdSet.java | 49 +---- ...{SizeBasedDocIdSet.java => MVScanDocIdSet.java} | 44 +--- ...canBasedDocIdSet.java => MatchAllDocIdSet.java} | 18 +- .../core/operator/docidsets/OrBlockDocIdSet.java | 126 ------------ .../pinot/core/operator/docidsets/OrDocIdSet.java | 120 +++++++++++ ...ArrayBasedDocIdSet.java => SVScanDocIdSet.java} | 29 +-- .../docidsets/ScanBasedMultiValueDocIdSet.java | 85 -------- .../docidsets/ScanBasedSingleValueDocIdSet.java | 88 -------- .../core/operator/docidsets/SortedDocIdSet.java | 74 +------ .../core/operator/docvalsets/MultiValueSet.java | 5 +- .../core/operator/docvalsets/SingleValueSet.java | 5 +- .../core/operator/filter/AndFilterOperator.java | 19 +- .../operator/filter/BitmapBasedFilterOperator.java | 79 ++++---- .../core/operator/filter/FilterOperatorUtils.java | 45 ++--- .../pinot/core/operator/filter/IntRanges.java | 84 -------- .../operator/filter/MatchAllFilterOperator.java | 10 +- .../core/operator/filter/OrFilterOperator.java | 23 +-- .../filter/RangeIndexBasedFilterOperator.java | 63 +++--- .../operator/filter/ScanBasedFilterOperator.java | 53 ++--- .../filter/SortedIndexBasedFilterOperator.java | 138 +++++++++++++ .../SortedInvertedIndexBasedFilterOperator.java | 179 ---------------- .../operator/filter/TextMatchFilterOperator.java | 40 +--- .../BaseDictionaryBasedPredicateEvaluator.java | 8 + .../predicate/EqualsPredicateEvaluatorFactory.java | 38 +++- .../predicate/InPredicateEvaluatorFactory.java | 38 +++- .../NotEqualsPredicateEvaluatorFactory.java | 38 +++- .../predicate/NotInPredicateEvaluatorFactory.java | 38 +++- .../filter/predicate/PredicateEvaluator.java | 8 +- .../predicate/PredicateEvaluatorProvider.java | 6 - .../predicate/RangePredicateEvaluatorFactory.java | 30 +++ .../RegexpLikePredicateEvaluatorFactory.java | 11 +- .../TextMatchPredicateEvaluatorFactory.java | 58 ------ .../transform/function/CaseTransformFunction.java | 15 ++ .../org/apache/pinot/core/plan/FilterPlanNode.java | 51 +++-- .../creator/impl/SegmentColumnarIndexCreator.java | 43 ++-- .../fwd/SingleValueFixedByteRawIndexCreator.java | 20 +- .../fwd/SingleValueVarByteRawIndexCreator.java | 29 ++- .../defaultcolumn/BaseDefaultColumnHandler.java | 3 +- .../startree/operator/StarTreeFilterOperator.java | 9 +- .../core/common/docidsets/BitmapDocIdSetTest.java | 78 ------- .../core/common/docidsets/SortedDocIdSetTest.java | 136 ------------- ...valuatorTest.java => InbuiltFunctionsTest.java} | 59 +++++- .../dociditerators/AndDocIdIteratorTest.java | 55 +++++ .../dociditerators/BitmapDocIdIteratorTest.java | 61 ++---- .../dociditerators/OrDocIdIteratorTest.java | 58 ++++++ .../dociditerators/SortedDocIdIteratorTest.java | 85 ++++++++ .../operator/filter/AndFilterOperatorTest.java | 2 +- .../pinot/core/operator/filter/IntRangesTest.java | 103 ---------- .../core/operator/filter/OrFilterOperatorTest.java | 8 +- .../core/operator/filter/TestFilterOperator.java | 57 +++--- .../FixedByteChunkSingleValueReaderWriteTest.java | 225 ++++++++++++++------- .../VarByteChunkSingleValueReaderWriteTest.java | 49 +++-- .../src/test/resources/data/test_data-mv.avro | Bin 9583323 -> 7700192 bytes .../tests/OfflineClusterIntegrationTest.java | 63 +++--- .../pinot/perf/BenchmarkOrDocIdIterator.java | 44 ++-- .../inputformat/avro/AvroRecordExtractor.java | 3 +- .../pinot/plugin/inputformat/avro/AvroUtils.java | 67 ++++-- .../avro/AvroRecordExtractorComplexTypesTest.java | 209 +++++++++++++++++++ .../avro/AvroRecordExtractorMapTypeTest.java | 115 ----------- .../inputformat/json/JSONRecordExtractor.java | 54 +---- ...xtractor.java => JSONRecordExtractorUtils.java} | 90 ++++----- .../json/JSONRecordExtractorUtilsTest.java | 120 +++++++++++ .../src/test/resources/data/test_data-mv.avro | Bin 9583323 -> 7700192 bytes .../apache/pinot/spi/config/table/FieldConfig.java | 13 +- .../pinot/spi/data/readers/RecordExtractor.java | 3 + .../data/readers/AbstractRecordExtractorTest.java | 47 +++-- .../org/apache/pinot/tools/SegmentDumpTool.java | 122 +++++------ .../converter/DictionaryToRawIndexConverter.java | 4 +- thirdeye/thirdeye-frontend/app/utils/yaml-tools.js | 38 ++-- 101 files changed, 2385 insertions(+), 3056 deletions(-) rename pinot-core/src/main/java/org/apache/pinot/core/operator/dociditerators/{IndexBasedDocIdIterator.java => BitmapBasedDocIdIterator.java} (73%) rename pinot-core/src/main/java/org/apache/pinot/core/operator/dociditerators/{EmptyBlockDocIdIterator.java => EmptyDocIdIterator.java} (72%) rename pinot-core/src/main/java/org/apache/pinot/core/operator/dociditerators/{SizeBasedDocIdIterator.java => MatchAllDocIdIterator.java} (69%) delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/AndBlockDocIdSet.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/AndDocIdSet.java copy pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/{ScanBasedDocIdSet.java => EmptyDocIdSet.java} (59%) delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/EmptyFilterBlockDocIdSet.java rename pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/{SizeBasedDocIdSet.java => MVScanDocIdSet.java} (52%) rename pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/{ScanBasedDocIdSet.java => MatchAllDocIdSet.java} (67%) delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/OrBlockDocIdSet.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/OrDocIdSet.java copy pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/{ArrayBasedDocIdSet.java => SVScanDocIdSet.java} (56%) delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/ScanBasedMultiValueDocIdSet.java delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/docidsets/ScanBasedSingleValueDocIdSet.java delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/IntRanges.java create mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/SortedIndexBasedFilterOperator.java delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/SortedInvertedIndexBasedFilterOperator.java delete mode 100644 pinot-core/src/main/java/org/apache/pinot/core/operator/filter/predicate/TextMatchPredicateEvaluatorFactory.java delete mode 100644 pinot-core/src/test/java/org/apache/pinot/core/common/docidsets/BitmapDocIdSetTest.java delete mode 100644 pinot-core/src/test/java/org/apache/pinot/core/common/docidsets/SortedDocIdSetTest.java rename pinot-core/src/test/java/org/apache/pinot/core/data/function/{DateTimeFunctionEvaluatorTest.java => InbuiltFunctionsTest.java} (77%) create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/dociditerators/AndDocIdIteratorTest.java create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/dociditerators/OrDocIdIteratorTest.java create mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/dociditerators/SortedDocIdIteratorTest.java delete mode 100644 pinot-core/src/test/java/org/apache/pinot/core/operator/filter/IntRangesTest.java create mode 100644 pinot-plugins/pinot-input-format/pinot-avro-base/src/test/java/org/apache/pinot/plugin/inputformat/avro/AvroRecordExtractorComplexTypesTest.java delete mode 100644 pinot-plugins/pinot-input-format/pinot-avro-base/src/test/java/org/apache/pinot/plugin/inputformat/avro/AvroRecordExtractorMapTypeTest.java copy pinot-plugins/pinot-input-format/pinot-json/src/main/java/org/apache/pinot/plugin/inputformat/json/{JSONRecordExtractor.java => JSONRecordExtractorUtils.java} (51%) create mode 100644 pinot-plugins/pinot-input-format/pinot-json/src/test/java/org/apache/pinot/plugin/inputformat/json/JSONRecordExtractorUtilsTest.java --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@pinot.apache.org For additional commands, e-mail: commits-h...@pinot.apache.org