diff options
author | Tom Lane <tgl@sss.pgh.pa.us> | 2011-03-25 15:06:36 -0400 |
---|---|---|
committer | Tom Lane <tgl@sss.pgh.pa.us> | 2011-03-25 15:06:36 -0400 |
commit | a4425e3200f2c2578bdf94bb6234169115746c9f (patch) | |
tree | 3fdd5fba0eda0b2f458162ee4abba0700fd19651 /src/backend/access/gist/gistutil.c | |
parent | f6f0916dbdf9f2dc6bcdc550d8b3843739cdc304 (diff) | |
download | postgresql-a4425e3200f2c2578bdf94bb6234169115746c9f.tar.gz postgresql-a4425e3200f2c2578bdf94bb6234169115746c9f.zip |
Fix collation handling in plpgsql functions.
Make plpgsql treat the input collation as a polymorphism variable, so
that we cache separate plans for each input collation that's used in a
particular session, as per recent discussion. Propagate the input
collation to all collatable input parameters.
I chose to also propagate the input collation to all declared variables of
collatable types, which is a bit more debatable but seems to be necessary
for non-astonishing behavior. (Copying a parameter into a separate local
variable shouldn't result in a change of behavior, for example.) There is
enough infrastructure here to support declaring a collation for each local
variable to override that default, but I thought we should wait to see what
the field demand is before adding such a feature.
In passing, remove exec_get_rec_fieldtype(), which wasn't used anywhere.
Documentation patch to follow.
Diffstat (limited to 'src/backend/access/gist/gistutil.c')
0 files changed, 0 insertions, 0 deletions