Github user DaveBirdsall commented on a diff in the pull request: https://github.com/apache/trafodion/pull/1723#discussion_r225658074 --- Diff: core/sql/cli/Context.cpp --- @@ -4199,19 +4219,35 @@ RETCODE ContextCli::setDatabaseUserByName(const char *userName) // * // * Function: ContextCli::getRoleList // * -// * Return the role IDs granted to the current user +// * Return the role IDs and their grantees for the current user. // * If the list of roles is already stored, just return this list. // * If the list of roles does not exist extract the roles granted to the // * current user from the Metadata and store in roleIDs_. // * // **************************************************************************** RETCODE ContextCli::getRoleList( - Int32 &numRoles, - Int32 *&roleIDs) + Int32 &numEntries, + Int32 *& roleIDs, + Int32 *& granteeIDs) { // If role list has not been created, go read metadata if (roleIDs_ == NULL) { + // If authorization is not enabled, just setup the PUBLIC role + CmpContext *cmpCntxt = CmpCommon::context(); + ex_assert(cmpCntxt, "No compiler context exists"); --- End diff -- The assert is fine, but unnecessary since we'd just core anyway on the very next statement when we dereference a null pointer.
---