Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
Skip to content

Commit afee043

Browse files
committed
Revert "Change pg_seclabel.provider and pg_shseclabel.provider to type "name"."
This reverts commit b82a7be. There is a better (less invasive) way to fix it, which I will commit next.
1 parent 55c0da3 commit afee043

File tree

6 files changed

+18
-22
lines changed

6 files changed

+18
-22
lines changed

doc/src/sgml/catalogs.sgml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5648,7 +5648,7 @@
56485648

56495649
<row>
56505650
<entry><structfield>provider</structfield></entry>
5651-
<entry><type>name</type></entry>
5651+
<entry><type>text</type></entry>
56525652
<entry></entry>
56535653
<entry>The label provider associated with this label.</entry>
56545654
</row>
@@ -5937,7 +5937,7 @@
59375937
</row>
59385938
<row>
59395939
<entry><structfield>provider</structfield></entry>
5940-
<entry><type>name</type></entry>
5940+
<entry><type>text</type></entry>
59415941
<entry></entry>
59425942
<entry>The label provider associated with this label.</entry>
59435943
</row>
@@ -9025,7 +9025,7 @@ SELECT * FROM pg_locks pl LEFT JOIN pg_prepared_xacts ppx
90259025
</row>
90269026
<row>
90279027
<entry><structfield>provider</structfield></entry>
9028-
<entry><type>name</type></entry>
9028+
<entry><type>text</type></entry>
90299029
<entry><literal><link linkend="catalog-pg-seclabel"><structname>pg_seclabel</structname></link>.provider</literal></entry>
90309030
<entry>The label provider associated with this label.</entry>
90319031
</row>

src/backend/commands/seclabel.c

Lines changed: 10 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -163,8 +163,8 @@ GetSharedSecurityLabel(const ObjectAddress *object, const char *provider)
163163
ObjectIdGetDatum(object->classId));
164164
ScanKeyInit(&keys[2],
165165
Anum_pg_shseclabel_provider,
166-
BTEqualStrategyNumber, F_NAMEEQ,
167-
CStringGetDatum(provider));
166+
BTEqualStrategyNumber, F_TEXTEQ,
167+
CStringGetTextDatum(provider));
168168

169169
pg_shseclabel = heap_open(SharedSecLabelRelationId, AccessShareLock);
170170

@@ -220,8 +220,8 @@ GetSecurityLabel(const ObjectAddress *object, const char *provider)
220220
Int32GetDatum(object->objectSubId));
221221
ScanKeyInit(&keys[3],
222222
Anum_pg_seclabel_provider,
223-
BTEqualStrategyNumber, F_NAMEEQ,
224-
CStringGetDatum(provider));
223+
BTEqualStrategyNumber, F_TEXTEQ,
224+
CStringGetTextDatum(provider));
225225

226226
pg_seclabel = heap_open(SecLabelRelationId, AccessShareLock);
227227

@@ -256,7 +256,6 @@ SetSharedSecurityLabel(const ObjectAddress *object,
256256
SysScanDesc scan;
257257
HeapTuple oldtup;
258258
HeapTuple newtup = NULL;
259-
NameData providername;
260259
Datum values[Natts_pg_shseclabel];
261260
bool nulls[Natts_pg_shseclabel];
262261
bool replaces[Natts_pg_shseclabel];
@@ -266,8 +265,7 @@ SetSharedSecurityLabel(const ObjectAddress *object,
266265
memset(replaces, false, sizeof(replaces));
267266
values[Anum_pg_shseclabel_objoid - 1] = ObjectIdGetDatum(object->objectId);
268267
values[Anum_pg_shseclabel_classoid - 1] = ObjectIdGetDatum(object->classId);
269-
namestrcpy(&providername, provider);
270-
values[Anum_pg_shseclabel_provider - 1] = NameGetDatum(&providername);
268+
values[Anum_pg_shseclabel_provider - 1] = CStringGetTextDatum(provider);
271269
if (label != NULL)
272270
values[Anum_pg_shseclabel_label - 1] = CStringGetTextDatum(label);
273271

@@ -282,8 +280,8 @@ SetSharedSecurityLabel(const ObjectAddress *object,
282280
ObjectIdGetDatum(object->classId));
283281
ScanKeyInit(&keys[2],
284282
Anum_pg_shseclabel_provider,
285-
BTEqualStrategyNumber, F_NAMEEQ,
286-
CStringGetDatum(provider));
283+
BTEqualStrategyNumber, F_TEXTEQ,
284+
CStringGetTextDatum(provider));
287285

288286
pg_shseclabel = heap_open(SharedSecLabelRelationId, RowExclusiveLock);
289287

@@ -337,7 +335,6 @@ SetSecurityLabel(const ObjectAddress *object,
337335
SysScanDesc scan;
338336
HeapTuple oldtup;
339337
HeapTuple newtup = NULL;
340-
NameData providername;
341338
Datum values[Natts_pg_seclabel];
342339
bool nulls[Natts_pg_seclabel];
343340
bool replaces[Natts_pg_seclabel];
@@ -355,8 +352,7 @@ SetSecurityLabel(const ObjectAddress *object,
355352
values[Anum_pg_seclabel_objoid - 1] = ObjectIdGetDatum(object->objectId);
356353
values[Anum_pg_seclabel_classoid - 1] = ObjectIdGetDatum(object->classId);
357354
values[Anum_pg_seclabel_objsubid - 1] = Int32GetDatum(object->objectSubId);
358-
namestrcpy(&providername, provider);
359-
values[Anum_pg_seclabel_provider - 1] = NameGetDatum(&providername);
355+
values[Anum_pg_seclabel_provider - 1] = CStringGetTextDatum(provider);
360356
if (label != NULL)
361357
values[Anum_pg_seclabel_label - 1] = CStringGetTextDatum(label);
362358

@@ -375,8 +371,8 @@ SetSecurityLabel(const ObjectAddress *object,
375371
Int32GetDatum(object->objectSubId));
376372
ScanKeyInit(&keys[3],
377373
Anum_pg_seclabel_provider,
378-
BTEqualStrategyNumber, F_NAMEEQ,
379-
CStringGetDatum(provider));
374+
BTEqualStrategyNumber, F_TEXTEQ,
375+
CStringGetTextDatum(provider));
380376

381377
pg_seclabel = heap_open(SecLabelRelationId, RowExclusiveLock);
382378

src/include/catalog/catversion.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,6 @@
5353
*/
5454

5555
/* yyyymmddN */
56-
#define CATALOG_VERSION_NO 201505181
56+
#define CATALOG_VERSION_NO 201505153
5757

5858
#endif

src/include/catalog/indexing.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -290,10 +290,10 @@ DECLARE_UNIQUE_INDEX(pg_default_acl_oid_index, 828, on pg_default_acl using btre
290290
DECLARE_UNIQUE_INDEX(pg_db_role_setting_databaseid_rol_index, 2965, on pg_db_role_setting using btree(setdatabase oid_ops, setrole oid_ops));
291291
#define DbRoleSettingDatidRolidIndexId 2965
292292

293-
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));
293+
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));
294294
#define SecLabelObjectIndexId 3597
295295

296-
DECLARE_UNIQUE_INDEX(pg_shseclabel_object_index, 3593, on pg_shseclabel using btree(objoid oid_ops, classoid oid_ops, provider name_ops));
296+
DECLARE_UNIQUE_INDEX(pg_shseclabel_object_index, 3593, on pg_shseclabel using btree(objoid oid_ops, classoid oid_ops, provider text_ops));
297297
#define SharedSecLabelObjectIndexId 3593
298298

299299
DECLARE_UNIQUE_INDEX(pg_extension_oid_index, 3080, on pg_extension using btree(oid oid_ops));

src/include/catalog/pg_seclabel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,9 +25,9 @@ CATALOG(pg_seclabel,3596) BKI_WITHOUT_OIDS
2525
Oid objoid; /* OID of the object itself */
2626
Oid classoid; /* OID of table containing the object */
2727
int32 objsubid; /* column number, or 0 if not used */
28-
NameData provider; /* name of label provider */
2928

3029
#ifdef CATALOG_VARLEN /* variable-length fields start here */
30+
text provider BKI_FORCE_NOT_NULL; /* name of label provider */
3131
text label BKI_FORCE_NOT_NULL; /* security label of the object */
3232
#endif
3333
} FormData_pg_seclabel;

src/include/catalog/pg_shseclabel.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ CATALOG(pg_shseclabel,3592) BKI_SHARED_RELATION BKI_WITHOUT_OIDS
2424
{
2525
Oid objoid; /* OID of the shared object itself */
2626
Oid classoid; /* OID of table containing the shared object */
27-
NameData provider; /* name of label provider */
2827

2928
#ifdef CATALOG_VARLEN /* variable-length fields start here */
29+
text provider BKI_FORCE_NOT_NULL; /* name of label provider */
3030
text label BKI_FORCE_NOT_NULL; /* security label of the object */
3131
#endif
3232
} FormData_pg_shseclabel;

0 commit comments

Comments
 (0)