extended-stat-catalog-datum-1.patch

text/plain

Filename: extended-stat-catalog-datum-1.patch
Type: text/plain
Part: 0
Message: stats_ext test fails with -DCATCACHE_FORCE_RELEASE

Patch

Format: unified
File+
src/backend/statistics/dependencies.c 4 1
src/backend/statistics/mvdistinct.c 4 1
diff --git a/src/backend/statistics/dependencies.c b/src/backend/statistics/dependencies.c
index d7305b7ab3..cbf3221ce9 100644
--- a/src/backend/statistics/dependencies.c
+++ b/src/backend/statistics/dependencies.c
@@ -631,6 +631,7 @@ dependency_implies_attribute(MVDependency *dependency, AttrNumber attnum)
 MVDependencies *
 statext_dependencies_load(Oid mvoid)
 {
+	MVDependencies *result;
 	bool		isnull;
 	Datum		deps;
 	HeapTuple	htup = SearchSysCache1(STATEXTOID, ObjectIdGetDatum(mvoid));
@@ -642,9 +643,11 @@ statext_dependencies_load(Oid mvoid)
 						   Anum_pg_statistic_ext_stxdependencies, &isnull);
 	Assert(!isnull);
 
+	result = statext_dependencies_deserialize(DatumGetByteaP(deps));
+
 	ReleaseSysCache(htup);
 
-	return statext_dependencies_deserialize(DatumGetByteaP(deps));
+	return result;
 }
 
 /*
diff --git a/src/backend/statistics/mvdistinct.c b/src/backend/statistics/mvdistinct.c
index 24e74d7a1b..069d3cd6ff 100644
--- a/src/backend/statistics/mvdistinct.c
+++ b/src/backend/statistics/mvdistinct.c
@@ -126,6 +126,7 @@ statext_ndistinct_build(double totalrows, int numrows, HeapTuple *rows,
 MVNDistinct *
 statext_ndistinct_load(Oid mvoid)
 {
+	MVNDistinct *result;
 	bool		isnull = false;
 	Datum		ndist;
 	HeapTuple	htup;
@@ -141,9 +142,11 @@ statext_ndistinct_load(Oid mvoid)
 			 "requested statistic kind %c is not yet built for statistics object %u",
 			 STATS_EXT_NDISTINCT, mvoid);
 
+	result = statext_ndistinct_deserialize(DatumGetByteaP(ndist));
+
 	ReleaseSysCache(htup);
 
-	return statext_ndistinct_deserialize(DatumGetByteaP(ndist));
+	return result;
 }
 
 /*