You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@trafodion.apache.org by rm...@apache.org on 2018/08/28 16:50:32 UTC

[2/4] trafodion git commit: Only expose supported component operations

Only expose supported component operations

There is a set of component operations and many are about features that we do
not support such as CREATE_TRIGGER.  This checkin no longer returns these
privileges through
   get privileges on component sql_operations
   showddl component sql_operations

The is_system metadata column in the component_operations table now supports
three values:

   Y - it is a system operation
   N - it is a user operation
   U - it is an unsupported (unused) operation (new)

An "initialize authorization" or fresh installation is required to make these
changes available.
  Installating this code version calls initialize authorization
  Running regrinit.sql also calls initialize authorization

Some performance enhancements were made to make "initialize authorization" run
faster.


Project: http://git-wip-us.apache.org/repos/asf/trafodion/repo
Commit: http://git-wip-us.apache.org/repos/asf/trafodion/commit/88ed0582
Tree: http://git-wip-us.apache.org/repos/asf/trafodion/tree/88ed0582
Diff: http://git-wip-us.apache.org/repos/asf/trafodion/diff/88ed0582

Branch: refs/heads/master
Commit: 88ed0582c7e09c51acc924735031806210968675
Parents: c8ffae3
Author: Roberta Marton <ro...@apache.org>
Authored: Fri Aug 24 22:29:06 2018 +0000
Committer: Roberta Marton <ro...@apache.org>
Committed: Fri Aug 24 22:29:06 2018 +0000

----------------------------------------------------------------------
 core/sql/executor/ExExeUtilGet.cpp              |  29 +-
 core/sql/regress/privs1/EXPECTED132             |  26 +-
 core/sql/regress/privs1/EXPECTED137             | 468 ++++---------------
 core/sql/regress/privs1/TEST132                 |   6 +-
 core/sql/sqlcomp/CmpSeabaseDDL.h                |   1 +
 core/sql/sqlcomp/CmpSeabaseDDLauth.h            |   1 +
 core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp        |  49 +-
 core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp       |   2 +-
 core/sql/sqlcomp/PrivMgr.cpp                    |  58 +++
 core/sql/sqlcomp/PrivMgr.h                      |   5 +-
 core/sql/sqlcomp/PrivMgrComponentDefs.h         | 182 +++-----
 core/sql/sqlcomp/PrivMgrComponentOperations.cpp | 277 ++++++++---
 core/sql/sqlcomp/PrivMgrComponentOperations.h   |  38 +-
 core/sql/sqlcomp/PrivMgrComponentPrivileges.cpp | 181 +++----
 core/sql/sqlcomp/PrivMgrComponentPrivileges.h   |  12 +-
 core/sql/sqlcomp/PrivMgrDefs.h                  |  88 +---
 core/sql/sqlcomp/PrivMgrMD.cpp                  | 256 +++++-----
 core/sql/sqlcomp/PrivMgrPrivileges.cpp          |  19 +-
 18 files changed, 786 insertions(+), 912 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/executor/ExExeUtilGet.cpp
----------------------------------------------------------------------
diff --git a/core/sql/executor/ExExeUtilGet.cpp b/core/sql/executor/ExExeUtilGet.cpp
index b54674e..b9d4c68 100644
--- a/core/sql/executor/ExExeUtilGet.cpp
+++ b/core/sql/executor/ExExeUtilGet.cpp
@@ -298,6 +298,7 @@ static const QueryString getComponentPrivileges[] =
   {" where (c.component_uid=o.component_uid) "},
   {"   and (o.component_uid=p.component_uid) "},
   {"   and (o.operation_code=p.operation_code) "},
+  {"   and (o.is_system <> 'U') "},
   {"   and (c.component_name='%s') %s "},
   {" order by 1 "},
   {" ; "}
@@ -1716,34 +1717,6 @@ NABoolean ExExeUtilGetMetadataInfoTcb::checkUserPrivs(
       break;
     }
 
-   // if user has DML_SELECT, can perform object operations
-   case ComTdbExeUtilGetMetadataInfo::CATALOGS_:
-   case ComTdbExeUtilGetMetadataInfo::SCHEMAS_IN_CATALOG_:
-   case ComTdbExeUtilGetMetadataInfo::VIEWS_IN_CATALOG_:
-   case ComTdbExeUtilGetMetadataInfo::SEQUENCES_IN_CATALOG_:
-   case ComTdbExeUtilGetMetadataInfo::TABLES_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::INDEXES_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::VIEWS_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::LIBRARIES_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::PROCEDURES_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::SEQUENCES_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::FUNCTIONS_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::TABLE_FUNCTIONS_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::OBJECTS_IN_SCHEMA_:
-   case ComTdbExeUtilGetMetadataInfo::INDEXES_ON_TABLE_:
-   case ComTdbExeUtilGetMetadataInfo::VIEWS_ON_TABLE_:
-   case ComTdbExeUtilGetMetadataInfo::VIEWS_ON_VIEW_:
-   case ComTdbExeUtilGetMetadataInfo::OBJECTS_ON_TABLE_:
-   case ComTdbExeUtilGetMetadataInfo::PARTITIONS_FOR_TABLE_:
-   case ComTdbExeUtilGetMetadataInfo::PARTITIONS_FOR_INDEX_:
-   case ComTdbExeUtilGetMetadataInfo::TABLES_IN_VIEW_:
-   case ComTdbExeUtilGetMetadataInfo::VIEWS_IN_VIEW_:
-   case ComTdbExeUtilGetMetadataInfo::OBJECTS_IN_VIEW_:
-    {
-      if (componentPrivileges.hasSQLPriv(ComUser::getCurrentUser(),SQLOperation::DML_SELECT,true))
-        return FALSE;
-      break;
-    }
    default:
      break;
   }

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/regress/privs1/EXPECTED132
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs1/EXPECTED132 b/core/sql/regress/privs1/EXPECTED132
index 7a60061..e56bc0a 100644
--- a/core/sql/regress/privs1/EXPECTED132
+++ b/core/sql/regress/privs1/EXPECTED132
@@ -344,7 +344,7 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 >>create index t132t1_ndx1 on t132t1 (c2) no populate;
 
 --- SQL operation complete.
->>drop index t132t2_ndx1;
+>>cleanup index t132t2_ndx1;
 
 --- SQL operation complete.
 >>create index t132t2_ndx1 on t132t2 (c2) no populate;
@@ -404,7 +404,7 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 >>create index t132t1_ndx1 on t132t1 (c2) no populate;
 
 --- SQL operation complete.
->>drop index t132t2_ndx1;
+>>cleanup index t132t2_ndx1;
 
 --- SQL operation complete.
 >>create index t132t2_ndx1 on t132t2 (c2) no populate;
@@ -412,7 +412,7 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 --- SQL operation complete.
 >>
 >>
->>-- if user belongs to DB__ROOTROLE, has DML privileges, so can populate indexes
+>>-- if user belongs to DB__ROOTROLE, DB__ROOTROLE does not have DML privileges
 >>grant role DB__ROOTROLE to sql_user2;
 
 --- SQL operation complete.
@@ -424,10 +424,18 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 >>
 >>populate index t132t1_ndx1 on t132t1;
 
---- SQL operation complete.
+*** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION.T132SCH.T132T1.
+
+*** ERROR[4481] The user does not have INSERT privilege on table or view TRAFODION.T132SCH.T132T1.
+
+--- SQL operation failed with errors.
 >>populate index t132t2_ndx1 on t132t2;
 
