Take a stack of nodes and turn them into a tree of concatenations.
| 10493 | |
| 10494 | // Take a stack of nodes and turn them into a tree of concatenations. |
| 10495 | ValueExprNode* 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 | |
| 10512 | void RecordKeyNode::raiseError(dsql_ctx* context) const |
| 10513 | { |
nothing calls this directly
no test coverage detected