Re: Expression based grouping equality implementation

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-hackers(at)postgresql(dot)org
Subject: Re: Expression based grouping equality implementation
Date: 2018-01-09 22:25:44
Message-ID: 20180109222544.f7loxrunqh3xjl5f@alap3.anarazel.de
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

On 2017-11-29 00:09:34 -0800, Andres Freund wrote:
> Similar to [1] (Expression based aggregate transition / combine function
> invocation), this patch provides small-medium performance benefits in
> order to later enable larger performance benefits with JIT compilation.

Here's an updated version of the patch.

> - there's now a bit of additional code at callsites to reset the
> ExprContext - was tempted to put that that in a ExecQualAndReset()
> inline wrapper, but that's not entirely trivial because executor.h
> doesn't include memutils.h and ResetExprContext() is declared late.

I've now added ExecQualAndReset(), in patch 0001, and solved the above
problems by including memutils.h and "inlining" ResetExprContext() to
avoid the ordering issue. Not pretty, but seems better than the
alternatives.

I'm not yet quite happy with this, but I thought it'be good to send an
updated version...

- Andres

Attachment Content-Type Size
0001-Introduce-ExecQualAndReset-helper.patch text/x-diff 5.5 KB
0002-Do-execGrouping.c-via-expression-eval-machinery.patch text/x-diff 49.9 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message David Rowley 2018-01-09 22:35:49 Re: [HACKERS] path toward faster partition pruning
Previous Message David Rowley 2018-01-09 22:14:27 Re: [HACKERS] Removing LEFT JOINs in more cases