[pipelineX](feature) Support schema scan operator (#24850)
This commit is contained in:
@ -64,42 +64,47 @@ VSchemaScanNode::~VSchemaScanNode() {}
|
||||
Status VSchemaScanNode::init(const TPlanNode& tnode, RuntimeState* state) {
|
||||
RETURN_IF_ERROR(ExecNode::init(tnode, state));
|
||||
if (tnode.schema_scan_node.__isset.db) {
|
||||
_scanner_param.db = _pool->add(new std::string(tnode.schema_scan_node.db));
|
||||
_scanner_param.common_param->db = _pool->add(new std::string(tnode.schema_scan_node.db));
|
||||
}
|
||||
|
||||
if (tnode.schema_scan_node.__isset.table) {
|
||||
_scanner_param.table = _pool->add(new std::string(tnode.schema_scan_node.table));
|
||||
_scanner_param.common_param->table =
|
||||
_pool->add(new std::string(tnode.schema_scan_node.table));
|
||||
}
|
||||
|
||||
if (tnode.schema_scan_node.__isset.wild) {
|
||||
_scanner_param.wild = _pool->add(new std::string(tnode.schema_scan_node.wild));
|
||||
_scanner_param.common_param->wild =
|
||||
_pool->add(new std::string(tnode.schema_scan_node.wild));
|
||||
}
|
||||
|
||||
if (tnode.schema_scan_node.__isset.current_user_ident) {
|
||||
_scanner_param.current_user_ident =
|
||||
_scanner_param.common_param->current_user_ident =
|
||||
_pool->add(new TUserIdentity(tnode.schema_scan_node.current_user_ident));
|
||||
} else {
|
||||
if (tnode.schema_scan_node.__isset.user) {
|
||||
_scanner_param.user = _pool->add(new std::string(tnode.schema_scan_node.user));
|
||||
_scanner_param.common_param->user =
|
||||
_pool->add(new std::string(tnode.schema_scan_node.user));
|
||||
}
|
||||
if (tnode.schema_scan_node.__isset.user_ip) {
|
||||
_scanner_param.user_ip = _pool->add(new std::string(tnode.schema_scan_node.user_ip));
|
||||
_scanner_param.common_param->user_ip =
|
||||
_pool->add(new std::string(tnode.schema_scan_node.user_ip));
|
||||
}
|
||||
}
|
||||
|
||||
if (tnode.schema_scan_node.__isset.ip) {
|
||||
_scanner_param.ip = _pool->add(new std::string(tnode.schema_scan_node.ip));
|
||||
_scanner_param.common_param->ip = _pool->add(new std::string(tnode.schema_scan_node.ip));
|
||||
}
|
||||
if (tnode.schema_scan_node.__isset.port) {
|
||||
_scanner_param.port = tnode.schema_scan_node.port;
|
||||
_scanner_param.common_param->port = tnode.schema_scan_node.port;
|
||||
}
|
||||
|
||||
if (tnode.schema_scan_node.__isset.thread_id) {
|
||||
_scanner_param.thread_id = tnode.schema_scan_node.thread_id;
|
||||
_scanner_param.common_param->thread_id = tnode.schema_scan_node.thread_id;
|
||||
}
|
||||
|
||||
if (tnode.schema_scan_node.__isset.catalog) {
|
||||
_scanner_param.catalog = _pool->add(new std::string(tnode.schema_scan_node.catalog));
|
||||
_scanner_param.common_param->catalog =
|
||||
_pool->add(new std::string(tnode.schema_scan_node.catalog));
|
||||
}
|
||||
return Status::OK();
|
||||
}
|
||||
@ -121,9 +126,9 @@ Status VSchemaScanNode::open(RuntimeState* state) {
|
||||
RETURN_IF_CANCELLED(state);
|
||||
RETURN_IF_ERROR(ExecNode::open(state));
|
||||
|
||||
if (_scanner_param.user) {
|
||||
if (_scanner_param.common_param->user) {
|
||||
TSetSessionParams param;
|
||||
param.__set_user(*_scanner_param.user);
|
||||
param.__set_user(*_scanner_param.common_param->user);
|
||||
//TStatus t_status;
|
||||
//RETURN_IF_ERROR(SchemaJniHelper::set_session(param, &t_status));
|
||||
//RETURN_IF_ERROR(Status(t_status));
|
||||
|
||||
Reference in New Issue
Block a user