Adaptive Server returns an error if the accesses made in a row-filtering predicate or a role activation predicate are controlled by predicated grants. For example, this situation results in recursive cycles of access checking, and is not allowed:
table1 is protected by a grant with predicate1 that references table2.
table2 is protected by a grant with predicate2, that references table1.
Role activation predicates have similar restrictions. For example, this situation returns an error when a user attempts to set role r1 on:
table1 is protected by a predicated grant.
A grant on r1 references table1 in an activation predicate.
When applying a user's default roles, for example, during login, when executing set proxy, or when evaluating predicate accesses on behalf of the grantor, Adaptive Server ignores any default roles that have been granted with an activation predicate.