]> granicus.if.org Git - postgresql/commitdiff
Fix thinko in SPI_execute_plan() calls
authorPeter Eisentraut <peter_e@gmx.net>
Sat, 23 Nov 2013 14:34:57 +0000 (09:34 -0500)
committerPeter Eisentraut <peter_e@gmx.net>
Sat, 23 Nov 2013 14:34:57 +0000 (09:34 -0500)
Two call sites were apparently thinking that the last argument of
SPI_execute_plan() is the number of query parameters, but it is actually
the row limit.  Change the calls to 0, since we don't care about the
limit there.  The previous code didn't break anything, but it was still
wrong.

src/backend/utils/adt/ruleutils.c

index dffac7c5293d93913b7ab0b8193bdd1ae1f07a2d..29a1027a1006998e66f3d7d4f901d5ac9bffc03d 100644 (file)
@@ -480,7 +480,7 @@ pg_get_ruledef_worker(Oid ruleoid, int prettyFlags)
         */
        args[0] = ObjectIdGetDatum(ruleoid);
        nulls[0] = ' ';
-       spirc = SPI_execute_plan(plan_getrulebyoid, args, nulls, true, 1);
+       spirc = SPI_execute_plan(plan_getrulebyoid, args, nulls, true, 0);
        if (spirc != SPI_OK_SELECT)
                elog(ERROR, "failed to get pg_rewrite tuple for rule %u", ruleoid);
        if (SPI_processed != 1)
@@ -635,7 +635,7 @@ pg_get_viewdef_worker(Oid viewoid, int prettyFlags, int wrapColumn)
        args[1] = DirectFunctionCall1(namein, CStringGetDatum(ViewSelectRuleName));
        nulls[0] = ' ';
        nulls[1] = ' ';
-       spirc = SPI_execute_plan(plan_getviewrule, args, nulls, true, 2);
+       spirc = SPI_execute_plan(plan_getviewrule, args, nulls, true, 0);
        if (spirc != SPI_OK_SELECT)
                elog(ERROR, "failed to get pg_rewrite tuple for view %u", viewoid);
        if (SPI_processed != 1)