* expression_planner * Perform planner's transformations on a standalone expression. * * Various utility commands need to evaluate expressions that are not part * of a plannable query. They can do so using the executor's regular * expression-execution machinery, but first the expression has to be fed * through here to transform it from parser output to something executable. * * Currently
| 6745 | * context; beware that this can leak a lot of additional stuff there, too. |
| 6746 | */ |
| 6747 | Expr * |
| 6748 | expression_planner(Expr *expr) |
| 6749 | { |
| 6750 | Node *result; |
| 6751 | |
| 6752 | /* |
| 6753 | * Convert named-argument function calls, insert default arguments and |
| 6754 | * simplify constant subexprs |
| 6755 | */ |
| 6756 | result = eval_const_expressions(NULL, (Node *) expr); |
| 6757 | |
| 6758 | /* Fill in opfuncid values if missing */ |
| 6759 | fix_opfuncids(result); |
| 6760 | |
| 6761 | return (Expr *) result; |
| 6762 | } |
| 6763 | |
| 6764 | /* |
| 6765 | * expression_planner_with_deps |
no test coverage detected