v1-0001-use-Bitmapset-to-represent-not-null-attr-nums.patch
application/octet-stream
Filename: v1-0001-use-Bitmapset-to-represent-not-null-attr-nums.patch
Type: application/octet-stream
Part: 0
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: format-patch
Series: patch v1-0001
Subject: use Bitmapset* to represent not null attr nums
| File | + | − |
|---|---|---|
| src/backend/optimizer/util/clauses.c | 1 | 1 |
| src/backend/optimizer/util/plancat.c | 2 | 2 |
| src/include/optimizer/plancat.h | 1 | 1 |
From 4f5a9c226481de3e53d87cde3e215e63e89e64a4 Mon Sep 17 00:00:00 2001
From: Junwang Zhao <zhjwpku@gmail.com>
Date: Sun, 7 Sep 2025 19:10:18 +0800
Subject: [PATCH v1] use Bitmapset* to represent not null attr nums
---
src/backend/optimizer/util/clauses.c | 2 +-
src/backend/optimizer/util/plancat.c | 4 ++--
src/include/optimizer/plancat.h | 2 +-
3 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/backend/optimizer/util/clauses.c b/src/backend/optimizer/util/clauses.c
index 6f0b338d2cd..967341af18f 100644
--- a/src/backend/optimizer/util/clauses.c
+++ b/src/backend/optimizer/util/clauses.c
@@ -4203,7 +4203,7 @@ simplify_function(Oid funcid, Oid result_type, int32 result_typmod,
bool
var_is_nonnullable(PlannerInfo *root, Var *var, bool use_rel_info)
{
- Relids notnullattnums = NULL;
+ Bitmapset *notnullattnums = NULL;
Assert(IsA(var, Var));
diff --git a/src/backend/optimizer/util/plancat.c b/src/backend/optimizer/util/plancat.c
index 4536bdd6cb4..aca9d861582 100644
--- a/src/backend/optimizer/util/plancat.c
+++ b/src/backend/optimizer/util/plancat.c
@@ -62,7 +62,7 @@ get_relation_info_hook_type get_relation_info_hook = NULL;
typedef struct NotnullHashEntry
{
Oid relid; /* OID of the relation */
- Relids notnullattnums; /* attnums of NOT NULL columns */
+ Bitmapset *notnullattnums; /* attnums of NOT NULL columns */
} NotnullHashEntry;
@@ -750,7 +750,7 @@ get_relation_notnullatts(PlannerInfo *root, Relation relation)
* Searches the hash table and returns the column not-null constraint
* information for a given relation.
*/
-Relids
+Bitmapset *
find_relation_notnullatts(PlannerInfo *root, Oid relid)
{
NotnullHashEntry *hentry;
diff --git a/src/include/optimizer/plancat.h b/src/include/optimizer/plancat.h
index dd8f2cd157f..96107076832 100644
--- a/src/include/optimizer/plancat.h
+++ b/src/include/optimizer/plancat.h
@@ -30,7 +30,7 @@ extern void get_relation_info(PlannerInfo *root, Oid relationObjectId,
extern void get_relation_notnullatts(PlannerInfo *root, Relation relation);
-extern Relids find_relation_notnullatts(PlannerInfo *root, Oid relid);
+extern Bitmapset *find_relation_notnullatts(PlannerInfo *root, Oid relid);
extern List *infer_arbiter_indexes(PlannerInfo *root);
--
2.41.0