pgsql-server/src backend/executor/execQual.c b ... - Mailing list pgsql-committers

From tgl@svr1.postgresql.org (Tom Lane)
Subject pgsql-server/src backend/executor/execQual.c b ...
Date
Msg-id 20040317204843.499B9D1E2AA@svr1.postgresql.org
Whole thread Raw
List pgsql-committers
CVSROOT:    /cvsroot
Module name:    pgsql-server
Changes by:    tgl@svr1.postgresql.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.


pgsql-committers by date:

Previous
From: momjian@svr1.postgresql.org (Bruce Momjian)
Date:
Subject: pgsql-server/doc TODO
Next
From: tgl@svr1.postgresql.org (Tom Lane)
Date:
Subject: pgsql-server/src/backend/utils/sort tuplesort.c