]> granicus.if.org Git - postgresql/commitdiff
Code review for plpgsql fn_signature patch.
authorTom Lane <tgl@sss.pgh.pa.us>
Wed, 1 Feb 2012 07:14:37 +0000 (02:14 -0500)
committerTom Lane <tgl@sss.pgh.pa.us>
Wed, 1 Feb 2012 07:14:37 +0000 (02:14 -0500)
Don't quote the output of format_procedure(); it's already quoted quite
enough.  Remove the fn_name field, which was now just dead weight.  Fix
remaining expected-output files.

src/pl/plpgsql/src/pl_comp.c
src/pl/plpgsql/src/pl_exec.c
src/pl/plpgsql/src/pl_funcs.c
src/pl/plpgsql/src/plpgsql.h
src/pl/plpython/expected/plpython_error.out
src/pl/plpython/expected/plpython_error_0.out
src/test/regress/expected/domain.out
src/test/regress/expected/guc.out
src/test/regress/expected/plancache.out
src/test/regress/expected/plpgsql.out
src/test/regress/expected/triggers.out

index 56b6d49d61a0f4d3f6c16b0215b0fab134aaf054..d43b8e0b1a149b8b602d608169c6bfc684364b6c 100644 (file)
@@ -341,7 +341,6 @@ do_compile(FunctionCallInfo fcinfo,
                                                                         ALLOCSET_DEFAULT_MAXSIZE);
        compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);
 
-       function->fn_name = pstrdup(NameStr(procStruct->proname));
        function->fn_signature = format_procedure(fcinfo->flinfo->fn_oid);
        function->fn_oid = fcinfo->flinfo->fn_oid;
        function->fn_xmin = HeapTupleHeaderGetXmin(procTup->t_data);
@@ -803,7 +802,6 @@ plpgsql_compile_inline(char *proc_source)
                                                                         ALLOCSET_DEFAULT_MAXSIZE);
        compile_tmp_cxt = MemoryContextSwitchTo(func_cxt);
 
-       function->fn_name = pstrdup(func_name);
        function->fn_signature = pstrdup(func_name);
        function->fn_is_trigger = false;
        function->fn_input_collation = InvalidOid;
index 57e337ee724f3e4995e7feb67365c14d300b0838..bf952b62478792b5564fe2af744a318322ea197c 100644 (file)
@@ -798,7 +798,7 @@ plpgsql_exec_error_callback(void *arg)
                         * translator: last %s is a phrase such as "during statement block
                         * local variable initialization"
                         */
-                       errcontext("PL/pgSQL function \"%s\" line %d %s",
+                       errcontext("PL/pgSQL function %s line %d %s",
                                           estate->func->fn_signature,
                                           estate->err_stmt->lineno,
                                           _(estate->err_text));
@@ -809,7 +809,7 @@ plpgsql_exec_error_callback(void *arg)
                         * translator: last %s is a phrase such as "while storing call
                         * arguments into local variables"
                         */
-                       errcontext("PL/pgSQL function \"%s\" %s",
+                       errcontext("PL/pgSQL function %s %s",
                                           estate->func->fn_signature,
                                           _(estate->err_text));
                }
@@ -817,13 +817,13 @@ plpgsql_exec_error_callback(void *arg)
        else if (estate->err_stmt != NULL)
        {
                /* translator: last %s is a plpgsql statement type name */
-               errcontext("PL/pgSQL function \"%s\" line %d at %s",
+               errcontext("PL/pgSQL function %s line %d at %s",
                                   estate->func->fn_signature,
                                   estate->err_stmt->lineno,
                                   plpgsql_stmt_typename(estate->err_stmt));
        }
        else
-               errcontext("PL/pgSQL function \"%s\"",
+               errcontext("PL/pgSQL function %s",
                                   estate->func->fn_signature);
 }
 
index 776e9f6139037bb0486e79669ce4deafbe28137e..b5a72ddba9fc5d91790a1041b1304835c1ff8b12 100644 (file)
@@ -1461,7 +1461,7 @@ plpgsql_dumptree(PLpgSQL_function *func)
        PLpgSQL_datum *d;
 
        printf("\nExecution tree of successfully compiled PL/pgSQL function %s:\n",
-                  func->fn_name);
+                  func->fn_signature);
 
        printf("\nFunction's data area:\n");
        for (i = 0; i < func->ndatums; i++)
@@ -1538,6 +1538,6 @@ plpgsql_dumptree(PLpgSQL_function *func)
        dump_indent = 0;
        printf("%3d:", func->action->lineno);
        dump_block(func->action);
-       printf("\nEnd of execution tree of function %s\n\n", func->fn_name);
+       printf("\nEnd of execution tree of function %s\n\n", func->fn_signature);
        fflush(stdout);
 }
