diff --git a/be/src/vec/olap/vcollect_iterator.cpp b/be/src/vec/olap/vcollect_iterator.cpp index 7d4560f107d341..b9160514ad06f1 100644 --- a/be/src/vec/olap/vcollect_iterator.cpp +++ b/be/src/vec/olap/vcollect_iterator.cpp @@ -31,6 +31,12 @@ namespace vectorized { } \ } while (false) +VCollectIterator::~VCollectIterator() { + for (auto child : _children) { + delete child; + } +} + void VCollectIterator::init(TabletReader* reader, bool force_merge, bool is_reverse) { _reader = reader; // when aggregate is enabled or key_type is DUP_KEYS, we don't merge diff --git a/be/src/vec/olap/vcollect_iterator.h b/be/src/vec/olap/vcollect_iterator.h index 815752f28c108e..b16f752bc01aa5 100644 --- a/be/src/vec/olap/vcollect_iterator.h +++ b/be/src/vec/olap/vcollect_iterator.h @@ -37,7 +37,7 @@ namespace vectorized { class VCollectIterator { public: // Hold reader point to get reader params - ~VCollectIterator() = default; + ~VCollectIterator(); void init(TabletReader* reader, bool force_merge, bool is_reverse);