summaryrefslogtreecommitdiff
path: root/storage
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2016-12-01 08:28:59 +0200
committerMarko Mäkelä <marko.makela@mariadb.com>2016-12-01 08:28:59 +0200
commit2c9bb42d901fc4f48f4884e4a85af74eae6d0929 (patch)
tree6e798dda79478b4ab344221b4b51eeb7c5cda83c /storage
parentdc9f919f27fccfeb0de3ab392f33bc5efdfd59a0 (diff)
downloadmariadb-git-2c9bb42d901fc4f48f4884e4a85af74eae6d0929.tar.gz
MDEV-11432 Change the informational redo log format tag to "MariaDB 10.2.3"
MariaDB 10.2 incorporates MySQL 5.7. MySQL 5.7.9 (the first GA release of the series) introduced an informational field to the InnoDB redo log header, which identifies the server version where the redo log files were created (initialized, resized or updated), in WL#8845: InnoDB: Redo log format version identifier. The informational message would be displayed to the user, for example if someone tries to start up MySQL 8.0 after killing a MariaDB 10.2 server. In the current MariaDB 10.2 source code, the identifier string would misleadingly say "MySQL 5.7.14" (using the hard-coded version number in univ.i) instead of "MariaDB 10.2.3" (using the contents of the VERSION file, the build system copies to config.h and my_config.h). This is only a cosmetic change. The compatibility check is based on a numeric identifier. We should probably also change the numeric identifier and some logic around it. MariaDB 10.2 should refuse to recover from a crashed MySQL 5.7 instance, because the redo log might contain references to shared tablespaces, which are not supported by MariaDB 10.2. Also, when MariaDB 10.2 creates an encrypted redo log, there should be a redo log format version tag that will prevent MySQL 5.7 or 8.0 from starting up.
Diffstat (limited to 'storage')
-rw-r--r--storage/innobase/include/log0log.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/storage/innobase/include/log0log.h b/storage/innobase/include/log0log.h
index c1f25704217..caa067cd4ba 100644
--- a/storage/innobase/include/log0log.h
+++ b/storage/innobase/include/log0log.h
@@ -555,7 +555,11 @@ or the MySQL version that created the redo log file. */
/** End of the log file creator field. */
#define LOG_HEADER_CREATOR_END (LOG_HEADER_CREATOR + 32)
/** Contents of the LOG_HEADER_CREATOR field */
-#define LOG_HEADER_CREATOR_CURRENT "MySQL " INNODB_VERSION_STR
+#define LOG_HEADER_CREATOR_CURRENT \
+ "MariaDB " \
+ IB_TO_STR(MYSQL_VERSION_MAJOR) "." \
+ IB_TO_STR(MYSQL_VERSION_MINOR) "." \
+ IB_TO_STR(MYSQL_VERSION_PATCH)
/** The redo log format identifier corresponding to the current format version.
Stored in LOG_HEADER_FORMAT. */