mirror of
https://github.com/postgres/postgres.git
synced 2025-07-27 12:41:57 +03:00
Add partitioned table support to sepgsql
The new partitioned table capability added a new relkind, namely RELKIND_PARTITIONED_TABLE. Update sepgsql to treat this new relkind exactly the same way it does RELKIND_RELATION. In addition, add regression test coverage for partitioned tables. Issue raised by Stephen Frost and initial patch by Mike Palmiotto. Review by Tom Lane and Robert Haas, and editorializing by me. Discussion: https://postgr.es/m/flat/623bcaae-112e-ced0-8c22-a84f75ae0c53%40joeconway.com
This commit is contained in:
@ -787,7 +787,8 @@ exec_object_restorecon(struct selabel_handle * sehnd, Oid catalogId)
|
||||
case RelationRelationId:
|
||||
relForm = (Form_pg_class) GETSTRUCT(tuple);
|
||||
|
||||
if (relForm->relkind == RELKIND_RELATION)
|
||||
if (relForm->relkind == RELKIND_RELATION ||
|
||||
relForm->relkind == RELKIND_PARTITIONED_TABLE)
|
||||
objtype = SELABEL_DB_TABLE;
|
||||
else if (relForm->relkind == RELKIND_SEQUENCE)
|
||||
objtype = SELABEL_DB_SEQUENCE;
|
||||
@ -811,7 +812,8 @@ exec_object_restorecon(struct selabel_handle * sehnd, Oid catalogId)
|
||||
case AttributeRelationId:
|
||||
attForm = (Form_pg_attribute) GETSTRUCT(tuple);
|
||||
|
||||
if (get_rel_relkind(attForm->attrelid) != RELKIND_RELATION)
|
||||
if (get_rel_relkind(attForm->attrelid) != RELKIND_RELATION &&
|
||||
get_rel_relkind(attForm->attrelid) != RELKIND_PARTITIONED_TABLE)
|
||||
continue; /* no need to assign security label */
|
||||
|
||||
objtype = SELABEL_DB_COLUMN;
|
||||
|
Reference in New Issue
Block a user