2014-09-04 10:06 GMT+02:00 Joel Jacobson <j...@trustly.com>:

> On Thu, Sep 4, 2014 at 9:39 AM, Pavel Stehule <pavel.steh...@gmail.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.

Reply via email to