From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 16 Mar 2012 18:07:21 +0000 (-0400)
Subject: Improve commentary in match_pathkeys_to_index().
X-Git-Tag: REL9_2_BETA1~271
X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=b67ad046e6c37cbe0eebc5745323ed9864192f52;p=postgresql

Improve commentary in match_pathkeys_to_index().

For a little while there I thought match_pathkeys_to_index() was broken
because it wasn't trying to match index columns to pathkeys in order.
Actually that's correct, because GiST can support ordering operators
on any random collection of index columns, but it sure needs a comment.
---

diff --git a/src/backend/optimizer/path/indxpath.c b/src/backend/optimizer/path/indxpath.c
index 89b42da6b4..e23cc5eb7b 100644
--- a/src/backend/optimizer/path/indxpath.c
+++ b/src/backend/optimizer/path/indxpath.c
@@ -2174,6 +2174,13 @@ match_pathkeys_to_index(IndexOptInfo *index, List *pathkeys,
 			if (!bms_equal(member->em_relids, index->rel->relids))
 				continue;
 
+			/*
+			 * We allow any column of the index to match each pathkey; they
+			 * don't have to match left-to-right as you might expect.  This
+			 * is correct for GiST, which is the sole existing AM supporting
+			 * amcanorderbyop.  We might need different logic in future for
+			 * other implementations.
+			 */
 			for (indexcol = 0; indexcol < index->ncolumns; indexcol++)
 			{
 				Expr	   *expr;