pgsql-server/src backend/executor/execQual.c b ...

From: tgl(at)svr1(dot)postgresql(dot)org (Tom Lane)
To: pgsql-committers(at)postgresql(dot)org
Subject: pgsql-server/src backend/executor/execQual.c b ...
Date: 2004-03-17 20:48:43
Message-ID: 20040317204843.499B9D1E2AA@svr1.postgresql.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-committers

CVSROOT: /cvsroot
Module name: pgsql-server
Changes by: tgl(at)svr1(dot)postgresql(dot)org 04/03/17 16:48:43

Modified files:
src/backend/executor: execQual.c execUtils.c
src/backend/nodes: copyfuncs.c equalfuncs.c outfuncs.c
readfuncs.c
src/backend/optimizer/util: clauses.c
src/backend/parser: gram.y parse_expr.c
src/backend/utils/adt: ruleutils.c
src/include/catalog: catversion.h
src/include/nodes: execnodes.h nodes.h primnodes.h
src/pl/plpgsql/src: pl_exec.c
src/test/regress/expected: rules.out

Log message:
Reimplement CASE val WHEN compval1 THEN ... WHEN compval2 THEN ... END
so that the 'val' is computed only once, per recent discussion. The
speedup is not much when 'val' is just a simple variable, but could be
significant for larger expressions. More importantly this avoids issues
with multiple evaluations of a volatile 'val', and it allows the CASE
expression to be reverse-listed in its original form by ruleutils.c.

Browse pgsql-committers by date

  From Date Subject
Next Message Tom Lane 2004-03-17 22:24:58 pgsql-server/src/backend/utils/sort tuplesort.c
Previous Message Bruce Momjian 2004-03-17 17:40:44 pgsql-server/doc TODO