Re: pgsql: Do execGrouping.c via expression eval machinery, take two.

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)postgresql(dot)org, pgsql-hackers(at)postgresql(dot)org, Robert Haas <robertmhaas(at)gmail(dot)com>, Kohei KaiGai <kaigai(at)kaigai(dot)gr(dot)jp>
Subject: Re: pgsql: Do execGrouping.c via expression eval machinery, take two.
Date: 2018-02-17 00:03:37
Message-ID: 20180217000337.lfsdvro3l6ccsksp@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers pgsql-hackers

Hi,

On 2018-02-16 22:48:39 +0000, Andres Freund wrote:
> Do execGrouping.c via expression eval machinery, take two.
>
> This has a performance benefit on own, although not hugely so. The
> primary benefit is that it will allow for to JIT tuple deforming and
> comparator invocations.
>
> Large parts of this were previously committed (773aec7aa), but the
> commit contained an omission around cross-type comparisons and was
> thus reverted.
>
> Author: Andres Freund
> Discussion: https://postgr.es/m/20171129080934.amqqkke2zjtekd4t@alap3.anarazel.de

This triggered a failure on rhinoceros, in the sepgsql test:
https://buildfarm.postgresql.org/cgi-bin/show_log.pl?nm=rhinoceros&dt=2018-02-16%2023%3A45%3A02

The relevant diff is:
+ LOG: SELinux: allowed { execute } scontext=unconfined_u:unconfined_r:sepgsql_regtest_superuser_t:s0-s0:c0.c255 tcontext=system_u:object_r:sepgsql_proc_exec_t:s0 tclass=db_procedure name="pg_catalog.int4eq(integer,integer)"
and that's because we now invoke the function access hook for grouping
equal, which we previously didn't.

I personally think the new behaviour makes more sense, but if somebody
wants to argue differently? The only argument against I can see is that
there's some other cases where also don't yet invoke it, but that seems
weak.

I never fully grasped the exact use-case for the function execute hook
is, so maybe Kaigai and/or Robert could comment?

Greetings,

Andres Freund

In response to

Responses

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2018-02-17 05:20:16 pgsql: Allow tupleslots to have a fixed tupledesc, use in executor node
Previous Message Andres Freund 2018-02-16 22:48:39 pgsql: Do execGrouping.c via expression eval machinery, take two.

Browse pgsql-hackers by date

  From Date Subject
Next Message Arseny Sher 2018-02-17 02:26:20 Re: Server Crash while executing pg_replication_slot_advance (second time)
Previous Message Michael Paquier 2018-02-16 23:34:41 Re: Disabling src/test/[ssl|ldap] when not building with SSL/LDAP support