MySQL  8.0.17
Source Code Documentation
dd_version.h
Go to the documentation of this file.
1 /* Copyright (c) 2017, 2019, Oracle and/or its affiliates. All rights reserved.
2 
3  This program is free software; you can redistribute it and/or modify
4  it under the terms of the GNU General Public License, version 2.0,
5  as published by the Free Software Foundation.
6 
7  This program is also distributed with certain software (including
8  but not limited to OpenSSL) that is licensed under separate terms,
9  as designated in a particular file or component or in included license
10  documentation. The authors of MySQL hereby grant you an additional
11  permission to link the program and your derivative works with the
12  separately licensed software that they have included with MySQL.
13 
14  This program is distributed in the hope that it will be useful,
15  but WITHOUT ANY WARRANTY; without even the implied warranty of
16  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17  GNU General Public License, version 2.0, for more details.
18 
19  You should have received a copy of the GNU General Public License
20  along with this program; if not, write to the Free Software
21  Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA */
22 
23 #ifndef DD__DD_VERSION_INCLUDED
24 #define DD__DD_VERSION_INCLUDED
25 
26 /**
27  @file sql/dd/dd_version.h
28  Data dictionary version.
29 */
30 
31 /**
32  The version of the current data dictionary table definitions.
33 
34  This version number is stored on disk in the data dictionary. Every time
35  the data dictionary schema structure changes, this version number must
36  change. The table that stores the data dictionary version number is never
37  allowed to change.
38 
39  The data dictionary version number is the MySQL server version number
40  of the first MySQL server version that published a given database schema.
41  The format is Mmmdd with M=Major, m=minor, d=dot, so that MySQL 8.0.4 is
42  encoded as 80004. This is the same version numbering scheme as the
43  information schema and performance schema are using.
44 
45  When a data dictionary version is made public, the next change to a
46  dictionary table will be associated with the next available MySQL server
47  version number. So if DD version 80004 is made available in MySQL 8.0.4,
48  and 8.0.5 is an MRU with no changes to the DD tables, then the DD version
49  will stay 80004 also in MySQL 8.0.5. If MySQL 9.0.4 is the first GA of
50  9.0, and if there are no changes to the DD tables compared to 8.0.4, then
51  the DD version number will stay 80004 also in MySQL 9.0.4. Then, if there
52  are changes to the DD tables after MySQL 9.0.4, then the new DD version will
53  be 90005. In day to day builds internally, changes to the DD tables may be
54  done incrementally, so there may be different builds having the same DD
55  version number, yet with different DD table definitions.
56 
57  Historical version number published in the data dictionary:
58 
59 
60  1: Published in 8.0.3-RC.
61  ----------------------------------------------------------------------------
62  Introduced in MySQL 8.0.0 by WL#6378. Never published in a GA version.
63  Last changes were:
64 
65  - WL#6049: Removed foreign_keys.unique_constraint_id and the corresponding
66  FK constraint, added foreign_keys.unique_constraint_name.
67 
68  - Bug#2620373: Added index_stats.cached_time and table_stats.cached_time.
69 
70 
71  80004: Published in 8.0.4-RC.
72  ----------------------------------------------------------------------------
73  Changes from version 1:
74 
75  - WL#9059: Added collation clause for spatial_reference_systems.organization
76 
77  - WL#9553: Added new 'options' column to the following DD tables:
78  catalogs, character_sets, collations, column_statistics, events,
79  foreign_keys, resource_groups, routines, schemata,
80  st_spatial_reference_systems, triggers.
81 
82  (Other relevant DD tables have this column already: columns,
83  indexes, parameters, tables, tablespaces).
84 
85  Also added explicit indexes for foreign keys instead of relying
86  on these to be created implicitly for the following tables/columns:
87  character_sets.default_collation_id, collations.character_set_id,
88  columns.collation_id, columns.srs_id, events.client_collation_id,
89  events.connection_collation_id, events.schema_collation_id,
90  foreign_key_column_usage.column_id, index_column_usage.column_id,
91  index_partitions.index_id, index_partitions.tablespace_id,
92  indexes.tablespace_id, parameters.collation_id,
93  routines.result_collation_id, routines.client_collation_id,
94  routines.connection_collation_id, routines.schema_collation_id,
95  schemata.default.collation_id, table_partitions.tablespace_id,
96  tables.collation_id, tables.tablespace_id, triggers.client_collation_id,
97  triggers.connection_collation_id, triggers.schema_collation_id,
98 
99 
100  80011: Published in 8.0 GA.
101  ----------------------------------------------------------------------------
102  Changes from version 80004:
103 
104  - WL#8383 and WL#9465: Removed obsolete SQL modes from enums in 'events',
105  'routines' and 'triggers'.
106 
107  - WL#10774 removed NO_AUTO_CREATE_USER as a valid sql mode value.
108  As a result events, routines and triggers table are updated.
109 
110  - Bug#27499518 changed the data type for the column 'hidden' in table
111  'columns' from BOOL to ENUM('Visible', 'SE', 'SQL').
112 
113  - Bug#11754608 "MYSQL DOESN'T SHOW WHAT COLLATION WAS USED IF THAT
114  COLLATION IS THE DEFAU"
115  Added a new column 'is_explicit_collation' to the 'columns' DD table.
116 
117  - BUG#27309116: Add a new column `external_language` to `mysql`.`routines`
118  and update `information_schema`.`routines` to reflect this column.
119 
120  - Bug#27690593: CHANGE TYPE OF MYSQL.DD_PROPERTIES.PROPERTIES.
121  Changed type of 'dd_properties.properties' from MEDIUMTEXT to
122  MEDIUMBLOB.
123 
124 
125  80012: Published in 8.0.12
126  ----------------------------------------------------------------------------
127  Changes from version 80011:
128 
129  - Bug#27745526: Various adjustments to make the DD table definitions
130  in sync with WL#6379.
131 
132 
133  80013: Published in 8.0.13
134  ----------------------------------------------------------------------------
135  Changes from version 80012:
136 
137  - Bug#24741307: add last_checked_for_upgrade column to msyql.tables table
138 
139 
140  80014: Published in 8.0.14
141  ----------------------------------------------------------------------------
142  Changes from version 80013:
143 
144  - Bug#28492272: Synchronize sql_mode in server with that in DD.
145 
146 
147  80015: Not published. DD version still at 80014 in server 8.0.15.
148  ----------------------------------------------------------------------------
149  No changes from version 80014.
150 
151 
152  80016: Published in 8.0.16
153  ----------------------------------------------------------------------------
154  Changes from version 80014:
155 
156  - WL#929 - CHECK CONSTRAINTS
157  New DD table check_constraints is introduced for the check
158  constraints metadata.
159 
160  - WL#12261 adds new mysql.schemata.default_encryption DD column.
161 
162  - Bug#29053560 Increases DD column mysql.tablespaces.name length to 268.
163 
164  80017: Current
165  ----------------------------------------------------------------------------
166  Changes from version 80016:
167 
168  - WL#12731 adds new mysql.schemata.se_private_data DD column.
169  - WL#12571 Support fully qualified hostnames longer than 60 characters
170  Server metadata table columns size is increased to 255.
171 
172  80018: Next DD version number after the previous is public.
173  ----------------------------------------------------------------------------
174  Changes from version 80017:
175  - No changes, this version number is not active yet.
176 
177 
178  If a new DD version is published in a MRU, that version may or may not
179  be possible to downgrade to previous MRUs within the same GA. If
180  downgrade is supported, the constant DD_VERSION_MINOR_DOWNGRADE_THRESHOLD
181  should be set to the lowest DD_VERSION that we may downgrade to. If minor
182  downgrade is not supported at all, DD_VERSION_MINOR_DOWNGRADE_THRESHOLD
183  should be set to DD_VERSION.
184 */
185 namespace dd {
186 
187 static const uint DD_VERSION = 80017;
188 
190 
191 } // namespace dd
192 
193 #endif /* DD__DD_VERSION_INCLUDED */
static const uint DD_VERSION_MINOR_DOWNGRADE_THRESHOLD
Definition: dd_version.h:189
unsigned int uint
Definition: uca-dump.cc:29
The version of the current data dictionary table definitions.
Definition: dictionary_client.h:39
static const uint DD_VERSION
Definition: dd_version.h:187