|
1 | 1 | # Change history for the MySQL sys schema |
2 | 2 |
|
| 3 | +## 1.5.0 (...) |
| 4 | + |
| 5 | +### Improvements |
| 6 | + |
| 7 | +* The `format_bytes` function now shows no decimal places when outputting a simple bytes value |
| 8 | +* The `processlist` views where improved, changes include: |
| 9 | +** 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) |
| 10 | +** 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) |
| 11 | +** 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 |
| 12 | +* New `metrics` and `metrics_56` views have been added. These provide a union view of the performance_schema.global_status, information_schema.innodb_metrics along with P_S memory and the current time, as a single metrics output. The difference between metrics and metrics_56 is whether the global status information is taken from performance_schema or information_schema (in the case of metrics_56). |
| 13 | +* 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) |
| 14 | +* 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) |
| 15 | +* 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) |
| 16 | +* 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) |
| 17 | +* 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 |
| 18 | +* The `innodb_lock_waits` view had the following columns added to it, following a manually merged contribution from Shlomi Noach for a similar view |
| 19 | +** `wait_age_secs` - the current row lock wait time in seconds |
| 20 | +** `sql_kill_blocking_query` - the "KILL QUERY <connection_id>" command to run to kill the blocking session current statement |
| 21 | +** `sql_kill_blocking_connection` - the "KILL <connection_id" command to run to kill the blocking session |
| 22 | +* A new `table_exists` procedure 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) |
| 23 | +* 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) |
| 24 | +* 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) |
| 25 | +* 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) |
| 26 | +* 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 |
| 27 | +* Added a new `ps_thread_account()` stored function, that returns the "user@host" account for a given Performance Schema thread id |
| 28 | +* 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 |
| 29 | +* Added new `list_add()` and `list_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, like `sql_mode`. |
| 30 | +* The `ps_thread_id` stored function now returns the thread id for the current connection if NULL is passed for the in_connection_id parameter |
| 31 | + |
| 32 | +### Bug Fixes |
| 33 | + |
| 34 | +* Git Issue #51 - Fixed the `generate_sql_file.sh` script to also replace the definer in the before_setup.sql output |
| 35 | +* Git Issue #52 - Removed apostrophe from the `format_statement` function comment because TOAD no likey |
| 36 | +* Git Issue #56 - Installation failed on 5.6 with ONLY_FULL_GROUP_BY enabled |
| 37 | +* Git Issue #76 - Fixes for the new show_compatibility_56 variable. 5.7 versions of the `format_path()` function and `ps_check_lost_instrumentation` view were added, that use performance_schema.global_status/global_variables instead of information_schema.global_status/global_variables |
| 38 | +* Git Issue #79 - Fixed grammar within `statements_with_runtimes_in_95th_percentile` view descriptions |
| 39 | +* 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 |
| 40 | +* Oracle Bug #21550271 - Fixed the `ps_setup_reset_to_default` for 5.7 with the addition of the new `history` column on the `performance_schema.setup_actors` table |
| 41 | +* 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 |
| 42 | +* MySQL Bug #77848 - Added the missing ps_setup_instruments_cleanup.inc |
| 43 | +* Fixed the `ps_setup_reset_to_default()` procedure to also set the new `ENABLED` column within `performance_schema.setup_actors` within 5.7 |
| 44 | +* The `user_summary_by_file_io`/`x$user_summary_by_file_io` and `host_summary_by_file_io`/`x$host_summary_by_file_io` tables were incorrectly aggregating all wait events, not just `wait/io/file/%` |
| 45 | +* Fixed the `ps_is_instrument_default_enabed` and `ps_is_instrument_default_timed` to take in to account the new instruments added within 5.7 |
| 46 | + |
| 47 | +### Implementation Details |
| 48 | + |
| 49 | +* Tests were improved via 5.7 integration |
| 50 | +* Template files were added for stored procedures and functions |
| 51 | +* 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 |
| 52 | + |
3 | 53 | ## 1.4.0 (09/03/2015) |
4 | 54 |
|
5 | 55 | ### Backwards Incompatible Changes |
|
0 commit comments