index 739b9e48db69b0738e58ba210f18d153bd3827d0..b63f336825dabaaf8d75b5cb4a7e77c91d330172 100644 (file)
@@ -678,7 +678,6 @@ typedef struct PLpgSQL_func_hashkey
 
 typedef struct PLpgSQL_function
 {                                                              /* Complete compiled function     */
-       char       *fn_name;
        char       *fn_signature;
        Oid                     fn_oid;
        TransactionId fn_xmin;
index 8c489923cecf91a17d46864589deb30dbe23d17b..8a4f571253f43a4b0a003ebdad3948cbaead64b1 100644 (file)
@@ -292,7 +292,7 @@ PL/Python function "python_traceback"
 SELECT sql_error();
 ERROR:  division by zero
 CONTEXT:  SQL statement "select 1/0"
-PL/pgSQL function "sql_error()" line 3 at SQL statement
+PL/pgSQL function sql_error() line 3 at SQL statement
 SELECT python_from_sql_error();
 ERROR:  spiexceptions.DivisionByZero: division by zero
 CONTEXT:  Traceback (most recent call last):
@@ -306,7 +306,7 @@ CONTEXT:  Traceback (most recent call last):
     plpy.execute("select sql_error()")
 PL/Python function "python_traceback"
 SQL statement "select python_traceback()"
-PL/pgSQL function "python_from_sql_error()" line 3 at SQL statement
+PL/pgSQL function python_from_sql_error() line 3 at SQL statement
 SELECT sql_from_python_error();
 ERROR:  spiexceptions.DivisionByZero: division by zero
 CONTEXT:  Traceback (most recent call last):
index 6cb2ed091bf43bd1964b01596f6f6713e7e3816e..b8d10dd73510b55a1a305eb56bbda585e8531d01 100644 (file)
@@ -292,7 +292,7 @@ PL/Python function "python_traceback"
 SELECT sql_error();
 ERROR:  division by zero
 CONTEXT:  SQL statement "select 1/0"
-PL/pgSQL function "sql_error" line 3 at SQL statement
+PL/pgSQL function sql_error() line 3 at SQL statement
 SELECT python_from_sql_error();
 ERROR:  spiexceptions.DivisionByZero: division by zero
 CONTEXT:  Traceback (most recent call last):
@@ -306,7 +306,7 @@ CONTEXT:  Traceback (most recent call last):
     plpy.execute("select sql_error()")
 PL/Python function "python_traceback"
 SQL statement "select python_traceback()"
-PL/pgSQL function "python_from_sql_error" line 3 at SQL statement
+PL/pgSQL function python_from_sql_error() line 3 at SQL statement
 SELECT sql_from_python_error();
 ERROR:  spiexceptions.DivisionByZero: division by zero
 CONTEXT:  Traceback (most recent call last):
index 4da1c537409674da460705323934a0e9c4071557..e713b97056979d907f47c350a22fd7cf8ee40055 100644 (file)
@@ -493,7 +493,7 @@ begin
 end$$ language plpgsql;
 select doubledecrement(3); -- fail because of implicit null assignment
 ERROR:  domain pos_int does not allow null values
-CONTEXT:  PL/pgSQL function "doubledecrement(pos_int)" line 3 during statement block local variable initialization
+CONTEXT:  PL/pgSQL function doubledecrement(pos_int) line 3 during statement block local variable initialization
 create or replace function doubledecrement(p1 pos_int) returns pos_int as $$
 declare v pos_int := 0;
 begin
@@ -501,7 +501,7 @@ begin
 end$$ language plpgsql;
 select doubledecrement(3); -- fail at initialization assignment
 ERROR:  value for domain pos_int violates check constraint "pos_int_check"
-CONTEXT:  PL/pgSQL function "doubledecrement(pos_int)" line 3 during statement block local variable initialization
+CONTEXT:  PL/pgSQL function doubledecrement(pos_int) line 3 during statement block local variable initialization
 create or replace function doubledecrement(p1 pos_int) returns pos_int as $$
 declare v pos_int := 1;
 begin
@@ -514,10 +514,10 @@ select doubledecrement(0); -- fail before call
 ERROR:  value for domain pos_int violates check constraint "pos_int_check"
 select doubledecrement(1); -- fail at assignment to v
 ERROR:  value for domain pos_int violates check constraint "pos_int_check"
-CONTEXT:  PL/pgSQL function "doubledecrement(pos_int)" line 4 at assignment
+CONTEXT:  PL/pgSQL function doubledecrement(pos_int) line 4 at assignment
 select doubledecrement(2); -- fail at return
 ERROR:  value for domain pos_int violates check constraint "pos_int_check"
-CONTEXT:  PL/pgSQL function "doubledecrement(pos_int)" while casting return value to function's return type
+CONTEXT:  PL/pgSQL function doubledecrement(pos_int) while casting return value to function's return type
 select doubledecrement(3); -- good
  doubledecrement 
 -----------------
@@ -566,7 +566,7 @@ end$$ language plpgsql;
 select array_elem_check(121.00);
 ERROR:  numeric field overflow
 DETAIL:  A field with precision 4, scale 2 must round to an absolute value less than 10^2.
-CONTEXT:  PL/pgSQL function "array_elem_check(numeric)" line 5 at assignment
+CONTEXT:  PL/pgSQL function array_elem_check(numeric) line 5 at assignment
 select array_elem_check(1.23456);
  array_elem_check 
 ------------------
@@ -584,7 +584,7 @@ end$$ language plpgsql;
 select array_elem_check(121.00);
 ERROR:  numeric field overflow
 DETAIL:  A field with precision 4, scale 2 must round to an absolute value less than 10^2.
-CONTEXT:  PL/pgSQL function "array_elem_check(numeric)" line 5 at assignment
+CONTEXT:  PL/pgSQL function array_elem_check(numeric) line 5 at assignment
 select array_elem_check(1.23456);
  array_elem_check 
 ------------------
@@ -602,7 +602,7 @@ end$$ language plpgsql;
 select array_elem_check(121.00);
 ERROR:  numeric field overflow
 DETAIL:  A field with precision 4, scale 2 must round to an absolute value less than 10^2.
-CONTEXT:  PL/pgSQL function "array_elem_check(numeric)" line 5 at assignment
+CONTEXT:  PL/pgSQL function array_elem_check(numeric) line 5 at assignment
 select array_elem_check(1.23456);
  array_elem_check 
 ------------------
@@ -650,7 +650,7 @@ select array_elem_check(3);
 
 select array_elem_check(-1);
 ERROR:  value for domain orderedpair violates check constraint "orderedpair_check"
-CONTEXT:  PL/pgSQL function "array_elem_check(integer)" line 5 at assignment
+CONTEXT:  PL/pgSQL function array_elem_check(integer) line 5 at assignment
 drop function array_elem_check(int);
 --
 -- Renaming
index 212728545be18dd63a2c2df79b1b6a308a8f21f6..d324862049955574a9fda42799e6cb66248688d8 100644 (file)
@@ -687,7 +687,7 @@ set work_mem = '1MB';
 select myfunc(0);
 ERROR:  division by zero
 CONTEXT:  SQL statement "SELECT 1/$1"
-PL/pgSQL function "myfunc(integer)" line 4 at PERFORM
+PL/pgSQL function myfunc(integer) line 4 at PERFORM
 select current_setting('work_mem');
  current_setting 
 -----------------
index 80322e8e7bf2d4d1823ca042d459182c84b95100..f0aa102334be6dce39c58ecd0135792e0ea46c90 100644 (file)
@@ -235,7 +235,7 @@ end$$ language plpgsql;
 select cachebug();
 NOTICE:  table "temptable" does not exist, skipping
 CONTEXT:  SQL statement "drop table if exists temptable cascade"
-PL/pgSQL function "cachebug()" line 4 at SQL statement
+PL/pgSQL function cachebug() line 4 at SQL statement
 NOTICE:  1
 NOTICE:  2
 NOTICE:  3
@@ -247,7 +247,7 @@ NOTICE:  3
 select cachebug();
 NOTICE:  drop cascades to view vv
 CONTEXT:  SQL statement "drop table if exists temptable cascade"
-PL/pgSQL function "cachebug()" line 4 at SQL statement
+PL/pgSQL function cachebug() line 4 at SQL statement
 NOTICE:  1
 NOTICE:  2
 NOTICE:  3
index 03f22e7278bdea0eb2ed970c7db3c7c6e663d836..5455adef25788462961fe5f4bf55a42e3fbca985 100644 (file)
@@ -1518,16 +1518,16 @@ ERROR:  duplicate key value violates unique constraint "pfield_name"
 DETAIL:  Key (name)=(PF1_1) already exists.
 update PSlot set backlink = 'WS.not.there' where slotname = 'PS.base.a1';
 ERROR:  WS.not.there         does not exist
-CONTEXT:  PL/pgSQL function "tg_backlink_a()" line 17 at assignment
+CONTEXT:  PL/pgSQL function tg_backlink_a() line 17 at assignment
 update PSlot set backlink = 'XX.illegal' where slotname = 'PS.base.a1';
 ERROR:  illegal backlink beginning with XX
-CONTEXT:  PL/pgSQL function "tg_backlink_a()" line 17 at assignment
+CONTEXT:  PL/pgSQL function tg_backlink_a() line 17 at assignment
 update PSlot set slotlink = 'PS.not.there' where slotname = 'PS.base.a1';
 ERROR:  PS.not.there         does not exist
-CONTEXT:  PL/pgSQL function "tg_slotlink_a()" line 17 at assignment
+CONTEXT:  PL/pgSQL function tg_slotlink_a() line 17 at assignment
 update PSlot set slotlink = 'XX.illegal' where slotname = 'PS.base.a1';
 ERROR:  illegal slotlink beginning with XX
-CONTEXT:  PL/pgSQL function "tg_slotlink_a()" line 17 at assignment
+CONTEXT:  PL/pgSQL function tg_slotlink_a() line 17 at assignment
 insert into HSlot values ('HS', 'base.hub1', 1, '');
 ERROR:  duplicate key value violates unique constraint "hslot_name"
 DETAIL:  Key (slotname)=(HS.base.hub1.1      ) already exists.
@@ -2067,13 +2067,13 @@ end$$ language plpgsql;
 select test_variable_storage();
 NOTICE:  should see this
 CONTEXT:  SQL statement "SELECT trap_zero_divide(-100)"
-PL/pgSQL function "test_variable_storage()" line 8 at PERFORM
+PL/pgSQL function test_variable_storage() line 8 at PERFORM
 NOTICE:  should see this only if -100 <> 0
 CONTEXT:  SQL statement "SELECT trap_zero_divide(-100)"
-PL/pgSQL function "test_variable_storage()" line 8 at PERFORM
+PL/pgSQL function test_variable_storage() line 8 at PERFORM
 NOTICE:  should see this only if -100 fits in smallint
 CONTEXT:  SQL statement "SELECT trap_zero_divide(-100)"
-PL/pgSQL function "test_variable_storage()" line 8 at PERFORM
+PL/pgSQL function test_variable_storage() line 8 at PERFORM
  test_variable_storage 
 -----------------------
  123456789012
@@ -2397,7 +2397,7 @@ end $$ language plpgsql;
 select namedparmcursor_test7();
 ERROR:  division by zero
 CONTEXT:  SQL statement "SELECT 42/0 AS p1, 77 AS p2;"
-PL/pgSQL function "namedparmcursor_test7()" line 6 at OPEN
+PL/pgSQL function namedparmcursor_test7() line 6 at OPEN
 -- check that line comments work correctly within the argument list (there
 -- is some special handling of this case in the code: the newline after the
 -- comment must be preserved when the argument-evaluating query is
@@ -2431,7 +2431,7 @@ end;
 $$ language plpgsql;
 select raise_test1(5);
 ERROR:  too many parameters specified for RAISE
-CONTEXT:  PL/pgSQL function "raise_test1(integer)" line 3 at RAISE
+CONTEXT:  PL/pgSQL function raise_test1(integer) line 3 at RAISE
 create function raise_test2(int) returns int as $$
 begin
     raise notice 'This message has too few parameters: %, %, %', $1, $1;
@@ -2440,7 +2440,7 @@ end;
 $$ language plpgsql;
 select raise_test2(10);
 ERROR:  too few parameters specified for RAISE
-CONTEXT:  PL/pgSQL function "raise_test2(integer)" line 3 at RAISE
+CONTEXT:  PL/pgSQL function raise_test2(integer) line 3 at RAISE
 -- Test re-RAISE inside a nested exception block.  This case is allowed
 -- by Oracle's PL/SQL but was handled differently by PG before 9.1.
 CREATE FUNCTION reraise_test() RETURNS void AS $$
@@ -2530,7 +2530,7 @@ begin
 end;$$ language plpgsql;
 select missing_return_expr();
 ERROR:  control reached end of function without RETURN
-CONTEXT:  PL/pgSQL function "missing_return_expr()"
+CONTEXT:  PL/pgSQL function missing_return_expr()
 drop function void_return_expr();
 drop function missing_return_expr();
 --
@@ -2582,7 +2582,7 @@ ERROR:  column "sqlstate" does not exist
 LINE 1: SELECT sqlstate
                ^
 QUERY:  SELECT sqlstate
-CONTEXT:  PL/pgSQL function "excpt_test1()" line 3 at RAISE
+CONTEXT:  PL/pgSQL function excpt_test1() line 3 at RAISE
 create function excpt_test2() returns void as $$
 begin
     begin
@@ -2597,7 +2597,7 @@ ERROR:  column "sqlstate" does not exist
 LINE 1: SELECT sqlstate
                ^
 QUERY:  SELECT sqlstate
-CONTEXT:  PL/pgSQL function "excpt_test2()" line 5 at RAISE
+CONTEXT:  PL/pgSQL function excpt_test2() line 5 at RAISE
 create function excpt_test3() returns void as $$
 begin
     begin
@@ -2803,7 +2803,7 @@ $$ language plpgsql;
 -- should fail
 select continue_test2();
 ERROR:  CONTINUE cannot be used outside a loop
-CONTEXT:  PL/pgSQL function "continue_test2()"
+CONTEXT:  PL/pgSQL function continue_test2()
 -- CONTINUE can't reference the label of a named block
 create function continue_test3() returns void as $$
 begin
@@ -2818,7 +2818,7 @@ $$ language plpgsql;
 -- should fail
 select continue_test3();
 ERROR:  CONTINUE cannot be used outside a loop
-CONTEXT:  PL/pgSQL function "continue_test3()"
+CONTEXT:  PL/pgSQL function continue_test3()
 drop function continue_test1();
 drop function continue_test2();
 drop function continue_test3();
@@ -2979,7 +2979,7 @@ begin
 end$$ language plpgsql;
 select footest();
 ERROR:  query returned more than one row
-CONTEXT:  PL/pgSQL function "footest()" line 5 at SQL statement
+CONTEXT:  PL/pgSQL function footest() line 5 at SQL statement
 create or replace function footest() returns void as $$
 declare x record;
 begin
@@ -3042,7 +3042,7 @@ begin
 end$$ language plpgsql;
 select footest();
 ERROR:  query returned no rows
-CONTEXT:  PL/pgSQL function "footest()" line 5 at SQL statement
+CONTEXT:  PL/pgSQL function footest() line 5 at SQL statement
 create or replace function footest() returns void as $$
 declare x record;
 begin
@@ -3052,7 +3052,7 @@ begin
 end$$ language plpgsql;
 select footest();
 ERROR:  query returned more than one row
-CONTEXT:  PL/pgSQL function "footest()" line 5 at SQL statement
+CONTEXT:  PL/pgSQL function footest() line 5 at SQL statement
 create or replace function footest() returns void as $$
 declare x record;
 begin
@@ -3076,7 +3076,7 @@ begin
 end$$ language plpgsql;
 select footest();
 ERROR:  query returned no rows
-CONTEXT:  PL/pgSQL function "footest()" line 5 at EXECUTE statement
+CONTEXT:  PL/pgSQL function footest() line 5 at EXECUTE statement
 create or replace function footest() returns void as $$
 declare x record;
 begin
@@ -3086,7 +3086,7 @@ begin
 end$$ language plpgsql;
 select footest();
 ERROR:  query returned more than one row
-CONTEXT:  PL/pgSQL function "footest()" line 5 at EXECUTE statement
+CONTEXT:  PL/pgSQL function footest() line 5 at EXECUTE statement
 drop function footest();
 -- test scrollable cursor support
 create function sc_test() returns setof integer as $$
@@ -3130,7 +3130,7 @@ $$ language plpgsql;
 select * from sc_test();  -- fails because of NO SCROLL specification
 ERROR:  cursor can only scan forward
 HINT:  Declare it with SCROLL option to enable backward scan.
-CONTEXT:  PL/pgSQL function "sc_test()" line 7 at FETCH
+CONTEXT:  PL/pgSQL function sc_test() line 7 at FETCH
 create or replace function sc_test() returns setof integer as $$
 declare
   c refcursor;
@@ -3717,7 +3717,7 @@ end;
 $$ language plpgsql;
 select raise_test();
 ERROR:  RAISE option already specified: MESSAGE
-CONTEXT:  PL/pgSQL function "raise_test()" line 3 at RAISE
+CONTEXT:  PL/pgSQL function raise_test() line 3 at RAISE
 -- conflict on errcode
 create or replace function raise_test() returns void as $$
 begin
@@ -3726,7 +3726,7 @@ end;
 $$ language plpgsql;
 select raise_test();
 ERROR:  RAISE option already specified: ERRCODE
-CONTEXT:  PL/pgSQL function "raise_test()" line 3 at RAISE
+CONTEXT:  PL/pgSQL function raise_test() line 3 at RAISE
 -- nothing to re-RAISE
 create or replace function raise_test() returns void as $$
 begin
@@ -3735,7 +3735,7 @@ end;
 $$ language plpgsql;
 select raise_test();
 ERROR:  RAISE without parameters cannot be used outside an exception handler
-CONTEXT:  PL/pgSQL function "raise_test()" line 3 at RAISE
+CONTEXT:  PL/pgSQL function raise_test() line 3 at RAISE
 -- test access to exception data
 create function zero_divide() returns int as $$
 declare v int := 0;
@@ -3766,7 +3766,7 @@ exception when others then
 end;
 $$ language plpgsql;
 select stacked_diagnostics_test();
-NOTICE:  sqlstate: 22012, message: division by zero, context: [PL/pgSQL function "zero_divide()" line 4 at RETURN <- SQL statement "SELECT zero_divide()" <- PL/pgSQL function "stacked_diagnostics_test()" line 6 at PERFORM]
+NOTICE:  sqlstate: 22012, message: division by zero, context: [PL/pgSQL function zero_divide() line 4 at RETURN <- SQL statement "SELECT zero_divide()" <- PL/pgSQL function stacked_diagnostics_test() line 6 at PERFORM]
  stacked_diagnostics_test 
 --------------------------
  
@@ -3808,7 +3808,7 @@ end;
 $$ language plpgsql;
 select stacked_diagnostics_test();
 ERROR:  GET STACKED DIAGNOSTICS cannot be used outside an exception handler
-CONTEXT:  PL/pgSQL function "stacked_diagnostics_test()" line 6 at GET DIAGNOSTICS
+CONTEXT:  PL/pgSQL function stacked_diagnostics_test() line 6 at GET DIAGNOSTICS
 drop function zero_divide();
 drop function stacked_diagnostics_test();
 -- check cases where implicit SQLSTATE variable could be confused with
@@ -3872,7 +3872,7 @@ select case_test(4);
 select case_test(5); -- fails
 ERROR:  case not found
 HINT:  CASE statement is missing ELSE part.
-CONTEXT:  PL/pgSQL function "case_test(bigint)" line 5 at CASE
+CONTEXT:  PL/pgSQL function case_test(bigint) line 5 at CASE
 select case_test(8);
       case_test       
 ----------------------
@@ -3900,7 +3900,7 @@ select case_test(12);
 select case_test(13); -- fails
 ERROR:  case not found
 HINT:  CASE statement is missing ELSE part.
-CONTEXT:  PL/pgSQL function "case_test(bigint)" line 5 at CASE
+CONTEXT:  PL/pgSQL function case_test(bigint) line 5 at CASE
 create or replace function catch() returns void as $$
 begin
   raise notice '%', case_test(6);
@@ -4228,7 +4228,7 @@ SAVEPOINT a;
 select error2('nonexistent.stuffs');
 ERROR:  schema "nonexistent" does not exist
 CONTEXT:  SQL function "error1" statement 1
-PL/pgSQL function "error2(text)" line 3 at RETURN
+PL/pgSQL function error2(text) line 3 at RETURN
 ROLLBACK TO a;
 select error2('public.stuffs');
  error2 
@@ -4266,7 +4266,7 @@ LINE 1: SELECT 'foo\\bar\041baz'
                ^
 HINT:  Use the escape string syntax for backslashes, e.g., E'\\'.
 QUERY:  SELECT 'foo\\bar\041baz'
-CONTEXT:  PL/pgSQL function "strtest()" line 4 at RETURN
+CONTEXT:  PL/pgSQL function strtest() line 4 at RETURN
    strtest   
 -------------
  foo\bar!baz
@@ -4349,7 +4349,7 @@ ERROR:  column "foo" does not exist
 LINE 1: SELECT rtrim(roomno) AS roomno, foo FROM Room ORDER BY roomn...
                                         ^
 QUERY:  SELECT rtrim(roomno) AS roomno, foo FROM Room ORDER BY roomno
-CONTEXT:  PL/pgSQL function "inline_code_block" line 4 at FOR over SELECT rows
+CONTEXT:  PL/pgSQL function inline_code_block line 4 at FOR over SELECT rows
 -- Check variable scoping -- a var is not available in its own or prior
 -- default expressions.
 create function scope_test() returns int as $$
@@ -4386,7 +4386,7 @@ LINE 1: select q1,q2 from int8_tbl
                ^
 DETAIL:  It could refer to either a PL/pgSQL variable or a table column.
 QUERY:  select q1,q2 from int8_tbl
-CONTEXT:  PL/pgSQL function "conflict_test()" line 5 at FOR over SELECT rows
+CONTEXT:  PL/pgSQL function conflict_test() line 5 at FOR over SELECT rows
 create or replace function conflict_test() returns setof int8_tbl as $$
 #variable_conflict use_variable
 declare r record;
@@ -4490,10 +4490,10 @@ $$ language plpgsql;
 -- should fail
 select foreach_test(ARRAY[1,2,3,4]);
 ERROR:  FOREACH ... SLICE loop variable must be of an array type
-CONTEXT:  PL/pgSQL function "foreach_test(anyarray)" line 4 at FOREACH over array
+CONTEXT:  PL/pgSQL function foreach_test(anyarray) line 4 at FOREACH over array
 select foreach_test(ARRAY[[1,2],[3,4]]);
 ERROR:  FOREACH ... SLICE loop variable must be of an array type
-CONTEXT:  PL/pgSQL function "foreach_test(anyarray)" line 4 at FOREACH over array
+CONTEXT:  PL/pgSQL function foreach_test(anyarray) line 4 at FOREACH over array
 create or replace function foreach_test(anyarray)
 returns void as $$
 declare x int[];
@@ -4533,7 +4533,7 @@ $$ language plpgsql;
 -- should fail
 select foreach_test(ARRAY[1,2,3,4]);
 ERROR:  slice dimension (2) is out of the valid range 0..1
-CONTEXT:  PL/pgSQL function "foreach_test(anyarray)" line 4 at FOREACH over array
+CONTEXT:  PL/pgSQL function foreach_test(anyarray) line 4 at FOREACH over array
 -- ok
 select foreach_test(ARRAY[[1,2],[3,4]]);
 NOTICE:  {{1,2},{3,4}}
@@ -4694,9 +4694,9 @@ select testoa(1,2,3); -- try again to exercise internal caching
 
 select testoa(2,1,3); -- fail at initial assign
 ERROR:  value for domain orderedarray violates check constraint "sorted"
-CONTEXT:  PL/pgSQL function "testoa(integer,integer,integer)" line 4 at assignment
+CONTEXT:  PL/pgSQL function testoa(integer,integer,integer) line 4 at assignment
 select testoa(1,2,1); -- fail at update
 ERROR:  value for domain orderedarray violates check constraint "sorted"
-CONTEXT:  PL/pgSQL function "testoa(integer,integer,integer)" line 5 at assignment
+CONTEXT:  PL/pgSQL function testoa(integer,integer,integer) line 5 at assignment
 drop function arrayassign1();
 drop function testoa(x1 int, x2 int, x3 int);
index 3c96c892a4fb38fea622b2c265688fae239a1e3f..0e7177edc1a9a870887ca4386690d91c624beee1 100644 (file)
@@ -965,10 +965,10 @@ NOTICE:  main_view INSTEAD OF INSERT ROW (instead_of_ins)
 NOTICE:  NEW: (20,30)
 NOTICE:  trigger_func(before_ins_stmt) called: action = INSERT, when = BEFORE, level = STATEMENT
 CONTEXT:  SQL statement "INSERT INTO main_table VALUES (NEW.a, NEW.b)"
-PL/pgSQL function "view_trigger()" line 17 at SQL statement
+PL/pgSQL function view_trigger() line 17 at SQL statement
 NOTICE:  trigger_func(after_ins_stmt) called: action = INSERT, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "INSERT INTO main_table VALUES (NEW.a, NEW.b)"
-PL/pgSQL function "view_trigger()" line 17 at SQL statement
+PL/pgSQL function view_trigger() line 17 at SQL statement
 NOTICE:  main_view AFTER INSERT STATEMENT (after_view_ins_stmt)
 INSERT 0 1
 INSERT INTO main_view VALUES (21, 31) RETURNING a, b;
@@ -977,10 +977,10 @@ NOTICE:  main_view INSTEAD OF INSERT ROW (instead_of_ins)
 NOTICE:  NEW: (21,31)
 NOTICE:  trigger_func(before_ins_stmt) called: action = INSERT, when = BEFORE, level = STATEMENT
 CONTEXT:  SQL statement "INSERT INTO main_table VALUES (NEW.a, NEW.b)"
-PL/pgSQL function "view_trigger()" line 17 at SQL statement
+PL/pgSQL function view_trigger() line 17 at SQL statement
 NOTICE:  trigger_func(after_ins_stmt) called: action = INSERT, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "INSERT INTO main_table VALUES (NEW.a, NEW.b)"
-PL/pgSQL function "view_trigger()" line 17 at SQL statement
+PL/pgSQL function view_trigger() line 17 at SQL statement
 NOTICE:  main_view AFTER INSERT STATEMENT (after_view_ins_stmt)
  a  | b  
 ----+----
@@ -995,16 +995,16 @@ NOTICE:  main_view INSTEAD OF UPDATE ROW (instead_of_upd)
 NOTICE:  OLD: (20,30), NEW: (20,31)
 NOTICE:  trigger_func(before_upd_a_stmt) called: action = UPDATE, when = BEFORE, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(before_upd_a_row) called: action = UPDATE, when = BEFORE, level = ROW
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_b_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  main_view AFTER UPDATE STATEMENT (after_view_upd_stmt)
 UPDATE 0
 UPDATE main_view SET b = 32 WHERE a = 21 AND b = 31 RETURNING a, b;
@@ -1013,16 +1013,16 @@ NOTICE:  main_view INSTEAD OF UPDATE ROW (instead_of_upd)
 NOTICE:  OLD: (21,31), NEW: (21,32)
 NOTICE:  trigger_func(before_upd_a_stmt) called: action = UPDATE, when = BEFORE, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(before_upd_a_row) called: action = UPDATE, when = BEFORE, level = ROW
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_b_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  main_view AFTER UPDATE STATEMENT (after_view_upd_stmt)
  a | b 
 ---+---
@@ -1038,19 +1038,19 @@ NOTICE:  main_view INSTEAD OF UPDATE ROW (instead_of_upd)
 NOTICE:  OLD: (20,30), NEW: (20,31)
 NOTICE:  trigger_func(before_upd_a_stmt) called: action = UPDATE, when = BEFORE, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_a_b_row) called: action = UPDATE, when = AFTER, level = ROW
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_b_row) called: action = UPDATE, when = AFTER, level = ROW
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_b_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  main_view AFTER UPDATE STATEMENT (after_view_upd_stmt)
 UPDATE 1
 UPDATE main_view SET b = 32 WHERE a = 21 AND b = 31 RETURNING a, b;
