v2-0002-Test-code-to-exercise-palloc_aligned-and-repalloc.patch
text/plain
Filename: v2-0002-Test-code-to-exercise-palloc_aligned-and-repalloc.patch
Type: text/plain
Part: 1
Patch
Format: format-patch
Series: patch v2-0002
Subject: Test code to exercise palloc_aligned and repalloc
| File | + | − |
|---|---|---|
| src/backend/optimizer/plan/planner.c | 15 | 0 |
From 4ae1d6163d919a58a437e22c7cd9a5da350b4237 Mon Sep 17 00:00:00 2001
From: David Rowley <dgrowley@gmail.com>
Date: Wed, 16 Nov 2022 12:48:47 +1300
Subject: [PATCH v2 2/2] Test code to exercise palloc_aligned and repalloc
---
src/backend/optimizer/plan/planner.c | 15 +++++++++++++++
1 file changed, 15 insertions(+)
diff --git a/src/backend/optimizer/plan/planner.c b/src/backend/optimizer/plan/planner.c
index 493a3af0fa..09e40567c7 100644
--- a/src/backend/optimizer/plan/planner.c
+++ b/src/backend/optimizer/plan/planner.c
@@ -606,6 +606,21 @@ subquery_planner(PlannerGlobal *glob, Query *parse,
RelOptInfo *final_rel;
ListCell *l;
+ for (int align = 8; align <= 8192; align *= 2)
+ {
+ void *a = palloc0(512);
+ void *p = palloc_aligned(512, align, 0);
+ memset(p, 0, 512);
+
+ Assert(memcmp(p, a, 512) == 0);
+ p = repalloc(p, 1024);
+ Assert(memcmp(p, a, 512) == 0);
+ p = repalloc(p, 256);
+ Assert(memcmp(p, a, 256) == 0);
+ pfree(a);
+ pfree(p);
+ }
+
/* Create a PlannerInfo data structure for this subquery */
root = makeNode(PlannerInfo);
root->parse = parse;
--
2.35.1.windows.2