summaryrefslogtreecommitdiff
path: root/extra
diff options
context:
space:
mode:
authorJon Olav Hauglid <jon.hauglid@oracle.com>2013-05-16 08:09:48 +0200
committerJon Olav Hauglid <jon.hauglid@oracle.com>2013-05-16 08:09:48 +0200
commit9486aaeffa54583fa1b76bb63ffbd310bf06fa31 (patch)
treea4a7d733b2a139f5bb532412a858e551021d5adb /extra
parent205bf59a9f0e64baa69c1b5153f64031084a4229 (diff)
downloadmariadb-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.c20
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);