@@ -1059,19 +1059,19 @@ NOTICE:  main_view INSTEAD OF UPDATE ROW (instead_of_upd)
 NOTICE:  OLD: (21,31), NEW: (21,32)
 NOTICE:  trigger_func(before_upd_a_stmt) called: action = UPDATE, when = BEFORE, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_a_b_row) called: action = UPDATE, when = AFTER, level = ROW
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_b_row) called: action = UPDATE, when = AFTER, level = ROW
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_b_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  trigger_func(after_upd_stmt) called: action = UPDATE, when = AFTER, level = STATEMENT
 CONTEXT:  SQL statement "UPDATE main_table SET a = NEW.a, b = NEW.b WHERE a = OLD.a AND b = OLD.b"
-PL/pgSQL function "view_trigger()" line 23 at SQL statement
+PL/pgSQL function view_trigger() line 23 at SQL statement
 NOTICE:  main_view AFTER UPDATE STATEMENT (after_view_upd_stmt)
  a  | b  
 ----+----
@@ -1503,28 +1503,28 @@ insert into depth_a values (1);
 NOTICE:  depth_a_tr: depth = 1
 NOTICE:  depth_b_tr: depth = 2
 CONTEXT:  SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  depth_c_tr: depth = 3
 CONTEXT:  SQL statement "insert into depth_c values (1)"
