From 2ae2e9c00798685cd75ea0cc5120466bf2027b90 Mon Sep 17 00:00:00 2001
From: Tom Lane <tgl@sss.pgh.pa.us>
Date: Fri, 30 Dec 2011 17:58:15 -0500
Subject: [PATCH] Revert "Remove troublesome Asserts in cost_mergejoin()."

This reverts commit ff68b256a533b398e3420750f34d161aeee4e099.
The recent change to use -fexcess-precision=standard should make those
Asserts safe, and does fix a test case that formerly crashed for me,
so I think there's no need to have a cross-version difference in the
code here.
---
 src/backend/optimizer/path/costsize.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/backend/optimizer/path/costsize.c b/src/backend/optimizer/path/costsize.c
index efc49dad1ec..39c426a62fb 100644
--- a/src/backend/optimizer/path/costsize.c
+++ b/src/backend/optimizer/path/costsize.c
@@ -1925,6 +1925,9 @@ cost_mergejoin(MergePath *path, PlannerInfo *root, SpecialJoinInfo *sjinfo)
 	outerendsel = outer_rows / outer_path_rows;
 	innerendsel = inner_rows / inner_path_rows;
 
+	Assert(outerstartsel <= outerendsel);
+	Assert(innerstartsel <= innerendsel);
+
 	/* cost of source data */
 
 	if (outersortkeys)			/* do we need to sort outer? */
-- 
GitLab