mirror of https://github.com/citusdata/citus.git
Adds some logs
parent
c0e88f3774
commit
a50fc402b5
|
@ -344,9 +344,25 @@ DeferErrorIfCircularDependencyExists(const ObjectAddress *objectAddress)
|
|||
{
|
||||
char *objectDescription = getObjectDescription(objectAddress, false);
|
||||
|
||||
// Iterate all objects in the 'dependencies' list, get the object names and create a string
|
||||
ListCell *cell;
|
||||
StringInfo objectNames = makeStringInfo();
|
||||
foreach(cell, dependencies)
|
||||
{
|
||||
ObjectAddress *dependency1 = (ObjectAddress *) lfirst(cell);
|
||||
char *objectName = getObjectDescription(dependency1, false);
|
||||
appendStringInfo(objectNames, "%s\n", objectName);
|
||||
}
|
||||
//to show the circular dependency
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
StringInfo detailInfo = makeStringInfo();
|
||||
appendStringInfo(detailInfo, "\"%s\" circularly depends itself, resolve "
|
||||
"circular dependency first", objectDescription);
|
||||
appendStringInfo(detailInfo, "ependencies are:\n%s", objectNames->data);
|
||||
|
||||
return DeferredError(ERRCODE_FEATURE_NOT_SUPPORTED,
|
||||
"Citus can not handle circular dependencies "
|
||||
|
|
|
@ -1819,6 +1819,8 @@ ExpandRolesToGroups(Oid roleid)
|
|||
true, NULL, scanKeyCount, scanKey);
|
||||
|
||||
List *roles = NIL;
|
||||
|
||||
elog(NOTICE, "Originator Roleid: %s", GetUserNameFromId(roleid, true));
|
||||
while ((tuple = systable_getnext(scanDescriptor)) != NULL)
|
||||
{
|
||||
Form_pg_auth_members membership = (Form_pg_auth_members) GETSTRUCT(tuple);
|
||||
|
@ -1827,14 +1829,21 @@ ExpandRolesToGroups(Oid roleid)
|
|||
definition->mode = DependencyObjectAddress;
|
||||
ObjectAddressSet(definition->data.address, AuthIdRelationId, membership->roleid);
|
||||
|
||||
//log the name of the membership->roleid
|
||||
elog(NOTICE, "Dependency roleid granted: %s", GetUserNameFromId(membership->roleid, true));
|
||||
|
||||
|
||||
roles = lappend(roles, definition);
|
||||
|
||||
DependencyDefinition *definition1 = palloc0(sizeof(DependencyDefinition));
|
||||
definition1->mode = DependencyObjectAddress;
|
||||
ObjectAddressSet(definition1->data.address, AuthIdRelationId, membership->grantor);
|
||||
elog(NOTICE, "Dependency roleid grantor: %s",GetUserNameFromId( membership->grantor,true));
|
||||
elog(NOTICE, "Dependency roleid member: %s",GetUserNameFromId( membership->member,true));
|
||||
|
||||
roles = lappend(roles, definition1);
|
||||
}
|
||||
elog(NOTICE, "Originator Roleid: %s completed", GetUserNameFromId(roleid, true));
|
||||
|
||||
systable_endscan(scanDescriptor);
|
||||
table_close(pgAuthMembers, AccessShareLock);
|
||||
|
|
|
@ -27,6 +27,8 @@ grant role4 to "role5'_test" with admin option;
|
|||
|
||||
grant role4 to role1 with admin option GRANTED BY "role5'_test";
|
||||
|
||||
SELECT roleid::regrole::text AS role, member::regrole::text, grantor::regrole::text, admin_option, inherit_option,set_option FROM pg_auth_members pa;
|
||||
|
||||
grant role4 to role3 with admin option GRANTED BY role1;
|
||||
|
||||
grant role3 to role1 with admin option GRANTED BY role4;
|
||||
|
|
Loading…
Reference in New Issue