# Change history for the MySQL sys schema ## 1.5.1 (07/07/16) ### Improvements * A `quote_identifier` function was added, which can be used to properly backtick identifier names * The `Tls_version` column was added to the output from the `mysql.slave_master_info` table, from the `diagnostics` procedure (backported from 5.7 upstream change) ### Bug Fixes * MySQL Bug #77853 / Oracle Bug #21512106 - The `format_path` function did not consider directory boundaries when comparing variables to paths - it now does. Also fixed to no longer translate backslashes within Windows paths to forward slash * Oracle Bug #21663578 - Fixed an instability within the sysschema.v_schema_tables_with_full_table_scans test * Oracle Bug #21970078 - The host_summary view could fail with a division by zero error * MySQL Bug #78874 / Oracle Bug #22066096 - The `ps_setup_show_enabled` procedure showed all rows for the `performance_schema.setup_objects` table, rather than only those that are enabled * MySQL Bug #80569 / Oracle Bug #22848110 - The `max_latency` column for the `host_summary_by_statement_latency` view incorrectly showed the SUM of latency * MySQL Bug #80833 / Oracle Bug #22988461 - The `pages_hashed` and `pages_old` columns within the `innodb_buffer_stats_by_schema` and `innodb_buffer_stats_by_table` views were calculated incorrectly (**Contributed by Tsubasa Tanaka**) * MySQL Bug #78823 / Oracle Bug #22011361 - The `create_synonym_db` procedure failed when using reserved words as the synonym name (this change also introduced the `quote_identifier` function mentioned above **Contriubuted by Paul Dubois**) * MySQL Bug #81564 / Oracle Bug #23335880 - The `ps_setup_show_enabled` and `ps_setup_show_disabled` procedures were fixed to: ** Show `user@host` instead of `host@user` for accounts ** Fixed the column header for `disabled_users` within `ps_setup_show_disabled` ** Explicitly ordered all output for test stability ** Show disabled users for 5.7.6+ * Oracle Bug #21970806 - The `sysschema.fn_ps_thread_trx_info` test was unstable * Oracle Bug #23621189 - The `ps_trace_statement_digest` procedure ran EXPLAIN incorrectly in certain cases (such as on a SHOW statement, no query being specified, or not having a full qualified table), the procedure now catches these issues and ignores them ## 1.5.0 (11/09/15) ### Improvements * The `format_bytes` function now shows no decimal places when outputting a simple bytes value * The `processlist`/`x$processlist` views where improved, changes include: * The `pid` and `program_name` of the connection are shown, if set within the `performance_schema.session_connect_attrs` table (**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_latency` column was added to all versions, which reports the current statement latency with picosecond precision from the `performance_schema.events_statements_current` table, when enabled * Some transaction information was exposed, with the `trx_latency` (for the current or last transaction depending on `trx_state`), `trx_state` (ACTIVE, COMMITTED, ROLLED BACK), and `trx_autocommit` (YES/NO) columns * A new `metrics` view 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$session` views have been added, which give the same output as the `processlist` view counterparts, but filtered to only show foreground connections (**Contributed by Morgan Tocker**) * A new `session_ssl_status` view 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_columns` view was added, that shows statistics on each auto_incrment within the instance, including the `auto_increment_ratio`, so you can easily monitor how full specific auto_increment columns are (**Contributed by Shlomi Noach**) * A new `schema_redundant_indexes` view was added, that shows indexes made redundant (or duplicated) by other more dominant indexes. Also includes the the helper view `x$schema_flattened_keys`. (**Contributed by Shlomi Noach**) * New `schema_table_lock_waits`/`x$schema_table_lock_waits` views 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_waits` view had the following columns added to it, following a manually merged contribution from Shlomi Noach for a similar view * `wait_age_secs` - the current row lock wait time in seconds * `sql_kill_blocking_query` - the "KILL QUERY " command to run to kill the blocking session current statement * `sql_kill_blocking_connection` - the "KILL )` allows disabling any consumers matching the LIKE string. * `ps_setup_enable_consumers()` allows enabling any consumers matching the LIKE string. * Added procedures to show both enabled and disbled consumers or instruments individually, these are more useful for tooling than the `ps_setup_show_enabled`/`ps_setup_show_disabled` procedures which show all configuration in multiple result sets. (**Contributed by the MySQL QA Team**) * `ps_setup_show_disabled_consumers` shows only disabled consumers. * `ps_setup_show_disabled_instruments` shows only disabled instruments. * `ps_setup_show_enabled_consumers` shows only enabled consumers. * `ps_setup_show_enabled_instruments` shows only enabled instruments. ### Bug Fixes * Running the installation scripts sometimes failed because of the comment format. (#1) (**Contributed by Joe Grasse**) * Some views did not work with the ERROR_FOR_DIVISION_BY_ZERO SQL mode. (#6) (**Contributed by Joe Grasse**) * On Windows the `ps_thread_stack()` stored function failed to escape file path backslashes correctly within the JSON output. ## 1.0.0 (11/04/2014)