From 7ac0069fb880b9b64223f104058c82773321851c Mon Sep 17 00:00:00 2001 From: Peter Eisentraut Date: Thu, 15 Nov 2018 23:22:19 +0100 Subject: [PATCH] A small tweak to some comments for PartitionKeyData It was not really that obvious that there's meant to be exactly 1 item in the partexprs List for each zero-valued partattrs element. Some incorrect code using these fields was the cause of CVE-2018-1052, so it's worthwhile to mention how they should be used in the comments. Author: David Rowley --- src/include/utils/partcache.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/include/utils/partcache.h b/src/include/utils/partcache.h index 873c60fafd..2939032f0a 100644 --- a/src/include/utils/partcache.h +++ b/src/include/utils/partcache.h @@ -26,9 +26,9 @@ typedef struct PartitionKeyData char strategy; /* partitioning strategy */ int16 partnatts; /* number of columns in the partition key */ AttrNumber *partattrs; /* attribute numbers of columns in the - * partition key */ + * partition key or 0 if it's an expr */ List *partexprs; /* list of expressions in the partitioning - * key, or NIL */ + * key, one for each zero-valued partattrs */ Oid *partopfamily; /* OIDs of operator families */ Oid *partopcintype; /* OIDs of opclass declared input data types */ -- 2.40.0