Use the proper macro to convert a bool to a Datum.
authorTom Lane <tgl@sss.pgh.pa.us>
Sun, 27 Nov 2011 17:57:11 +0000 (12:57 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Sun, 27 Nov 2011 17:57:11 +0000 (12:57 -0500)
The original coding was
var->value = (Datum) state;
which is bogus, and then in commit 2f0f7b4bce13e68394543728801ef011fd82fac6
it was "corrected" to
var->value = PointerGetDatum(state);
which is a faithful translation but still wrong.

This seems purely cosmetic, though, so no need for a back-patch.

Pavel Stehule

src/pl/plpgsql/src/pl_exec.c

index 387362a59a2de3b77e51301439e00b5e294600cb..717ad798772a85c7d05c59281ee47ca2f05490af 100644 (file)
@@ -5850,8 +5850,7 @@ exec_simple_recheck_plan(PLpgSQL_expr *expr, CachedPlan *cplan)
 }
 
 /* ----------
- * exec_set_found          Set the global found variable
- *                 to true/false
+ * exec_set_found          Set the global found variable to true/false
  * ----------
  */
 static void
@@ -5860,7 +5859,7 @@ exec_set_found(PLpgSQL_execstate *estate, bool state)
    PLpgSQL_var *var;
 
    var = (PLpgSQL_var *) (estate->datums[estate->found_varno]);
-   var->value = PointerGetDatum(state);
+   var->value = BoolGetDatum(state);
    var->isnull = false;
 }