---- SQL operation complete.
+*** ERROR[4481] The user does not have SELECT privilege on table or view TRAFODION.T132SCH.T132T2.
+
+*** ERROR[4481] The user does not have INSERT privilege on table or view TRAFODION.T132SCH.T132T2.
+
+--- SQL operation failed with errors.
 >>
 >>changeuser db__root;
 >>obey TEST132(popindex_check_reset);
@@ -443,7 +451,7 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 (EXPR)              
 --------------------
 
-                   8
+                   0
 
 --- 1 row(s) selected.
 >>select count(*) from table (index_table t132t2_ndx1);
@@ -451,7 +459,7 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 (EXPR)              
 --------------------
 
-                   8
+                   0
 
 --- 1 row(s) selected.
 >>
@@ -461,7 +469,7 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 >>create index t132t1_ndx1 on t132t1 (c2) no populate;
 
 --- SQL operation complete.
->>drop index t132t2_ndx1;
+>>cleanup index t132t2_ndx1;
 
 --- SQL operation complete.
 >>create index t132t2_ndx1 on t132t2 (c2) no populate;
@@ -527,7 +535,7 @@ CREATE TABLE TRAFODION.T132SCH.T132T2
 >>create index t132t1_ndx1 on t132t1 (c2) no populate;
 
 --- SQL operation complete.
->>drop index t132t2_ndx1;
+>>cleanup index t132t2_ndx1;
 
 --- SQL operation complete.
 >>create index t132t2_ndx1 on t132t2 (c2) no populate;

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/regress/privs1/EXPECTED137
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs1/EXPECTED137 b/core/sql/regress/privs1/EXPECTED137
index 208beb0..127963f 100755
--- a/core/sql/regress/privs1/EXPECTED137
+++ b/core/sql/regress/privs1/EXPECTED137
@@ -922,108 +922,67 @@ GRANT ROLE "LIBRARY_CKOUT_CLERKS" TO
 --- SQL operation complete.
 >>showddl component sql_operations;
 
-REGISTER COMPONENT SQL_OPERATIONS SYSTEM DETAIL 'Component for SQL operations';
+REGISTER COMPONENT SQL_OPERATIONS SYSTEM DETAIL
+  'System component SQL_OPERATIONS';
 
 CREATE COMPONENT PRIVILEGE ALTER AS 'A0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter database objects';
+  'Allow grantee to perform ALTER operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE ALTER_ROUTINE_ACTION AS 'AA' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to alter routine actions';
-
--- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE ALTER_TRIGGER AS 'AG' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter triggers';
-
--- GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE ALTER_SCHEMA AS 'AH' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter schemas';
+  'Allow grantee to perform ALTER_SCHEMA operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_LIBRARY AS 'AL' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter libraries';
+  DETAIL 'Allow grantee to perform ALTER_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_SEQUENCE AS 'AQ' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter sequence generators';
+  DETAIL 'Allow grantee to perform ALTER_SEQUENCE operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_ROUTINE AS 'AR' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter routines';
+  DETAIL 'Allow grantee to perform ALTER_ROUTINE operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_TABLE AS 'AT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter tables';
+  'Allow grantee to perform ALTER_TABLE operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_VIEW AS 'AV' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter views';
+  'Allow grantee to perform ALTER_VIEW operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE ALTER_SYNONYM AS 'AY' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter synonyms';
-
--- GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE CREATE AS 'C0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create database objects';
+  'Allow grantee to perform CREATE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE CREATE_ROUTINE_ACTION AS 'CA' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to create routine actions';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE CREATE_CATALOG AS 'CC' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create catalogs';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE CREATE_TRIGGER AS 'CG' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create triggers';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE CREATE_SCHEMA AS 'CH' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create schemas';
+  DETAIL 'Allow grantee to perform CREATE_SCHEMA operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "PUBLIC";
@@ -1031,321 +990,216 @@ GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_INDEX AS 'CI' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create indexes';
+  'Allow grantee to perform CREATE_INDEX operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_LIBRARY AS 'CL' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create libraries';
+  DETAIL 'Allow grantee to perform CREATE_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE COMMENT AS 'CO' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to comment on objects and columns';
+  'Allow grantee to perform COMMENT operation';
 
 -- GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_PROCEDURE AS 'CP' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create procedures';
+  DETAIL 'Allow grantee to perform CREATE_PROCEDURE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_SEQUENCE AS 'CQ' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create sequence generators';
+  DETAIL 'Allow grantee to perform CREATE_SEQUENCE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_ROUTINE AS 'CR' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create routines';
+  DETAIL 'Allow grantee to perform CREATE_ROUTINE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_TABLE AS 'CT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create tables';
+  'Allow grantee to perform CREATE_TABLE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_VIEW AS 'CV' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create views';
+  'Allow grantee to perform CREATE_VIEW operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE CREATE_SYNONYM AS 'CY' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create synonyms';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE DROP AS 'D0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop database objects';
+  'Allow grantee to perform DROP operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DROP_ROUTINE_ACTION AS 'DA' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to drop routine actions';
-
--- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DROP_CATALOG AS 'DC' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop catalogs';
-
--- GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DROP_TRIGGER AS 'DG' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop triggers';
-
--- GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE DROP_SCHEMA AS 'DH' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop schemas';
+  'Allow grantee to perform DROP_SCHEMA operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_INDEX AS 'DI' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop indexes';
+  'Allow grantee to perform DROP_INDEX operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_LIBRARY AS 'DL' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop libraries';
+  'Allow grantee to perform DROP_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_PROCEDURE AS 'DP' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to drop procedures';
+  DETAIL 'Allow grantee to perform DROP_PROCEDURE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_SEQUENCE AS 'DQ' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to drop sequence generators';
+  DETAIL 'Allow grantee to perform DROP_SEQUENCE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_ROUTINE AS 'DR' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop routines';
+  'Allow grantee to perform DROP_ROUTINE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_TABLE AS 'DT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop tables';
+  'Allow grantee to perform DROP_TABLE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_VIEW AS 'DV' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop views';
+  'Allow grantee to perform DROP_VIEW operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DROP_SYNONYM AS 'DY' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop synonyms';
-
--- GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE MANAGE AS 'M0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to manage all SQL Operations';
+  'Allow grantee to perform MANAGE operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_COMPONENTS AS 'MC' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to manage components';
+  DETAIL 'Allow grantee to perform MANAGE_COMPONENTS operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_LIBRARY AS 'ML' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to manage libraries';
+  DETAIL 'Allow grantee to perform MANAGE_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_PRIVILEGES AS 'MP' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to manage privileges on SQL objects';
+  DETAIL 'Allow grantee to perform MANAGE_PRIVILEGES operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_ROLES AS 'MR' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to manage roles';
+  'Allow grantee to perform MANAGE_ROLES operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_STATISTICS AS 'MS' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to show and update statistics';
+  DETAIL 'Allow grantee to perform MANAGE_STATISTICS operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_LOAD AS 'MT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to perform LOAD and UNLOAD commands';
+  'Allow grantee to perform MANAGE_LOAD operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_USERS AS 'MU' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to manage users';
+  'Allow grantee to perform MANAGE_USERS operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DML_DELETE AS 'PD' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to delete rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_EXECUTE AS 'PE' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to execute functions';
-
--- GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_USAGE AS 'PG' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to use libraries and sequences';
-
--- GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_INSERT AS 'PI' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to insert rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_REFERENCES AS 'PR' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to reference columns';
+CREATE COMPONENT PRIVILEGE DML_SELECT_METADATA AS 'PM' ON SQL_OPERATIONS SYSTEM
+  DETAIL 'Allow grantee to perform DML_SELECT_METADATA operation';
 
--- GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO
+-- GRANT COMPONENT PRIVILEGE "DML_SELECT_METADATA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
+GRANT COMPONENT PRIVILEGE "DML_SELECT_METADATA" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DML_SELECT AS 'PS' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to select rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_UPDATE AS 'PU' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to update rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE QUERY_ACTIVATE AS 'QA' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to activate queries';
+  DETAIL 'Allow grantee to perform QUERY_ACTIVATE operation';
 
 -- GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE QUERY_CANCEL AS 'QC' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to cancel queries';
+  'Allow grantee to perform QUERY_CANCEL operation';
 
 -- GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE QUERY_SUSPEND AS 'QS' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to suspend queries';
+  DETAIL 'Allow grantee to perform QUERY_SUSPEND operation';
 
 -- GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE REGISTER_HIVE_OBJECT AS 'RH' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to register hive object in traf metadata';
-
--- GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE REMAP_USER AS 'RU' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to remap DB__ users to a different external username';
-
--- GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE SHOW AS 'SW' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to view metadata information about objects';
+  'Allow grantee to perform SHOW operation';
 
 -- GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "PUBLIC";
 GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE USE_ALTERNATE_SCHEMA AS 'UA' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to use non-default schemas';
-
--- GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE UNREGISTER_HIVE_OBJECT AS 'UH' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to unregister hive object from traf metadata';
-
--- GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
 
 --- SQL operation complete.
 >>
@@ -1485,108 +1339,67 @@ GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO
 >>
 >>showddl component sql_operations;
 
-REGISTER COMPONENT SQL_OPERATIONS SYSTEM DETAIL 'Component for SQL operations';
+REGISTER COMPONENT SQL_OPERATIONS SYSTEM DETAIL
+  'System component SQL_OPERATIONS';
 
 CREATE COMPONENT PRIVILEGE ALTER AS 'A0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter database objects';
+  'Allow grantee to perform ALTER operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE ALTER_ROUTINE_ACTION AS 'AA' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to alter routine actions';
-
--- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE ALTER_TRIGGER AS 'AG' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter triggers';
-
--- GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "ALTER_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE ALTER_SCHEMA AS 'AH' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter schemas';
+  'Allow grantee to perform ALTER_SCHEMA operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_LIBRARY AS 'AL' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter libraries';
+  DETAIL 'Allow grantee to perform ALTER_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_SEQUENCE AS 'AQ' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter sequence generators';
+  DETAIL 'Allow grantee to perform ALTER_SEQUENCE operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_SEQUENCE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_ROUTINE AS 'AR' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter routines';
+  DETAIL 'Allow grantee to perform ALTER_ROUTINE operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_TABLE AS 'AT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter tables';
+  'Allow grantee to perform ALTER_TABLE operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE ALTER_VIEW AS 'AV' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to alter views';
+  'Allow grantee to perform ALTER_VIEW operation';
 
 -- GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "ALTER_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE ALTER_SYNONYM AS 'AY' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to alter synonyms';
-
--- GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "ALTER_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE CREATE AS 'C0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create database objects';
+  'Allow grantee to perform CREATE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE CREATE_ROUTINE_ACTION AS 'CA' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to create routine actions';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE CREATE_CATALOG AS 'CC' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create catalogs';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_CATALOG" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE CREATE_TRIGGER AS 'CG' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create triggers';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_TRIGGER" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE CREATE_SCHEMA AS 'CH' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create schemas';
+  DETAIL 'Allow grantee to perform CREATE_SCHEMA operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "PUBLIC";
@@ -1594,321 +1407,216 @@ GRANT COMPONENT PRIVILEGE "CREATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_INDEX AS 'CI' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create indexes';
+  'Allow grantee to perform CREATE_INDEX operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_LIBRARY AS 'CL' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create libraries';
+  DETAIL 'Allow grantee to perform CREATE_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_LIBRARY" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE COMMENT AS 'CO' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to comment on objects and columns';
+  'Allow grantee to perform COMMENT operation';
 
 -- GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "COMMENT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_PROCEDURE AS 'CP' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create procedures';
+  DETAIL 'Allow grantee to perform CREATE_PROCEDURE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_PROCEDURE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_SEQUENCE AS 'CQ' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create sequence generators';
+  DETAIL 'Allow grantee to perform CREATE_SEQUENCE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_SEQUENCE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_ROUTINE AS 'CR' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create routines';
+  DETAIL 'Allow grantee to perform CREATE_ROUTINE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_ROUTINE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_TABLE AS 'CT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create tables';
+  'Allow grantee to perform CREATE_TABLE operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE CREATE_VIEW AS 'CV' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to create views';
+  'Allow grantee to perform CREATE_VIEW operation';
 
 -- GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "CREATE_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE CREATE_SYNONYM AS 'CY' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to create synonyms';
-
--- GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "CREATE_SYNONYM" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE DROP AS 'D0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop database objects';
+  'Allow grantee to perform DROP operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DROP_ROUTINE_ACTION AS 'DA' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to drop routine actions';
-
--- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_ROUTINE_ACTION" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DROP_CATALOG AS 'DC' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop catalogs';
-
--- GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_CATALOG" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DROP_TRIGGER AS 'DG' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop triggers';
-
--- GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_TRIGGER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE DROP_SCHEMA AS 'DH' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop schemas';
+  'Allow grantee to perform DROP_SCHEMA operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_INDEX AS 'DI' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop indexes';
+  'Allow grantee to perform DROP_INDEX operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_INDEX" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_LIBRARY AS 'DL' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop libraries';
+  'Allow grantee to perform DROP_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_PROCEDURE AS 'DP' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to drop procedures';
+  DETAIL 'Allow grantee to perform DROP_PROCEDURE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_PROCEDURE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_SEQUENCE AS 'DQ' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to drop sequence generators';
+  DETAIL 'Allow grantee to perform DROP_SEQUENCE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_SEQUENCE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_ROUTINE AS 'DR' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop routines';
+  'Allow grantee to perform DROP_ROUTINE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_ROUTINE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_TABLE AS 'DT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop tables';
+  'Allow grantee to perform DROP_TABLE operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_TABLE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE DROP_VIEW AS 'DV' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop views';
+  'Allow grantee to perform DROP_VIEW operation';
 
 -- GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "DROP_VIEW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DROP_SYNONYM AS 'DY' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to drop synonyms';
