当前位置:网站首页>Impala 疑问

Impala 疑问

2022-08-09 23:06:00 jasong

C++ 指针传递是有问题吗? 为啥语言传达不了信息

1. 调用前后 指针的地址是没有变化的

2. eeeeeeeeeeee

Status PlanNode::CreateTreeHelper(FragmentState* state,
    const std::vector<TPlanNode>& tnodes, PlanNode* parent, int* node_idx,
    PlanNode** root) {
  // propagate error case
  if (*node_idx >= tnodes.size()) {
    return Status("Failed to reconstruct plan tree from thrift.");
  }
  const TPlanNode& tnode = tnodes[*node_idx];

  int num_children = tnode.num_children;
  PlanNode* node = NULL;
  RETURN_IF_ERROR(CreatePlanNode(state->obj_pool(), tnode, &node));
  if (parent != NULL) {
    parent->children_.push_back(node);
  } else {
    *root = node;
  }
  for (int i = 0; i < num_children; ++i) {
    ++*node_idx;
    RETURN_IF_ERROR(
        CreateTreeHelper(state, tnodes, node, node_idx, nullptr));
    // we are expecting a child, but have used all nodes
    // this means we have been given a bad tree and must fail
    if (*node_idx >= tnodes.size()) {
      return Status("Failed to reconstruct plan tree from thrift.");
    }
  }

  // Call Init() after children have been set and Init()'d themselves
  RETURN_IF_ERROR(node->Init(tnode, state));
  return Status::OK();
}

state 调用前
state 调用后
原网站

版权声明
本文为[jasong]所创,转载请带上原文链接,感谢
https://cloud.tencent.com/developer/article/2069301