aboutsummaryrefslogtreecommitdiff
path: root/src/backend/nodes/readfuncs.c
diff options
context:
space:
mode:
authorTom Lane <tgl@sss.pgh.pa.us>2011-04-18 15:31:52 -0400
committerTom Lane <tgl@sss.pgh.pa.us>2011-04-18 15:31:52 -0400
commit918854cc08868d569aad3bdf2529fc61c66ecde5 (patch)
treee6175eed7446145d62b0bb707d83f29209837556 /src/backend/nodes/readfuncs.c
parent04db0fdbfa9382730bb65f94bca2cd8063a3456a (diff)
downloadpostgresql-918854cc08868d569aad3bdf2529fc61c66ecde5.tar.gz
postgresql-918854cc08868d569aad3bdf2529fc61c66ecde5.zip
Fix handling of collations in multi-row VALUES constructs.
Per spec we ought to apply select_common_collation() across the expressions in each column of the VALUES table. The original coding was just taking the first row and assuming it was representative. This patch adds a field to struct RangeTblEntry to carry the resolved collations, so initdb is forced for changes in stored rule representation.
Diffstat (limited to 'src/backend/nodes/readfuncs.c')
-rw-r--r--src/backend/nodes/readfuncs.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backend/nodes/readfuncs.c b/src/backend/nodes/readfuncs.c
index 5f1fd32b9f2..22885147cfb 100644
--- a/src/backend/nodes/readfuncs.c
+++ b/src/backend/nodes/readfuncs.c
@@ -1203,6 +1203,7 @@ _readRangeTblEntry(void)
break;
case RTE_VALUES:
READ_NODE_FIELD(values_lists);
+ READ_NODE_FIELD(values_collations);
break;
case RTE_CTE:
READ_STRING_FIELD(ctename);