pgsql: Fix planning of SubLinks to ensure that Vars generated from

Started by Nonameabout 19 years ago3 messages
#1Noname
tgl@postgresql.org

Log Message:
-----------
Fix planning of SubLinks to ensure that Vars generated from transformation of
a sublink's test expression have the correct vartypmod, rather than defaulting
to -1. There's at least one place where this is important because we're
expecting these Vars to be exactly equal() to those appearing in the subplan
itself. This is a pretty klugy solution --- it would likely be cleaner to
change Param nodes to include a typmod field --- but we can't do that in the
already-released 8.2 branch.
Per bug report from Hubert Fongarnand.

Modified Files:
--------------
pgsql/src/backend/optimizer/plan:
subselect.c (r1.112 -> r1.113)
(http://developer.postgresql.org/cvsweb.cgi/pgsql/src/backend/optimizer/plan/subselect.c.diff?r1=1.112&r2=1.113)

#2Andrew Dunstan
andrew@dunslane.net
In reply to: Noname (#1)
Re: pgsql: Fix planning of SubLinks to ensure that

Tom Lane wrote:

Log Message:
-----------
Fix planning of SubLinks to ensure that Vars generated from transformation
of
a sublink's test expression have the correct vartypmod, rather than
defaulting
to -1. There's at least one place where this is important because we're
expecting these Vars to be exactly equal() to those appearing in the
subplan
itself. This is a pretty klugy solution --- it would likely be cleaner to
change Param nodes to include a typmod field --- but we can't do that in
the
already-released 8.2 branch.
Per bug report from Hubert Fongarnand.

I'm slightly confused by this commit message. Is this commit on HEAD a
temporary measure pending a cleaner fix, or is it the intended permanent
fix, notwithstanding the kludginess?

cheers

andrew

#3Tom Lane
tgl@sss.pgh.pa.us
In reply to: Andrew Dunstan (#2)
Re: pgsql: Fix planning of SubLinks to ensure that

"Andrew Dunstan" <andrew@dunslane.net> writes:

Tom Lane wrote:

This is a pretty klugy solution --- it would likely be cleaner to
change Param nodes to include a typmod field --- but we can't do that in
the already-released 8.2 branch.

I'm slightly confused by this commit message. Is this commit on HEAD a
temporary measure pending a cleaner fix, or is it the intended permanent
fix, notwithstanding the kludginess?

I have a to-do item to look at the idea of adding typmod to Param, but
am not committing to do it yet. In the meantime I figured the bug should
get fixed.

regards, tom lane