From ca02434a0b86e7dbc5b790f1a4d6b782ca8f4916 Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 23 Aug 2018 17:20:47 +0200 Subject: [PATCH] PL/pgSQL: Extend test case This test was supposed to check the interaction of INOUT and default parameters in a procedure call, but it only checked the case where the parameter was not supplied. Now it also checks the case where the parameter was supplied. It was already working correctly, so no code changes required. --- src/pl/plpgsql/src/expected/plpgsql_call.out | 10 ++++++++++ src/pl/plpgsql/src/sql/plpgsql_call.sql | 6 ++++++ 2 files changed, 16 insertions(+) diff --git a/src/pl/plpgsql/src/expected/plpgsql_call.out b/src/pl/plpgsql/src/expected/plpgsql_call.out index a3592d7b82..547ca22a55 100644 --- a/src/pl/plpgsql/src/expected/plpgsql_call.out +++ b/src/pl/plpgsql/src/expected/plpgsql_call.out @@ -233,12 +233,22 @@ BEGIN _a := 10; _b := 30; _c := 50; CALL test_proc8c(_a, b => _b); RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; + _a := 10; _b := 30; _c := 50; + CALL test_proc8c(_a, _b, _c); + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; + _a := 10; _b := 30; _c := 50; + CALL test_proc8c(c => _c, b => _b, a => _a); + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; END $$; NOTICE: a: 10, b: 30, c: 11 NOTICE: _a: 100, _b: 40, _c: 50 NOTICE: a: 10, b: 30, c: 11 NOTICE: _a: 100, _b: 40, _c: 50 +NOTICE: a: 10, b: 30, c: 50 +NOTICE: _a: 100, _b: 40, _c: -500 +NOTICE: a: 10, b: 30, c: 50 +NOTICE: _a: 100, _b: 40, _c: -500 -- transition variable assignment TRUNCATE test1; CREATE FUNCTION triggerfunc1() RETURNS trigger diff --git a/src/pl/plpgsql/src/sql/plpgsql_call.sql b/src/pl/plpgsql/src/sql/plpgsql_call.sql index a0b7bcb6e7..29e85803e7 100644 --- a/src/pl/plpgsql/src/sql/plpgsql_call.sql +++ b/src/pl/plpgsql/src/sql/plpgsql_call.sql @@ -212,6 +212,12 @@ BEGIN _a := 10; _b := 30; _c := 50; CALL test_proc8c(_a, b => _b); RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; + _a := 10; _b := 30; _c := 50; + CALL test_proc8c(_a, _b, _c); + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; + _a := 10; _b := 30; _c := 50; + CALL test_proc8c(c => _c, b => _b, a => _a); + RAISE NOTICE '_a: %, _b: %, _c: %', _a, _b, _c; END $$;