| 1271 | } |
| 1272 | |
| 1273 | static void |
| 1274 | checkWindowFuncInRecursiveTerm(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 | } |
no test coverage detected