commit 0c0dcbf03de108cd923cb771fa5fa2aed781a71b Author: Masahiko Sawada Date: Mon Apr 17 17:38:56 2017 +0900 Add NOT NULL constraint to all columns of pg_subscription. diff --git a/src/backend/catalog/pg_subscription.c b/src/backend/catalog/pg_subscription.c index a183850..3cc762a 100644 --- a/src/backend/catalog/pg_subscription.c +++ b/src/backend/catalog/pg_subscription.c @@ -74,7 +74,6 @@ GetSubscription(Oid subid, bool missing_ok) tup, Anum_pg_subscription_subconninfo, &isnull); - Assert(!isnull); sub->conninfo = TextDatumGetCString(datum); /* Get slotname */ @@ -82,7 +81,6 @@ GetSubscription(Oid subid, bool missing_ok) tup, Anum_pg_subscription_subslotname, &isnull); - Assert(!isnull); sub->slotname = pstrdup(NameStr(*DatumGetName(datum))); /* Get synccommit */ @@ -90,7 +88,6 @@ GetSubscription(Oid subid, bool missing_ok) tup, Anum_pg_subscription_subsynccommit, &isnull); - Assert(!isnull); sub->synccommit = TextDatumGetCString(datum); /* Get publications */ @@ -98,7 +95,6 @@ GetSubscription(Oid subid, bool missing_ok) tup, Anum_pg_subscription_subpublications, &isnull); - Assert(!isnull); sub->publications = textarray_to_stringlist(DatumGetArrayTypeP(datum)); ReleaseSysCache(tup); diff --git a/src/backend/commands/subscriptioncmds.c b/src/backend/commands/subscriptioncmds.c index 519c684..1ef4fa3 100644 --- a/src/backend/commands/subscriptioncmds.c +++ b/src/backend/commands/subscriptioncmds.c @@ -796,19 +796,16 @@ DropSubscription(DropSubscriptionStmt *stmt, bool isTopLevel) /* Get subname */ datum = SysCacheGetAttr(SUBSCRIPTIONOID, tup, Anum_pg_subscription_subname, &isnull); - Assert(!isnull); subname = pstrdup(NameStr(*DatumGetName(datum))); /* Get conninfo */ datum = SysCacheGetAttr(SUBSCRIPTIONOID, tup, Anum_pg_subscription_subconninfo, &isnull); - Assert(!isnull); conninfo = TextDatumGetCString(datum); /* Get slotname */ datum = SysCacheGetAttr(SUBSCRIPTIONOID, tup, Anum_pg_subscription_subslotname, &isnull); - Assert(!isnull); slotname = pstrdup(NameStr(*DatumGetName(datum))); ObjectAddressSet(myself, SubscriptionRelationId, subid); diff --git a/src/include/catalog/pg_subscription.h b/src/include/catalog/pg_subscription.h index fae542b..a069772 100644 --- a/src/include/catalog/pg_subscription.h +++ b/src/include/catalog/pg_subscription.h @@ -41,10 +41,10 @@ CATALOG(pg_subscription,6100) BKI_SHARED_RELATION BKI_ROWTYPE_OID(6101) BKI_SCHE * (the worker should be running) */ #ifdef CATALOG_VARLEN /* variable-length fields start here */ - text subconninfo; /* Connection string to the publisher */ - NameData subslotname; /* Slot name on publisher */ - text subsynccommit; /* Synchronous commit setting for worker */ - text subpublications[1]; /* List of publications subscribed to */ + text subconninfo BKI_FORCE_NOT_NULL; /* Connection string to the publisher */ + NameData subslotname BKI_FORCE_NOT_NULL; /* Slot name on publisher */ + text subsynccommit BKI_FORCE_NOT_NULL; /* Synchronous commit setting for worker */ + text subpublications[1] BKI_FORCE_NOT_NULL; /* List of publications subscribed to */ #endif } FormData_pg_subscription;