LP bug 1435479. Explain query looping. in current code, executor buffer for returned explain row was hardcoded at 4K. That caused no buffer to be found if explain description column value was greater than 3000(the default). Executor would go in a loop trying to find space in sql buffer. In this case, query text caused total explain len to become greater than the buffer size. It has been fixed to compute buffer len based on the returned explain virtual table row size.
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));