Revert "Change pg_seclabel.provider and pg_shseclabel.provider to type "name"."
authorTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 May 2015 14:40:04 +0000 (10:40 -0400)
committerTom Lane <tgl@sss.pgh.pa.us>
Tue, 19 May 2015 14:40:04 +0000 (10:40 -0400)
This reverts commit b82a7be603f1811a0a707b53c62de6d5d9431740.  There
is a better (less invasive) way to fix it, which I will commit next.

doc/src/sgml/catalogs.sgml
src/backend/commands/seclabel.c
src/include/catalog/catversion.h
src/include/catalog/indexing.h
src/include/catalog/pg_seclabel.h
src/include/catalog/pg_shseclabel.h

index ad36585400c529a83f810b69875ea542d174392c..5b364876093d1056eb9e88a76012fbebc0faee39 100644 (file)
 
      <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>
      </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>
index 8412dcc587553ea08c8d6e6ff2d6c0da71b849b1..1ef98ce3532281ed232c48804fee010087e4cf91 100644 (file)
@@ -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);
 
index 8af748b54ff11a842da65223b53bee166e2ce73f..9a10fadfb5866af85c07a576bd0fdba040fb5d5e 100644 (file)
@@ -53,6 +53,6 @@
  */
 
 /*                                                     yyyymmddN */
-#define CATALOG_VERSION_NO     201505181
+#define CATALOG_VERSION_NO     201505153
 
 #endif
index 0f615662374ccd6dcccf70f94697fd1fc856fd72..f20567ed5f502fc7ce3f20c53ca280fb6b154f71 100644 (file)
@@ -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));
index f6498142f989b4fe3173dc3e221df9f7c93a75ec..c9f5b0cfdfc754032e51d378bb4417a6ee6197d7 100644 (file)
@@ -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;
index 77d438926ac752d5aa6a3d53cfaa703e7ede36f8..3977b42f874c6afc61ed6f03eaf3bf4da6e16057 100644 (file)
@@ -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;