From: | Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com> |
---|---|
To: | Joel Jacobson <joel(at)trustly(dot)com> |
Cc: | Hannu Krosing <hannu(at)2ndquadrant(dot)com>, Marko Tiikkaja <marko(at)joh(dot)to>, Bruce Momjian <bruce(at)momjian(dot)us>, Josh Berkus <josh(at)agliodbs(dot)com>, Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: PL/pgSQL 1.2 |
Date: | 2014-09-04 08:42:43 |
Message-ID: | CAFj8pRDxHkWsd82gDmx-NRJuofmJ8JS=m8iPTcFLvWzBh8St8g@mail.gmail.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
2014-09-04 10:06 GMT+02:00 Joel Jacobson <joel(at)trustly(dot)com>:
> On Thu, Sep 4, 2014 at 9:39 AM, Pavel Stehule <pavel(dot)stehule(at)gmail(dot)com>
> wrote:
> > we have totally different opinion what is good
>
> Can you elaborate on that?
>
I would to elaborate on enhancing plpgsql - but my primary target is
readability without necessity of special special statements, types.
I am strong against to create some shortcuts for relative too special use
case.
>
> Your "ASSERT CHECK ROWCOUNT = 1;" is lengthly, which is why I don't like
> it.
> Imagine if having to type
> my $var =========================== 'foo';
> instead of
> my $var = 'foo';
> on every single line of could where you want to assign a variable,
> that would just be ridiculous.
>
> If you have a typical CRUD application and decide to do *all* data
> operations via PL functions,
> which is a design pattern advocated by many*, then you will end up
> with a lot of very simple
> short PL functions, to do things like update_worker_status(),
> set_notification_response(), etc,
> in which you always pass something which is a primary key in some
> table, and want to update
> exactly one row. Having to type 27 extra characters for every single
> line of code, instead of the
> suggested 3 extra characters, is a big difference, for anyone who
> designs a CRUD application
> which relies on the usage of PL functions.
>
Is not better to design special PL for this usage? I understand to your
motivation, but it is not acceptable for me in plpgsql.
Ten years ago, we had to solve similar problem - and we designed
metalanguage that was translated to plpgsql.
>
> For me, it would be useful to understand if you are developing CRUD
> applications,
> or if your main usage for PL/pgSQL functions are other things?
>
I am strong in opinion so PLpgSQL is targeted primary for implementation
business logic in server side. CRUD is only one from possible use cases -
and without any special importance to others.
>
> If the latter, then maybe that could explain why you don't feel strongly
> about
> simplifying and condensing the syntax for the most common use-case of them
> all.
>
I don't agree so what you propose, it is common use case. And I don't think
so it can be used in synergy with current design
>
> *) but there are probably equally who prefer to handle business logics
> outside the database
>
It is maybe main difference between me and you. Usually I don't write CRUD
applications, and I am not sure if plpgsql is good for CRUD.
Mainly I would not to optimize plpgsql primary for CRUD.
From | Date | Subject | |
---|---|---|---|
Next Message | Marko Tiikkaja | 2014-09-04 08:53:05 | Re: PL/pgSQL 1.2 |
Previous Message | Marko Tiikkaja | 2014-09-04 08:42:37 | Re: PL/pgSQL 1.2 |