* Does target list have SRFs? */
| 525 | * Does target list have SRFs? |
| 526 | */ |
| 527 | bool |
| 528 | tlist_has_srf(const Query *query) |
| 529 | { |
| 530 | if (query->hasTargetSRFs) |
| 531 | { |
| 532 | return true; |
| 533 | } |
| 534 | |
| 535 | if (expression_returns_set((Node *) query->targetList)) |
| 536 | { |
| 537 | return true; |
| 538 | } |
| 539 | |
| 540 | return false; |
| 541 | } |
| 542 | |
| 543 | /* |
| 544 | * DISTINCT/DISTINCT ON/ORDER BY optimization. |
no test coverage detected