diff options
-rw-r--r-- | include/mysqld_error.h | 3 | ||||
-rw-r--r-- | sql/share/czech/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/danish/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/dutch/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/english/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/estonian/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/french/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/german/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/greek/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/hungarian/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/italian/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/japanese/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/korean/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/norwegian-ny/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/norwegian/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/polish/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/portuguese/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/romanian/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/russian/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/serbian/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/slovak/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/spanish/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/swedish/errmsg.txt | 1 | ||||
-rw-r--r-- | sql/share/ukrainian/errmsg.txt | 3 | ||||
-rw-r--r-- | sql/sql_table.cc | 22 |
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; } |