0001-Add-missing-CommandCounterIncrement-in-stats-import-.patch
text/x-patch
Filename: 0001-Add-missing-CommandCounterIncrement-in-stats-import-.patch
Type: text/x-patch
Part: 0
Message:
Re: Statistics Import and Export
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 0001
Subject: Add missing CommandCounterIncrement() in stats import functions.
| File | + | − |
|---|---|---|
| src/backend/statistics/attribute_stats.c | 8 | 3 |
| src/backend/statistics/relation_stats.c | 2 | 0 |
From ccff3df8b2d6f0c139a39e5aef8721b4480bdbd3 Mon Sep 17 00:00:00 2001
From: Jeff Davis <jeff@j-davis.com>
Date: Mon, 28 Oct 2024 18:16:09 -0700
Subject: [PATCH] Add missing CommandCounterIncrement() in stats import
functions.
Reported-by: Alexander Lakhin
Discussion: https://postgr.es/m/98b2fcf0-f701-369e-d63d-6be9739ce17c@gmail.com
---
src/backend/statistics/attribute_stats.c | 11 ++++++++---
src/backend/statistics/relation_stats.c | 2 ++
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/src/backend/statistics/attribute_stats.c b/src/backend/statistics/attribute_stats.c
index af61fd79e4..4ae0722b78 100644
--- a/src/backend/statistics/attribute_stats.c
+++ b/src/backend/statistics/attribute_stats.c
@@ -752,6 +752,8 @@ upsert_pg_statistic(Relation starel, HeapTuple oldtup,
}
heap_freetuple(newtup);
+
+ CommandCounterIncrement();
}
/*
@@ -762,6 +764,7 @@ delete_pg_statistic(Oid reloid, AttrNumber attnum, bool stainherit)
{
Relation sd = table_open(StatisticRelationId, RowExclusiveLock);
HeapTuple oldtup;
+ bool result = false;
/* Is there already a pg_statistic tuple for this attribute? */
oldtup = SearchSysCache3(STATRELATTINH,
@@ -773,12 +776,14 @@ delete_pg_statistic(Oid reloid, AttrNumber attnum, bool stainherit)
{
CatalogTupleDelete(sd, &oldtup->t_self);
ReleaseSysCache(oldtup);
- table_close(sd, RowExclusiveLock);
- return true;
+ result = true;
}
table_close(sd, RowExclusiveLock);
- return false;
+
+ CommandCounterIncrement();
+
+ return result;
}
/*
diff --git a/src/backend/statistics/relation_stats.c b/src/backend/statistics/relation_stats.c
index 5a2aabc921..ed5dea2e05 100644
--- a/src/backend/statistics/relation_stats.c
+++ b/src/backend/statistics/relation_stats.c
@@ -171,6 +171,8 @@ relation_statistics_update(FunctionCallInfo fcinfo, int elevel)
/* release the lock, consistent with vac_update_relstats() */
table_close(crel, RowExclusiveLock);
+ CommandCounterIncrement();
+
return result;
}
--
2.34.1