Commit 99895eb6 authored by gni/root@dev3-221.dev.cn.tlan's avatar gni/root@dev3-221.dev.cn.tlan

Merge dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.0/bug18676

into  dev3-221.dev.cn.tlan:/home/ngb/mysql/mysql-5.1/bug18676
parents e1971cfa 98e57576
......@@ -382,7 +382,7 @@ create table t1 (a int primary key) engine=ndb;
select * from t1;
a
select * from t1;
ERROR HY000: Can't lock file (errno: 4009)
ERROR HY000: Can't lock file (errno: 157)
use test;
drop database test_only_ndb_tables;
CREATE TABLE t9 (
......
......@@ -221,7 +221,6 @@ static int ndb_to_mysql_error(const NdbError *ndberr)
{
/* read the mysql mapped error code */
int error= ndberr->mysql_code;
switch (error)
{
/* errors for which we do not add warnings, just return mapped error code
......@@ -240,7 +239,6 @@ static int ndb_to_mysql_error(const NdbError *ndberr)
default:
break;
}
/*
Push the NDB error message as warning
- Used to be able to use SHOW WARNINGS toget more info on what the error is
......
......@@ -2865,8 +2865,8 @@ ha_find_files(THD *thd,const char *db,const char *path,
Ask handler if the table exists in engine
RETURN
0 Table does not exist
1 Table exists
HA_ERR_NO_SUCH_TABLE Table does not exist
HA_ERR_TABLE_EXIST Table exists
# Error code
*/
......@@ -2891,7 +2891,7 @@ static my_bool table_exists_in_engine_handlerton(THD *thd, st_plugin_int *plugin
int ha_table_exists_in_engine(THD* thd, const char* db, const char* name)
{
int error= 0;
int error= HA_ERR_NO_SUCH_TABLE;
DBUG_ENTER("ha_table_exists_in_engine");
DBUG_PRINT("enter", ("db: %s, name: %s", db, name));
st_table_exists_in_engine_args args= {db, name};
......
......@@ -3439,6 +3439,7 @@ bool mysql_create_table_internal(THD *thd,
error= 0;
goto err;
}
DBUG_PRINT("info",("1"));
my_error(ER_TABLE_EXISTS_ERROR, MYF(0), alias);
goto err;
}
......@@ -3450,6 +3451,7 @@ bool mysql_create_table_internal(THD *thd,
{
if (create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS)
goto warn;
DBUG_PRINT("info",("2"));
my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
goto unlock_and_end;
}
......@@ -3481,6 +3483,7 @@ bool mysql_create_table_internal(THD *thd,
{
bool create_if_not_exists =
create_info->options & HA_LEX_CREATE_IF_NOT_EXISTS;
if (ha_table_exists_in_engine(thd, db, table_name))
{
DBUG_PRINT("info", ("Table with same name already existed in handler"));
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment