From 4054b93e010407a75310a2f39034ab7186dca3da Mon Sep 17 00:00:00 2001 From: BiteTheDDDDt <952130278@qq.com> Date: Fri, 29 Apr 2022 18:01:46 +0800 Subject: [PATCH 1/2] fix clang compile fail --- be/src/vec/exec/vbroker_scan_node.h | 1 + be/src/vec/exec/vbroker_scanner.h | 1 + 2 files changed, 2 insertions(+) diff --git a/be/src/vec/exec/vbroker_scan_node.h b/be/src/vec/exec/vbroker_scan_node.h index ee7f76381590db..33c5676e967074 100644 --- a/be/src/vec/exec/vbroker_scan_node.h +++ b/be/src/vec/exec/vbroker_scan_node.h @@ -33,6 +33,7 @@ class VBrokerScanNode final : public BrokerScanNode { VBrokerScanNode(ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl& descs); ~VBrokerScanNode() override = default; + using BrokerScanNode::get_next; Status get_next(RuntimeState* state, vectorized::Block* block, bool* eos) override; // Close the scanner, and report errors. diff --git a/be/src/vec/exec/vbroker_scanner.h b/be/src/vec/exec/vbroker_scanner.h index 46128100abf7cb..fcefdb3499f565 100644 --- a/be/src/vec/exec/vbroker_scanner.h +++ b/be/src/vec/exec/vbroker_scanner.h @@ -29,6 +29,7 @@ class VBrokerScanner final : public BrokerScanner { const std::vector& pre_filter_texprs, ScannerCounter* counter); ~VBrokerScanner() override = default; + using BrokerScanner::get_next; Status get_next(std::vector& columns, bool* eof) override; private: From e4efd5b473fe1013b0e2ff248f8288a58e40a740 Mon Sep 17 00:00:00 2001 From: BiteTheDDDDt <952130278@qq.com> Date: Fri, 29 Apr 2022 18:54:24 +0800 Subject: [PATCH 2/2] implement on base class --- be/src/exec/broker_scan_node.h | 20 ++++++++++++-------- be/src/exec/broker_scanner.h | 6 +++++- be/src/vec/exec/vbroker_scan_node.h | 1 - be/src/vec/exec/vbroker_scanner.h | 1 - 4 files changed, 17 insertions(+), 11 deletions(-) diff --git a/be/src/exec/broker_scan_node.h b/be/src/exec/broker_scan_node.h index 68adbf007c4433..e8fb99b24be051 100644 --- a/be/src/exec/broker_scan_node.h +++ b/be/src/exec/broker_scan_node.h @@ -41,29 +41,33 @@ struct ScannerCounter; class BrokerScanNode : public ScanNode { public: BrokerScanNode(ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl& descs); - virtual ~BrokerScanNode(); + ~BrokerScanNode() override; // Called after create this scan node - virtual Status init(const TPlanNode& tnode, RuntimeState* state = nullptr) override; + Status init(const TPlanNode& tnode, RuntimeState* state = nullptr) override; // Prepare partition infos & set up timer - virtual Status prepare(RuntimeState* state) override; + Status prepare(RuntimeState* state) override; // Start broker scan using ParquetScanner or BrokerScanner. - virtual Status open(RuntimeState* state) override; + Status open(RuntimeState* state) override; // Fill the next row batch by calling next() on the scanner, - virtual Status get_next(RuntimeState* state, RowBatch* row_batch, bool* eos) override; + Status get_next(RuntimeState* state, RowBatch* row_batch, bool* eos) override; + + Status get_next(RuntimeState* state, vectorized::Block* block, bool* eos) override { + return Status::NotSupported("Not Implemented get block"); + } // Close the scanner, and report errors. - virtual Status close(RuntimeState* state) override; + Status close(RuntimeState* state) override; // No use - virtual Status set_scan_ranges(const std::vector& scan_ranges) override; + Status set_scan_ranges(const std::vector& scan_ranges) override; protected: // Write debug string of this into out. - virtual void debug_string(int indentation_level, std::stringstream* out) const override; + void debug_string(int indentation_level, std::stringstream* out) const override; // Update process status to one failed status, // NOTE: Must hold the mutex of this scan node diff --git a/be/src/exec/broker_scanner.h b/be/src/exec/broker_scanner.h index e56fce6bc63316..7906b98ff43130 100644 --- a/be/src/exec/broker_scanner.h +++ b/be/src/exec/broker_scanner.h @@ -56,7 +56,7 @@ class BrokerScanner : public BaseScanner { const TBrokerScanRangeParams& params, const std::vector& ranges, const std::vector& broker_addresses, const std::vector& pre_filter_texprs, ScannerCounter* counter); - virtual ~BrokerScanner(); + ~BrokerScanner() override; // Open this scanner, will initialize information need to Status open() override; @@ -64,6 +64,10 @@ class BrokerScanner : public BaseScanner { // Get next tuple Status get_next(Tuple* tuple, MemPool* tuple_pool, bool* eof, bool* fill_tuple) override; + Status get_next(std::vector& columns, bool* eof) override { + return Status::NotSupported("Not Implemented get columns"); + } + // Close this scanner void close() override; diff --git a/be/src/vec/exec/vbroker_scan_node.h b/be/src/vec/exec/vbroker_scan_node.h index 33c5676e967074..ee7f76381590db 100644 --- a/be/src/vec/exec/vbroker_scan_node.h +++ b/be/src/vec/exec/vbroker_scan_node.h @@ -33,7 +33,6 @@ class VBrokerScanNode final : public BrokerScanNode { VBrokerScanNode(ObjectPool* pool, const TPlanNode& tnode, const DescriptorTbl& descs); ~VBrokerScanNode() override = default; - using BrokerScanNode::get_next; Status get_next(RuntimeState* state, vectorized::Block* block, bool* eos) override; // Close the scanner, and report errors. diff --git a/be/src/vec/exec/vbroker_scanner.h b/be/src/vec/exec/vbroker_scanner.h index fcefdb3499f565..46128100abf7cb 100644 --- a/be/src/vec/exec/vbroker_scanner.h +++ b/be/src/vec/exec/vbroker_scanner.h @@ -29,7 +29,6 @@ class VBrokerScanner final : public BrokerScanner { const std::vector& pre_filter_texprs, ScannerCounter* counter); ~VBrokerScanner() override = default; - using BrokerScanner::get_next; Status get_next(std::vector& columns, bool* eof) override; private: