diff --git a/doc/src/sgml/catalogs.sgml b/doc/src/sgml/catalogs.sgml index ad36585400c529a83f810b69875ea542d174392c..5b364876093d1056eb9e88a76012fbebc0faee39 100644 --- a/doc/src/sgml/catalogs.sgml +++ b/doc/src/sgml/catalogs.sgml @@ -5648,7 +5648,7 @@ <row> <entry><structfield>provider</structfield></entry> - <entry><type>name</type></entry> + <entry><type>text</type></entry> <entry></entry> <entry>The label provider associated with this label.</entry> </row> @@ -5937,7 +5937,7 @@ </row> <row> <entry><structfield>provider</structfield></entry> - <entry><type>name</type></entry> + <entry><type>text</type></entry> <entry></entry> <entry>The label provider associated with this label.</entry> </row> @@ -9025,7 +9025,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx </row> <row> <entry><structfield>provider</structfield></entry> - <entry><type>name</type></entry> + <entry><type>text</type></entry> <entry><literal><link linkend="catalog-pg-seclabel"><structname>pg_seclabel</structname></link>.provider</literal></entry> <entry>The label provider associated with this label.</entry> </row> diff --git a/src/backend/commands/seclabel.c b/src/backend/commands/seclabel.c index 8412dcc587553ea08c8d6e6ff2d6c0da71b849b1..1ef98ce3532281ed232c48804fee010087e4cf91 100644 --- a/src/backend/commands/seclabel.c +++ b/src/backend/commands/seclabel.c @@ -163,8 +163,8 @@ GetSharedSecurityLabel(const ObjectAddress *object, const char *provider) ObjectIdGetDatum(object->classId)); ScanKeyInit(&keys[2], Anum_pg_shseclabel_provider, - BTEqualStrategyNumber, F_NAMEEQ, - CStringGetDatum(provider)); + BTEqualStrategyNumber, F_TEXTEQ, + CStringGetTextDatum(provider)); pg_shseclabel = heap_open(SharedSecLabelRelationId, AccessShareLock); @@ -220,8 +220,8 @@ GetSecurityLabel(const ObjectAddress *object, const char *provider) Int32GetDatum(object->objectSubId)); ScanKeyInit(&keys[3], Anum_pg_seclabel_provider, - BTEqualStrategyNumber, F_NAMEEQ, - CStringGetDatum(provider)); + BTEqualStrategyNumber, F_TEXTEQ, + CStringGetTextDatum(provider)); pg_seclabel = heap_open(SecLabelRelationId, AccessShareLock); @@ -256,7 +256,6 @@ SetSharedSecurityLabel(const ObjectAddress *object, SysScanDesc scan; HeapTuple oldtup; HeapTuple newtup = NULL; - NameData providername; Datum values[Natts_pg_shseclabel]; bool nulls[Natts_pg_shseclabel]; bool replaces[Natts_pg_shseclabel]; @@ -266,8 +265,7 @@ SetSharedSecurityLabel(const ObjectAddress *object, memset(replaces, false, sizeof(replaces)); values[Anum_pg_shseclabel_objoid - 1] = ObjectIdGetDatum(object->objectId); values[Anum_pg_shseclabel_classoid - 1] = ObjectIdGetDatum(object->classId); - namestrcpy(&providername, provider); - values[Anum_pg_shseclabel_provider - 1] = NameGetDatum(&providername); + values[Anum_pg_shseclabel_provider - 1] = CStringGetTextDatum(provider); if (label != NULL) values[Anum_pg_shseclabel_label - 1] = CStringGetTextDatum(label); @@ -282,8 +280,8 @@ SetSharedSecurityLabel(const ObjectAddress *object, ObjectIdGetDatum(object->classId)); ScanKeyInit(&keys[2], Anum_pg_shseclabel_provider, - BTEqualStrategyNumber, F_NAMEEQ, - CStringGetDatum(provider)); + BTEqualStrategyNumber, F_TEXTEQ, + CStringGetTextDatum(provider)); pg_shseclabel = heap_open(SharedSecLabelRelationId, RowExclusiveLock); @@ -337,7 +335,6 @@ SetSecurityLabel(const ObjectAddress *object, SysScanDesc scan; HeapTuple oldtup; HeapTuple newtup = NULL; - NameData providername; Datum values[Natts_pg_seclabel]; bool nulls[Natts_pg_seclabel]; bool replaces[Natts_pg_seclabel]; @@ -355,8 +352,7 @@ SetSecurityLabel(const ObjectAddress *object, values[Anum_pg_seclabel_objoid - 1] = ObjectIdGetDatum(object->objectId); values[Anum_pg_seclabel_classoid - 1] = ObjectIdGetDatum(object->classId); values[Anum_pg_seclabel_objsubid - 1] = Int32GetDatum(object->objectSubId); - namestrcpy(&providername, provider); - values[Anum_pg_seclabel_provider - 1] = NameGetDatum(&providername); + values[Anum_pg_seclabel_provider - 1] = CStringGetTextDatum(provider); if (label != NULL) values[Anum_pg_seclabel_label - 1] = CStringGetTextDatum(label); @@ -375,8 +371,8 @@ SetSecurityLabel(const ObjectAddress *object, Int32GetDatum(object->objectSubId)); ScanKeyInit(&keys[3], Anum_pg_seclabel_provider, - BTEqualStrategyNumber, F_NAMEEQ, - CStringGetDatum(provider)); + BTEqualStrategyNumber, F_TEXTEQ, + CStringGetTextDatum(provider)); pg_seclabel = heap_open(SecLabelRelationId, RowExclusiveLock); diff --git a/src/include/catalog/catversion.h b/src/include/catalog/catversion.h index 8af748b54ff11a842da65223b53bee166e2ce73f..9a10fadfb5866af85c07a576bd0fdba040fb5d5e 100644 --- a/src/include/catalog/catversion.h +++ b/src/include/catalog/catversion.h @@ -53,6 +53,6 @@ */ /* yyyymmddN */ -#define CATALOG_VERSION_NO 201505181 +#define CATALOG_VERSION_NO 201505153 #endif diff --git a/src/include/catalog/indexing.h b/src/include/catalog/indexing.h index 0f615662374ccd6dcccf70f94697fd1fc856fd72..f20567ed5f502fc7ce3f20c53ca280fb6b154f71 100644 --- a/src/include/catalog/indexing.h +++ b/src/include/catalog/indexing.h @@ -290,10 +290,10 @@ DECLARE_UNIQUE_INDEX(pg_default_acl_oid_index, 828, on pg_default_acl using btre DECLARE_UNIQUE_INDEX(pg_db_role_setting_databaseid_rol_index, 2965, on pg_db_role_setting using btree(setdatabase oid_ops, setrole oid_ops)); #define DbRoleSettingDatidRolidIndexId 2965 -DECLARE_UNIQUE_INDEX(pg_seclabel_object_index, 3597, on pg_seclabel using btree(objoid oid_ops, classoid oid_ops, objsubid int4_ops, provider name_ops)); +DECLARE_UNIQUE_INDEX(pg_seclabel_object_index, 3597, on pg_seclabel using btree(objoid oid_ops, classoid oid_ops, objsubid int4_ops, provider text_ops)); #define SecLabelObjectIndexId 3597 -DECLARE_UNIQUE_INDEX(pg_shseclabel_object_index, 3593, on pg_shseclabel using btree(objoid oid_ops, classoid oid_ops, provider name_ops)); +DECLARE_UNIQUE_INDEX(pg_shseclabel_object_index, 3593, on pg_shseclabel using btree(objoid oid_ops, classoid oid_ops, provider text_ops)); #define SharedSecLabelObjectIndexId 3593 DECLARE_UNIQUE_INDEX(pg_extension_oid_index, 3080, on pg_extension using btree(oid oid_ops)); diff --git a/src/include/catalog/pg_seclabel.h b/src/include/catalog/pg_seclabel.h index f6498142f989b4fe3173dc3e221df9f7c93a75ec..c9f5b0cfdfc754032e51d378bb4417a6ee6197d7 100644 --- a/src/include/catalog/pg_seclabel.h +++ b/src/include/catalog/pg_seclabel.h @@ -25,9 +25,9 @@ CATALOG(pg_seclabel,3596) BKI_WITHOUT_OIDS Oid objoid; /* OID of the object itself */ Oid classoid; /* OID of table containing the object */ int32 objsubid; /* column number, or 0 if not used */ - NameData provider; /* name of label provider */ #ifdef CATALOG_VARLEN /* variable-length fields start here */ + text provider BKI_FORCE_NOT_NULL; /* name of label provider */ text label BKI_FORCE_NOT_NULL; /* security label of the object */ #endif } FormData_pg_seclabel; diff --git a/src/include/catalog/pg_shseclabel.h b/src/include/catalog/pg_shseclabel.h index 77d438926ac752d5aa6a3d53cfaa703e7ede36f8..3977b42f874c6afc61ed6f03eaf3bf4da6e16057 100644 --- a/src/include/catalog/pg_shseclabel.h +++ b/src/include/catalog/pg_shseclabel.h @@ -24,9 +24,9 @@ CATALOG(pg_shseclabel,3592) BKI_SHARED_RELATION BKI_WITHOUT_OIDS { Oid objoid; /* OID of the shared object itself */ Oid classoid; /* OID of table containing the shared object */ - NameData provider; /* name of label provider */ #ifdef CATALOG_VARLEN /* variable-length fields start here */ + text provider BKI_FORCE_NOT_NULL; /* name of label provider */ text label BKI_FORCE_NOT_NULL; /* security label of the object */ #endif } FormData_pg_shseclabel;