[GENERAL] potential extension of psql's \df+ ?

Поиск
Список
Период
Сортировка
Искать
От
Karsten Hilbert
Тема
[GENERAL] potential extension of psql's \df+ ?
Дата
Msg-id
20170419095522.zbdwwibyvppzlbeq@hermes.hilbert.loc
Список
Дерево обсуждения
[GENERAL] potential extension of psql's \df+ ? Karsten Hilbert <Karsten.Hilbert@gmx.net>
Re: [GENERAL] potential extension of psql's \df+ ? Pavel Stehule <pavel.stehule@gmail.com>
Re: [GENERAL] potential extension of psql's \df+ ? Karsten Hilbert <Karsten.Hilbert@gmx.net>
Re: [GENERAL] potential extension of psql's \df+ ? Pavel Stehule <pavel.stehule@gmail.com>
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 ?

(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

В списке pgsql-general по дате отправления
От: Moreno Andreo
Дата:
От: Pavel Stehule
Дата:
FAQ