Re: WIP: Faster Expression Processing v4

From: Andres Freund <andres(at)anarazel(dot)de>
To: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
Cc: Tomas Vondra <tomas(dot)vondra(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: WIP: Faster Expression Processing v4
Date: 2017-03-14 17:34:10
Message-ID: 20170314173410.fbpjy2uksbpyl4ou@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2017-03-14 08:28:02 -0300, Alvaro Herrera wrote:
> Andres Freund wrote:
>
> > EEO_SWITCH(op->opcode)
> > {
> > EEO_CASE(EEO_DONE):
> > goto out;
>
> Oh my.
>
> > which is a bit annoying. (the EEO_CASE is either a jump label or a case
> > statement, depending on computed goto availability).
> >
> > It seems we could either:
> > 1) live with the damage
> > 2) disable pgindent
> > 3) move the : inside EEO_CASE's definition, and only use {} blocks.
>
> I think 3) is nasty because the result doesn't look like normal C.

We have a bunch of such constructs already however. foreach(),
PG_TRY(). That means 3) has the advantage that our editors and pgindent
can already deal with it.

> EEO_CASE() are potentially jump labels, then indentation becomes
> correct. Why not accept it? It looks odd, but that gives a better hint
> to the reader about what's going on.

Seems likely that every editor would indent them differently :(

I'm leaning towards 3) for the reasons above and after trying out the
different indentations, but I don't have a strong opinion.

Greetings,

Andres Freund

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2017-03-14 17:40:40 Re: Write Ahead Logging for Hash Indexes
Previous Message Andres Freund 2017-03-14 17:31:37 Re: WIP: Faster Expression Processing v4