Only expose supported component operationsThere is a set of component operations and many are about features that we donot support such as CREATE_TRIGGER. This checkin no longer returns theseprivileges through get privileges on component sql_operations showddl component sql_operationsThe is_system metadata column in the component_operations table now supportsthree 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 thesechanges available. Installating this code version calls initialize authorization Running regrinit.sql also calls initialize authorizationSome performance enhancements were made to make "initialize authorization" runfaster.
TRAFODION  - Integrate Library Management into Trafodion MetadataThe initial release of library management has been delivered to Trafodion. Thisis follow-on work that integrates library management operations into theexisting Trafodion infrastructure. Currently, with the initial release oflibrary management, the consumer needs to run a special script to set upeverything. This delivery incorporates the steps into existing SQL commands andremoves the need for the script.This delivery contains:-> Support for three new INITIALIZE TRAFODION options-> Support for a new role (plus infrastructure to make it easier to add roles)-> Change initialize authorization to handle upgrade better-> Fixed couple issues found while testing-> New regression test (udr/TEST102)*** Support for three new INITIALIZE TRAFODION options:Three new INITIALIZE TRAFODION options have been added: CREATE LIBRARY MANAGEMENT - create and populates the libmgr schema DROP LIBRARY MANAGEMENT - drops the libmgr schema UPGRADE LIBRARY MANAGEMENT - adds new procedures to the libmgr libraryParser was changed to support these new options, a new keyword - MANAGEMENTwas added. (parser/ParKeyWords.cpp/sqlparser.y)DDL compiler was changed to recognize the new options and call implementationmethods. (optimizer/RelExeUtil, sqlcomp/CmpSeabaseDDLcommon.cpp)The following implementation methods were added: createSeabaseLibmgr (code for create library management) dropSeabaseLibmgr (code for drop library management) upgradeSeabaseLibmgr(code for upgrade library management) createLibmgrProcs – a helper method called by create and upgrade code to create libmgr procedures grantLibmgrPrivs – a helper method called by createLibmgrProcs and initialize authorization that add grants to procedures for the new DB__LIBMGRROLE role. (CmpSeabaseDDL.h/CmpSeabaseDDLroutine.cpp)Changes were made to define the new schema, library and procedures. (common/ComSmallDefs.h, CmpSeabaseDDLroutine.h)All procedures are defined in a new file called sqlcomp/CmpSeabaseDDLroutine.h.This file is based on similar support for system metadata tables(CmpSeabaseDDLmd.h). It contains the text of all the procedures. During"create library management" and "upgrade library management" operations, thislist is used to create/add procedures.*** Support for a new role:Initialize authorization code was changed to create the new DB__LIBMGRROLE role.As part of this change, role infrastructure was modified to make it easier toadd system roles in the future. The initialize code checks to see what roleshave not been added, and adds them. (common/NAUserId.h, common/ComUser, sqlcomp/PrivMgrMD, sqlcomp/CmpSeabaseDDLauth, sqlcomp/PrivMgrRoles)In addition, a check is made – if the SEABASE_LIBMGR_SCHEMA exists, thengrants are performed on the procedures to allow DB__LIBMGRROLE executeprivilege. (sqlcomp/CmpSeabaseDDLcommon.cpp)*** Change initialize authorization to handle upgrade better:Changes were made so initialize authorization performs an upgrade operation ifcalled and component privileges already exists. (sqlcomp/PrivMgrComponentOperations, sqlcomp/PrivMgrComponentPrivileges, sqlcomp/PrivMgrMD)*** Fixed couple of issues found while testing:Invalid role ID generation. Role ID generation code was using the wrong rangeto determine the next role ID. (CmpSeabaseDDLauth.cpp)Drop schema issues with libraries. Drop library cascade fails when the orderof libraries and functions is incorrect. If you drop function, drop library itfails with missing procedure. (CmpSeabaseDDLschema.cpp)
Part 1 of updates to licensing info in Trafodion sourceAdded NOTICE.txt file in root directory per ASF guidelines.Updated copyright text in one directory (core/sql/sqlcomp)as a test of a tool to update such text. One or more latercheck-ins will take care of the remaining directories.