Re: PL/pgSQL 2

From: Álvaro Hernández Tortosa <aht(at)nosys(dot)es>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: pgsql-hackers(at)postgresql(dot)org
Subject: Re: PL/pgSQL 2
Date: 2014-09-01 18:58:02
Message-ID: 5404C1BA.4090709@nosys.es
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers


On 01/09/14 20:42, Tom Lane wrote:
> =?UTF-8?B?w4FsdmFybyBIZXJuw6FuZGV6IFRvcnRvc2E=?= <aht(at)nosys(dot)es> writes:
>> What I can add is that, if Postgres is to devote resources to a new
>> language, I would plan it with a broader scope. What would attract most
>> users? Would it bring non postgres users to Postgres? What could be one
>> of the killer features of any next version? My trivial answer to most of
>> these questions is: PL/SQL.
> By that I suppose you mean "I wish it would act just like Oracle".
> The problem with such a wish is that a lot of the incompatibilities
> with Oracle are functions of the core SQL engine, not of the PL.
> plpgsql already is about as close to PL/SQL as it's possible to get
> without changing core Postgres behavior --- or at least, that was
> the original design desire, and I don't think that it's failed in
> any large degree.
>
> regards, tom lane

It's true that some of the incompatibilities are the core engine,
internal functions and so on, and that the plpgsql design goal was to
achieve "similarity". But similarity is not code compatibility, and
afaik, plpgsql is not code compatible with PL/SQL. Having 1:1 code
compatibility, if possible, is a very well first step, only followed by
the core functionalities you mention.

If postgres were going for a new language, why not implement one
which, having the other suggested functionality, also has 1:1 PL/SQL
code compatibility? I'm sure it's no trivial task, but one highly desirable.

Regards,

Álvaro

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Pavel Stehule 2014-09-01 19:08:28 Re: PL/pgSQL 2
Previous Message Tom Lane 2014-09-01 18:42:22 Re: PL/pgSQL 2