| 159 | } |
| 160 | |
| 161 | std::shared_ptr<Expression> GDSFunction::bindNodeOutput(const TableFuncBindInput& bindInput, |
| 162 | const std::vector<TableCatalogEntry*>& nodeEntries, const std::optional<std::string>& name, |
| 163 | const std::optional<uint64_t>& yieldVariableIdx) { |
| 164 | std::string nodeColumnName = name.value_or(NODE_COLUMN_NAME); |
| 165 | StringUtils::toLower(nodeColumnName); |
| 166 | if (!bindInput.yieldVariables.empty()) { |
| 167 | nodeColumnName = |
| 168 | bindColumnName(bindInput.yieldVariables[yieldVariableIdx.value_or(0)], nodeColumnName); |
| 169 | } |
| 170 | auto node = bindInput.binder->createQueryNode(nodeColumnName, nodeEntries); |
| 171 | bindInput.binder->addToScope(nodeColumnName, node); |
| 172 | return node; |
| 173 | } |
| 174 | |
| 175 | std::string GDSFunction::bindColumnName(const parser::YieldVariable& yieldVariable, |
| 176 | std::string expressionName) { |
nothing calls this directly
no test coverage detected