9. A method comprising: in response to receiving a database statement: determining that the database statement requests a first privilege and a second privilege that is different than the first privilege, wherein the first privilege is one of a select, insert, update, or delete; for the first privilege, generating a first privilege predicate that indicates, for each predicate in the first privilege predicate, an authorization result that pertains to a different data realm of a first set of two or more data realms; for the second privilege, generating a second privilege predicate that indicates, for each predicate in the second privilege predicate, an authorization result that pertains to a different data realm of a second set of one or more data realms that is included in the first set of two or more data realms; wherein the first privilege predicate is different than the second privilege predicate; based on a comparison between the first privilege predicate and the second privilege predicate, storing at least a portion of the second privilege predicate in association with a cursor for the database statement without storing the first privilege predicate in association with the cursor, wherein the portion of the second privilege predicate is used to determine whether to share the cursor with a subsequent database statement.
9. A method comprising: in response to receiving a database statement: determining that the database statement requests a first privilege and a second privilege that is different than the first privilege, wherein the first privilege is one of a select, insert, update, or delete; for the first privilege, generating a first privilege predicate that indicates, for each predicate in the first privilege predicate, an authorization result that pertains to a different data realm of a first set of two or more data realms; for the second privilege, generating a second privilege predicate that indicates, for each predicate in the second privilege predicate, an authorization result that pertains to a different data realm of a second set of one or more data realms that is included in the first set of two or more data realms; wherein the first privilege predicate is different than the second privilege predicate; based on a comparison between the first privilege predicate and the second privilege predicate, storing at least a portion of the second privilege predicate in association with a cursor for the database statement without storing the first privilege predicate in association with the cursor, wherein the portion of the second privilege predicate is used to determine whether to share the cursor with a subsequent database statement. 10. The method of claim 9 , further comprising: determining that the database statement is also associated with a third privilege that is different than the first privilege and the second privilege; for the third privilege, generating a third privilege predicate that indicates, for each predicate in the third privilege predicate, an authorization result that pertains to a different data realm of a third set of one or more data realms that is included in the first set of two or more data realms; wherein the third privilege predicate is different than the second privilege predicate and the first privilege predicate; based on a comparison between the third privilege predicate and the second privilege predicate, determining to not add the third privilege predicate to the database statement.