From: | Michael Moore <michaeljmoore(at)gmail(dot)com> |
---|---|
To: | Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> |
Cc: | "David G(dot) Johnston" <david(dot)g(dot)johnston(at)gmail(dot)com>, postgres list <pgsql-sql(at)postgresql(dot)org> |
Subject: | Re: Why does the PL/pgSQL compiler do this? |
Date: | 2016-11-01 17:36:00 |
Message-ID: | CACpWLjMWR16qikWpzu8GVoboJCg7s_p-9BM+85Lh2WP+ocB=og@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-sql |
Hi Tom,
understood. If anybody needs a tiny bit of motivation to write that extra
bit of code which would complain at compile time: I sense that there are a
lot of shops like mine who would love to get off of Oracle due to the cost.
That means you'll have guys like myself who are well versed on Oracle's
PL/SQL trying to write PL/pgSQL functions. If ROLLBACK; were to cause a
syntax error, it would immediately tell guys like myself that we are
missing a key concept of how PL/pgSQL works. Saving the error until run
time makes look for other reasons that ROLLBACK; might not be working. I
know it's a trivial point, but just putting it out there.
Thanks everybody for the enlightening conversation!
Regards,
Mike
On Mon, Oct 31, 2016 at 7:38 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Michael Moore <michaeljmoore(at)gmail(dot)com> writes:
> > I'm still a bit confused. If I replace the ROLLBACK; command with
> ELEPHANT;
> > the result is a syntax error. Why doesn't ROLLBACK; produce the same
> error
> > since it is not valid in the LANGUAGE plpgsql.
>
> That's a runtime error so far as plpgsql is concerned, because it relies
> on the SPI layer to throw the error. It might be practical to complain
> about it at compile time, but it would be some extra code that nobody's
> written.
>
> regards, tom lane
>
From | Date | Subject | |
---|---|---|---|
Next Message | Pavel Stehule | 2016-11-01 17:43:19 | Re: Why does the PL/pgSQL compiler do this? |
Previous Message | Tom Lane | 2016-11-01 02:38:53 | Re: Why does the PL/pgSQL compiler do this? |