mirror of
https://github.com/MariaDB/server.git
synced 2025-01-19 13:32:33 +01:00
Merge dev3-127.(none):/mnt/mysql/home/ngb/bug19873
into dev3-127.(none):/mnt/mysql/home/ngb/mysql-5.1-bug19873 include/config-netware.h: Auto merged mysql-test/r/func_time.result: Auto merged mysql-test/t/func_time.test: Auto merged sql/ha_innodb.cc: Auto merged sql/ha_ndbcluster.cc: Auto merged sql/item_timefunc.cc: Auto merged sql/sql_acl.cc: Auto merged sql/sql_base.cc: Auto merged sql/sql_view.cc: Auto merged storage/innobase/btr/btr0btr.c: Auto merged storage/innobase/buf/buf0buf.c: Auto merged storage/innobase/dict/dict0dict.c: Auto merged storage/innobase/fil/fil0fil.c: Auto merged storage/innobase/fsp/fsp0fsp.c: Auto merged storage/innobase/include/buf0buf.ic: Auto merged storage/innobase/log/log0log.c: Auto merged storage/innobase/log/log0recv.c: Auto merged storage/innobase/os/os0file.c: Auto merged storage/innobase/row/row0sel.c: Auto merged storage/innobase/srv/srv0start.c: Auto merged storage/innobase/ut/ut0dbg.c: Auto merged storage/ndb/src/mgmclient/CommandInterpreter.cpp: Auto merged storage/ndb/src/ndbapi/ndberror.c: Auto merged tests/mysql_client_test.c: Auto merged
This commit is contained in:
commit
06733a24bb
20 changed files with 81 additions and 64 deletions
|
@ -122,6 +122,10 @@ extern "C" {
|
||||||
/* On NetWare, to fix the problem with the deletion of open files */
|
/* On NetWare, to fix the problem with the deletion of open files */
|
||||||
#define CANT_DELETE_OPEN_FILES 1
|
#define CANT_DELETE_OPEN_FILES 1
|
||||||
|
|
||||||
|
#define FN_LIBCHAR '\\'
|
||||||
|
#define FN_ROOTDIR "\\"
|
||||||
|
#define FN_DEVCHAR ':'
|
||||||
|
|
||||||
/* default directory information */
|
/* default directory information */
|
||||||
#define DEFAULT_MYSQL_HOME "sys:/mysql"
|
#define DEFAULT_MYSQL_HOME "sys:/mysql"
|
||||||
#define PACKAGE "mysql"
|
#define PACKAGE "mysql"
|
||||||
|
|
|
@ -3,9 +3,12 @@ create table t1(f1 int);
|
||||||
insert into t1 values (5);
|
insert into t1 values (5);
|
||||||
grant select on test.* to ssl_user1@localhost require SSL;
|
grant select on test.* to ssl_user1@localhost require SSL;
|
||||||
grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA";
|
grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA";
|
||||||
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/L=Uppsala/O=MySQL AB/CN=MySQL Client/emailAddress=abstract.mysql.developer@mysql.com";
|
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||||
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/L=Uppsala/O=MySQL AB/CN=MySQL Client/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/L=Uppsala/O=MySQL AB/CN=Abstract MySQL Developer/emailAddress=abstract.mysql.developer@mysql.com";
|
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||||
|
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
connect(localhost,ssl_user5,,test,MASTER_PORT,MASTER_SOCKET);
|
||||||
|
ERROR 28000: Access denied for user 'ssl_user5'@'localhost' (using password: NO)
|
||||||
SHOW STATUS LIKE 'Ssl_cipher';
|
SHOW STATUS LIKE 'Ssl_cipher';
|
||||||
Variable_name Value
|
Variable_name Value
|
||||||
Ssl_cipher DHE-RSA-AES256-SHA
|
Ssl_cipher DHE-RSA-AES256-SHA
|
||||||
|
@ -39,7 +42,7 @@ f1
|
||||||
delete from t1;
|
delete from t1;
|
||||||
ERROR 42000: DELETE command denied to user 'ssl_user4'@'localhost' for table 't1'
|
ERROR 42000: DELETE command denied to user 'ssl_user4'@'localhost' for table 't1'
|
||||||
drop user ssl_user1@localhost, ssl_user2@localhost,
|
drop user ssl_user1@localhost, ssl_user2@localhost,
|
||||||
ssl_user3@localhost, ssl_user4@localhost;
|
ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
mysqltest: Could not open connection 'default': 2026 SSL connection error
|
mysqltest: Could not open connection 'default': 2026 SSL connection error
|
||||||
mysqltest: Could not open connection 'default': 2026 SSL connection error
|
mysqltest: Could not open connection 'default': 2026 SSL connection error
|
||||||
|
|
|
@ -10,14 +10,18 @@ insert into t1 values (5);
|
||||||
|
|
||||||
grant select on test.* to ssl_user1@localhost require SSL;
|
grant select on test.* to ssl_user1@localhost require SSL;
|
||||||
grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA";
|
grant select on test.* to ssl_user2@localhost require cipher "DHE-RSA-AES256-SHA";
|
||||||
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/L=Uppsala/O=MySQL AB/CN=MySQL Client/emailAddress=abstract.mysql.developer@mysql.com";
|
grant select on test.* to ssl_user3@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||||
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/L=Uppsala/O=MySQL AB/CN=MySQL Client/emailAddress=abstract.mysql.developer@mysql.com" ISSUER "/C=SE/L=Uppsala/O=MySQL AB/CN=Abstract MySQL Developer/emailAddress=abstract.mysql.developer@mysql.com";
|
grant select on test.* to ssl_user4@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB" ISSUER "/C=SE/ST=Uppsala/L=Uppsala/O=MySQL AB";
|
||||||
|
grant select on test.* to ssl_user5@localhost require cipher "DHE-RSA-AES256-SHA" AND SUBJECT "xxx";
|
||||||
flush privileges;
|
flush privileges;
|
||||||
|
|
||||||
connect (con1,localhost,ssl_user1,,,,,SSL);
|
connect (con1,localhost,ssl_user1,,,,,SSL);
|
||||||
connect (con2,localhost,ssl_user2,,,,,SSL);
|
connect (con2,localhost,ssl_user2,,,,,SSL);
|
||||||
connect (con3,localhost,ssl_user3,,,,,SSL);
|
connect (con3,localhost,ssl_user3,,,,,SSL);
|
||||||
connect (con4,localhost,ssl_user4,,,,,SSL);
|
connect (con4,localhost,ssl_user4,,,,,SSL);
|
||||||
|
--replace_result $MASTER_MYSOCK MASTER_SOCKET $MASTER_MYPORT MASTER_PORT
|
||||||
|
--error 1045
|
||||||
|
connect (con5,localhost,ssl_user5,,,,,SSL);
|
||||||
|
|
||||||
connection con1;
|
connection con1;
|
||||||
# Check ssl turned on
|
# Check ssl turned on
|
||||||
|
@ -49,7 +53,7 @@ delete from t1;
|
||||||
|
|
||||||
connection default;
|
connection default;
|
||||||
drop user ssl_user1@localhost, ssl_user2@localhost,
|
drop user ssl_user1@localhost, ssl_user2@localhost,
|
||||||
ssl_user3@localhost, ssl_user4@localhost;
|
ssl_user3@localhost, ssl_user4@localhost, ssl_user5@localhost;
|
||||||
|
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
|
|
@ -2364,8 +2364,7 @@ ha_innobase::open(
|
||||||
"have forgotten\nto delete the corresponding "
|
"have forgotten\nto delete the corresponding "
|
||||||
".frm files of InnoDB tables, or you\n"
|
".frm files of InnoDB tables, or you\n"
|
||||||
"have moved .frm files to another database?\n"
|
"have moved .frm files to another database?\n"
|
||||||
"Look from section 15.1 of "
|
"See http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n"
|
||||||
"http://www.innodb.com/ibman.html\n"
|
|
||||||
"how you can resolve the problem.\n",
|
"how you can resolve the problem.\n",
|
||||||
norm_name);
|
norm_name);
|
||||||
free_share(share);
|
free_share(share);
|
||||||
|
@ -2382,8 +2381,7 @@ ha_innobase::open(
|
||||||
"Have you deleted the .ibd file from the "
|
"Have you deleted the .ibd file from the "
|
||||||
"database directory under\nthe MySQL datadir, "
|
"database directory under\nthe MySQL datadir, "
|
||||||
"or have you used DISCARD TABLESPACE?\n"
|
"or have you used DISCARD TABLESPACE?\n"
|
||||||
"Look from section 15.1 of "
|
"See http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n"
|
||||||
"http://www.innodb.com/ibman.html\n"
|
|
||||||
"how you can resolve the problem.\n",
|
"how you can resolve the problem.\n",
|
||||||
norm_name);
|
norm_name);
|
||||||
free_share(share);
|
free_share(share);
|
||||||
|
@ -5604,13 +5602,14 @@ ha_innobase::info(
|
||||||
for (i = 0; i < table->s->keys; i++) {
|
for (i = 0; i < table->s->keys; i++) {
|
||||||
if (index == NULL) {
|
if (index == NULL) {
|
||||||
ut_print_timestamp(stderr);
|
ut_print_timestamp(stderr);
|
||||||
sql_print_error("Table %s contains less "
|
sql_print_error("Table %s contains fewer "
|
||||||
"indexes inside InnoDB than "
|
"indexes inside InnoDB than "
|
||||||
"are defined in the MySQL "
|
"are defined in the MySQL "
|
||||||
".frm file. Have you mixed up "
|
".frm file. Have you mixed up "
|
||||||
".frm files from different "
|
".frm files from different "
|
||||||
"installations? See section "
|
"installations? See "
|
||||||
"15.1 at http://www.innodb.com/ibman.html",
|
"http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n",
|
||||||
|
|
||||||
ib_table->name);
|
ib_table->name);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
@ -5619,17 +5618,11 @@ ha_innobase::info(
|
||||||
|
|
||||||
if (j + 1 > index->n_uniq) {
|
if (j + 1 > index->n_uniq) {
|
||||||
ut_print_timestamp(stderr);
|
ut_print_timestamp(stderr);
|
||||||
sql_print_error("Index %s of %s has "
|
sql_print_error(
|
||||||
"%lu columns unique "
|
"Index %s of %s has %lu columns unique inside InnoDB, but MySQL is asking "
|
||||||
"inside InnoDB, but "
|
"statistics for %lu columns. Have you mixed up .frm files from different "
|
||||||
"MySQL is asking "
|
"installations? "
|
||||||
"statistics for %lu "
|
"See http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n",
|
||||||
"columns. Have you "
|
|
||||||
"mixed up .frm files "
|
|
||||||
"from different "
|
|
||||||
"installations? See "
|
|
||||||
"section 15.1 at "
|
|
||||||
"http://www.innodb.com/ibman.html",
|
|
||||||
index->name,
|
index->name,
|
||||||
ib_table->name,
|
ib_table->name,
|
||||||
(unsigned long)
|
(unsigned long)
|
||||||
|
@ -6438,7 +6431,7 @@ ha_innobase::transactional_table_lock(
|
||||||
"table %s does not exist.\n"
|
"table %s does not exist.\n"
|
||||||
"Have you deleted the .ibd file from the database directory under\n"
|
"Have you deleted the .ibd file from the database directory under\n"
|
||||||
"the MySQL datadir?"
|
"the MySQL datadir?"
|
||||||
"Look from section 15.1 of http://www.innodb.com/ibman.html\n"
|
"See http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n"
|
||||||
"how you can resolve the problem.\n",
|
"how you can resolve the problem.\n",
|
||||||
prebuilt->table->name);
|
prebuilt->table->name);
|
||||||
DBUG_RETURN(HA_ERR_CRASHED);
|
DBUG_RETURN(HA_ERR_CRASHED);
|
||||||
|
|
|
@ -224,7 +224,7 @@ static bool extract_date_time(DATE_TIME_FORMAT *format,
|
||||||
tmp= (char*) val + min(2, val_len);
|
tmp= (char*) val + min(2, val_len);
|
||||||
l_time->day= (int) my_strtoll10(val, &tmp, &error);
|
l_time->day= (int) my_strtoll10(val, &tmp, &error);
|
||||||
/* Skip 'st, 'nd, 'th .. */
|
/* Skip 'st, 'nd, 'th .. */
|
||||||
val= tmp + min((int) (end-tmp), 2);
|
val= tmp + min((int) (val_end-tmp), 2);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
/* Hour */
|
/* Hour */
|
||||||
|
|
|
@ -1006,6 +1006,7 @@ int acl_getroot(THD *thd, USER_RESOURCES *mqh,
|
||||||
sql_print_information("X509 issuer mismatch: should be '%s' "
|
sql_print_information("X509 issuer mismatch: should be '%s' "
|
||||||
"but is '%s'", acl_user->x509_issuer, ptr);
|
"but is '%s'", acl_user->x509_issuer, ptr);
|
||||||
free(ptr);
|
free(ptr);
|
||||||
|
user_access=NO_ACCESS;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
user_access= acl_user->access;
|
user_access= acl_user->access;
|
||||||
|
@ -1021,10 +1022,12 @@ int acl_getroot(THD *thd, USER_RESOURCES *mqh,
|
||||||
if (strcmp(acl_user->x509_subject,ptr))
|
if (strcmp(acl_user->x509_subject,ptr))
|
||||||
{
|
{
|
||||||
if (global_system_variables.log_warnings)
|
if (global_system_variables.log_warnings)
|
||||||
sql_print_information("X509 subject mismatch: '%s' vs '%s'",
|
sql_print_information("X509 subject mismatch: should be '%s' but is '%s'",
|
||||||
acl_user->x509_subject, ptr);
|
acl_user->x509_subject, ptr);
|
||||||
|
free(ptr);
|
||||||
|
user_access=NO_ACCESS;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
else
|
|
||||||
user_access= acl_user->access;
|
user_access= acl_user->access;
|
||||||
free(ptr);
|
free(ptr);
|
||||||
}
|
}
|
||||||
|
|
|
@ -624,7 +624,7 @@ btr_page_get_father_for_rec(
|
||||||
fputs(
|
fputs(
|
||||||
"InnoDB: You should dump + drop + reimport the table to fix the\n"
|
"InnoDB: You should dump + drop + reimport the table to fix the\n"
|
||||||
"InnoDB: corruption. If the crash happens at the database startup, see\n"
|
"InnoDB: corruption. If the crash happens at the database startup, see\n"
|
||||||
"InnoDB: http://dev.mysql.com/doc/mysql/en/Forcing_recovery.html about\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html about\n"
|
||||||
"InnoDB: forcing recovery. Then dump + drop + reimport.\n", stderr);
|
"InnoDB: forcing recovery. Then dump + drop + reimport.\n", stderr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -323,7 +323,8 @@ buf_page_is_corrupted(
|
||||||
"InnoDB: is in the future! Current system log sequence number %lu %lu.\n"
|
"InnoDB: is in the future! Current system log sequence number %lu %lu.\n"
|
||||||
"InnoDB: Your database may be corrupt or you may have copied the InnoDB\n"
|
"InnoDB: Your database may be corrupt or you may have copied the InnoDB\n"
|
||||||
"InnoDB: tablespace but not the InnoDB log files. See\n"
|
"InnoDB: tablespace but not the InnoDB log files. See\n"
|
||||||
"http://dev.mysql.com/doc/mysql/en/backing-up.html for more information.\n",
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html\n"
|
||||||
|
"InnoDB: for more information.\n",
|
||||||
(ulong) mach_read_from_4(read_buf + FIL_PAGE_OFFSET),
|
(ulong) mach_read_from_4(read_buf + FIL_PAGE_OFFSET),
|
||||||
(ulong) ut_dulint_get_high(
|
(ulong) ut_dulint_get_high(
|
||||||
mach_read_from_8(read_buf + FIL_PAGE_LSN)),
|
mach_read_from_8(read_buf + FIL_PAGE_LSN)),
|
||||||
|
@ -1923,7 +1924,7 @@ buf_page_io_complete(
|
||||||
"InnoDB: the corrupt table. You can use CHECK\n"
|
"InnoDB: the corrupt table. You can use CHECK\n"
|
||||||
"InnoDB: TABLE to scan your table for corruption.\n"
|
"InnoDB: TABLE to scan your table for corruption.\n"
|
||||||
"InnoDB: See also "
|
"InnoDB: See also "
|
||||||
"http://dev.mysql.com/doc/mysql/en/Forcing_recovery.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html\n"
|
||||||
"InnoDB: about forcing recovery.\n", stderr);
|
"InnoDB: about forcing recovery.\n", stderr);
|
||||||
|
|
||||||
if (srv_force_recovery < SRV_FORCE_IGNORE_CORRUPT) {
|
if (srv_force_recovery < SRV_FORCE_IGNORE_CORRUPT) {
|
||||||
|
|
|
@ -2215,8 +2215,8 @@ dict_foreign_error_report(
|
||||||
if (fk->foreign_index) {
|
if (fk->foreign_index) {
|
||||||
fputs("The index in the foreign key in table is ", file);
|
fputs("The index in the foreign key in table is ", file);
|
||||||
ut_print_name(file, NULL, FALSE, fk->foreign_index->name);
|
ut_print_name(file, NULL, FALSE, fk->foreign_index->name);
|
||||||
fputs(
|
fputs("\n"
|
||||||
"\nSee http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html\n"
|
"See http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html\n"
|
||||||
"for correct foreign key definition.\n",
|
"for correct foreign key definition.\n",
|
||||||
file);
|
file);
|
||||||
}
|
}
|
||||||
|
@ -3119,7 +3119,7 @@ col_loop1:
|
||||||
ut_print_name(ef, NULL, TRUE, name);
|
ut_print_name(ef, NULL, TRUE, name);
|
||||||
fprintf(ef, " where the columns appear\n"
|
fprintf(ef, " where the columns appear\n"
|
||||||
"as the first columns. Constraint:\n%s\n"
|
"as the first columns. Constraint:\n%s\n"
|
||||||
"See http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html\n"
|
"See http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html\n"
|
||||||
"for correct foreign key definition.\n",
|
"for correct foreign key definition.\n",
|
||||||
start_of_latest_foreign);
|
start_of_latest_foreign);
|
||||||
mutex_exit(&dict_foreign_err_mutex);
|
mutex_exit(&dict_foreign_err_mutex);
|
||||||
|
@ -3387,7 +3387,7 @@ try_find_index:
|
||||||
"Note that the internal storage type of ENUM and SET changed in\n"
|
"Note that the internal storage type of ENUM and SET changed in\n"
|
||||||
"tables created with >= InnoDB-4.1.12, and such columns in old tables\n"
|
"tables created with >= InnoDB-4.1.12, and such columns in old tables\n"
|
||||||
"cannot be referenced by such columns in new tables.\n"
|
"cannot be referenced by such columns in new tables.\n"
|
||||||
"See http://dev.mysql.com/doc/mysql/en/InnoDB_foreign_key_constraints.html\n"
|
"See http://dev.mysql.com/doc/refman/5.0/en/innodb-foreign-key-constraints.html\n"
|
||||||
"for correct foreign key definition.\n",
|
"for correct foreign key definition.\n",
|
||||||
start_of_latest_foreign);
|
start_of_latest_foreign);
|
||||||
mutex_exit(&dict_foreign_err_mutex);
|
mutex_exit(&dict_foreign_err_mutex);
|
||||||
|
@ -3941,8 +3941,7 @@ dict_update_statistics_low(
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
" InnoDB: cannot calculate statistics for table %s\n"
|
" InnoDB: cannot calculate statistics for table %s\n"
|
||||||
"InnoDB: because the .ibd file is missing. For help, please refer to\n"
|
"InnoDB: because the .ibd file is missing. For help, please refer to\n"
|
||||||
"InnoDB: "
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n",
|
||||||
"http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n",
|
|
||||||
table->name);
|
table->name);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
|
|
|
@ -2685,8 +2685,7 @@ fil_open_single_table_tablespace(
|
||||||
"InnoDB: It is also possible that this is a temporary table #sql...,\n"
|
"InnoDB: It is also possible that this is a temporary table #sql...,\n"
|
||||||
"InnoDB: and MySQL removed the .ibd file for this.\n"
|
"InnoDB: and MySQL removed the .ibd file for this.\n"
|
||||||
"InnoDB: Please refer to\n"
|
"InnoDB: Please refer to\n"
|
||||||
"InnoDB:"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n"
|
||||||
" http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n"
|
|
||||||
"InnoDB: for how to resolve the issue.\n", stderr);
|
"InnoDB: for how to resolve the issue.\n", stderr);
|
||||||
|
|
||||||
mem_free(filepath);
|
mem_free(filepath);
|
||||||
|
@ -2725,8 +2724,7 @@ fil_open_single_table_tablespace(
|
||||||
"InnoDB: Have you moved InnoDB .ibd files around without using the\n"
|
"InnoDB: Have you moved InnoDB .ibd files around without using the\n"
|
||||||
"InnoDB: commands DISCARD TABLESPACE and IMPORT TABLESPACE?\n"
|
"InnoDB: commands DISCARD TABLESPACE and IMPORT TABLESPACE?\n"
|
||||||
"InnoDB: Please refer to\n"
|
"InnoDB: Please refer to\n"
|
||||||
"InnoDB:"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n"
|
||||||
" http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n"
|
|
||||||
"InnoDB: for how to resolve the issue.\n", (ulong) space_id, (ulong) id);
|
"InnoDB: for how to resolve the issue.\n", (ulong) space_id, (ulong) id);
|
||||||
|
|
||||||
ret = FALSE;
|
ret = FALSE;
|
||||||
|
@ -3373,8 +3371,7 @@ fil_space_for_table_exists_in_mem(
|
||||||
error_exit:
|
error_exit:
|
||||||
fputs(
|
fputs(
|
||||||
"InnoDB: Please refer to\n"
|
"InnoDB: Please refer to\n"
|
||||||
"InnoDB:"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n"
|
||||||
" http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n"
|
|
||||||
"InnoDB: for how to resolve the issue.\n", stderr);
|
"InnoDB: for how to resolve the issue.\n", stderr);
|
||||||
|
|
||||||
mem_free(path);
|
mem_free(path);
|
||||||
|
|
|
@ -2988,7 +2988,7 @@ fseg_free_page_low(
|
||||||
crash:
|
crash:
|
||||||
fputs(
|
fputs(
|
||||||
"InnoDB: Please refer to\n"
|
"InnoDB: Please refer to\n"
|
||||||
"InnoDB: http://dev.mysql.com/doc/mysql/en/Forcing_recovery.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html\n"
|
||||||
"InnoDB: about forcing recovery.\n", stderr);
|
"InnoDB: about forcing recovery.\n", stderr);
|
||||||
ut_error;
|
ut_error;
|
||||||
}
|
}
|
||||||
|
|
|
@ -216,8 +216,8 @@ buf_block_align(
|
||||||
"InnoDB: Error: trying to access a stray pointer %p\n"
|
"InnoDB: Error: trying to access a stray pointer %p\n"
|
||||||
"InnoDB: buf pool start is at %p, end at %p\n"
|
"InnoDB: buf pool start is at %p, end at %p\n"
|
||||||
"InnoDB: Probable reason is database corruption or memory\n"
|
"InnoDB: Probable reason is database corruption or memory\n"
|
||||||
"InnoDB: corruption. If this happens in an InnoDB database recovery,\n"
|
"InnoDB: corruption. If this happens in an InnoDB database recovery, see\n"
|
||||||
"InnoDB: you can look from section 6.1 at http://www.innodb.com/ibman.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html\n"
|
||||||
"InnoDB: how to force recovery.\n",
|
"InnoDB: how to force recovery.\n",
|
||||||
ptr, frame_zero,
|
ptr, frame_zero,
|
||||||
buf_pool->high_end);
|
buf_pool->high_end);
|
||||||
|
@ -252,8 +252,8 @@ buf_frame_align(
|
||||||
"InnoDB: Error: trying to access a stray pointer %p\n"
|
"InnoDB: Error: trying to access a stray pointer %p\n"
|
||||||
"InnoDB: buf pool start is at %p, end at %p\n"
|
"InnoDB: buf pool start is at %p, end at %p\n"
|
||||||
"InnoDB: Probable reason is database corruption or memory\n"
|
"InnoDB: Probable reason is database corruption or memory\n"
|
||||||
"InnoDB: corruption. If this happens in an InnoDB database recovery,\n"
|
"InnoDB: corruption. If this happens in an InnoDB database recovery, see\n"
|
||||||
"InnoDB: you can look from section 6.1 at http://www.innodb.com/ibman.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html\n"
|
||||||
"InnoDB: how to force recovery.\n",
|
"InnoDB: how to force recovery.\n",
|
||||||
ptr, buf_pool->frame_zero,
|
ptr, buf_pool->frame_zero,
|
||||||
buf_pool->high_end);
|
buf_pool->high_end);
|
||||||
|
|
|
@ -720,7 +720,7 @@ failure:
|
||||||
"InnoDB: To get mysqld to start up, set innodb_thread_concurrency in my.cnf\n"
|
"InnoDB: To get mysqld to start up, set innodb_thread_concurrency in my.cnf\n"
|
||||||
"InnoDB: to a lower value, for example, to 8. After an ERROR-FREE shutdown\n"
|
"InnoDB: to a lower value, for example, to 8. After an ERROR-FREE shutdown\n"
|
||||||
"InnoDB: of mysqld you can adjust the size of ib_logfiles, as explained in\n"
|
"InnoDB: of mysqld you can adjust the size of ib_logfiles, as explained in\n"
|
||||||
"InnoDB: http://dev.mysql.com/doc/mysql/en/Adding_and_removing.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/adding-and-removing.html\n"
|
||||||
"InnoDB: Cannot continue operation. Calling exit(1).\n",
|
"InnoDB: Cannot continue operation. Calling exit(1).\n",
|
||||||
(ulong)srv_thread_concurrency);
|
(ulong)srv_thread_concurrency);
|
||||||
|
|
||||||
|
|
|
@ -542,7 +542,7 @@ recv_find_max_checkpoint(
|
||||||
"InnoDB: the problem may be that during an earlier attempt you managed\n"
|
"InnoDB: the problem may be that during an earlier attempt you managed\n"
|
||||||
"InnoDB: to create the InnoDB data files, but log file creation failed.\n"
|
"InnoDB: to create the InnoDB data files, but log file creation failed.\n"
|
||||||
"InnoDB: If that is the case, please refer to\n"
|
"InnoDB: If that is the case, please refer to\n"
|
||||||
"InnoDB: http://dev.mysql.com/doc/mysql/en/Error_creating_InnoDB.html\n");
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/error-creating-innodb.html\n");
|
||||||
return(DB_ERROR);
|
return(DB_ERROR);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -1962,7 +1962,7 @@ recv_report_corrupt_log(
|
||||||
"InnoDB: far enough in recovery! Please run CHECK TABLE\n"
|
"InnoDB: far enough in recovery! Please run CHECK TABLE\n"
|
||||||
"InnoDB: on your InnoDB tables to check that they are ok!\n"
|
"InnoDB: on your InnoDB tables to check that they are ok!\n"
|
||||||
"InnoDB: If mysqld crashes after this recovery, look at\n"
|
"InnoDB: If mysqld crashes after this recovery, look at\n"
|
||||||
"InnoDB: http://dev.mysql.com/doc/mysql/en/Forcing_recovery.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html\n"
|
||||||
"InnoDB: about forcing recovery.\n", stderr);
|
"InnoDB: about forcing recovery.\n", stderr);
|
||||||
|
|
||||||
fflush(stderr);
|
fflush(stderr);
|
||||||
|
|
|
@ -248,7 +248,7 @@ os_file_get_last_error(
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"InnoDB: Some operating system error numbers are described at\n"
|
"InnoDB: Some operating system error numbers are described at\n"
|
||||||
"InnoDB: "
|
"InnoDB: "
|
||||||
"http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html\n");
|
"http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -295,7 +295,7 @@ os_file_get_last_error(
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"InnoDB: Some operating system error numbers are described at\n"
|
"InnoDB: Some operating system error numbers are described at\n"
|
||||||
"InnoDB: "
|
"InnoDB: "
|
||||||
"http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html\n");
|
"http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html\n");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -688,7 +688,7 @@ next_file:
|
||||||
/* TODO: test Windows symlinks */
|
/* TODO: test Windows symlinks */
|
||||||
/* TODO: MySQL has apparently its own symlink implementation in Windows,
|
/* TODO: MySQL has apparently its own symlink implementation in Windows,
|
||||||
dbname.sym can redirect a database directory:
|
dbname.sym can redirect a database directory:
|
||||||
http://www.mysql.com/doc/en/Windows_symbolic_links.html */
|
http://dev.mysql.com/doc/refman/5.0/en/windows-symbolic-links.html */
|
||||||
info->type = OS_FILE_TYPE_LINK;
|
info->type = OS_FILE_TYPE_LINK;
|
||||||
} else if (lpFindFileData->dwFileAttributes
|
} else if (lpFindFileData->dwFileAttributes
|
||||||
& FILE_ATTRIBUTE_DIRECTORY) {
|
& FILE_ATTRIBUTE_DIRECTORY) {
|
||||||
|
@ -2343,7 +2343,7 @@ retry:
|
||||||
"InnoDB: offset %lu %lu. Operating system error number %lu.\n"
|
"InnoDB: offset %lu %lu. Operating system error number %lu.\n"
|
||||||
"InnoDB: Some operating system error numbers are described at\n"
|
"InnoDB: Some operating system error numbers are described at\n"
|
||||||
"InnoDB: "
|
"InnoDB: "
|
||||||
"http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html\n",
|
"http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html\n",
|
||||||
name, (ulong) offset_high, (ulong) offset,
|
name, (ulong) offset_high, (ulong) offset,
|
||||||
(ulong) GetLastError());
|
(ulong) GetLastError());
|
||||||
|
|
||||||
|
@ -2408,7 +2408,7 @@ retry:
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"InnoDB: Some operating system error numbers are described at\n"
|
"InnoDB: Some operating system error numbers are described at\n"
|
||||||
"InnoDB: "
|
"InnoDB: "
|
||||||
"http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html\n");
|
"http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html\n");
|
||||||
|
|
||||||
os_has_said_disk_full = TRUE;
|
os_has_said_disk_full = TRUE;
|
||||||
}
|
}
|
||||||
|
@ -2444,7 +2444,7 @@ retry:
|
||||||
fprintf(stderr,
|
fprintf(stderr,
|
||||||
"InnoDB: Some operating system error numbers are described at\n"
|
"InnoDB: Some operating system error numbers are described at\n"
|
||||||
"InnoDB: "
|
"InnoDB: "
|
||||||
"http://dev.mysql.com/doc/mysql/en/Operating_System_error_codes.html\n");
|
"http://dev.mysql.com/doc/refman/5.0/en/operating-system-error-codes.html\n");
|
||||||
|
|
||||||
os_has_said_disk_full = TRUE;
|
os_has_said_disk_full = TRUE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -3245,7 +3245,7 @@ row_search_for_mysql(
|
||||||
"InnoDB: Have you deleted the .ibd file from the database directory under\n"
|
"InnoDB: Have you deleted the .ibd file from the database directory under\n"
|
||||||
"InnoDB: the MySQL datadir, or have you used DISCARD TABLESPACE?\n"
|
"InnoDB: the MySQL datadir, or have you used DISCARD TABLESPACE?\n"
|
||||||
"InnoDB: Look from\n"
|
"InnoDB: Look from\n"
|
||||||
"http://dev.mysql.com/doc/mysql/en/InnoDB_troubleshooting_datadict.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/innodb-troubleshooting.html\n"
|
||||||
"InnoDB: how you can resolve the problem.\n",
|
"InnoDB: how you can resolve the problem.\n",
|
||||||
prebuilt->table->name);
|
prebuilt->table->name);
|
||||||
|
|
||||||
|
|
|
@ -1691,7 +1691,7 @@ NetWare. */
|
||||||
"InnoDB: You have now successfully upgraded to the multiple tablespaces\n"
|
"InnoDB: You have now successfully upgraded to the multiple tablespaces\n"
|
||||||
"InnoDB: format. You should NOT DOWNGRADE to an earlier version of\n"
|
"InnoDB: format. You should NOT DOWNGRADE to an earlier version of\n"
|
||||||
"InnoDB: InnoDB! But if you absolutely need to downgrade, see\n"
|
"InnoDB: InnoDB! But if you absolutely need to downgrade, see\n"
|
||||||
"InnoDB: http://dev.mysql.com/doc/mysql/en/Multiple_tablespaces.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/multiple-tablespaces.html\n"
|
||||||
"InnoDB: for instructions.\n");
|
"InnoDB: for instructions.\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -56,7 +56,7 @@ ut_dbg_assertion_failed(
|
||||||
"InnoDB: If you get repeated assertion failures or crashes, even\n"
|
"InnoDB: If you get repeated assertion failures or crashes, even\n"
|
||||||
"InnoDB: immediately after the mysqld startup, there may be\n"
|
"InnoDB: immediately after the mysqld startup, there may be\n"
|
||||||
"InnoDB: corruption in the InnoDB tablespace. Please refer to\n"
|
"InnoDB: corruption in the InnoDB tablespace. Please refer to\n"
|
||||||
"InnoDB: http://dev.mysql.com/doc/mysql/en/Forcing_recovery.html\n"
|
"InnoDB: http://dev.mysql.com/doc/refman/5.0/en/forcing-recovery.html\n"
|
||||||
"InnoDB: about forcing recovery.\n", stderr);
|
"InnoDB: about forcing recovery.\n", stderr);
|
||||||
#if defined(UNIV_SYNC_DEBUG) || !defined(UT_DBG_USE_ABORT)
|
#if defined(UNIV_SYNC_DEBUG) || !defined(UT_DBG_USE_ABORT)
|
||||||
ut_dbg_stop_threads = TRUE;
|
ut_dbg_stop_threads = TRUE;
|
||||||
|
|
|
@ -964,6 +964,12 @@ CommandInterpreter::execute_impl(const char *_line, bool interactive)
|
||||||
if (!connect(interactive))
|
if (!connect(interactive))
|
||||||
DBUG_RETURN(true);
|
DBUG_RETURN(true);
|
||||||
|
|
||||||
|
if (ndb_mgm_check_connection(m_mgmsrv))
|
||||||
|
{
|
||||||
|
disconnect();
|
||||||
|
connect(interactive);
|
||||||
|
}
|
||||||
|
|
||||||
if (strcasecmp(firstToken, "SHOW") == 0) {
|
if (strcasecmp(firstToken, "SHOW") == 0) {
|
||||||
Guard g(m_print_mutex);
|
Guard g(m_print_mutex);
|
||||||
executeShow(allAfterFirstToken);
|
executeShow(allAfterFirstToken);
|
||||||
|
@ -1567,11 +1573,16 @@ CommandInterpreter::executeShow(char* parameters)
|
||||||
void
|
void
|
||||||
CommandInterpreter::executeConnect(char* parameters, bool interactive)
|
CommandInterpreter::executeConnect(char* parameters, bool interactive)
|
||||||
{
|
{
|
||||||
|
BaseString *basestring = NULL;
|
||||||
|
|
||||||
disconnect();
|
disconnect();
|
||||||
if (!emptyString(parameters)) {
|
if (!emptyString(parameters)) {
|
||||||
m_constr= BaseString(parameters).trim().c_str();
|
basestring= new BaseString(parameters);
|
||||||
|
m_constr= basestring->trim().c_str();
|
||||||
}
|
}
|
||||||
connect(interactive);
|
connect(interactive);
|
||||||
|
if (basestring != NULL)
|
||||||
|
delete basestring;
|
||||||
}
|
}
|
||||||
|
|
||||||
//*****************************************************************************
|
//*****************************************************************************
|
||||||
|
|
|
@ -14968,7 +14968,7 @@ static void test_bug17667()
|
||||||
strcpy(master_log_filename, opt_vardir);
|
strcpy(master_log_filename, opt_vardir);
|
||||||
strcat(master_log_filename, "/log/master.log");
|
strcat(master_log_filename, "/log/master.log");
|
||||||
printf("Opening '%s'\n", master_log_filename);
|
printf("Opening '%s'\n", master_log_filename);
|
||||||
log_file= fopen(master_log_filename, "r");
|
log_file= my_fopen(master_log_filename, (int) (O_RDONLY | O_BINARY), MYF(MY_WME));
|
||||||
free(master_log_filename);
|
free(master_log_filename);
|
||||||
|
|
||||||
if (log_file != NULL) {
|
if (log_file != NULL) {
|
||||||
|
@ -14993,6 +14993,8 @@ static void test_bug17667()
|
||||||
DIE("Read error");
|
DIE("Read error");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
/* Print the line */
|
||||||
|
printf("%s", line_buffer);
|
||||||
|
|
||||||
} while (my_memmem(line_buffer, MAX_TEST_QUERY_LENGTH*2,
|
} while (my_memmem(line_buffer, MAX_TEST_QUERY_LENGTH*2,
|
||||||
statement_cursor->buffer, statement_cursor->length) == NULL);
|
statement_cursor->buffer, statement_cursor->length) == NULL);
|
||||||
|
@ -15013,7 +15015,7 @@ static void test_bug17667()
|
||||||
}
|
}
|
||||||
|
|
||||||
if (log_file != NULL)
|
if (log_file != NULL)
|
||||||
fclose(log_file);
|
my_fclose(log_file, MYF(0));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue