aboutsummaryrefslogtreecommitdiff
path: root/src/backend/executor/nodeProjectSet.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2023-03-12 14:20:34 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2023-03-12 14:20:34 -0400
commit767c598954bbf72e0535f667e2e0667765604b2a (patch)
treee64e06d93ce41abb9d65607dfb8ccf78a476d058 /src/backend/executor/nodeProjectSet.c
parent872e3d150e9aad110cfbd80c38b15e2219eacf45 (diff)
downloadpostgresql-767c598954bbf72e0535f667e2e0667765604b2a.tar.gz
postgresql-767c598954bbf72e0535f667e2e0667765604b2a.zip
Work around implementation restriction in adjust_appendrel_attrs.
adjust_appendrel_attrs can't transfer nullingrel labeling to a non-Var translation expression (mainly because it's too late to wrap such an expression in a PlaceHolderVar). I'd supposed in commit 2489d76c4 that that restriction was unreachable because we'd not attempt to push problematic clauses down to an appendrel child relation. I forgot that set_append_rel_size blindly converts all the parent rel's joininfo clauses to child clauses, and that list could well contain clauses from above a nulling outer join. We might eventually have to devise a direct fix for this implementation restriction, but for now it seems enough to filter out troublesome clauses while constructing the child's joininfo list. Such clauses are certainly not useful while constructing paths for the child rel; they'll have to be applied later when we join the completed appendrel to something else. So we don't need them here, and omitting them from the list should save a few cycles while processing the child rel. Per bug #17832 from Marko Tiikkaja. Discussion: https://postgr.es/m/17832-d0a8106cdf1b722e@postgresql.org
Diffstat (limited to 'src/backend/executor/nodeProjectSet.c')
0 files changed, 0 insertions, 0 deletions