MCPcopy Create free account
hub / github.com/FirebirdSQL/firebird / catenateNodes

Method catenateNodes

src/dsql/ExprNodes.cpp:10495–10510  ·  view source on GitHub ↗

Take a stack of nodes and turn them into a tree of concatenations.

Source from the content-addressed store, hash-verified

10493
10494// Take a stack of nodes and turn them into a tree of concatenations.
10495ValueExprNode* RecordKeyNode::catenateNodes(thread_db* tdbb, ValueExprNodeStack& stack)
10496{
10497 SET_TDBB(tdbb);
10498
10499 ValueExprNode* node1 = stack.pop();
10500
10501 if (stack.isEmpty())
10502 return node1;
10503
10504 ConcatenateNode* concatNode = FB_NEW_POOL(*tdbb->getDefaultPool()) ConcatenateNode(
10505 *tdbb->getDefaultPool());
10506 concatNode->arg1 = node1;
10507 concatNode->arg2 = catenateNodes(tdbb, stack);
10508
10509 return concatNode;
10510}
10511
10512void RecordKeyNode::raiseError(dsql_ctx* context) const
10513{

Callers

nothing calls this directly

Calls 5

SET_TDBBFunction · 0.85
ConcatenateNodeClass · 0.85
popMethod · 0.45
isEmptyMethod · 0.45
getDefaultPoolMethod · 0.45

Tested by

no test coverage detected