This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 04e30c91a0be9418fbe482489d78db5b027cdf67 Author: lihangyu <15605149...@163.com> AuthorDate: Thu Apr 18 10:59:02 2024 +0800 [Fix](Variant) VariantRootColumnIterator::read_by_rowids with wrong null map size (#33734) insert_range_from should start from `size` with `count` elements for null map --- be/src/olap/rowset/segment_v2/column_reader.cpp | 5 +- .../data/variant_p0/topn_opt_read_by_rowids.out | 14 +++ .../variant_p0/topn_opt_read_by_rowids.groovy | 104 +++++++++++++++++++++ 3 files changed, 121 insertions(+), 2 deletions(-) diff --git a/be/src/olap/rowset/segment_v2/column_reader.cpp b/be/src/olap/rowset/segment_v2/column_reader.cpp index 0506250f247..9d19d1a64b4 100644 --- a/be/src/olap/rowset/segment_v2/column_reader.cpp +++ b/be/src/olap/rowset/segment_v2/column_reader.cpp @@ -1536,7 +1536,7 @@ Status VariantRootColumnIterator::read_by_rowids(const rowid_t* rowids, const si RETURN_IF_ERROR(_inner_iter->read_by_rowids(rowids, count, root_column)); obj.incr_num_rows(count); for (auto& entry : obj.get_subcolumns()) { - if (entry->data.size() != size + count) { + if (entry->data.size() != (size + count)) { entry->data.insertManyDefaults(count); } } @@ -1546,7 +1546,8 @@ Status VariantRootColumnIterator::read_by_rowids(const rowid_t* rowids, const si assert_cast<vectorized::ColumnNullable&>(*dst).get_null_map_column(); vectorized::ColumnUInt8& src_null_map = assert_cast<vectorized::ColumnNullable&>(*root_column).get_null_map_column(); - dst_null_map.insert_range_from(src_null_map, 0, src_null_map.size()); + DCHECK_EQ(src_null_map.size() - size, count); + dst_null_map.insert_range_from(src_null_map, size, count); } #ifndef NDEBUG obj.check_consistency(); diff --git a/regression-test/data/variant_p0/topn_opt_read_by_rowids.out b/regression-test/data/variant_p0/topn_opt_read_by_rowids.out new file mode 100644 index 00000000000..6ee3844f7ef --- /dev/null +++ b/regression-test/data/variant_p0/topn_opt_read_by_rowids.out @@ -0,0 +1,14 @@ +-- This file is automatically generated. You should know what you did if you want to edit this +-- !sql -- +2024-04-09T09:01:39 1712624474952 0004.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] +2024-04-09T09:01:39 1712624474952 0004.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] +2024-04-09T09:01:39 1712624474952 0004.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] + +-- !sql -- +2024-04-09T09:02:31 1712624495211 004.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_qf [...] +2024-04-09T09:01:39 1712624474952 0004.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] +2024-04-09T09:03:32 1712624474153 0014.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] +2024-04-09T09:04:33 1712624474959 0024.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] +2024-04-09T09:01:39 1712624474952 0004.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] +2024-04-09T09:01:39 1712624474952 0004.00 740lp sit-iniwork-lcd-designer.qm.cn \N \N 630beed604d0513c 0000.0 \N https://sit-iniwork-lcd-designer.qm.cn/designer 1544512389907021826 https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsImlkbWlkIjpudWxsLCJleHAiOjE3MTMxNDYxMTUsInVwa2lkIjoiMTU0NDUxMjM4OTkwNzAyMTgyNiJ9.j8sJbrgrJzwPh5Ee1AoodqIJ7KsMT_q [...] + diff --git a/regression-test/suites/variant_p0/topn_opt_read_by_rowids.groovy b/regression-test/suites/variant_p0/topn_opt_read_by_rowids.groovy new file mode 100644 index 00000000000..dd597755a6d --- /dev/null +++ b/regression-test/suites/variant_p0/topn_opt_read_by_rowids.groovy @@ -0,0 +1,104 @@ +// Licensed to the Apache Software Foundation (ASF) under one +// or more contributor license agreements. See the NOTICE file +// distributed with this work for additional information +// regarding copyright ownership. The ASF licenses this file +// to you under the Apache License, Version 2.0 (the +// "License"); you may not use this file except in compliance +// with the License. You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, +// software distributed under the License is distributed on an +// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY +// KIND, either express or implied. See the License for the +// specific language governing permissions and limitations +// under the License. + +suite("regression_test_variant_topn_opt_read_by_rowids", "p0"){ + sql "DROP TABLE IF EXISTS test_web_log" + sql """ + CREATE TABLE `test_web_log` ( + `timestampkey` DATETIME NULL DEFAULT CURRENT_TIMESTAMP COMMENT '', + `nodeName` VARCHAR(100) NULL COMMENT '', + `serviceCode` VARCHAR(100) NULL COMMENT '', + `pageTitle` VARCHAR(100) NULL COMMENT '', + `nodeIp` VARCHAR(100) NULL COMMENT '', + `clientTs` LARGEINT NULL COMMENT '', + `spanId` VARCHAR(1000) NULL COMMENT '', + `loginName` VARCHAR(100) NULL COMMENT '', + `host` VARCHAR(100) NULL COMMENT '', + `nameSpace` VARCHAR(100) NULL COMMENT '', + `event` VARIANT NULL COMMENT '', + `httpInfo` VARIANT NULL COMMENT '', + `iworkHost` VARCHAR(100) NULL COMMENT '', + `traceId` VARCHAR(1000) NULL COMMENT '', + `pSpanId` VARCHAR(1000) NULL COMMENT '', + `timing` VARIANT NULL COMMENT '', + `clusterFlag` VARCHAR(100) NULL COMMENT '', + `sessionId` VARCHAR(1000) NULL COMMENT '', + `serviceName` VARCHAR(100) NULL COMMENT '', + `userName` VARCHAR(100) NULL COMMENT '', + `uri` VARCHAR(1000) NULL COMMENT '', + `userId` VARCHAR(100) NULL COMMENT '', + `url` VARCHAR(1000) NULL COMMENT '', + `systemCode` VARCHAR(100) NULL COMMENT '', + `tenantId` VARCHAR(100) NULL COMMENT '', + `podName` VARCHAR(100) NULL COMMENT '', + `siteId` VARCHAR(100) NULL COMMENT '', + `time` VARCHAR(100) NULL COMMENT '', + `region` VARCHAR(100) NULL COMMENT '', + `device` VARIANT NULL COMMENT '', + `ts` VARCHAR(100) NULL COMMENT '', + `timestamp` LARGEINT NULL COMMENT '', + `resourceLoad` VARIANT NULL COMMENT '', + `scriptError` VARIANT NULL COMMENT '' +) ENGINE=OLAP +DUPLICATE KEY(`timestampkey`) +COMMENT 'OLAP' +PARTITION BY RANGE(`timestampkey`) +( +PARTITION p2024040909 VALUES [('2024-04-09 09:00:00'), ('2024-04-09 10:00:00')), +PARTITION p2024040910 VALUES [('2024-04-09 10:00:00'), ('2024-04-09 11:00:00')), +PARTITION p2024040911 VALUES [('2024-04-09 11:00:00'), ('2024-04-09 12:00:00')), +PARTITION p2024040923 VALUES [('2024-04-09 12:00:00'), ('2024-04-10 00:00:00'))) +DISTRIBUTED BY HASH(`traceId`) BUCKETS 25 +PROPERTIES ( +"replication_allocation" = "tag.location.default: 1" +); + """ + sql """ + INSERT INTO `test_web_log` VALUES ('2024-04-09 09:01:39', '', '', '', '', '1712624474952', '0004.00', '740lp', 'sit-iniwork-lcd-designer.qm.cn', '', NULL, NULL, '', '630beed604d0513c', '0000.0', NULL, '', '', '', '', 'https://sit-iniwork-lcd-designer.qm.cn/designer', '1544512389907021826', 'https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsIm [...] + """ + sql """ + INSERT INTO `test_web_log` VALUES ('2024-04-09 09:01:39', '', '', '', '', '1712624474952', '0004.00', '740lp', 'sit-iniwork-lcd-designer.qm.cn', '', NULL, NULL, '', '630beed604d0513c', '0000.0', NULL, '', '', '', '', 'https://sit-iniwork-lcd-designer.qm.cn/designer', '1544512389907021826', 'https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsIm [...] + """ + sql """ + INSERT INTO `test_web_log` VALUES ('2024-04-09 09:01:39', '', '', '', '', '1712624474952', '0004.00', '740lp', 'sit-iniwork-lcd-designer.qm.cn', '', NULL, NULL, '', '630beed604d0513c', '0000.0', NULL, '', '', '', '', 'https://sit-iniwork-lcd-designer.qm.cn/designer', '1544512389907021826', 'https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsIm [...] + """ + sql "set topn_opt_limit_threshold = 1024" + qt_sql """SELECT + * FROM + test_web_log + WHERE + ts >= '1712480940849' + AND ts <= '1712805483291' + ORDER BY + ts DESC + LIMIT 10""" + sql """ + INSERT INTO `test_web_log` VALUES ('2024-04-09 09:02:31', '', '', '', '', '1712624495211', '004.00', '740lp', 'sit-iniwork-lcd-designer.qm.cn', '', NULL, NULL, '', '630beed604d0513c', '0000.0', NULL, '', '', '', '', 'https://sit-iniwork-lcd-designer.qm.cn/designer', '1544512389907021826', 'https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsIml [...] + """ + sql """ + INSERT INTO `test_web_log` VALUES ('2024-04-09 09:03:32', '', '', '', '', '1712624474153', '0014.00', '740lp', 'sit-iniwork-lcd-designer.qm.cn', '', NULL, NULL, '', '630beed604d0513c', '0000.0', NULL, '', '', '', '', 'https://sit-iniwork-lcd-designer.qm.cn/designer', '1544512389907021826', 'https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsIm [...] + """ + sql """ + INSERT INTO `test_web_log` VALUES ('2024-04-09 09:04:33', '', '', '', '', '1712624474959', '0024.00', '740lp', 'sit-iniwork-lcd-designer.qm.cn', '', NULL, NULL, '', '630beed604d0513c', '0000.0', NULL, '', '', '', '', 'https://sit-iniwork-lcd-designer.qm.cn/designer', '1544512389907021826', 'https://sit-iniwork-lcd-designer.qm.cn/designer?caseName=44&caseCode=d4&appId=3fec598d32b10d26958d1d9119519c64&token=eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiI3NDBscCIsImNyZWF0ZWQiOjE3MTI1NDEzMTU0MzUsIm [...] + """ + qt_sql """SELECT + * FROM + test_web_log + ORDER BY + ts DESC + LIMIT 10""" +} \ No newline at end of file --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org