polardbxengine/storage/perfschema/pfs_dd_version.h

137 lines
4.7 KiB
C

/* Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License, version 2.0,
as published by the Free Software Foundation.
This program is also distributed with certain software (including
but not limited to OpenSSL) that is licensed under separate terms,
as designated in a particular file or component or in included license
documentation. The authors of MySQL hereby grant you an additional
permission to link the program and your derivative works with the
separately licensed software that they have included with MySQL.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License, version 2.0, for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
#ifndef PFS_DD_VERSION_H
#define PFS_DD_VERSION_H
/**
@file storage/perfschema/pfs_dd_version.h
Performance schema data dictionary version.
*/
/**
The version of the current performance_schema database schema.
Version numbering forms a name space,
which needs to be unique across all MySQL versions,
even including forks.
This version number is stored on disk in the data dictionary.
Every time the performance_schema structure changes,
this version number must change.
Do not use a naive 1, 2, 3, ... N numbering scheme,
as it requires an authoritative registry to assign numbers.
This can not work in a distributed development environment,
even less with forks, patches and back ports done by third parties.
The numbering to use is the MySQL version number
of the first MySQL version that published a given database schema.
The format is Mmmdd with M=Major, m=minor, d=dot,
so that MySQL 8.0.4 is encoded as 80004.
In case of -dash version numbers, encode MySQL 8.12.34-56 as 8123456.
Historical version number published in the data dictionary:
1:
Introduced in MySQL 8.0.3 by WL#7900.
Never published in a GA version, abandoned.
80004:
performance_schema tables changed in MySQL 8.0.4 are
- setup_threads (created)
- setup_instruments (modified)
- variables_info (modified)
- setup_timers (removed)
- metadata_locks (modified, added column COLUMN_NAME)
- replication_connection_configuration (modified)
- instance_log_resource (created)
80005:
performance_schema tables changed in MySQL 8.0.5 are
- all, changed UTF8 (aka UTF8MB3) to UTF8MB4.
80006:
performance_schema tables changed in MySQL 8.0.6 are
- variables_info.set_time precision changed from 0 to 6.
80011:
Version bump from 8.0.6 to 8.0.11,
versions [8.0.5 - 8.0.10] inclusive are abandoned.
performance_schema tables changed in MySQL 8.0.11 are
- instance_log_resource was renamed to log_resource.
80014:
performance_schema tables changed in MySQL 8.0.14 are
- events_statements_current, added column QUERY_ID
- events_statements_history, added column QUERY_ID
- events_statements_history_long, added column QUERY_ID
80015:
performance_schema.keyring_keys
80017: -- WARNING, EXPOSED BY MySQL 8.0.16 --
Unfortunately, MySQL 8.0.16 claim the 80017 tag, due to a bad merge.
performance_schema tables changed in MySQL 8.0.16
- replication_connection_configuration, added column NETWORK_NAMESPACE
800171: -- WARNING, EXPOSED BY MySQL 8.0.17 --
---------------------------------------------------------------------
IMPORTANT NOTE:
The release 8.0.16 made use of version 80017 incorrectly, which makes
the upgrade from 8.0.16 to 8.0.17 release immutable. This was
introduced by WL#12720.
In order to allow upgrade from 8.0.16 to 8.0.17, we choose the new
version number as 800171 for 8.0.17 release. Going forward the
release 8.0.18 would use 80018.
Note that, any comparison between two PFS version numbers should be
carefully done.
---------------------------------------------------------------------
performance_schema tables changed in MySQL 8.0.17
- WL#12571 increases the HOST name length from 60 to 255.
Version published is now 800171. The next number to use is 80018.
80018:
performance_schema tables changed in MySQL 8.0.18
- replication_connection_configuration, added column
MASTER_COMPRESSION_ALGORITHMS, MASTER_COMPRESSION_LEVEL
Version published is now 800172.
*/
static const uint PFS_DD_VERSION = 80018;
#endif /* PFS_DD_VERSION_H */