summaryrefslogtreecommitdiff
path: root/sql
diff options
context:
space:
mode:
authorunknown <monty@donna.mysql.fi>2001-10-30 17:38:44 +0200
committerunknown <monty@donna.mysql.fi>2001-10-30 17:38:44 +0200
commit7b24c57c56b150132f0c4b541ef23a20f8f74ace (patch)
tree097886eb981160413975cb915243d4ae60718154 /sql
parentfed395c75224ee11c1cd53fc24285e8575c6bec8 (diff)
downloadmariadb-git-7b24c57c56b150132f0c4b541ef23a20f8f74ace.tar.gz
Merge
include/my_base.h: Try again merge InnoDB-3.23.44 include/mysqld_error.h: Try again merge InnoDB-3.23.44 sql/handler.cc: Try again merge InnoDB-3.23.44 sql/mysqld.cc: Try again merge InnoDB-3.23.44 sql/ha_innobase.cc: Try again merge InnoDB-3.23.44 sql/ha_innobase.h: Try again merge InnoDB-3.23.44 sql/share/czech/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/danish/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/dutch/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/english/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/estonian/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/french/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/german/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/greek/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/hungarian/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/italian/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/japanese/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/korean/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/norwegian-ny/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/norwegian/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/polish/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/portuguese/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/romanian/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/russian/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/slovak/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/spanish/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/swedish/errmsg.txt: Try again merge InnoDB-3.23.44 sql/share/ukrainian/errmsg.txt: Try again merge InnoDB-3.23.44 innobase/btr/btr0btr.c: Try again merge InnoDB-3.23.44 innobase/buf/buf0flu.c: Try again merge InnoDB-3.23.44 innobase/buf/buf0lru.c: Try again merge InnoDB-3.23.44 innobase/dict/dict0boot.c: Try again merge InnoDB-3.23.44 innobase/dict/dict0crea.c: Try again merge InnoDB-3.23.44 innobase/dict/dict0dict.c: Try again merge InnoDB-3.23.44 innobase/ibuf/ibuf0ibuf.c: Try again merge InnoDB-3.23.44 innobase/include/dict0boot.h: Try again merge InnoDB-3.23.44 innobase/include/dict0boot.ic: Try again merge InnoDB-3.23.44 innobase/include/dict0dict.h: Try again merge InnoDB-3.23.44 innobase/include/os0file.h: Try again merge InnoDB-3.23.44 innobase/include/os0sync.h: Try again merge InnoDB-3.23.44 innobase/include/page0page.ic: Try again merge InnoDB-3.23.44 innobase/include/read0read.h: Try again merge InnoDB-3.23.44 innobase/include/row0mysql.h: Try again merge InnoDB-3.23.44 innobase/include/srv0srv.h: Try again merge InnoDB-3.23.44 innobase/include/srv0start.h: Try again merge InnoDB-3.23.44 innobase/include/trx0purge.h: Try again merge InnoDB-3.23.44 innobase/include/trx0rec.h: Try again merge InnoDB-3.23.44 innobase/include/trx0trx.h: Try again merge InnoDB-3.23.44 innobase/lock/lock0lock.c: Try again merge InnoDB-3.23.44 innobase/log/log0log.c: Try again merge InnoDB-3.23.44 innobase/log/log0recv.c: Try again merge InnoDB-3.23.44 innobase/os/os0file.c: Try again merge InnoDB-3.23.44 innobase/page/page0page.c: Try again merge InnoDB-3.23.44 innobase/read/read0read.c: Try again merge InnoDB-3.23.44 innobase/rem/rem0cmp.c: Try again merge InnoDB-3.23.44 innobase/rem/rem0rec.c: Try again merge InnoDB-3.23.44 innobase/row/row0ins.c: Try again merge InnoDB-3.23.44 innobase/row/row0mysql.c: Try again merge InnoDB-3.23.44 innobase/row/row0purge.c: Try again merge InnoDB-3.23.44 innobase/row/row0row.c: Try again merge InnoDB-3.23.44 innobase/row/row0sel.c: Try again merge InnoDB-3.23.44 innobase/row/row0umod.c: Try again merge InnoDB-3.23.44 innobase/row/row0upd.c: Try again merge InnoDB-3.23.44 innobase/row/row0vers.c: Try again merge InnoDB-3.23.44 innobase/srv/srv0start.c: Try again merge InnoDB-3.23.44 innobase/sync/sync0arr.c: Try again merge InnoDB-3.23.44 innobase/trx/trx0purge.c: Try again merge InnoDB-3.23.44 innobase/trx/trx0rec.c: Try again merge InnoDB-3.23.44 innobase/trx/trx0roll.c: Try again merge InnoDB-3.23.44 innobase/trx/trx0sys.c: Try again merge InnoDB-3.23.44 innobase/trx/trx0trx.c: Try again merge InnoDB-3.23.44 innobase/trx/trx0undo.c: Try again merge InnoDB-3.23.44 innobase/srv/srv0srv.c: Commit change made by heikki BitKeeper/etc/logging_ok: Logging to logging@openlogging.org accepted
Diffstat (limited to 'sql')
-rw-r--r--sql/ha_innobase.cc257
-rw-r--r--sql/ha_innobase.h10
-rw-r--r--sql/handler.cc9
-rw-r--r--sql/mysqld.cc12
-rw-r--r--sql/share/czech/errmsg.txt11
-rw-r--r--sql/share/danish/errmsg.txt11
-rw-r--r--sql/share/dutch/errmsg.txt11
-rw-r--r--sql/share/english/errmsg.txt11
-rw-r--r--sql/share/estonian/errmsg.txt11
-rw-r--r--sql/share/french/errmsg.txt11
-rw-r--r--sql/share/german/errmsg.txt11
-rw-r--r--sql/share/greek/errmsg.txt12
-rw-r--r--sql/share/hungarian/errmsg.txt12
-rw-r--r--sql/share/italian/errmsg.txt12
-rw-r--r--sql/share/japanese/errmsg.txt12
-rw-r--r--sql/share/korean/errmsg.txt12
-rw-r--r--sql/share/norwegian-ny/errmsg.txt12
-rw-r--r--sql/share/norwegian/errmsg.txt12
-rw-r--r--sql/share/polish/errmsg.txt12
-rw-r--r--sql/share/portuguese/errmsg.txt12
-rw-r--r--sql/share/romanian/errmsg.txt12
-rw-r--r--sql/share/russian/errmsg.txt12
-rw-r--r--sql/share/slovak/errmsg.txt12
-rw-r--r--sql/share/spanish/errmsg.txt12
-rw-r--r--sql/share/swedish/errmsg.txt12
-rw-r--r--sql/share/ukrainian/errmsg.txt12
26 files changed, 481 insertions, 64 deletions
diff --git a/sql/ha_innobase.cc b/sql/ha_innobase.cc
index 58f3433b7bc..8e3a66882ca 100644
--- a/sql/ha_innobase.cc
+++ b/sql/ha_innobase.cc
@@ -21,7 +21,7 @@ InnoDB */
- Ask Monty if strings of different languages can exist in the same
database. Answer: in near future yes, but not yet.
*/
-/* Another dummy comment */
+
#ifdef __GNUC__
#pragma implementation // gcc: Class implementation
#endif
@@ -79,13 +79,14 @@ ulong innobase_cache_size = 0;
long innobase_mirrored_log_groups, innobase_log_files_in_group,
innobase_log_file_size, innobase_log_buffer_size,
innobase_buffer_pool_size, innobase_additional_mem_pool_size,
- innobase_file_io_threads, innobase_lock_wait_timeout;
+ innobase_file_io_threads, innobase_lock_wait_timeout,
+ innobase_thread_concurrency, innobase_force_recovery;
char *innobase_data_home_dir, *innobase_data_file_path;
char *innobase_log_group_home_dir, *innobase_log_arch_dir;
char *innobase_unix_file_flush_method;
bool innobase_flush_log_at_trx_commit, innobase_log_archive,
- innobase_use_native_aio;
+ innobase_use_native_aio, innobase_fast_shutdown;
/* innobase_data_file_path=ibdata:15,idata2:1,... */
@@ -159,19 +160,19 @@ convert_error_code_to_mysql(
} else if (error == (int) DB_LOCK_WAIT_TIMEOUT) {
- return(1000001);
+ return(HA_ERR_LOCK_WAIT_TIMEOUT);
} else if (error == (int) DB_NO_REFERENCED_ROW) {
- return(1000010);
+ return(HA_ERR_NO_REFERENCED_ROW);
} else if (error == (int) DB_ROW_IS_REFERENCED) {
- return(1000011);
+ return(HA_ERR_ROW_IS_REFERENCED);
} else if (error == (int) DB_CANNOT_ADD_CONSTRAINT) {
- return(1000012);
+ return(HA_ERR_CANNOT_ADD_FOREIGN);
} else if (error == (int) DB_OUT_OF_FILE_SPACE) {
@@ -348,12 +349,6 @@ innobase_parse_data_file_paths_and_sizes(void)
str++;
}
- if (size >= 4096) {
- fprintf(stderr,
- "InnoDB: error: data file size must not be >= 4096M\n");
- return(FALSE);
- }
-
if (strlen(str) >= 6
&& *str == 'n'
&& *(str + 1) == 'e'
@@ -564,7 +559,7 @@ innobase_init(void)
"or my.ini. If you want to use InnoDB tables, add for example,\n"
"innodb_data_file_path = /mysql/data/ibdata1:20M\n"
"But to get good performance you should adjust for your hardware\n"
- "the InnoDB stratup options listed in section 7.6 at\n"
+ "the InnoDB startup options listed in section 7.6 at\n"
"http://www.mysql.com/doc/\n");
innodb_skip=1;
@@ -602,7 +597,7 @@ innobase_init(void)
srv_log_archive_on = (ulint) innobase_log_archive;
srv_log_buffer_size = (ulint) innobase_log_buffer_size;
- srv_flush_log_at_trx_commit = (ulint) innobase_flush_log_at_trx_commit;
+ srv_flush_log_at_trx_commit = (ibool) innobase_flush_log_at_trx_commit;
srv_use_native_aio = 0;
@@ -612,6 +607,10 @@ innobase_init(void)
srv_n_file_io_threads = (ulint) innobase_file_io_threads;
srv_lock_wait_timeout = (ulint) innobase_lock_wait_timeout;
+ srv_thread_concurrency = (ulint) innobase_thread_concurrency;
+ srv_force_recovery = (ulint) innobase_force_recovery;
+
+ srv_fast_shutdown = (ibool) innobase_fast_shutdown;
if (strcmp(default_charset_info->name, "latin1") == 0) {
/* Store the character ordering table to InnoDB.
@@ -709,12 +708,15 @@ innobase_commit(
trx = check_trx_exists(thd);
if (trx_handle != (void*)&innodb_dummy_stmt_trx_handle) {
+ srv_conc_enter_innodb(trx);
+
trx_commit_for_mysql(trx);
- trx_mark_sql_stat_end_do_not_start_new(trx);
- } else {
- trx_mark_sql_stat_end(trx);
+
+ srv_conc_exit_innodb();
}
+ trx_mark_sql_stat_end(trx);
+
#ifndef DBUG_OFF
if (error) {
DBUG_PRINT("error", ("error: %d", error));
@@ -747,14 +749,18 @@ innobase_rollback(
trx = check_trx_exists(thd);
+ srv_conc_enter_innodb(trx);
+
if (trx_handle != (void*)&innodb_dummy_stmt_trx_handle) {
error = trx_rollback_for_mysql(trx);
- trx_mark_sql_stat_end_do_not_start_new(trx);
} else {
error = trx_rollback_last_sql_stat_for_mysql(trx);
- trx_mark_sql_stat_end(trx);
}
+ srv_conc_exit_innodb();
+
+ trx_mark_sql_stat_end(trx);
+
DBUG_RETURN(convert_error_code_to_mysql(error));
}
@@ -904,10 +910,11 @@ ha_innobase::open(
if (NULL == (ib_table = dict_table_get(norm_name, NULL))) {
fprintf(stderr,
-"InnoDB: Cannot find table %s from the internal data dictionary\n"
+"InnoDB: Error: cannot find table %s from the internal data dictionary\n"
"InnoDB: of InnoDB though the .frm file for the table exists. Maybe you\n"
"InnoDB: have deleted and recreated InnoDB data files but have forgotten\n"
-"InnoDB: to delete the corresponding .frm files of InnoDB tables?\n",
+"InnoDB: to delete the corresponding .frm files of InnoDB tables, or you\n"
+"InnoDB: have moved .frm files to another database?\n",
norm_name);
free_share(share);
@@ -952,7 +959,9 @@ ha_innobase::open(
dbug_assert(key_used_on_scan == MAX_KEY);
}
- /* Init table lock structure */
+ auto_inc_counter_for_this_stat = 0;
+
+ /* Init table lock structure */
thr_lock_data_init(&share->lock,&lock,(void*) 0);
info(HA_STATUS_NO_LOCK | HA_STATUS_VARIABLE | HA_STATUS_CONST);
@@ -1249,14 +1258,20 @@ build_template(
Field* field;
ulint n_fields;
ulint n_requested_fields = 0;
+ ibool fetch_all_in_key = FALSE;
ulint i;
clust_index = dict_table_get_first_index_noninline(prebuilt->table);
if (!prebuilt->in_update_remember_pos) {
- /* We are building a temporary table: fetch all columns */
-
- templ_type = ROW_MYSQL_WHOLE_ROW;
+ if (prebuilt->read_just_key) {
+ fetch_all_in_key = TRUE;
+ } else {
+ /* We are building a temporary table: fetch all
+ columns */
+
+ templ_type = ROW_MYSQL_WHOLE_ROW;
+ }
}
if (prebuilt->select_lock_type == LOCK_X) {
@@ -1266,7 +1281,6 @@ build_template(
templ_type = ROW_MYSQL_WHOLE_ROW;
}
-
if (templ_type == ROW_MYSQL_REC_FIELDS) {
if (prebuilt->select_lock_type != LOCK_NONE) {
@@ -1306,6 +1320,9 @@ build_template(
field = table->field[i];
if (templ_type == ROW_MYSQL_REC_FIELDS
+ && !(fetch_all_in_key &&
+ ULINT_UNDEFINED != dict_index_get_nth_col_pos(
+ index, i))
&& thd->query_id != field->query_id
&& thd->query_id != (field->query_id ^ MAX_ULONG_BIT)
&& thd->query_id !=
@@ -1404,9 +1421,6 @@ ha_innobase::write_row(
}
if (table->next_number_field && record == table->record[0]) {
- /* Set the 'in_update_remember_pos' flag to FALSE to
- make sure all columns are fetched in the select done by
- update_auto_increment */
/* Fetch the value the user possibly has set in the
autoincrement field */
@@ -1416,12 +1430,29 @@ ha_innobase::write_row(
/* In replication and also otherwise the auto-inc column
can be set with SET INSERT_ID. Then we must look at
user_thd->next_insert_id. If it is nonzero and the user
- has not supplied a value, we must use it. */
+ has not supplied a value, we must use it, and use values
+ incremented by 1 in all subsequent inserts within the
+ same SQL statement! */
if (auto_inc == 0 && user_thd->next_insert_id != 0) {
auto_inc = user_thd->next_insert_id;
+ auto_inc_counter_for_this_stat = auto_inc;
}
+ if (auto_inc == 0 && auto_inc_counter_for_this_stat) {
+ /* The user set the auto-inc counter for
+ this SQL statement with SET INSERT_ID. We must
+ assign sequential values from the counter. */
+
+ auto_inc_counter_for_this_stat++;
+
+ auto_inc = auto_inc_counter_for_this_stat;
+
+ /* We give MySQL a new value to place in the
+ auto-inc column */
+ user_thd->next_insert_id = auto_inc;
+ }
+
if (auto_inc != 0) {
/* This call will calculate the max of the
current value and the value supplied by the user, if
@@ -1445,11 +1476,14 @@ ha_innobase::write_row(
dict_table_autoinc_update(prebuilt->table, auto_inc);
} else {
+ srv_conc_enter_innodb(prebuilt->trx);
+
if (!prebuilt->trx->auto_inc_lock) {
error = row_lock_table_autoinc_for_mysql(
prebuilt);
if (error != DB_SUCCESS) {
+ srv_conc_exit_innodb();
error = convert_error_code_to_mysql(
error);
@@ -1458,6 +1492,7 @@ ha_innobase::write_row(
}
auto_inc = dict_table_autoinc_get(prebuilt->table);
+ srv_conc_exit_innodb();
/* If auto_inc is now != 0 the autoinc counter
was already initialized for the table: we can give
@@ -1468,6 +1503,10 @@ ha_innobase::write_row(
}
}
+ /* Set the 'in_update_remember_pos' flag to FALSE to
+ make sure all columns are fetched in the select done by
+ update_auto_increment */
+
prebuilt->in_update_remember_pos = FALSE;
update_auto_increment();
@@ -1478,6 +1517,14 @@ ha_innobase::write_row(
auto_inc = table->next_number_field->val_int();
+ error = row_lock_table_autoinc_for_mysql(prebuilt);
+
+ if (error != DB_SUCCESS) {
+
+ error = convert_error_code_to_mysql(error);
+ goto func_exit;
+ }
+
dict_table_autoinc_initialize(prebuilt->table,
auto_inc);
}
@@ -1506,8 +1553,12 @@ ha_innobase::write_row(
prebuilt->trx->ignore_duplicates_in_insert = FALSE;
}
+ srv_conc_enter_innodb(prebuilt->trx);
+
error = row_insert_for_mysql((byte*) record, prebuilt);
+ srv_conc_exit_innodb();
+
prebuilt->trx->ignore_duplicates_in_insert = FALSE;
error = convert_error_code_to_mysql(error);
@@ -1721,8 +1772,12 @@ ha_innobase::update_row(
assert(prebuilt->template_type == ROW_MYSQL_WHOLE_ROW);
}
+ srv_conc_enter_innodb(prebuilt->trx);
+
error = row_update_for_mysql((byte*) old_row, prebuilt);
+ srv_conc_exit_innodb();
+
error = convert_error_code_to_mysql(error);
/* Tell InnoDB server that there might be work for
@@ -1761,8 +1816,12 @@ ha_innobase::delete_row(
prebuilt->upd_node->is_delete = TRUE;
prebuilt->in_update_remember_pos = TRUE;
+ srv_conc_enter_innodb(prebuilt->trx);
+
error = row_update_for_mysql((byte*) record, prebuilt);
+ srv_conc_exit_innodb();
+
error = convert_error_code_to_mysql(error);
/* Tell the InnoDB server that there might be work for
@@ -1785,7 +1844,7 @@ ha_innobase::index_init(
int error = 0;
DBUG_ENTER("index_init");
- change_active_index(keynr);
+ error = change_active_index(keynr);
DBUG_RETURN(error);
}
@@ -1901,8 +1960,12 @@ ha_innobase::index_read(
last_match_mode = match_mode;
+ srv_conc_enter_innodb(prebuilt->trx);
+
ret = row_search_for_mysql((byte*) buf, mode, prebuilt, match_mode, 0);
+ srv_conc_exit_innodb();
+
if (ret == DB_SUCCESS) {
error = 0;
table->status = 0;
@@ -1952,11 +2015,20 @@ ha_innobase::change_active_index(
prebuilt->table);
}
+ if (!prebuilt->index) {
+ fprintf(stderr,
+ "InnoDB: Could not find key n:o %u with name %s from dict cache\n"
+ "InnoDB: for table %s\n", keynr, key->name, prebuilt->table->name);
+
+ return(1);
+ }
+
+ assert(prebuilt->search_tuple);
+
dtuple_set_n_fields(prebuilt->search_tuple, prebuilt->index->n_fields);
dict_index_copy_types(prebuilt->search_tuple, prebuilt->index,
prebuilt->index->n_fields);
- assert(prebuilt->index);
/* Maybe MySQL changes the active index for a handle also
during some queries, we do not know: then it is safest to build
@@ -1985,7 +2057,10 @@ ha_innobase::index_read_idx(
uint key_len, /* in: key value length */
enum ha_rkey_function find_flag)/* in: search flags from my_base.h */
{
- change_active_index(keynr);
+ if (change_active_index(keynr)) {
+
+ return(1);
+ }
return(index_read(buf, key, key_len, find_flag));
}
@@ -2011,8 +2086,11 @@ ha_innobase::general_fetch(
DBUG_ENTER("general_fetch");
- ret = row_search_for_mysql((byte*)buf, 0, prebuilt,
- match_mode, direction);
+ srv_conc_enter_innodb(prebuilt->trx);
+
+ ret = row_search_for_mysql((byte*)buf, 0, prebuilt, match_mode,
+ direction);
+ srv_conc_exit_innodb();
if (ret == DB_SUCCESS) {
error = 0;
@@ -2144,17 +2222,19 @@ ha_innobase::rnd_init(
/* out: 0 or error number */
bool scan) /* in: ???????? */
{
+ int err;
+
row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt;
if (prebuilt->clust_index_was_generated) {
- change_active_index(MAX_KEY);
+ err = change_active_index(MAX_KEY);
} else {
- change_active_index(primary_key);
+ err = change_active_index(primary_key);
}
start_of_scan = 1;
- return(0);
+ return(err);
}
/*********************************************************************
@@ -2222,11 +2302,15 @@ ha_innobase::rnd_pos(
row reference is the row id, not any key value
that MySQL knows */
- change_active_index(MAX_KEY);
+ error = change_active_index(MAX_KEY);
} else {
- change_active_index(primary_key);
+ error = change_active_index(primary_key);
}
+ if (error) {
+ DBUG_RETURN(error);
+ }
+
error = index_read(buf, pos, ref_stored_len, HA_READ_KEY_EXACT);
change_active_index(keynr);
@@ -2281,11 +2365,21 @@ ha_innobase::extra(
row_prebuilt_t* prebuilt = (row_prebuilt_t*) innobase_prebuilt;
switch (operation) {
+ case HA_EXTRA_RESET:
+ case HA_EXTRA_RESET_STATE:
+ prebuilt->read_just_key = 0;
+ break;
+ case HA_EXTRA_NO_KEYREAD:
+ prebuilt->read_just_key = 0;
+ break;
case HA_EXTRA_DONT_USE_CURSOR_TO_UPDATE:
- prebuilt->in_update_remember_pos = FALSE;
- break;
- default: /* Do nothing */
- ;
+ prebuilt->in_update_remember_pos = FALSE;
+ break;
+ case HA_EXTRA_KEYREAD:
+ prebuilt->read_just_key = 1;
+ break;
+ default:/* Do nothing */
+ ;
}
return(0);
@@ -2323,6 +2417,8 @@ ha_innobase::external_lock(
prebuilt->sql_stat_start = TRUE;
prebuilt->in_update_remember_pos = TRUE;
+ prebuilt->read_just_key = 0;
+
if (lock_type == F_WRLCK) {
/* If this is a SELECT, then it is in UPDATE TABLE ...
@@ -2334,6 +2430,7 @@ ha_innobase::external_lock(
if (trx->n_mysql_tables_in_use == 0) {
trx_mark_sql_stat_end(trx);
}
+
thd->transaction.all.innodb_active_trans = 1;
trx->n_mysql_tables_in_use++;
@@ -2343,6 +2440,7 @@ ha_innobase::external_lock(
}
} else {
trx->n_mysql_tables_in_use--;
+ auto_inc_counter_for_this_stat = 0;
if (trx->n_mysql_tables_in_use == 0) {
@@ -2359,11 +2457,14 @@ ha_innobase::external_lock(
some table in this SQL statement, we release
it now */
+ srv_conc_enter_innodb(trx);
row_unlock_table_autoinc_for_mysql(trx);
+ srv_conc_exit_innodb();
}
if (!(thd->options
& (OPTION_NOT_AUTO_COMMIT | OPTION_BEGIN))) {
+
innobase_commit(thd, trx);
}
}
@@ -2632,6 +2733,12 @@ ha_innobase::create(
trx_commit_for_mysql(trx);
+ /* Flush the log to reduce probability that the .frm files and
+ the InnoDB data dictionary get out-of-sync if the user runs
+ with innodb_flush_log_at_trx_commit = 0 */
+
+ log_flush_up_to(ut_dulint_max, LOG_WAIT_ONE_GROUP);
+
innobase_table = dict_table_get(norm_name, NULL);
assert(innobase_table);
@@ -2681,6 +2788,12 @@ ha_innobase::delete_table(
error = row_drop_table_for_mysql(norm_name, trx, FALSE);
+ /* Flush the log to reduce probability that the .frm files and
+ the InnoDB data dictionary get out-of-sync if the user runs
+ with innodb_flush_log_at_trx_commit = 0 */
+
+ log_flush_up_to(ut_dulint_max, LOG_WAIT_ONE_GROUP);
+
/* Tell the InnoDB server that there might be work for
utility threads: */
@@ -2728,6 +2841,12 @@ innobase_drop_database(
error = row_drop_database_for_mysql(namebuf, trx);
+ /* Flush the log to reduce probability that the .frm files and
+ the InnoDB data dictionary get out-of-sync if the user runs
+ with innodb_flush_log_at_trx_commit = 0 */
+
+ log_flush_up_to(ut_dulint_max, LOG_WAIT_ONE_GROUP);
+
/* Tell the InnoDB server that there might be work for
utility threads: */
@@ -2774,6 +2893,12 @@ ha_innobase::rename_table(
error = row_rename_table_for_mysql(norm_from, norm_to, trx);
+ /* Flush the log to reduce probability that the .frm files and
+ the InnoDB data dictionary get out-of-sync if the user runs
+ with innodb_flush_log_at_trx_commit = 0 */
+
+ log_flush_up_to(ut_dulint_max, LOG_WAIT_ONE_GROUP);
+
/* Tell the InnoDB server that there might be work for
utility threads: */
@@ -3058,31 +3183,41 @@ ha_innobase::check(
}
/*****************************************************************
-Adds information about free space in the InnoDB tablespace to a
-table comment which is printed out when a user calls SHOW TABLE STATUS. */
+Adds information about free space in the InnoDB tablespace to a table comment
+which is printed out when a user calls SHOW TABLE STATUS. Adds also info on
+foreign keys. */
char*
ha_innobase::update_table_comment(
/*==============================*/
- const char* comment)
+ /* out: table comment + InnoDB free space +
+ info on foreign keys */
+ const char* comment)/* in: table comment defined by user */
{
- uint length=strlen(comment);
+ row_prebuilt_t* prebuilt = (row_prebuilt_t*)innobase_prebuilt;
+ uint length = strlen(comment);
+ char* str = my_malloc(length + 200, MYF(0));
+ char* pos;
+
+ if (!str) {
+ return((char*)comment);
+ }
- char *str=my_malloc(length + 100,MYF(0)), *pos;
+ pos = str;
+ if (length) {
+ pos=strmov(str, comment);
+ *pos++=';';
+ *pos++=' ';
+ }
- if (!str)
- return (char*)comment;
+ pos += sprintf(pos, "InnoDB free: %lu kB",
+ (ulong) innobase_get_free_space());
- pos=str;
- if (length)
- {
- pos=strmov(str,comment);
- *pos++=';';
- *pos++=' ';
- }
- sprintf(pos, "InnoDB free: %lu kB", (ulong) innobase_get_free_space());
+ /* We assume 150 bytes of space to print info */
- return(str);
+ dict_print_info_on_foreign_keys(pos, 150, prebuilt->table);
+
+ return(str);
}
/****************************************************************************
diff --git a/sql/ha_innobase.h b/sql/ha_innobase.h
index 404b20edbac..95bba76c842 100644
--- a/sql/ha_innobase.h
+++ b/sql/ha_innobase.h
@@ -63,7 +63,7 @@ class ha_innobase: public handler
uint last_match_mode;/* match mode of the latest search:
ROW_SEL_EXACT, ROW_SEL_EXACT_PREFIX,
or undefined */
-
+ longlong auto_inc_counter_for_this_stat;
ulong max_row_length(const byte *buf);
uint store_key_val_for_row(uint keynr, char* buff, const byte* record);
@@ -96,7 +96,10 @@ class ha_innobase: public handler
uint max_record_length() const { return HA_MAX_REC_LENGTH; }
uint max_keys() const { return MAX_KEY; }
uint max_key_parts() const { return MAX_REF_PARTS; }
- uint max_key_length() const { return MAX_KEY_LENGTH; }
+ /* An InnoDB page must store >= 2 keys:
+ max key length is therefore set to 7000
+ bytes */
+ uint max_key_length() const { return 7000; }
bool fast_key_read() { return 1;}
bool has_transactions() { return 1;}
@@ -161,11 +164,12 @@ extern long innobase_mirrored_log_groups, innobase_log_files_in_group;
extern long innobase_log_file_size, innobase_log_buffer_size;
extern long innobase_buffer_pool_size, innobase_additional_mem_pool_size;
extern long innobase_file_io_threads, innobase_lock_wait_timeout;
+extern long innobase_force_recovery, innobase_thread_concurrency;
extern char *innobase_data_home_dir, *innobase_data_file_path;
extern char *innobase_log_group_home_dir, *innobase_log_arch_dir;
extern char *innobase_unix_file_flush_method;
extern bool innobase_flush_log_at_trx_commit, innobase_log_archive,
- innobase_use_native_aio;
+ innobase_use_native_aio, innobase_fast_shutdown;
extern TYPELIB innobase_lock_typelib;
diff --git a/sql/handler.cc b/sql/handler.cc
index 3c1e14904e3..0b493219674 100644
--- a/sql/handler.cc
+++ b/sql/handler.cc
@@ -715,6 +715,15 @@ void handler::print_error(int error, myf errflag)
case HA_ERR_READ_ONLY_TRANSACTION:
textno=ER_READ_ONLY_TRANSACTION;
break;
+ case HA_ERR_CANNOT_ADD_FOREIGN:
+ textno=ER_CANNOT_ADD_FOREIGN;
+ break;
+ case HA_ERR_ROW_IS_REFERENCED:
+ textno=ER_ROW_IS_REFERENCED;
+ break;
+ case HA_ERR_NO_REFERENCED_ROW:
+ textno=ER_NO_REFERENCED_ROW;
+ break;
default:
{
my_error(ER_GET_ERRNO,errflag,error);
diff --git a/sql/mysqld.cc b/sql/mysqld.cc
index be0c14babd3..31e51a5729f 100644
--- a/sql/mysqld.cc
+++ b/sql/mysqld.cc
@@ -2557,6 +2557,7 @@ enum options {
OPT_INNODB_LOG_ARCH_DIR,
OPT_INNODB_LOG_ARCHIVE,
OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT,
+ OPT_INNODB_FAST_SHUTDOWN,
OPT_INNODB_UNIX_FILE_FLUSH_METHOD,
OPT_SAFE_SHOW_DB,
OPT_GEMINI_SKIP, OPT_INNODB_SKIP,
@@ -2620,6 +2621,8 @@ static struct option long_options[] = {
OPT_INNODB_LOG_ARCHIVE},
{"innodb_flush_log_at_trx_commit", optional_argument, 0,
OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT},
+ {"innodb_fast_shutdown", optional_argument, 0,
+ OPT_INNODB_FAST_SHUTDOWN},
{"innodb_flush_method", required_argument, 0,
OPT_INNODB_UNIX_FILE_FLUSH_METHOD},
#endif
@@ -2782,6 +2785,10 @@ CHANGEABLE_VAR changeable_vars[] = {
{"innodb_lock_wait_timeout",
(long*) &innobase_lock_wait_timeout, 1024 * 1024 * 1024, 1,
1024 * 1024 * 1024, 0, 1},
+ {"innodb_thread_concurrency",
+ (long*) &innobase_thread_concurrency, 8, 1, 1000, 0, 1},
+ {"innodb_force_recovery",
+ (long*) &innobase_force_recovery, 0, 0, 6, 0, 1},
#endif
{ "interactive_timeout", (long*) &net_interactive_timeout,
NET_WAIT_TIMEOUT, 1, 31*24*60*60, 0, 1 },
@@ -2910,7 +2917,10 @@ struct show_var_st init_vars[]= {
{"innodb_data_file_path", (char*) &innobase_data_file_path, SHOW_CHAR_PTR},
{"innodb_data_home_dir", (char*) &innobase_data_home_dir, SHOW_CHAR_PTR},
{"innodb_file_io_threads", (char*) &innobase_file_io_threads, SHOW_LONG },
+ {"innodb_force_recovery", (char*) &innobase_force_recovery, SHOW_LONG },
+ {"innodb_thread_concurrency", (char*) &innobase_thread_concurrency, SHOW_LONG },
{"innodb_flush_log_at_trx_commit", (char*) &innobase_flush_log_at_trx_commit, SHOW_MY_BOOL},
+ {"innodb_fast_shutdown", (char*) &innobase_fast_shutdown, SHOW_MY_BOOL},
{"innodb_flush_method", (char*) &innobase_unix_file_flush_method, SHOW_CHAR_PTR},
{"innodb_lock_wait_timeout", (char*) &innobase_lock_wait_timeout, SHOW_LONG },
{"innodb_log_arch_dir", (char*) &innobase_log_arch_dir, SHOW_CHAR_PTR},
@@ -3816,6 +3826,8 @@ static void get_options(int argc,char **argv)
break;
case OPT_INNODB_FLUSH_LOG_AT_TRX_COMMIT:
innobase_flush_log_at_trx_commit= optarg ? test(atoi(optarg)) : 1;
+ case OPT_INNODB_FAST_SHUTDOWN:
+ innobase_fast_shutdown= optarg ? test(atoi(optarg)) : 1;
break;
case OPT_INNODB_UNIX_FILE_FLUSH_METHOD:
innobase_unix_file_flush_method=optarg;
diff --git a/sql/share/czech/errmsg.txt b/sql/share/czech/errmsg.txt
index 200eea5f0c4..8ab9490e6e8 100644
--- a/sql/share/czech/errmsg.txt
+++ b/sql/share/czech/errmsg.txt
@@ -224,4 +224,15 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/danish/errmsg.txt b/sql/share/danish/errmsg.txt
index 4a92507320f..a9ae97ff293 100644
--- a/sql/share/danish/errmsg.txt
+++ b/sql/share/danish/errmsg.txt
@@ -218,4 +218,15 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/dutch/errmsg.txt b/sql/share/dutch/errmsg.txt
index a9d6f3f7e60..54d79293c74 100644
--- a/sql/share/dutch/errmsg.txt
+++ b/sql/share/dutch/errmsg.txt
@@ -219,4 +219,15 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/english/errmsg.txt b/sql/share/english/errmsg.txt
index dbf0e70d5f9..895a34abafe 100644
--- a/sql/share/english/errmsg.txt
+++ b/sql/share/english/errmsg.txt
@@ -215,4 +215,15 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails", \ No newline at end of file
diff --git a/sql/share/estonian/errmsg.txt b/sql/share/estonian/errmsg.txt
index 59bde38bc01..6411be85b1b 100644
--- a/sql/share/estonian/errmsg.txt
+++ b/sql/share/estonian/errmsg.txt
@@ -219,4 +219,15 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/french/errmsg.txt b/sql/share/french/errmsg.txt
index e84ee4e6f46..3b1957e0f3b 100644
--- a/sql/share/french/errmsg.txt
+++ b/sql/share/french/errmsg.txt
@@ -215,4 +215,15 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/german/errmsg.txt b/sql/share/german/errmsg.txt
index 47c3b6541c6..71ed306caa3 100644
--- a/sql/share/german/errmsg.txt
+++ b/sql/share/german/errmsg.txt
@@ -218,4 +218,15 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/greek/errmsg.txt b/sql/share/greek/errmsg.txt
index 7bd3d57d573..13e49221808 100644
--- a/sql/share/greek/errmsg.txt
+++ b/sql/share/greek/errmsg.txt
@@ -215,4 +215,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/hungarian/errmsg.txt b/sql/share/hungarian/errmsg.txt
index fd8294d6f18..28e890daea2 100644
--- a/sql/share/hungarian/errmsg.txt
+++ b/sql/share/hungarian/errmsg.txt
@@ -217,4 +217,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/italian/errmsg.txt b/sql/share/italian/errmsg.txt
index 31f5423c596..5e64ebcc099 100644
--- a/sql/share/italian/errmsg.txt
+++ b/sql/share/italian/errmsg.txt
@@ -215,4 +215,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/japanese/errmsg.txt b/sql/share/japanese/errmsg.txt
index b559f7a715e..6bf0d588c08 100644
--- a/sql/share/japanese/errmsg.txt
+++ b/sql/share/japanese/errmsg.txt
@@ -217,4 +217,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/korean/errmsg.txt b/sql/share/korean/errmsg.txt
index 99ac9735ff9..6448b8f7327 100644
--- a/sql/share/korean/errmsg.txt
+++ b/sql/share/korean/errmsg.txt
@@ -215,4 +215,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/norwegian-ny/errmsg.txt b/sql/share/norwegian-ny/errmsg.txt
index 342bb61a347..ab213ed3f13 100644
--- a/sql/share/norwegian-ny/errmsg.txt
+++ b/sql/share/norwegian-ny/errmsg.txt
@@ -217,4 +217,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/norwegian/errmsg.txt b/sql/share/norwegian/errmsg.txt
index 808a241a60c..d51901b8a21 100644
--- a/sql/share/norwegian/errmsg.txt
+++ b/sql/share/norwegian/errmsg.txt
@@ -217,4 +217,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/polish/errmsg.txt b/sql/share/polish/errmsg.txt
index 3a22aad3bc3..4b16c7d5b25 100644
--- a/sql/share/polish/errmsg.txt
+++ b/sql/share/polish/errmsg.txt
@@ -219,4 +219,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/portuguese/errmsg.txt b/sql/share/portuguese/errmsg.txt
index d869a36c2a1..7971e29cb96 100644
--- a/sql/share/portuguese/errmsg.txt
+++ b/sql/share/portuguese/errmsg.txt
@@ -215,4 +215,16 @@
"Não é permitido a %-.32s@%-.64s criar novos usuários",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/romanian/errmsg.txt b/sql/share/romanian/errmsg.txt
index 379de97401c..2347994c418 100644
--- a/sql/share/romanian/errmsg.txt
+++ b/sql/share/romanian/errmsg.txt
@@ -219,4 +219,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/russian/errmsg.txt b/sql/share/russian/errmsg.txt
index 037e63a6c32..8be8cccc8ea 100644
--- a/sql/share/russian/errmsg.txt
+++ b/sql/share/russian/errmsg.txt
@@ -218,4 +218,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"ôÁÂÌÉÃÁ ÄÁÎÎÏÇÏ ÔÉÐÁ ÎÅ ÍÏÖÅÔ ÉÍÅÔØ FULLTEXT ÉÎÄÅËÓÁ",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/slovak/errmsg.txt b/sql/share/slovak/errmsg.txt
index a1da3d3189d..4e3b9090e4f 100644
--- a/sql/share/slovak/errmsg.txt
+++ b/sql/share/slovak/errmsg.txt
@@ -223,4 +223,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/spanish/errmsg.txt b/sql/share/spanish/errmsg.txt
index c61c3a80ee1..298884151ea 100644
--- a/sql/share/spanish/errmsg.txt
+++ b/sql/share/spanish/errmsg.txt
@@ -216,4 +216,16 @@
"%-.32s@%-.64s is not allowed to create new users",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/swedish/errmsg.txt b/sql/share/swedish/errmsg.txt
index b0f5471764d..1498090101e 100644
--- a/sql/share/swedish/errmsg.txt
+++ b/sql/share/swedish/errmsg.txt
@@ -215,4 +215,16 @@
"%-.32s@%-.64s har inte rättigheter att skapa nya användare",
"Felaktig tabell definition: Alla tabeller i en MERGE tabell måste vara i samma databas",
"Fick 'DEADLOCK' vid låsförsök av block/rad; Försök att starta om transaktionen",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"The used table type doesn't support FULLTEXT indexes",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",
diff --git a/sql/share/ukrainian/errmsg.txt b/sql/share/ukrainian/errmsg.txt
index 1a2eb0b0d4b..628134a0ef6 100644
--- a/sql/share/ukrainian/errmsg.txt
+++ b/sql/share/ukrainian/errmsg.txt
@@ -220,4 +220,16 @@
"ëÏÒÉÓÔÕ×ÁÞÕ %-.32s@%-.64s ÎÅ ÄÏÚ×ÏÌÅÎÏ ÓÔ×ÏÒÀ×ÁÔÉ ÎÏ×ÉÈ ËÏÒÉÓÔÕ×ÁÞ¦×",
"Incorrect table definition; All MERGE tables must be in the same database",
"Deadlock found when trying to get lock; Try restarting transaction",
+"Deadlock found when trying to get lock; Try restarting transaction",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
+"Dummy error message: this error number should only occur in MySQL-4",
"÷ÉËÏÒÉÓÔÁÎÉÊ ÔÉÐ ÔÁÂÌÉæ ΊЦÄÔÒÉÍÕ¤ FULLTEXT ¦ÎÄÅËÓ¦×",
+"Cannot add foreign key constraint",
+"Cannot add a child row: a foreign key constraint fails",
+"Cannot delete a parent row: a foreign key constraint fails",