Обсуждение: Problem with newline/tab completing with psql

Поиск
Список
Период
Сортировка

Problem with newline/tab completing with psql

От
Håvard Wahl Kongsgård
Дата:
Hi, I have a problem with newline or tab completing when adding a
generated FUNCTION via the psql interface (have tried pasting and
adding it with -f rule.sql)

parser stack overflow at or near "THEN"
LINE 5002: ELSIF ( NEW.a between 1246566738 and 1247010220 ) THEN

Have also tried using the -n option with psql and set
disable-completion on in .inputrc

Is there any other method to solve this problem?

--
Håvard Wahl Kongsgård

Re: Problem with newline/tab completing with psql

От
Tom Lane
Дата:
=?ISO-8859-1?Q?H=E5vard_Wahl_Kongsg=E5rd?= <haavard.kongsgaard@gmail.com> writes:
> Hi, I have a problem with newline or tab completing when adding a
> generated FUNCTION via the psql interface (have tried pasting and
> adding it with -f rule.sql)

> parser stack overflow at or near "THEN"
> LINE 5002: ELSIF ( NEW.a between 1246566738 and 1247010220 ) THEN

That's pretty interesting.  Could we see a complete (self-contained)
example of this problem, rather than a snippet?  And what PG version
is this exactly?

Given that line number, though, I wonder whether your problem is that
you tried to put several thousand nested IFs into one plpgsql function.
If so, the answer is probably "refactor your code".  You *will*
eventually hit this type of error if you nest stuff deeply enough.
I don't know exactly where the limit is, and it probably varies a
lot depending on platform, PG version, etc etc anyway.

            regards, tom lane