CF 7392, v8: benchmarks for 0007
================================

Host: c8id.4xlarge (Xeon 6975P-C), Debian 13, gcc 14.2, -O2, no cassert,
everything on local NVMe.

  new    v8 0001-0006 (69dca9e1b4b)
  seven  v8 0001-0007 (identical to v8-0007 except it was a working-tree
         diff when measured)

Execution: bench7.sh, the same method as bench5.sh in the v7 tarball
(cf7392-bench-0006): one data image copied fresh for each run, every
relation pg_prewarm'd, AB/BA order randomized per block from SEED, one
discarded run then 5 timed, per query per variant.  The image is v7's
plus b7-data.sql (a PARALLEL RESTRICTED copy of fexp() and an index on
it).  Queries are in b7.q.  an7.py is an5.py with the variant labels
changed.  Two sessions of 11 blocks: s7a.csv, s7b.csv; summary.txt has
the analysis and each query's plan shape under both builds.

  oj_left       LEFT JOIN, fexp() on the nullable side
  oj_full       FULL JOIN
  oj_coalesce   coalesce(fexp(a.i), -1) on the nullable side
  part_ordjoin  partitioned table, ordered Append into a merge join
  par_scan      parallel scan of a PARALLEL RESTRICTED indexed function
  par_partjoin  partitioned table joined, parallel allowed
  ctl_inner     inner join 0006 already handles (control)
  ctl_plain     no expression index (control)

par_scan shows no change: on this data the serial index-only scan beats
any parallel plan, with or without 0007.  The regression test in gist.sql
forces the parallel plan to show the value read in the workers.

Planning time and planner memory: plantime7.sh, N-way joins, inner and
LEFT, with and without fexp(); median of 30 EXPLAINs; output in
plantime-0006-vs-0007.txt (columns: variant, rels, join, expr, ms, kB).

Correctness: correct5.sql, 48 query shapes, each run with index-only
scans on, off, parallel encouraged, debug_parallel_query, partitionwise
joins on, nested loop only and merge join only (336 runs), every result
compared with the off run: 0 mismatches.  cexp_restr() raises an error
if it is ever evaluated in a parallel worker; a canary with the same
check marked PARALLEL SAFE confirmed the check fires.
