pgsql: Don't generate EEOP_*_FETCHSOME operations for slots know to be

From: Andres Freund <andres(at)anarazel(dot)de>
To: pgsql-committers(at)lists(dot)postgresql(dot)org
Subject: pgsql: Don't generate EEOP_*_FETCHSOME operations for slots know to be
Date: 2019-09-30 23:07:20
Message-ID: E1iF4lE-0007IB-EG@gemulon.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

Don't generate EEOP_*_FETCHSOME operations for slots know to be virtual.

That avoids unnecessary work during both interpreted execution, and
JIT compiled expression evaluation. Both benefit from fewer expression
steps needing be processed, and for interpreted execution there now is
a fastpath dedicated to just fetching a value from a virtual
slot. That's e.g. beneficial for hashjoins over nodes that perform
projections, as the hashed columns are currently fetched individually.

Author: Soumyadeep Chakraborty, Andres Freund
Discussion: https://postgr.es/m/CAE-ML+9OKSN71+mHtfMD-L24oDp8dGTfaVjDU6U+j+FNAW5kRQ@mail.gmail.com

Branch
------
master

Details
-------
https://git.postgresql.org/pg/commitdiff/36d22dd95bc87ca68e742da91f47f8826f8758c9

Modified Files
--------------
src/backend/executor/execExpr.c | 43 +++++++----
src/backend/executor/execExprInterp.c | 133 +++++++++++++++++++++++++++++++++-
src/backend/jit/llvm/llvmjit_expr.c | 6 +-
3 files changed, 160 insertions(+), 22 deletions(-)

Browse pgsql-committers by date

  From Date Subject
Next Message Andres Freund 2019-09-30 23:08:59 Re: pgsql: Stamp 12.0.
Previous Message Andres Freund 2019-09-30 21:51:39 Re: pgsql: pg_rewind: Allow writing recovery configuration