---------- * exec_eval_boolean Evaluate an expression, coerce result to bool * * Note we do not do exec_eval_cleanup here; the caller must do it at * some later point. * ---------- */
| 5589 | * ---------- |
| 5590 | */ |
| 5591 | static bool |
| 5592 | exec_eval_boolean(PLpgSQL_execstate *estate, |
| 5593 | PLpgSQL_expr *expr, |
| 5594 | bool *isNull) |
| 5595 | { |
| 5596 | Datum exprdatum; |
| 5597 | Oid exprtypeid; |
| 5598 | int32 exprtypmod; |
| 5599 | |
| 5600 | exprdatum = exec_eval_expr(estate, expr, isNull, &exprtypeid, &exprtypmod); |
| 5601 | exprdatum = exec_cast_value(estate, exprdatum, isNull, |
| 5602 | exprtypeid, exprtypmod, |
| 5603 | BOOLOID, -1); |
| 5604 | return DatumGetBool(exprdatum); |
| 5605 | } |
| 5606 | |
| 5607 | /* ---------- |
| 5608 | * exec_eval_expr Evaluate an expression and return |
no test coverage detected