Hi

2017-04-19 11:55 GMT+02:00 Karsten Hilbert <karsten.hilb...@gmx.net>:

> Hi all !
>
> Every so often, when working with functions, errors get
> reported with context information similar to this:
>
>         Context: PL/pgSQL function "test_function" line 5 at SQL statement
>
> Often, the function source is kept under version control (or
> in a file annotated, commented, etc in certain ways) such
> that the file line number does not correspond to the function
> source line number.
>
> In such cases, a typical approach would be to go and do
>
>         \df+ test_function
>
> which nicely produces function metadata and source as
> contained in the database. For non-trivial functions it is,
> however, slightly cumbersome to count the line numbers
> onscreen (let alone line break settings).
>
> Hence I wonder whether an approach along these lines:
>
>         select
>                 row_number() over ()
>                 || src_line
>         from (
>                 select
>                         unnest(string_to_array(prosrc, E'\n')) as src_line
>                 from
>                         pg_proc
>                 where
>                         proname = 'FUNC_NAME'
>         ) as func_src;
>
> would be a worthwhile change to the query "\df+" uses ?
>
>
do you know \sf+ fce command?

Regards

Pavel



> (Resorting to "\ef" won't align temp file lines with function
> source line numbers either, because pgsql boilerplate is
> needed for function definition etc.)
>
> Thanks for considering,
> Karsten
> --
> GPG key ID E4071346 @ eu.pool.sks-keyservers.net
> E167 67FD A291 2BEA 73BD  4537 78B9 A9F9 E407 1346
>
>
> --
> Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-general
>

Reply via email to