v25-fix.diff

text/x-patch

Filename: v25-fix.diff
Type: text/x-patch
Part: 0
Message: Re: POC, WIP: OR-clause support for indexes

Patch

Same data as JSON: GET /api/v1/attachments/:id/patch the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes. API reference →
Format: unified
Series: patch v25
File+
src/backend/optimizer/plan/initsplan.c 9 1
diff --git a/src/backend/optimizer/plan/initsplan.c b/src/backend/optimizer/plan/initsplan.c
index 0022535318..3b3249b075 100644
--- a/src/backend/optimizer/plan/initsplan.c
+++ b/src/backend/optimizer/plan/initsplan.c
@@ -2981,7 +2981,15 @@ add_base_clause_to_rel(PlannerInfo *root, Index relid,
 
 		if (list_length(orExpr->args) >= 2)
 		{
-			orExpr->args = transform_or_to_any(root, orExpr->args);
+			List *args = transform_or_to_any(root, orExpr->args);
+
+			if (list_length(args) > 1)
+				orExpr->args = args;
+			else
+			{
+				restrictinfo->orclause = NULL;
+				restrictinfo->clause = (Expr*)((RestrictInfo *)linitial(args))->clause;
+			}
 		}
 	}