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

yiguolei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git


The following commit(s) were added to refs/heads/master by this push:
     new 5f71691401b [fix](read) fix unexpected overflow of uninitialized 
column data in VStatisticsIterator::next_batch (#29141)
5f71691401b is described below

commit 5f71691401b0096e0ca2cf460337b72df10e0a2e
Author: TengJianPing <[email protected]>
AuthorDate: Wed Dec 27 20:58:02 2023 +0800

    [fix](read) fix unexpected overflow of uninitialized column data in 
VStatisticsIterator::next_batch (#29141)
---
 be/src/vec/olap/vgeneric_iterators.cpp                             | 2 +-
 regression-test/data/datatype_p0/decimalv3/test_decimalv3.out      | 6 ++++++
 regression-test/suites/datatype_p0/decimalv3/test_decimalv3.groovy | 5 +++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git a/be/src/vec/olap/vgeneric_iterators.cpp 
b/be/src/vec/olap/vgeneric_iterators.cpp
index 155bb4ee076..0e97f1d1720 100644
--- a/be/src/vec/olap/vgeneric_iterators.cpp
+++ b/be/src/vec/olap/vgeneric_iterators.cpp
@@ -76,7 +76,7 @@ Status VStatisticsIterator::next_batch(Block* block) {
         if (_push_down_agg_type_opt == TPushAggOp::COUNT) {
             size = std::min(_target_rows - _output_rows, 
MAX_ROW_SIZE_IN_COUNT);
             for (int i = 0; i < columns.size(); ++i) {
-                columns[i]->resize(size);
+                columns[i]->insert_many_defaults(size);
             }
         } else {
             for (int i = 0; i < columns.size(); ++i) {
diff --git a/regression-test/data/datatype_p0/decimalv3/test_decimalv3.out 
b/regression-test/data/datatype_p0/decimalv3/test_decimalv3.out
index 026424e76f8..b137c2c882d 100644
--- a/regression-test/data/datatype_p0/decimalv3/test_decimalv3.out
+++ b/regression-test/data/datatype_p0/decimalv3/test_decimalv3.out
@@ -5,6 +5,12 @@
 -- !decimalv3 --
 100.00000000000000000000
 
+-- !decimalv3_view1 --
+1
+
+-- !decimalv3_view2 --
+1
+
 -- !aEb_test1 --
 0
 
diff --git a/regression-test/suites/datatype_p0/decimalv3/test_decimalv3.groovy 
b/regression-test/suites/datatype_p0/decimalv3/test_decimalv3.groovy
index f0535ad8689..2bcdc58f4b7 100644
--- a/regression-test/suites/datatype_p0/decimalv3/test_decimalv3.groovy
+++ b/regression-test/suites/datatype_p0/decimalv3/test_decimalv3.groovy
@@ -27,6 +27,11 @@ suite("test_decimalv3") {
 
     qt_decimalv3 "select * from test5_v"
     qt_decimalv3 "select cast(a as decimalv3(12,10)) * cast(b as 
decimalv3(18,10)) from test5"
+    qt_decimalv3_view1 "select count(*) from test5_v;"
+
+    sql "drop view if exists test5_v2"
+    sql "create view test5_v2 (amout) as select cast(a as decimalv3(18,6)) 
from test5"
+    qt_decimalv3_view2 "select count(*) from test5_v2;"
 
     /*
     sql "drop table if exists test_decimal256;"


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

Reply via email to