docs: Table ROLE_AUTHORIZATION_DESCRIPTORS() {
  
          Table t = sysTables[ROLE_AUTHORIZATION_DESCRIPTORS];
  
          if (t == null) {
              t = createBlankTable(
                  sysTableHsqlNames[ROLE_AUTHORIZATION_DESCRIPTORS]);
  
              addColumn(t, "ROLE_NAME", SQL_IDENTIFIER);    // not null
              addColumn(t, "GRANTEE", SQL_IDENTIFIER);      // not null
              addColumn(t, "GRANTOR", SQL_IDENTIFIER);      // not null
              addColumn(t, "IS_GRANTABLE", YES_OR_NO);      // not null
  
              // true PK
              HsqlName name = HsqlNameManager.newInfoSchemaObjectName(
                  sysTableHsqlNames[ROLE_AUTHORIZATION_DESCRIPTORS].name, false,
                  SchemaObject.INDEX);
  
              t.createPrimaryKey(name, new int[] {
                  0, 1
              }, true);
  
              return t;
          }
  
          PersistentStore store = database.persistentStoreCollection.getStore(t);
  
          // Intermediate holders
          String   grantorName = SqlInvariants.SYSTEM_AUTHORIZATION_NAME;
          Iterator grantees;
          Grantee  granteeObject;
          String   granteeName;
          Iterator roles;
          String   roleName;
          String   isGrantable;
          Object[] row;
  
          // Column number mappings
          final int role_name    = 0;
          final int grantee      = 1;
          final int grantor      = 2;
          final int is_grantable = 3;
  
          // Initialization
          grantees = session.getGrantee().visibleGrantees().iterator();
  
          //
          while (grantees.hasNext()) {
              granteeObject = (Grantee) grantees.next();
              granteeName   = granteeObject.getNameString();
              roles         = granteeObject.getDirectRoles().iterator();
              isGrantable   = granteeObject.isAdmin() ? Tokens.T_YES
                                                      : Tokens.T_NO;;
  
              while (roles.hasNext()) {
                  Grantee role = (Grantee) roles.next();
  
                  row               = t.getEmptyRowData();
                  row[role_name]    = role.getNameString();
                  row[grantee]      = granteeName;
                  row[grantor]      = grantorName;
                  row[is_grantable] = isGrantable;
  
                  t.insertSys(store, row);
              }
          }
  
          return t;
      }