diff options
author | Jon Olav Hauglid <jon.hauglid@oracle.com> | 2013-05-16 08:09:48 +0200 |
---|---|---|
committer | Jon Olav Hauglid <jon.hauglid@oracle.com> | 2013-05-16 08:09:48 +0200 |
commit | 9486aaeffa54583fa1b76bb63ffbd310bf06fa31 (patch) | |
tree | a4a7d733b2a139f5bb532412a858e551021d5adb /extra | |
parent | 205bf59a9f0e64baa69c1b5153f64031084a4229 (diff) | |
download | mariadb-git-9486aaeffa54583fa1b76bb63ffbd310bf06fa31.tar.gz |
Bug#16807394: PREVENT NEW ERROR MESSAGES FROM BEING ADDED TO 5.5
In order to keep error message numbers stable between GA releases, we
can not now add a new error message to 5.1/5.5 as this message would get
a number now used in 5.6.
This patch enforces this by adding a 5.1/5.5 specific check when processing
the error message file. If a new error message is added, building will
abort and report an error.
Diffstat (limited to 'extra')
-rw-r--r-- | extra/comp_err.c | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/extra/comp_err.c b/extra/comp_err.c index 895524ac453..267e850ba50 100644 --- a/extra/comp_err.c +++ b/extra/comp_err.c @@ -1,5 +1,5 @@ /* - Copyright (c) 2000, 2010, Oracle and/or its affiliates. All rights reserved. + Copyright (c) 2000, 2013, 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 as published by @@ -31,6 +31,7 @@ #include <my_getopt.h> #include <assert.h> #include <my_dir.h> +#include <mysql_version.h> #define MAX_ROWS 1000 #define HEADER_LENGTH 32 /* Length of header in errmsg.sys */ @@ -175,6 +176,23 @@ int main(int argc, char *argv[]) fprintf(stderr, "Failed to parse input file %s\n", TXTFILE); DBUG_RETURN(1); } +#if MYSQL_VERSION_ID >= 50100 && MYSQL_VERSION_ID < 50500 +/* Number of error messages in 5.1 - do not change this number! */ +#define MYSQL_OLD_GA_ERROR_MESSAGE_COUNT 641 +#elif MYSQL_VERSION_ID >= 50500 && MYSQL_VERSION_ID < 50600 +/* Number of error messages in 5.5 - do not change this number! */ +#define MYSQL_OLD_GA_ERROR_MESSAGE_COUNT 728 +#endif +#if MYSQL_OLD_GA_ERROR_MESSAGE_COUNT + if (row_count != MYSQL_OLD_GA_ERROR_MESSAGE_COUNT) + { + fprintf(stderr, "Can only add new error messages to latest GA. "); + fprintf(stderr, "Use ER_UNKNOWN_ERROR instead.\n"); + fprintf(stderr, "Expected %u messages, found %u.\n", + MYSQL_OLD_GA_ERROR_MESSAGE_COUNT, row_count); + DBUG_RETURN(1); + } +#endif if (lang_head == NULL || error_head == NULL) { fprintf(stderr, "Failed to parse input file %s\n", TXTFILE); |