Re: Improving PL/Tcl's error context reports
Pavel Stehule <pavel.stehule@gmail.com>
From: Pavel Stehule <pavel.stehule@gmail.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: Heikki Linnakangas <hlinnaka@iki.fi>, pgsql-hackers@lists.postgresql.org
Date: 2024-07-05T13:43:21Z
Lists: pgsql-hackers
Hi čt 4. 7. 2024 v 21:42 odesílatel Tom Lane <tgl@sss.pgh.pa.us> napsal: > I wrote: > > Pavel Stehule <pavel.stehule@gmail.com> writes: > >> PLpgSQL uses more often function signature > >> (2024-07-04 19:49:20) postgres=# select bx(0); > >> ERROR: division by zero > >> CONTEXT: PL/pgSQL function fx(integer) line 1 at RETURN > >> PL/pgSQL function bx(integer) line 1 at RETURN > > > Oh that's a good idea! So let's use format_procedure(), same as > > plpgsql does, to generate the final context line that currently > > reads like > > > in PL/Tcl function "bogus" > > > Then, we could apply the "pull out just alphanumerics" rule to > > the result of format_procedure() to generate the internal Tcl name. > > That should greatly reduce the number of cases where we have duplicate > > internal names we have to unique-ify. > > Here's a v2 that does it like that. > I like it. - patching and compilation without any issue - check world passed I'll mark this as ready for commit Regards Pavel > regards, tom lane > >
Commits
-
Improve PL/Tcl's method for choosing Tcl names of procedures.
- ba8f00eef6d6 18.0 landed
-
Fix pl/tcl's handling of errors from Tcl_ListObjGetElements().
- b631d014987b 17.0 cited