Oid returned from AddSubscriptionRelState/UpdateSubscriptionRelState
Started by Andres Freundover 7 years ago2 messages
Hi,
How come those two functions return oids, even though, as far as I
understand, the underlying relation is BKI_WITHOUT_OIDS. I assume
that's just an oversight?
Greetings,
Andres Freund
Re: Oid returned from AddSubscriptionRelState/UpdateSubscriptionRelState
Hi,
On 29/09/18 03:35, Andres Freund wrote:
How come those two functions return oids, even though, as far as I
understand, the underlying relation is BKI_WITHOUT_OIDS. I assume
that's just an oversight?
Yeah, it's copy-pasto that managed to get through, those functions
should return void.
--
Petr Jelinek http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services
Attachments:
0001-Fix-return-value-of-subscription-relation-mapping-ma.patchtext/x-patch; name=0001-Fix-return-value-of-subscription-relation-mapping-ma.patchDownload
From 6ca65097d08244308c264975db4b7b843751d40f Mon Sep 17 00:00:00 2001
From: Petr Jelinek <pjmodos@pjmodos.net>
Date: Mon, 1 Oct 2018 15:19:26 +0200
Subject: [PATCH] Fix return value of subscription-relation mapping
manipulation functions
These functions manipulate catalog which does not have oids so don't try
to return them from those functions.
---
src/backend/catalog/pg_subscription.c | 14 +++-----------
src/include/catalog/pg_subscription_rel.h | 4 ++--
2 files changed, 5 insertions(+), 13 deletions(-)
diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c
index f891ff8054..077701fde0 100644
--- a/src/backend/catalog/pg_subscription.c
+++ b/src/backend/catalog/pg_subscription.c
@@ -236,13 +236,12 @@ textarray_to_stringlist(ArrayType *textarray)
/*
* Add new state record for a subscription table.
*/
-Oid
+void
AddSubscriptionRelState(Oid subid, Oid relid, char state,
XLogRecPtr sublsn)
{
Relation rel;
HeapTuple tup;
- Oid subrelid;
bool nulls[Natts_pg_subscription_rel];
Datum values[Natts_pg_subscription_rel];
@@ -272,26 +271,23 @@ AddSubscriptionRelState(Oid subid, Oid relid, char state,
tup = heap_form_tuple(RelationGetDescr(rel), values, nulls);
/* Insert tuple into catalog. */
- subrelid = CatalogTupleInsert(rel, tup);
+ CatalogTupleInsert(rel, tup);
heap_freetuple(tup);
/* Cleanup. */
heap_close(rel, NoLock);
-
- return subrelid;
}
/*
* Update the state of a subscription table.
*/
-Oid
+void
UpdateSubscriptionRelState(Oid subid, Oid relid, char state,
XLogRecPtr sublsn)
{
Relation rel;
HeapTuple tup;
- Oid subrelid;
bool nulls[Natts_pg_subscription_rel];
Datum values[Natts_pg_subscription_rel];
bool replaces[Natts_pg_subscription_rel];
@@ -328,12 +324,8 @@ UpdateSubscriptionRelState(Oid subid, Oid relid, char state,
/* Update the catalog. */
CatalogTupleUpdate(rel, &tup->t_self, tup);
- subrelid = HeapTupleGetOid(tup);
-
/* Cleanup. */
heap_close(rel, NoLock);
-
- return subrelid;
}
/*
diff --git a/src/include/catalog/pg_subscription_rel.h b/src/include/catalog/pg_subscription_rel.h
index 556cb94841..88f004a8e9 100644
--- a/src/include/catalog/pg_subscription_rel.h
+++ b/src/include/catalog/pg_subscription_rel.h
@@ -67,9 +67,9 @@ typedef struct SubscriptionRelState
char state;
} SubscriptionRelState;
-extern Oid AddSubscriptionRelState(Oid subid, Oid relid, char state,
+extern void AddSubscriptionRelState(Oid subid, Oid relid, char state,
XLogRecPtr sublsn);
-extern Oid UpdateSubscriptionRelState(Oid subid, Oid relid, char state,
+extern void UpdateSubscriptionRelState(Oid subid, Oid relid, char state,
XLogRecPtr sublsn);
extern char GetSubscriptionRelState(Oid subid, Oid relid,
XLogRecPtr *sublsn, bool missing_ok);
--
2.17.1