Re: [PATCH] Improve geometric types

From: Kyotaro HORIGUCHI <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp>
To: robertmhaas(at)gmail(dot)com
Cc: emre(at)hasegeli(dot)com, a(dot)alekseev(at)postgrespro(dot)ru, pgsql-hackers(at)postgresql(dot)org
Subject: Re: [PATCH] Improve geometric types
Date: 2017-09-15 08:23:28
Message-ID: 20170915.172328.97446299.horiguchi.kyotaro@lab.ntt.co.jp
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

At Thu, 14 Sep 2017 16:19:13 -0400, Robert Haas <robertmhaas(at)gmail(dot)com> wrote in <CA+TgmobinBA7uvQifYaYGdDUoF6VTo56dvoTT6nKSpJF-Zfv5A(at)mail(dot)gmail(dot)com>
> On Thu, Sep 14, 2017 at 3:33 AM, Kyotaro HORIGUCHI
> <horiguchi(dot)kyotaro(at)lab(dot)ntt(dot)co(dot)jp> wrote:
> > I recall a bit about the double-evaluation hazards. I think the
> > functions needs a comment describing the reasons so that anyone
> > kind won't try to merge them into a macro again.
>
> I think we can count on PostgreSQL developers to understand the
> advantages of an inline function over a macro. Even if they don't,
> the solution can't be to put a comment in every place where an inline
> function is used explaining it. That would be very repetitive.

Of course putting such a comment to all inline functions is
silly. The point here is that many pairs of two functions with
exactly the same shape but handle different types are defined
side by side. Such situation seems tempting to merge them into
single macros, as the previous author did there.

So a simple one like the following would be enough.

/* don't merge the following same functions with different types
into single macros so that double evaluation won't happen */

Is it still too verbose?

regards,

--
Kyotaro Horiguchi
NTT Open Source Software Center

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Kyotaro HORIGUCHI 2017-09-15 08:31:52 Re: [PATCH] Improve geometric types
Previous Message Konstantin Knizhnik 2017-09-15 08:16:05 Re: Surjective functional indexes