-
--- GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DROP_SYNONYM" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE MANAGE AS 'M0' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to manage all SQL Operations';
+  'Allow grantee to perform MANAGE operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_COMPONENTS AS 'MC' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to manage components';
+  DETAIL 'Allow grantee to perform MANAGE_COMPONENTS operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_COMPONENTS" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_LIBRARY AS 'ML' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to manage libraries';
+  DETAIL 'Allow grantee to perform MANAGE_LIBRARY operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_LIBRARY" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_PRIVILEGES AS 'MP' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to manage privileges on SQL objects';
+  DETAIL 'Allow grantee to perform MANAGE_PRIVILEGES operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_PRIVILEGES" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_ROLES AS 'MR' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to manage roles';
+  'Allow grantee to perform MANAGE_ROLES operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_ROLES" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_STATISTICS AS 'MS' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to show and update statistics';
+  DETAIL 'Allow grantee to perform MANAGE_STATISTICS operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_STATISTICS" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_LOAD AS 'MT' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to perform LOAD and UNLOAD commands';
+  'Allow grantee to perform MANAGE_LOAD operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_LOAD" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE MANAGE_USERS AS 'MU' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to manage users';
+  'Allow grantee to perform MANAGE_USERS operation';
 
 -- GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "MANAGE_USERS" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DML_DELETE AS 'PD' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to delete rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_DELETE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_EXECUTE AS 'PE' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to execute functions';
-
--- GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_EXECUTE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_USAGE AS 'PG' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to use libraries and sequences';
-
--- GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_USAGE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_INSERT AS 'PI' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to insert rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_INSERT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_REFERENCES AS 'PR' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to reference columns';
+CREATE COMPONENT PRIVILEGE DML_SELECT_METADATA AS 'PM' ON SQL_OPERATIONS SYSTEM
+  DETAIL 'Allow grantee to perform DML_SELECT_METADATA operation';
 
--- GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_REFERENCES" ON "SQL_OPERATIONS" TO
+-- GRANT COMPONENT PRIVILEGE "DML_SELECT_METADATA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
+GRANT COMPONENT PRIVILEGE "DML_SELECT_METADATA" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE DML_SELECT AS 'PS' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to select rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_SELECT" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE DML_UPDATE AS 'PU' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to update rows';
-
--- GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "DML_UPDATE" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE QUERY_ACTIVATE AS 'QA' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to activate queries';
+  DETAIL 'Allow grantee to perform QUERY_ACTIVATE operation';
 
 -- GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "QUERY_ACTIVATE" ON "SQL_OPERATIONS" TO
   "DB__ROOTROLE" WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE QUERY_CANCEL AS 'QC' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to cancel queries';
+  'Allow grantee to perform QUERY_CANCEL operation';
 
 -- GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "QUERY_CANCEL" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
 CREATE COMPONENT PRIVILEGE QUERY_SUSPEND AS 'QS' ON SQL_OPERATIONS SYSTEM
-  DETAIL 'Allow grantee to suspend queries';
+  DETAIL 'Allow grantee to perform QUERY_SUSPEND operation';
 
 -- GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "QUERY_SUSPEND" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
   WITH GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE REGISTER_HIVE_OBJECT AS 'RH' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to register hive object in traf metadata';
-
--- GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "REGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE REMAP_USER AS 'RU' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to remap DB__ users to a different external username';
-
--- GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "REMAP_USER" ON "SQL_OPERATIONS" TO "DB__ROOTROLE"
-  WITH GRANT OPTION;
-
 CREATE COMPONENT PRIVILEGE SHOW AS 'SW' ON SQL_OPERATIONS SYSTEM DETAIL
-  'Allow grantee to view metadata information about objects';
+  'Allow grantee to perform SHOW operation';
 
 -- GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
 GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "PUBLIC";
 GRANT COMPONENT PRIVILEGE "SHOW" ON "SQL_OPERATIONS" TO "DB__ROOTROLE" WITH
   GRANT OPTION;
 
-CREATE COMPONENT PRIVILEGE USE_ALTERNATE_SCHEMA AS 'UA' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to use non-default schemas';
-
--- GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "USE_ALTERNATE_SCHEMA" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
-CREATE COMPONENT PRIVILEGE UNREGISTER_HIVE_OBJECT AS 'UH' ON SQL_OPERATIONS
-  SYSTEM DETAIL 'Allow grantee to unregister hive object from traf metadata';
-
--- GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO "DB__ROOT" WITH GRANT OPTION;
-GRANT COMPONENT PRIVILEGE "UNREGISTER_HIVE_OBJECT" ON "SQL_OPERATIONS" TO
-  "DB__ROOTROLE" WITH GRANT OPTION;
-
 
 --- SQL operation complete.
 >>

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/regress/privs1/TEST132
----------------------------------------------------------------------
diff --git a/core/sql/regress/privs1/TEST132 b/core/sql/regress/privs1/TEST132
index 58d22b9..bc26393 100755
--- a/core/sql/regress/privs1/TEST132
+++ b/core/sql/regress/privs1/TEST132
@@ -159,7 +159,7 @@ obey TEST132(populate_index);
 changeuser db__root;
 obey TEST132(popindex_check_reset);
 
--- if user belongs to DB__ROOTROLE, has DML privileges, so can populate indexes
+-- if user belongs to DB__ROOTROLE, DB__ROOTROLE does not have DML privileges
 grant role DB__ROOTROLE to sql_user2;
 changeuser sql_user2;
 obey TEST132(populate_index);
@@ -184,7 +184,7 @@ get tables, match 'T132%';
 ?section populate_index
 set schema t132sch;
 
-populate index t132t1_ndx1 on t132t1;;
+populate index t132t1_ndx1 on t132t1;
 populate index t132t2_ndx1 on t132t2;
 
 ?section popindex_check_reset
@@ -196,7 +196,7 @@ select count(*) from table (index_table t132t2_ndx1);
 
 cleanup index t132t1_ndx1;
 create index t132t1_ndx1 on t132t1 (c2) no populate;
-drop index t132t2_ndx1;
+cleanup index t132t2_ndx1;
 create index t132t2_ndx1 on t132t2 (c2) no populate;
 
 ?section test_show

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/sqlcomp/CmpSeabaseDDL.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDL.h b/core/sql/sqlcomp/CmpSeabaseDDL.h
index 6215f7d..22ee692 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDL.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDL.h
@@ -1456,6 +1456,7 @@ protected:
   short createPrivMgrRepos(ExeCliInterface *cliInterface, NABoolean ddlXns);
   short initSeabaseAuthorization(ExeCliInterface *cliInterface,
                                  NABoolean ddlXns,
+                                 NABoolean isUpgrade,
                                  std::vector<std::string> &tablesCreated,
                                  std::vector<std::string> &tablesUpgraded);
 

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/sqlcomp/CmpSeabaseDDLauth.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLauth.h b/core/sql/sqlcomp/CmpSeabaseDDLauth.h
index 1fc6d42..fbfe354 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLauth.h
+++ b/core/sql/sqlcomp/CmpSeabaseDDLauth.h
@@ -37,6 +37,7 @@
 
 #include "ComSmallDefs.h"
 #include "PrivMgrDefs.h"
