[feature](table-valued-function) Support S3 tvf (#13959)
This pr does three things: 1. Modified the framework of table-valued-function(tvf). 2. be support `fetch_table_schema` rpc. 3. Implemented `S3(path, AK, SK, format)` table-valued-function.
This commit is contained in:
@ -69,6 +69,7 @@
|
||||
#include "vec/exec/vanalytic_eval_node.h"
|
||||
#include "vec/exec/vassert_num_rows_node.h"
|
||||
#include "vec/exec/vbroker_scan_node.h"
|
||||
#include "vec/exec/vdata_gen_scan_node.h"
|
||||
#include "vec/exec/vempty_set_node.h"
|
||||
#include "vec/exec/ves_http_scan_node.h"
|
||||
#include "vec/exec/vexcept_node.h"
|
||||
@ -84,7 +85,6 @@
|
||||
#include "vec/exec/vselect_node.h"
|
||||
#include "vec/exec/vsort_node.h"
|
||||
#include "vec/exec/vtable_function_node.h"
|
||||
#include "vec/exec/vtable_valued_function_scannode.h"
|
||||
#include "vec/exec/vunion_node.h"
|
||||
#include "vec/exprs/vexpr.h"
|
||||
|
||||
@ -417,7 +417,7 @@ Status ExecNode::create_node(RuntimeState* state, ObjectPool* pool, const TPlanN
|
||||
case TPlanNodeType::REPEAT_NODE:
|
||||
case TPlanNodeType::TABLE_FUNCTION_NODE:
|
||||
case TPlanNodeType::BROKER_SCAN_NODE:
|
||||
case TPlanNodeType::TABLE_VALUED_FUNCTION_SCAN_NODE:
|
||||
case TPlanNodeType::DATA_GEN_SCAN_NODE:
|
||||
case TPlanNodeType::FILE_SCAN_NODE:
|
||||
case TPlanNodeType::JDBC_SCAN_NODE:
|
||||
break;
|
||||
@ -650,9 +650,9 @@ Status ExecNode::create_node(RuntimeState* state, ObjectPool* pool, const TPlanN
|
||||
}
|
||||
return Status::OK();
|
||||
|
||||
case TPlanNodeType::TABLE_VALUED_FUNCTION_SCAN_NODE:
|
||||
case TPlanNodeType::DATA_GEN_SCAN_NODE:
|
||||
if (state->enable_vectorized_exec()) {
|
||||
*node = pool->add(new vectorized::VTableValuedFunctionScanNode(pool, tnode, descs));
|
||||
*node = pool->add(new vectorized::VDataGenFunctionScanNode(pool, tnode, descs));
|
||||
return Status::OK();
|
||||
} else {
|
||||
error_msg << "numbers table function only support vectorized execution";
|
||||
@ -721,7 +721,7 @@ void ExecNode::collect_scan_nodes(vector<ExecNode*>* nodes) {
|
||||
collect_nodes(TPlanNodeType::OLAP_SCAN_NODE, nodes);
|
||||
collect_nodes(TPlanNodeType::BROKER_SCAN_NODE, nodes);
|
||||
collect_nodes(TPlanNodeType::ES_HTTP_SCAN_NODE, nodes);
|
||||
collect_nodes(TPlanNodeType::TABLE_VALUED_FUNCTION_SCAN_NODE, nodes);
|
||||
collect_nodes(TPlanNodeType::DATA_GEN_SCAN_NODE, nodes);
|
||||
collect_nodes(TPlanNodeType::FILE_SCAN_NODE, nodes);
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user