MCPcopy Create free account
hub / github.com/apache/cloudberry / checkWindowFuncInRecursiveTerm

Function checkWindowFuncInRecursiveTerm

src/backend/parser/parse_cte.c:1273–1293  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1271}
1272
1273static void
1274checkWindowFuncInRecursiveTerm(SelectStmt *stmt, CteState *cstate)
1275{
1276 CTEWindowAggSearchContext context;
1277
1278 context.found = false;
1279 context.func = NULL;
1280
1281 (void) raw_expression_tree_walker((Node *) stmt->targetList,
1282 cte_window_agg_walker,
1283 (void *) &context);
1284
1285 if (context.found)
1286 {
1287 ereport(ERROR,
1288 (errcode(ERRCODE_GP_FEATURE_NOT_YET),
1289 errmsg("window functions in the target list of a recursive query is not supported"),
1290 parser_errposition(cstate->pstate,
1291 exprLocation((Node *) context.func))));
1292 }
1293}

Callers 1

Calls 5

parser_errpositionFunction · 0.85
exprLocationFunction · 0.85
errcodeFunction · 0.50
errmsgFunction · 0.50

Tested by

no test coverage detected