summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/mysqld_error.h3
-rw-r--r--sql/share/czech/errmsg.txt1
-rw-r--r--sql/share/danish/errmsg.txt1
-rw-r--r--sql/share/dutch/errmsg.txt1
-rw-r--r--sql/share/english/errmsg.txt1
-rw-r--r--sql/share/estonian/errmsg.txt1
-rw-r--r--sql/share/french/errmsg.txt1
-rw-r--r--sql/share/german/errmsg.txt1
-rw-r--r--sql/share/greek/errmsg.txt1
-rw-r--r--sql/share/hungarian/errmsg.txt1
-rw-r--r--sql/share/italian/errmsg.txt1
-rw-r--r--sql/share/japanese/errmsg.txt1
-rw-r--r--sql/share/korean/errmsg.txt1
-rw-r--r--sql/share/norwegian-ny/errmsg.txt1
-rw-r--r--sql/share/norwegian/errmsg.txt1
-rw-r--r--sql/share/polish/errmsg.txt1
-rw-r--r--sql/share/portuguese/errmsg.txt1
-rw-r--r--sql/share/romanian/errmsg.txt1
-rw-r--r--sql/share/russian/errmsg.txt1
-rw-r--r--sql/share/serbian/errmsg.txt1
-rw-r--r--sql/share/slovak/errmsg.txt1
-rw-r--r--sql/share/spanish/errmsg.txt1
-rw-r--r--sql/share/swedish/errmsg.txt1
-rw-r--r--sql/share/ukrainian/errmsg.txt3
-rw-r--r--sql/sql_table.cc22
25 files changed, 39 insertions, 11 deletions
diff --git a/include/mysqld_error.h b/include/mysqld_error.h
index 4ef23f446c9..a581453f576 100644
--- a/include/mysqld_error.h
+++ b/include/mysqld_error.h
@@ -408,4 +408,5 @@
#define ER_WRONG_MAGIC 1389
#define ER_PS_MANY_PARAM 1390
#define ER_KEY_PART_0 1391
-#define ER_ERROR_MESSAGES 392
+#define ER_VIEW_CHECKSUM 1392
+#define ER_ERROR_MESSAGES 393
diff --git a/sql/share/czech/errmsg.txt b/sql/share/czech/errmsg.txt
index c6ee78ffbb2..0382e2f95d6 100644
--- a/sql/share/czech/errmsg.txt
+++ b/sql/share/czech/errmsg.txt
@@ -420,3 +420,4 @@ character-set=latin2
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt
index 37b523526ce..8b38a3a072e 100644
--- a/sql/share/danish/errmsg.txt
+++ b/sql/share/danish/errmsg.txt
@@ -411,3 +411,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/dutch/errmsg.txt b/sql/share/dutch/errmsg.txt
index 7cf441e899d..995d29ef39e 100644
--- a/sql/share/dutch/errmsg.txt
+++ b/sql/share/dutch/errmsg.txt
@@ -420,3 +420,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt
index 990e3819053..4218b2f5b47 100644
--- a/sql/share/english/errmsg.txt
+++ b/sql/share/english/errmsg.txt
@@ -408,3 +408,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/estonian/errmsg.txt b/sql/share/estonian/errmsg.txt
index ff2f2a922ce..9ef85e60382 100644
--- a/sql/share/estonian/errmsg.txt
+++ b/sql/share/estonian/errmsg.txt
@@ -413,3 +413,4 @@ character-set=latin7
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/french/errmsg.txt b/sql/share/french/errmsg.txt
index b9062214ecc..248c1c8cf9b 100644
--- a/sql/share/french/errmsg.txt
+++ b/sql/share/french/errmsg.txt
@@ -408,3 +408,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/german/errmsg.txt b/sql/share/german/errmsg.txt
index 757274bf1d5..b41c0a3bee9 100644
--- a/sql/share/german/errmsg.txt
+++ b/sql/share/german/errmsg.txt
@@ -421,3 +421,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/greek/errmsg.txt b/sql/share/greek/errmsg.txt
index 883bd0887c9..7887ffa9dd6 100644
--- a/sql/share/greek/errmsg.txt
+++ b/sql/share/greek/errmsg.txt
@@ -408,3 +408,4 @@ character-set=greek
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/hungarian/errmsg.txt b/sql/share/hungarian/errmsg.txt
index e93970e7eb8..51576bd3bdf 100644
--- a/sql/share/hungarian/errmsg.txt
+++ b/sql/share/hungarian/errmsg.txt
@@ -413,3 +413,4 @@ character-set=latin2
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/italian/errmsg.txt b/sql/share/italian/errmsg.txt
index 1745c31f114..771f0c7ff95 100644
--- a/sql/share/italian/errmsg.txt
+++ b/sql/share/italian/errmsg.txt
@@ -408,3 +408,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/japanese/errmsg.txt b/sql/share/japanese/errmsg.txt
index 969bacc8d8f..04cd9f7fb49 100644
--- a/sql/share/japanese/errmsg.txt
+++ b/sql/share/japanese/errmsg.txt
@@ -412,3 +412,4 @@ character-set=ujis
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/korean/errmsg.txt b/sql/share/korean/errmsg.txt
index cdb67ba004c..2063dc3b275 100644
--- a/sql/share/korean/errmsg.txt
+++ b/sql/share/korean/errmsg.txt
@@ -408,3 +408,4 @@ character-set=euckr
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/norwegian-ny/errmsg.txt b/sql/share/norwegian-ny/errmsg.txt
index 35b5a3d464b..cb00db472e9 100644
--- a/sql/share/norwegian-ny/errmsg.txt
+++ b/sql/share/norwegian-ny/errmsg.txt
@@ -410,3 +410,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/norwegian/errmsg.txt b/sql/share/norwegian/errmsg.txt
index bb34b3d653c..53e28d71899 100644
--- a/sql/share/norwegian/errmsg.txt
+++ b/sql/share/norwegian/errmsg.txt
@@ -410,3 +410,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/polish/errmsg.txt b/sql/share/polish/errmsg.txt
index e4dfb9442dd..b318c6415b2 100644
--- a/sql/share/polish/errmsg.txt
+++ b/sql/share/polish/errmsg.txt
@@ -413,3 +413,4 @@ character-set=latin2
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/portuguese/errmsg.txt b/sql/share/portuguese/errmsg.txt
index 4f3c73b900b..489a8395b66 100644
--- a/sql/share/portuguese/errmsg.txt
+++ b/sql/share/portuguese/errmsg.txt
@@ -410,3 +410,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/romanian/errmsg.txt b/sql/share/romanian/errmsg.txt
index b96ddc1fe88..b24ba200a8a 100644
--- a/sql/share/romanian/errmsg.txt
+++ b/sql/share/romanian/errmsg.txt
@@ -413,3 +413,4 @@ character-set=latin2
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt
index 2da6cbdfc1a..9d5c708ffcd 100644
--- a/sql/share/russian/errmsg.txt
+++ b/sql/share/russian/errmsg.txt
@@ -413,3 +413,4 @@ character-set=koi8r
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"Проверка контрольной суммы текста VIEW провалилась"
diff --git a/sql/share/serbian/errmsg.txt b/sql/share/serbian/errmsg.txt
index 461a4942131..5a66ab271c6 100644
--- a/sql/share/serbian/errmsg.txt
+++ b/sql/share/serbian/errmsg.txt
@@ -401,3 +401,4 @@ character-set=cp1250
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/slovak/errmsg.txt b/sql/share/slovak/errmsg.txt
index 862ca741640..373ce767f2d 100644
--- a/sql/share/slovak/errmsg.txt
+++ b/sql/share/slovak/errmsg.txt
@@ -416,3 +416,4 @@ character-set=latin2
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/spanish/errmsg.txt b/sql/share/spanish/errmsg.txt
index 64e6da34d2b..3ba13373c05 100644
--- a/sql/share/spanish/errmsg.txt
+++ b/sql/share/spanish/errmsg.txt
@@ -412,3 +412,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/swedish/errmsg.txt b/sql/share/swedish/errmsg.txt
index bb7cd72f3df..9a5bbb6d0fc 100644
--- a/sql/share/swedish/errmsg.txt
+++ b/sql/share/swedish/errmsg.txt
@@ -408,3 +408,4 @@ character-set=latin1
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"View text checksum failed"
diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt
index a7b139bc2c3..891798fb3a1 100644
--- a/sql/share/ukrainian/errmsg.txt
+++ b/sql/share/ukrainian/errmsg.txt
@@ -391,7 +391,7 @@ character-set=koi8u
"Incorrect %-.32s value: '%-.128s' for column '%.64s' at row %ld",
"Illegal %s '%-.64s' value found during parsing",
"CHECK OPTION для VIEW '%-.64s.%-.64s' що не може бути оновленним"
-"перев╕рка CHECK OPTION для VIEW '%-.64s.%-.64s' не пройшла"
+"Перев╕рка CHECK OPTION для VIEW '%-.64s.%-.64s' не пройшла"
"Access denied; you are not the procedure/function definer of '%s'"
"Failed purging old relay logs: %s"
"Password hash should be a %d-digit hexadecimal number"
@@ -414,3 +414,4 @@ character-set=koi8u
"Wrong magic in %-.64s"
"Prepared statement contains too many placeholders"
"Key part '%-.64s' length cannot be 0"
+"Перев╕рка контрольно╖ суми тексту VIEW не пройшла"
diff --git a/sql/sql_table.cc b/sql/sql_table.cc
index a12a08d1170..5020b4820a0 100644
--- a/sql/sql_table.cc
+++ b/sql/sql_table.cc
@@ -1747,10 +1747,9 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
uint extra_open_options,
int (*prepare_func)(THD *, TABLE_LIST *,
HA_CHECK_OPT *),
- int (handler::*operator_func)
- (THD *, HA_CHECK_OPT *),
- int (view_operator_func)
- (THD *, TABLE_LIST*))
+ int (handler::*operator_func)(THD *,
+ HA_CHECK_OPT *),
+ int (view_operator_func)(THD *, TABLE_LIST*))
{
TABLE_LIST *table, *next_global_table;
List<Item> field_list;
@@ -1808,12 +1807,16 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
}
/*
- for this command used only temporary table method (without
- filling tables), so if opening succeed, table will be opened
+ CHECK TABLE command is only command where VIEW allowed here and this
+ command use only temporary teble method for VIEWs resolving => there
+ can't be VIEW tree substitition of join view => if opening table
+ succeed then table->table will have real TABLE pointer as value (in
+ case of join view substitution table->table can be 0, but here it is
+ impossible)
*/
if (!table->table)
{
- char buf[ERRMSGSIZE+25];
+ char buf[ERRMSGSIZE+ERRMSGSIZE+2];
const char *err_msg;
protocol->prepare_for_resend();
protocol->store(table_name, system_charset_info);
@@ -1825,7 +1828,7 @@ static bool mysql_admin_table(THD* thd, TABLE_LIST* tables,
if (table->view &&
view_checksum(thd, table) == HA_ADMIN_WRONG_CHECKSUM)
{
- strxmov(buf, "View checksum failed and ", err_msg, NullS);
+ strxmov(buf, err_msg, "; ", ER(ER_VIEW_CHECKSUM), NullS);
err_msg= (const char *)buf;
}
protocol->store(err_msg, system_charset_info);
@@ -1961,7 +1964,8 @@ send_result_message:
case HA_ADMIN_WRONG_CHECKSUM:
{
protocol->store("note", 4, system_charset_info);
- protocol->store("Checksum error", 14, system_charset_info);
+ protocol->store(ER(ER_VIEW_CHECKSUM), strlen(ER(ER_VIEW_CHECKSUM)),
+ system_charset_info);
break;
}