repository upgrade and explain enhancements. Details below. -- repository upgrade infrastructure integrated with 'initialize trafodion, upgrade' -- fields have been added/removed/modified in repos tables -- new repos table has been added
-- upgrade enhanced to only upgrade subset of components that need to be upgraded. One or more of metadata, repos, views, priv.
-- metadata version now tracks release version and indicates the traf release where upgrade was needed. Current metadata version will be 1.1.0.
-- packed explain data is now returned to caller so it could be stored in repository -- explain info from repository for a query id could be retrieved and displayed explain qid <query-id>; explain options 'f' qid <query-id> select * from table(explain(null, 'EXPLAIN_QID=<query-id>'));
-- a sql query could be explained and returned in relational format. select * from table(explain(null, 'EXPLAIN_STMT=<query-str>)); Users only need to have select permission on tables referenced in query-str.
-- explain and statistics tables could be invoked invoke table(explain(null, null)); invoke table(statistics(null, null));
Fix memory leaks when EXPLAIN is re-executed In cases where an EXPLAIN statement is prepared once and executed many times, each reexecution will allocate more memory from the Statement heap. Cleanup will only happen when the Statement heap is deallocated. This change fixes the problem by deallocating between executions.