This repository was archived by the owner on Aug 28, 2024. It is now read-only.
  
  
  
  
v1.5.0
Improvements
- The 
format_bytesfunction now shows no decimal places when outputting a simple bytes value - The 
processlist/x$processlistviews where improved, changes include:- The 
pidandprogram_nameof the connection are shown, if set within theperformance_schema.session_connect_attrstable (Contributed by Daniël van Eeden) - Issue #50 - The current statement progress is reported via the new stage progress reporting within Performance Schema stages within 5.7 (such as ALTER TABLE progress reporting)
 - Issue #60 - A new 
statement_latencycolumn was added to all versions, which reports the current statement latency with picosecond precision from theperformance_schema.events_statements_currenttable, when enabled - Some transaction information was exposed, with the 
trx_latency(for the current or last transaction depending ontrx_state),trx_state(ACTIVE, COMMITTED, ROLLED BACK), andtrx_autocommit(YES/NO) columns 
 - The 
 - A new 
metricsview has been added. On 5.7 this provides a union view of the performance_schema.global_status and information_schema.innodb_metrics tables, along with P_S memory and the current time, as a single metrics output. On 5.6 it provides a union view of the information_schema.global_status and information_schema.innodb_metrics tables, along with the current time. (Contributed by Jesper Wisborg Krogh) - New 
session/x$sessionviews have been added, which give the same output as theprocesslistview counterparts, but filtered to only show foreground connections (Contributed by Morgan Tocker) - A new 
session_ssl_statusview was added, which shows the SSL version, ciper and session resuse statistics for each connection (Contributed by Daniël van Eeden) - A new 
schema_auto_increment_columnsview was added, that shows statistics on each auto_incrment within the instance, including theauto_increment_ratio, so you can easily monitor how full specific auto_increment columns are (Contributed by Shlomi Noach) - A new 
schema_redundant_indexesview was added, that shows indexes made redundant (or duplicated) by other more dominant indexes. Also includes the the helper viewx$schema_flattened_keys. (Contributed by Shlomi Noach) - New 
schema_table_lock_waits/x$schema_table_lock_waitsviews have been added, which show any sessions that are waiting for table level metadata locks, and the sessions that are blocking them. Resolves Git Issue #57, inspired by the suggestion from Daniël van Eeden - The 
innodb_lock_waitsview had the following columns added to it, following a manually merged contribution from Shlomi Noach for a similar viewwait_age_secs- the current row lock wait time in secondssql_kill_blocking_query- the "KILL QUERY <connection_id>" command to run to kill the blocking session current statementsql_kill_blocking_connection- the "KILL <connection_id" command to run to kill the blocking session
 - A new 
table_existsprocedure was added, which checks for the existence of table, and if it exists, returns the type (BASE TABLE, VIEW, TEMPORARY) (Contributed by Jesper Wisborg Krogh) - A new 
execute_prepared_stmt()procedure was added, which takes a SQL statement as an input variable and executes it as a prepared statement (Contributed by Jesper Wisborg Krogh) - A new 
statement_performance_analyzer()procedure was added, that allows reporting on the statements that are have been running over snapshot periods (Contributed by Jesper Wisborg Krogh) - A new 
diagnostics()procedure was added, which creates a large diagnostics report based upon most of the new instrumentation now available, computed over a configurable number of snapshot intervals (Contributed by Jesper Wisborg Krogh) - A 5.7 specific 
ps_trace_thread()procedure was added, which now shows the hierarchy of transactions and stored routines, as well as statements, stages and waits, if enabled - Added a new 
ps_thread_account()stored function, that returns the "user@host" account for a given Performance Schema thread id - Added a new 
ps_thread_trx_info()stored function which outputs, for a given thread id, the transactions, and statements that those transactions have executed, as a JSON object - Added new 
list_add()andlist_drop()stored functions, that take a string csv list, and either add or remove items from that list respectively. Can be used to easily update variables that take such lists, likesql_mode. - The 
ps_thread_idstored function now returns the thread id for the current connection if NULL is passed for the in_connection_id parameter - Added a new 
version_major()stored function, which returns the major version of MySQL Server (Contributed by Jesper Wisborg Krogh) - Added a new 
version_minor()stored function, which returns the minor (release series) version of MySQL Server (Contributed by Jesper Wisborg Krogh) - Added a new 
version_patch()stored function, which returns the patch release version of MySQL Server (Contributed by Jesper Wisborg Krogh) - The 
ps_is_account_enabledfunction was updated to take a VARCHAR(32) user input on 5.7, as a part of WL#2284 - The generate_sql_file.sh script had a number of improvements:
- Generated files are now output in to a "gen" directory, that is ignored by git
 - Added using a new default "mysql.sys@localhost" user (that has the account locked) for the MySQL 5.7+ integration as the DEFINER for all objects
 - Added a warning to the top of the generated integration file to also submit changes to the sys project
 - Improved the the option of skipping binary logs, so that all routines can load as well - those that used SET sql_log_bin will now select a warning when being used instead of setting the option
 
 
Bug Fixes
- Git Issue #51 - Fixed the 
generate_sql_file.shscript to also replace the definer in the before_setup.sql output - Git Issue #52 - Removed apostrophe from the 
format_statementfunction comment because TOAD no likey - Git Issue #56 - Installation failed on 5.6 with ONLY_FULL_GROUP_BY enabled
 - Git Issue #76 - Fixes for the new show_compatibility_56 variable. 5.7 versions of the 
format_path()function andps_check_lost_instrumentationview were added, that use performance_schema.global_status/global_variables instead of information_schema.global_status/global_variables - Git Issue #79 - Fixed grammar within 
statements_with_runtimes_in_95th_percentileview descriptions - Oracle Bug #21484593 / Oracle Bug #21281955 - The 
format_path()function incorrectly took and returned a VARCHAR(260) instead of VARCHAR(512) (as the underlying is exposed as in Performance Schema) causing sporadic test failures - Oracle Bug #21550271 - Fixed the 
ps_setup_reset_to_defaultfor 5.7 with the addition of the newhistorycolumn on theperformance_schema.setup_actorstable - Oracle Bug #21550054 - It is possible that the views can show data that overflows when aggregating very large values, reset all statistics before each test to ensure no overflows
 - Oracle Bug #21647101 - Fixed the 
ps_is_instrument_default_enabedandps_is_instrument_default_timedto take in to account the new instruments added within 5.7 - MySQL Bug #77848 - Added the missing ps_setup_instruments_cleanup.inc
 - Fixed the 
ps_setup_reset_to_default()procedure to also set the newENABLEDcolumn withinperformance_schema.setup_actorswithin 5.7 - The 
user_summary_by_file_io/x$user_summary_by_file_ioandhost_summary_by_file_io/x$host_summary_by_file_iotables were incorrectly aggregating all wait events, not justwait/io/file/% 
Implementation Details
- Tests were improved via 5.7 integration
 - Template files were added for stored procedures and functions
 - Improved the sys_config_cleanup.inc procedure in tests to be able to reset the sys_config table completely (including the set_by column to NULL). The triggers can now be set to not update the column by setting the @sys.ignore_sys_config_triggers user variable to true