Skip to content

Commit bb8eb02

Browse files
committed
fix parse_functions upgrade issues
1 parent 6dda0bb commit bb8eb02

File tree

1 file changed

+9
-1
lines changed

1 file changed

+9
-1
lines changed

src/parse_functions.cpp

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
#include "duckdb.hpp"
33
#include "duckdb/parser/parser.hpp"
44
#include "duckdb/parser/statement/select_statement.hpp"
5+
#include "duckdb/parser/query_node/cte_node.hpp"
56
#include "duckdb/parser/query_node/select_node.hpp"
67
#include "duckdb/parser/expression/function_expression.hpp"
78
#include "duckdb/parser/expression/window_expression.hpp"
@@ -201,7 +202,14 @@ static void ExtractFunctionsFromQueryNode(const QueryNode &node, std::vector<Fun
201202
}
202203
}
203204
}
204-
}
205+
// additional step necessary for duckdb v1.4.0: unwrap CTE node
206+
} else if (node.type == QueryNodeType::CTE_NODE) {
207+
auto &cte_node = (CTENode &)node;
208+
209+
if (cte_node.child) {
210+
ExtractFunctionsFromQueryNode(*cte_node.child, results);
211+
}
212+
}
205213
}
206214

207215
static void ExtractFunctionsFromSQL(const std::string &sql, std::vector<FunctionResult> &results) {

0 commit comments

Comments
 (0)