Re: proposal: more practical view on function's source code

Tom Lane <tgl@sss.pgh.pa.us>

From: Tom Lane <tgl@sss.pgh.pa.us>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Pavel Stehule <pavel.stehule@gmail.com>, Craig Ringer <craig@postnewspapers.com.au>, PostgreSQL Hackers <pgsql-hackers@postgresql.org>
Date: 2010-03-21T20:35:48Z
Lists: pgsql-hackers
Robert Haas <robertmhaas@gmail.com> writes:
> I'm not sure that Pavel's idea is the right way to attack the problem,
> but I don't agree with this either.  Line numbers are really the only
> feasible way of identifying a position in a large function.  I usually
> bring up the function source code in vi and then use j with a repeat
> count to find the offending line.  It's not uncommon for me to have
> various places in the function that look somewhat similar, so
> expecting me to find the right place other than by the line number
> would not work very well for me.

I'm certainly not proposing removing the line number from error
messages.  I'm just saying that I see no value in the proposed psql \df
change for this purpose.

The direction that we ought to be pushing in, I think, is the same as
the vision for syntax error handling: enable pgAdmin and similar tools
to pop up the function text with a cursor placed at (more or less) the
right place.  It's interesting to think about how that might be extended
to lower-tech solutions like \ef.  I could see telling people to type
	\ef function-name line-number
with suitable magic to get the editor to place the cursor at that line.
I suspect this wouldn't be too hard to do with emacs --- what do you
think about vi?

			regards, tom lane