+#include "PrivMgrComponentDefs.h"
 #include "NAUserId.h"
 #include <vector>
 

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
index ae401f8..79ed311 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLcommon.cpp
@@ -7466,7 +7466,7 @@ short CmpSeabaseDDL::createPrivMgrRepos(ExeCliInterface *cliInterface,
   std::vector<std::string> tablesCreated;
   std::vector<std::string> tablesUpgraded;
 
-  if (initSeabaseAuthorization(cliInterface, ddlXns,
+  if (initSeabaseAuthorization(cliInterface, ddlXns, FALSE /*isUpgrade*/,
                                tablesCreated, tablesUpgraded) < 0)
     return -1;
 
@@ -7985,6 +7985,7 @@ NABoolean CmpSeabaseDDL::appendErrorObjName(char * errorObjs,
 short CmpSeabaseDDL::initSeabaseAuthorization(
   ExeCliInterface *cliInterface,
   NABoolean ddlXns,
+  NABoolean isUpgrade,
   std::vector<std::string> &tablesCreated,
   std::vector<std::string> &tablesUpgraded)
 { 
@@ -8069,28 +8070,34 @@ short CmpSeabaseDDL::initSeabaseAuthorization(
 
   NABoolean warnings = FALSE;
 
-  // Adjust hive external table ownership - if someone creates external 
-  // tables before initializing authorization, the external schemas are 
-  // owned by DB__ROOT -> change to DB__HIVEROLE.  
-  // Also if you have initialized authorization and created external tables 
-  // before the fix for JIRA 1895, rerunning initialize authorization will 
-  // fix the metadata inconsistencies
-  if (adjustHiveExternalSchemas(cliInterface) != 0)
-    warnings = TRUE;
-
-  // If someone initializes trafodion with library management but does not 
-  // initialize authorization, then the role DB__LIBMGRROLE has not been 
-  // granted to LIBMGR procedures.  Do this now
-  cliRC = existsInSeabaseMDTable(cliInterface,
-                                 getSystemCatalog(), SEABASE_LIBMGR_SCHEMA, 
-                                 SEABASE_LIBMGR_LIBRARY,
-                                 COM_LIBRARY_OBJECT, TRUE, FALSE);
-  if (cliRC == 1) // library exists
+  // Now that initialize trafodion creates authorization tables, only need
+  // to make adjustments for existing installations.
+  if (isUpgrade)
   {
-    cliRC = grantLibmgrPrivs(cliInterface);
-    if (cliRC == -1)
+    // Adjust hive external table ownership - if someone creates external 
+    // tables before initializing authorization, the external schemas are 
+    // owned by DB__ROOT -> change to DB__HIVEROLE.  
+    // Also if you have initialized authorization and created external tables 
+    // before the fix for JIRA 1895, rerunning initialize authorization will 
+    // fix the metadata inconsistencies
+    if (adjustHiveExternalSchemas(cliInterface) != 0)
       warnings = TRUE;
+
+    // If someone initializes trafodion with library management but does not 
+    // initialize authorization, then the role DB__LIBMGRROLE has not been 
+    // granted to LIBMGR procedures.  
+    cliRC = existsInSeabaseMDTable(cliInterface,
+                                   getSystemCatalog(), SEABASE_LIBMGR_SCHEMA, 
+                                   SEABASE_LIBMGR_LIBRARY,
+                                   COM_LIBRARY_OBJECT, TRUE, FALSE);
+    if (cliRC == 1) // library exists
+    {
+      cliRC = grantLibmgrPrivs(cliInterface);
+      if (cliRC == -1)
+        warnings = TRUE;
+    }
   }
+
   if (NOT ddlXns)
     endXnIfStartedHere(cliInterface, xnWasStartedHere, cliRC);
   
@@ -8781,7 +8788,7 @@ short CmpSeabaseDDL::executeSeabaseDDL(DDLExpr * ddlExpr, ExprNode * ddlNode,
       std::vector<std::string> tablesUpgraded;
 
       // Can ignore status returned, diags area contains any unexpected errors
-      initSeabaseAuthorization(&cliInterface, ddlExpr->ddlXns(),
+      initSeabaseAuthorization(&cliInterface, ddlExpr->ddlXns(), TRUE /*isUpgrade*/,
                                tablesCreated, tablesUpgraded);
 
 #ifdef _DEBUG

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp b/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp
index eb68813..b2cea77 100644
--- a/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp
+++ b/core/sql/sqlcomp/CmpSeabaseDDLupgrade.cpp
@@ -2602,7 +2602,7 @@ short CmpSeabaseMDupgrade::upgradePrivMgr (
   std::vector<std::string> tablesUpgraded;
 
   // initSeabaseAuthorization will create or upgrade PrivMgr metadata tables
-  if (initSeabaseAuthorization(cliInterface, ddlXns,
+  if (initSeabaseAuthorization(cliInterface, ddlXns, TRUE /*isUpgrade*/,
                                tablesCreated, tablesUpgraded) < 0)
     return -1;
 

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/sqlcomp/PrivMgr.cpp
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/PrivMgr.cpp b/core/sql/sqlcomp/PrivMgr.cpp
index 679bf28..0a5f265 100644
--- a/core/sql/sqlcomp/PrivMgr.cpp
+++ b/core/sql/sqlcomp/PrivMgr.cpp
@@ -302,6 +302,27 @@ bool PrivMgr::getAuthNameFromAuthID(
 }
 
 // *****************************************************************************
+// * Function:  PrivMgr::getSQLUnusedOpsCount()
+// *
+// *    Returns the number of unused operations from the hard coded table
+// *    in PrivMgrComponentDefs.h for the sql_operations component.
+// *
+// *****************************************************************************
+int32_t PrivMgr::getSQLUnusedOpsCount()
+{
+  int32_t numUnusedOps = 0;
+  size_t numOps = sizeof(sqlOpList)/sizeof(ComponentOpStruct);
+  for (int i = 0; i < numOps; i++)
+  {
+    const ComponentOpStruct &opDefinition = sqlOpList[i];
+    if (opDefinition.unusedOp)
+      numUnusedOps++;
+  }
+  return numUnusedOps;
+}
+
+
+// *****************************************************************************
 // *                                                                           *
 // * Function: PrivMgr::getSQLOperationName                                    *
 // *                                                                           *
@@ -592,6 +613,7 @@ const char * PrivMgr::getSQLOperationDescription(SQLOperation operation)
 }
 //**************** End of PrivMgr::getSQLOperationDescription ******************
 
+
 // *****************************************************************************
 // *                                                                           *
 // * Function: PrivMgr::isAuthIDGrantedPrivs                                   *
@@ -860,6 +882,42 @@ bool PrivMgr::isSQLManageOperation(SQLOperation operation)
 
 // *****************************************************************************
 // *                                                                           *
+// * Function: PrivMgr::isSQLManageOperation                                   *
+// *                                                                           *
+// *    Determines if a SQL operation is within the list of manage operations. *
+// *                                                                           *
+// *****************************************************************************
+// *                                                                           *
+// *  Parameters:                                                              *
+// *                                                                           *
+// *  <operation>                     SQLOperation                    In       *
+// *    is the operation.                                                      *
+// *                                                                           *
+// *****************************************************************************
+// *                                                                           *
+// * Returns: bool                                                             *
+// *                                                                           *
+// * true: operation is a manage operation.                                    *
+// * false: operation is not a manage operation.                               *
+// *                                                                           *
+// *****************************************************************************
+bool PrivMgr::isSQLManageOperation(const char * operationCode)
+
+{
+  size_t numOps = sizeof(sqlOpList)/sizeof(ComponentOpStruct);
+  for (int i = 0; i < numOps; i++)
+  {
+    const ComponentOpStruct &opDefinition = sqlOpList[i];
+    if (std::string(opDefinition.operationCode) == std::string(operationCode))
+      return (PrivMgr::isSQLManageOperation((SQLOperation)opDefinition.operationID));
+   }
+   return false;
+}
+//******************* End of PrivMgr::isSQLManageOperation *********************
+
+
+// *****************************************************************************
+// *                                                                           *
 // * Function: PrivMgr::ObjectEnumToLit                                        *
 // *                                                                           *
 // *    Returns the two character literal associated with the object type enum.*

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/sqlcomp/PrivMgr.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/PrivMgr.h b/core/sql/sqlcomp/PrivMgr.h
index d04c410..fd6b8bd 100644
--- a/core/sql/sqlcomp/PrivMgr.h
+++ b/core/sql/sqlcomp/PrivMgr.h
@@ -28,6 +28,7 @@
 #include <string>
 #include <vector>
 #include "PrivMgrDefs.h"
+#include "PrivMgrComponentDefs.h"
 #include "ComSmallDefs.h"
 #include "CmpSeabaseDDLauth.h"
 
@@ -103,13 +104,15 @@ class PrivMgr
       const int32_t authID,
       std::string &authName);
     
-    static const char * getSQLOperationName(SQLOperation operation);
     static const char * getSQLOperationCode(SQLOperation operation);
     static const char * getSQLOperationDescription(SQLOperation operation);
+    static const char * getSQLOperationName(SQLOperation operation);
+    static int32_t getSQLUnusedOpsCount();
     static bool isSQLAlterOperation(SQLOperation operation);
     static bool isSQLCreateOperation(SQLOperation operation);
     static bool isSQLDropOperation(SQLOperation operation);
     static bool isSQLManageOperation(SQLOperation operation);
+    static bool isSQLManageOperation(const char * operationCode);
     static const char * ObjectEnumToLit(ComObjectType objectType);
     static ComObjectType ObjectLitToEnum(const char *objectLiteral);    
     static bool isRoleID(int_32 authID){ return CmpSeabaseDDLauth::isRoleID(authID); }

http://git-wip-us.apache.org/repos/asf/trafodion/blob/88ed0582/core/sql/sqlcomp/PrivMgrComponentDefs.h
----------------------------------------------------------------------
diff --git a/core/sql/sqlcomp/PrivMgrComponentDefs.h b/core/sql/sqlcomp/PrivMgrComponentDefs.h
index 8986dd9..c5a4289 100644
--- a/core/sql/sqlcomp/PrivMgrComponentDefs.h
+++ b/core/sql/sqlcomp/PrivMgrComponentDefs.h
@@ -53,6 +53,7 @@
 //   isAdminOp     - grant DB__ADMIN/DB__ADMINROLE this operation
 //   isDMLOp       - this is a DML operation
 //   isPublicOp    - grant PUBLIC this operation
+//   unusedOp      - operation is not supported at this time but maybe later
 struct ComponentOpStruct
 {
   int32_t      operationID;
@@ -62,6 +63,7 @@ struct ComponentOpStruct
   const bool   isAdminOp;
   const bool   isDMLOp;
   const bool   isPublicOp;
+  const bool   unusedOp;
 };
 
 // The ComponentListStruct describes the relationship between a component UID,
@@ -83,14 +85,10 @@ struct ComponentListStruct
 // USER_COMPONENT_START_UID begins user defined components
 enum ComponentOp{ INVALID_COMPONENT_UID        = 0,
                   SQL_OPERATIONS_COMPONENT_UID = 1,
-                  DBMGR_COMPONENT_UID          = 2,
-                  WMS_COMPONENT_UID            = 3,
                   USER_COMPONENT_START_UID     = 1000};
 
 // List of components
 #define SQL_OPERATIONS_NAME "SQL_OPERATIONS"
-#define DBMGR_NAME          "DBMGR"
-#define WMS_NAME            "WMS"
 
 // Defines component operations for SQL_OPERATIONS:
 //  to add a new operation, add an entry to this list (in alphebetic order)
@@ -106,6 +104,7 @@ enum class SQLOperation {
    ALTER_TABLE,
    ALTER_TRIGGER,
    ALTER_VIEW,
+   COMMENT,
    CREATE,
    CREATE_CATALOG,
    CREATE_INDEX,
@@ -147,7 +146,6 @@ enum class SQLOperation {
    MANAGE_PRIVILEGES,
    MANAGE_ROLES,
    MANAGE_STATISTICS,
-   MANAGE_TENANTS,
    MANAGE_USERS,
    QUERY_ACTIVATE,
    QUERY_CANCEL,
@@ -171,114 +169,78 @@ enum class SQLOperation {
 //    recommend that PUBLIC granted only a small subset of privileges
 static const ComponentOpStruct sqlOpList[] =
 {
- {(int32_t)SQLOperation::ALTER,               "A0","ALTER",true,true,false,false},
- {(int32_t)SQLOperation::ALTER_LIBRARY,       "AL","ALTER_LIBRARY",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_ROUTINE,       "AR","ALTER_ROUTINE",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_ROUTINE_ACTION,"AA","ALTER_ROUTINE_ACTION",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_SCHEMA,        "AH","ALTER_SCHEMA",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_SEQUENCE,      "AQ","ALTER_SEQUENCE",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_SYNONYM,       "AY","ALTER_SYNONYM",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_TABLE,         "AT","ALTER_TABLE",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_TRIGGER,       "AG","ALTER_TRIGGER",true,false,false,false},
- {(int32_t)SQLOperation::ALTER_VIEW,          "AV","ALTER_VIEW",true,false,false,false},
-
- {(int32_t)SQLOperation::CREATE,              "C0","CREATE",true,true,false,false },
- {(int32_t)SQLOperation::CREATE_CATALOG,      "CC","CREATE_CATALOG",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_INDEX,        "CI","CREATE_INDEX",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_LIBRARY,      "CL","CREATE_LIBRARY",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_PROCEDURE,    "CP","CREATE_PROCEDURE",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_ROUTINE,      "CR","CREATE_ROUTINE",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_ROUTINE_ACTION,"CA","CREATE_ROUTINE_ACTION",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_SCHEMA,       "CH","CREATE_SCHEMA",true,false,false,true},
- {(int32_t)SQLOperation::CREATE_SEQUENCE,     "CQ","CREATE_SEQUENCE",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_SYNONYM,      "CY","CREATE_SYNONYM",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_TABLE,        "CT","CREATE_TABLE",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_TRIGGER,      "CG","CREATE_TRIGGER",true,false,false,false},
- {(int32_t)SQLOperation::CREATE_VIEW,         "CV","CREATE_VIEW",true,false,false,false},
-
- {(int32_t)SQLOperation::DML_DELETE,     "PD","DML_DELETE",false,false,true,false},
- {(int32_t)SQLOperation::DML_EXECUTE,    "PE","DML_EXECUTE",false,false,true,false},
- {(int32_t)SQLOperation::DML_INSERT,     "PI","DML_INSERT",false,false,true,false},
- {(int32_t)SQLOperation::DML_REFERENCES, "PR","DML_REFERENCES",false,false,true,false},
- {(int32_t)SQLOperation::DML_SELECT,     "PS","DML_SELECT",false,false,true,false},
- {(int32_t)SQLOperation::DML_SELECT_METADATA,"PM","DML_SELECT_METADATA",true,true,true,false},
- {(int32_t)SQLOperation::DML_UPDATE,     "PU","DML_UPDATE",false,false,true,false},
- {(int32_t)SQLOperation::DML_USAGE,      "PG","DML_USAGE",false,false,true,false},
-
- {(int32_t)SQLOperation::DROP,               "D0","DROP",true,true,false,false },
- {(int32_t)SQLOperation::DROP_CATALOG,       "DC","DROP_CATALOG",true,false,false,false},
- {(int32_t)SQLOperation::DROP_INDEX,         "DI","DROP_INDEX",true,false,false,false},
- {(int32_t)SQLOperation::DROP_LIBRARY,       "DL","DROP_LIBRARY",true,false,false,false},
- {(int32_t)SQLOperation::DROP_PROCEDURE,     "DP","DROP_PROCEDURE",true,false,false,false},
- {(int32_t)SQLOperation::DROP_ROUTINE,       "DR","DROP_ROUTINE",true,false,false,false},
- {(int32_t)SQLOperation::DROP_ROUTINE_ACTION,"DA","DROP_ROUTINE_ACTION",true,false,false,false},
- {(int32_t)SQLOperation::DROP_SCHEMA,        "DH","DROP_SCHEMA",true,false,false,false},
- {(int32_t)SQLOperation::DROP_SEQUENCE,      "DQ","DROP_SEQUENCE",true,false,false,false},
- {(int32_t)SQLOperation::DROP_SYNONYM,       "DY","DROP_SYNONYM",true,false,false,false},
- {(int32_t)SQLOperation::DROP_TABLE,         "DT","DROP_TABLE",true,false,false,false},
- {(int32_t)SQLOperation::DROP_TRIGGER,       "DG","DROP_TRIGGER",true,false,false,false},
- {(int32_t)SQLOperation::DROP_VIEW,          "DV","DROP_VIEW",true,false,false,false},
-
- {(int32_t)SQLOperation::MANAGE,            "M0","MANAGE",true,true,false,false},
- {(int32_t)SQLOperation::MANAGE_COMPONENTS, "MC","MANAGE_COMPONENTS",true,false,false,false},
- {(int32_t)SQLOperation::MANAGE_LIBRARY,    "ML","MANAGE_LIBRARY",true,false,false,false},
- {(int32_t)SQLOperation::MANAGE_LOAD,       "MT","MANAGE_LOAD",true,false,false,false},
- {(int32_t)SQLOperation::MANAGE_PRIVILEGES, "MP","MANAGE_PRIVILEGES",true,false,false,false},
- {(int32_t)SQLOperation::MANAGE_ROLES,      "MR","MANAGE_ROLES",true,false,false,false},
- {(int32_t)SQLOperation::MANAGE_STATISTICS, "MS","MANAGE_STATISTICS",true,false,false,false},
- {(int32_t)SQLOperation::MANAGE_TENANTS,    "MX","MANAGE_TENANTS",true,false,false,false},
- {(int32_t)SQLOperation::MANAGE_USERS,      "MU","MANAGE_USERS",true,false,false,false},
-
- {(int32_t)SQLOperation::QUERY_ACTIVATE, "QA","QUERY_ACTIVATE",true,true,false,false},
- {(int32_t)SQLOperation::QUERY_CANCEL,   "QC","QUERY_CANCEL",true,true,false,false},
- {(int32_t)SQLOperation::QUERY_SUSPEND,  "QS","QUERY_SUSPEND",true,true,false,false},
- {(int32_t)SQLOperation::REGISTER_HIVE_OBJECT,  "RH","REGISTER_HIVE_OBJECT",true,true,false,false},
-
- {(int32_t)SQLOperation::REMAP_USER,           "RU","REMAP_USER",true,true,false,false},
- {(int32_t)SQLOperation::SHOW,                 "SW","SHOW",true,true,false,false},
- {(int32_t)SQLOperation::UNREGISTER_HIVE_OBJECT,  "UH","UNREGISTER_HIVE_OBJECT",true,true,false,false},
- {(int32_t)SQLOperation::USE_ALTERNATE_SCHEMA, "UA","USE_ALTERNATE_SCHEMA",true,true,false,false}
-};
-
-// Defines the component operations for DBMGR:
-//   add an entry to this list for new DBMGR operations(in alphabetic order) 
-//   and to the corresponding dbmgrOpList
-enum class DBMGROperation {
-   MANAGE_ALERTS = 2,
-   MANAGE_SESSIONS,
-   SHOW_ACTIVE_QUERIES,
-   SHOW_EVENT_LOGS,
-   SHOW_REPOS_QUERIES
+ {(int32_t)SQLOperation::ALTER,               "A0","ALTER",true,true,false,false,false},
+ {(int32_t)SQLOperation::ALTER_LIBRARY,       "AL","ALTER_LIBRARY",true,false,false,false,false},
+ {(int32_t)SQLOperation::ALTER_ROUTINE,       "AR","ALTER_ROUTINE",true,false,false,false,false},
+ {(int32_t)SQLOperation::ALTER_ROUTINE_ACTION,"AA","ALTER_ROUTINE_ACTION",true,false,false,false,true},
+ {(int32_t)SQLOperation::ALTER_SCHEMA,        "AH","ALTER_SCHEMA",true,false,false,false,false},
+ {(int32_t)SQLOperation::ALTER_SEQUENCE,      "AQ","ALTER_SEQUENCE",true,false,false,false,false},
+ {(int32_t)SQLOperation::ALTER_SYNONYM,       "AY","ALTER_SYNONYM",true,false,false,false,true},
+ {(int32_t)SQLOperation::ALTER_TABLE,         "AT","ALTER_TABLE",true,false,false,false,false},
+ {(int32_t)SQLOperation::ALTER_TRIGGER,       "AG","ALTER_TRIGGER",true,false,false,false,true},
+ {(int32_t)SQLOperation::ALTER_VIEW,          "AV","ALTER_VIEW",true,false,false,false,false},
+
+ {(int32_t)SQLOperation::COMMENT,             "CO","COMMENT",true,true,false,false,false},
+
+ {(int32_t)SQLOperation::CREATE,              "C0","CREATE",true,true,false,false,false },
+ {(int32_t)SQLOperation::CREATE_CATALOG,      "CC","CREATE_CATALOG",true,false,false,false,true},
+ {(int32_t)SQLOperation::CREATE_INDEX,        "CI","CREATE_INDEX",true,false,false,false,false},
+ {(int32_t)SQLOperation::CREATE_LIBRARY,      "CL","CREATE_LIBRARY",true,false,false,false,false},
+ {(int32_t)SQLOperation::CREATE_PROCEDURE,    "CP","CREATE_PROCEDURE",true,false,false,false,false},
+ {(int32_t)SQLOperation::CREATE_ROUTINE,      "CR","CREATE_ROUTINE",true,false,false,false,false},
+ {(int32_t)SQLOperation::CREATE_ROUTINE_ACTION,"CA","CREATE_ROUTINE_ACTION",true,false,false,false,true},
+ {(int32_t)SQLOperation::CREATE_SCHEMA,       "CH","CREATE_SCHEMA",true,false,false,true,false},
+ {(int32_t)SQLOperation::CREATE_SEQUENCE,     "CQ","CREATE_SEQUENCE",true,false,false,false,false},
+ {(int32_t)SQLOperation::CREATE_SYNONYM,      "CY","CREATE_SYNONYM",true,false,false,false,true},
+ {(int32_t)SQLOperation::CREATE_TABLE,        "CT","CREATE_TABLE",true,false,false,false,false},
+ {(int32_t)SQLOperation::CREATE_TRIGGER,      "CG","CREATE_TRIGGER",true,false,false,false,true},
+ {(int32_t)SQLOperation::CREATE_VIEW,         "CV","CREATE_VIEW",true,false,false,false,false},
+
+ {(int32_t)SQLOperation::DML_DELETE,     "PD","DML_DELETE",false,false,true,false,true},
+ {(int32_t)SQLOperation::DML_EXECUTE,    "PE","DML_EXECUTE",false,false,true,false,true},
+ {(int32_t)SQLOperation::DML_INSERT,     "PI","DML_INSERT",false,false,true,false,true},
+ {(int32_t)SQLOperation::DML_REFERENCES, "PR","DML_REFERENCES",false,false,true,false,true},
+ {(int32_t)SQLOperation::DML_SELECT,     "PS","DML_SELECT",false,false,true,false,true},
+ {(int32_t)SQLOperation::DML_SELECT_METADATA,"PM","DML_SELECT_METADATA",true,true,true,false,false},
+ {(int32_t)SQLOperation::DML_UPDATE,     "PU","DML_UPDATE",false,false,true,false,true},
+ {(int32_t)SQLOperation::DML_USAGE,      "PG","DML_USAGE",false,false,true,false,true},
+
+ {(int32_t)SQLOperation::DROP,               "D0","DROP",true,true,false,false,false},
+ {(int32_t)SQLOperation::DROP_CATALOG,       "DC","DROP_CATALOG",true,false,false,false,true},
+ {(int32_t)SQLOperation::DROP_INDEX,         "DI","DROP_INDEX",true,false,false,false,false},
+ {(int32_t)SQLOperation::DROP_LIBRARY,       "DL","DROP_LIBRARY",true,false,false,false,false},
+ {(int32_t)SQLOperation::DROP_PROCEDURE,     "DP","DROP_PROCEDURE",true,false,false,false,false},
+ {(int32_t)SQLOperation::DROP_ROUTINE,       "DR","DROP_ROUTINE",true,false,false,false,false},
+ {(int32_t)SQLOperation::DROP_ROUTINE_ACTION,"DA","DROP_ROUTINE_ACTION",true,false,false,false,true},
+ {(int32_t)SQLOperation::DROP_SCHEMA,        "DH","DROP_SCHEMA",true,false,false,false,false},
+ {(int32_t)SQLOperation::DROP_SEQUENCE,      "DQ","DROP_SEQUENCE",true,false,false,false,false},
+ {(int32_t)SQLOperation::DROP_SYNONYM,       "DY","DROP_SYNONYM",true,false,false,false,true},
+ {(int32_t)SQLOperation::DROP_TABLE,         "DT","DROP_TABLE",true,false,false,false,false},
+ {(int32_t)SQLOperation::DROP_TRIGGER,       "DG","DROP_TRIGGER",true,false,false,false,true},
+ {(int32_t)SQLOperation::DROP_VIEW,          "DV","DROP_VIEW",true,false,false,false,false},
+
+ {(int32_t)SQLOperation::MANAGE,            "M0","MANAGE",true,true,false,false,false},
+ {(int32_t)SQLOperation::MANAGE_COMPONENTS, "MC","MANAGE_COMPONENTS",true,false,false,false,false},
+ {(int32_t)SQLOperation::MANAGE_LIBRARY,    "ML","MANAGE_LIBRARY",true,false,false,false,false},
+ {(int32_t)SQLOperation::MANAGE_LOAD,       "MT","MANAGE_LOAD",true,false,false,false,false},
+ {(int32_t)SQLOperation::MANAGE_PRIVILEGES, "MP","MANAGE_PRIVILEGES",true,false,false,false,false},
+ {(int32_t)SQLOperation::MANAGE_ROLES,      "MR","MANAGE_ROLES",true,false,false,false,false},
+ {(int32_t)SQLOperation::MANAGE_STATISTICS, "MS","MANAGE_STATISTICS",true,false,false,false,false},
+ {(int32_t)SQLOperation::MANAGE_USERS,      "MU","MANAGE_USERS",true,false,false,false,false},
+
+ {(int32_t)SQLOperation::QUERY_ACTIVATE, "QA","QUERY_ACTIVATE",true,true,false,false,false},
+ {(int32_t)SQLOperation::QUERY_CANCEL,   "QC","QUERY_CANCEL",true,true,false,false,false},
+ {(int32_t)SQLOperation::QUERY_SUSPEND,  "QS","QUERY_SUSPEND",true,true,false,false,false},
+ {(int32_t)SQLOperation::REGISTER_HIVE_OBJECT,  "RH","REGISTER_HIVE_OBJECT",true,true,false,false,true},
+
+ {(int32_t)SQLOperation::REMAP_USER,           "RU","REMAP_USER",true,true,false,false,true},
+ {(int32_t)SQLOperation::SHOW,                 "SW","SHOW",true,true,false,true,false},
+ {(int32_t)SQLOperation::UNREGISTER_HIVE_OBJECT,  "UH","UNREGISTER_HIVE_OBJECT",true,true,false,false,true},
+ {(int32_t)SQLOperation::USE_ALTERNATE_SCHEMA, "UA","USE_ALTERNATE_SCHEMA",true,true,false,false,true}
 };
 
-// Assign initial privileges for DBMGROperation (based on ComponentOpStruct):
-static const ComponentOpStruct dbmgrOpList[] =
-{
- {(int32_t)DBMGROperation::MANAGE_ALERTS,       "MA","MANAGE_ALERTS",true,true,false,false},
- {(int32_t)DBMGROperation::MANAGE_SESSIONS,     "MS","MANAGE_SESSIONS",true,true,false,false},
- {(int32_t)DBMGROperation::SHOW_ACTIVE_QUERIES, "AQ","SHOW_ACTIVE_QUERIES",true,true,false,false},
- {(int32_t)DBMGROperation::SHOW_EVENT_LOGS,     "EL","SHOW_EVENT_LOGS",true,true,false,false},
- {(int32_t)DBMGROperation::SHOW_REPOS_QUERIES,  "RQ","SHOW_REPOS_QUERIES",true,true,false,false}
-};
-
-// Defines the component operations for WMS:
-//   add an entry to this list for new WMS operations (in alphabetic order) 
-//   and to the corresponding wmsOpList
-enum class WMSOperation {
-   MANAGE_WMS = 2
-};
-
-// Assign initial privileges for DBMGROperation (based on ComponentOpStruct):
-static const ComponentOpStruct wmsOpList[] =
-{
- {(int32_t)WMSOperation::MANAGE_WMS,       "MW","MANAGE_WMS",true,true,false,false},
-};
-
-
 // List of components
 static const ComponentListStruct componentList[]
-{ { (int64_t)SQL_OPERATIONS_COMPONENT_UID, SQL_OPERATIONS_NAME, sizeof(sqlOpList)/sizeof(ComponentOpStruct), (ComponentOpStruct *)&sqlOpList },
-  { (int64_t)DBMGR_COMPONENT_UID, DBMGR_NAME, sizeof(dbmgrOpList)/sizeof(ComponentOpStruct), (ComponentOpStruct *)&dbmgrOpList },
-  { (int64_t)WMS_COMPONENT_UID, WMS_NAME, sizeof(wmsOpList)/sizeof(ComponentOpStruct), (ComponentOpStruct *)&wmsOpList } };
+{ { (int64_t)SQL_OPERATIONS_COMPONENT_UID, SQL_OPERATIONS_NAME, sizeof(sqlOpList)/sizeof(ComponentOpStruct), (ComponentOpStruct *)&sqlOpList } };
 
 #endif