diff options
Diffstat (limited to 'src/backend/optimizer/util/plancat.c')
| -rw-r--r-- | src/backend/optimizer/util/plancat.c | 6 | 
1 files changed, 6 insertions, 0 deletions
| diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c index e35c8c326d7..f7fb38404f2 100644 --- a/src/backend/optimizer/util/plancat.c +++ b/src/backend/optimizer/util/plancat.c @@ -275,6 +275,7 @@ get_relation_info(PlannerInfo *root, Oid relationObjectId, bool inhparent,  				ChangeVarNodes((Node *) info->indpred, 1, varno, 0);  			info->predOK = false;		/* set later in indxpath.c */  			info->unique = index->indisunique; +			info->immediate = index->indimmediate;  			info->hypothetical = false;  			/* @@ -876,6 +877,11 @@ join_selectivity(PlannerInfo *root,   * Detect whether there is a unique index on the specified attribute   * of the specified relation, thus allowing us to conclude that all   * the (non-null) values of the attribute are distinct. + * + * This function does not check the index's indimmediate property, which + * means that uniqueness may transiently fail to hold intra-transaction. + * That's appropriate when we are making statistical estimates, but beware + * of using this for any correctness proofs.   */  bool  has_unique_index(RelOptInfo *rel, AttrNumber attno) | 
