|
| 1 | +/* |
| 2 | + * Created on: 2025-08-28 |
| 3 | + * Author: bingtao.yin@transwarp.io |
| 4 | + */ |
| 5 | + |
| 6 | +#include "pipeline/exec/argo_scan_operator.h" |
| 7 | + |
| 8 | +#include "vec/exec/scan/argo_scanner.h" |
| 9 | + |
| 10 | +namespace doris::pipeline { |
| 11 | + |
| 12 | +Status ArgoScanLocalState::_init_scanners(std::list<vectorized::VScannerSPtr>* scanners) { |
| 13 | + auto& p = _parent->cast<ArgoScanOperatorX>(); |
| 14 | + std::unique_ptr<vectorized::ArgoScanner> scanner = |
| 15 | + vectorized::ArgoScanner::create_unique(state(), this, p._limit, _scanner_profile.get()); |
| 16 | + RETURN_IF_ERROR(scanner->prepare(state(), _conjuncts)); |
| 17 | + scanners->push_back(std::move(scanner)); |
| 18 | + return Status::OK(); |
| 19 | +} |
| 20 | + |
| 21 | +std::string ArgoScanLocalState::name_suffix() const { |
| 22 | + return fmt::format(" (id={}. nereids_id={}. argo table name= {})", |
| 23 | + std::to_string(_parent->node_id()), std::to_string(_parent->nereids_id()), |
| 24 | + _parent->cast<ArgoScanOperatorX>()._table_name); |
| 25 | +}; |
| 26 | + |
| 27 | +ArgoScanOperatorX::ArgoScanOperatorX(ObjectPool* pool, const TPlanNode& tnode, int operator_id, |
| 28 | + const DescriptorTbl& descs, int parallel_tasks) |
| 29 | + : ScanOperatorX<ArgoScanLocalState>(pool, tnode, operator_id, descs, parallel_tasks), |
| 30 | + _tuple_id(tnode.argo_scan_node.tuple_id), |
| 31 | + _table_name(tnode.argo_scan_node.table_name) { |
| 32 | + _output_tuple_id = tnode.argo_scan_node.tuple_id; |
| 33 | +} |
| 34 | + |
| 35 | +}; // namespace doris::pipeline |
0 commit comments