-PL/pgSQL function "depth_b_tf()" line 5 at EXECUTE statement
+PL/pgSQL function depth_b_tf() line 5 at EXECUTE statement
 SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  SQLSTATE = U9999: depth = 2
 CONTEXT:  SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  depth_b_tr: depth = 2
 CONTEXT:  SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  depth_c_tr: depth = 3
 CONTEXT:  SQL statement "insert into depth_c values (1)"
-PL/pgSQL function "depth_b_tf()" line 12 at EXECUTE statement
+PL/pgSQL function depth_b_tf() line 12 at EXECUTE statement
 SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 ERROR:  U9999
 CONTEXT:  SQL statement "insert into depth_c values (1)"
-PL/pgSQL function "depth_b_tf()" line 12 at EXECUTE statement
+PL/pgSQL function depth_b_tf() line 12 at EXECUTE statement
 SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 select pg_trigger_depth();
  pg_trigger_depth 
 ------------------
@@ -1535,20 +1535,20 @@ insert into depth_a values (2);
 NOTICE:  depth_a_tr: depth = 1
 NOTICE:  depth_b_tr: depth = 2
 CONTEXT:  SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  depth_c_tr: depth = 3
 CONTEXT:  SQL statement "insert into depth_c values (2)"
-PL/pgSQL function "depth_b_tf()" line 5 at EXECUTE statement
+PL/pgSQL function depth_b_tf() line 5 at EXECUTE statement
 SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  depth_c_tr: depth = 3
 CONTEXT:  SQL statement "insert into depth_c values (2)"
-PL/pgSQL function "depth_b_tf()" line 5 at EXECUTE statement
+PL/pgSQL function depth_b_tf() line 5 at EXECUTE statement
 SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  depth_b_tr: depth = 2
 CONTEXT:  SQL statement "insert into depth_b values (new.id)"
-PL/pgSQL function "depth_a_tf()" line 4 at SQL statement
+PL/pgSQL function depth_a_tf() line 4 at SQL statement
 NOTICE:  depth_a_tr: depth = 1
 select pg_trigger_depth();
  pg_trigger_depth