1
0
mirror of https://github.com/MariaDB/server.git synced 2026-01-06 05:22:24 +03:00

BUG#18676 In order to coincide with 5.0 mysqld error code after bug#18676, Map the 4009 ndb error code to 157 mysql error code

mysql-test/r/ndb_autodiscover.result:
  changes ndbd error code 4009 to mysqld error code 157 when no cluster connection
sql/ha_ndbcluster.cc:
  define return codes to ndbcluster_table_exists_in_engine to something useful
sql/handler.cc:
  define return codes to ha_table_exists_in_engine to something useful
sql/sql_plugin.cc:
  Add a comment
sql/sql_table.cc:
  clearly define what happens on create table if exists/not exists/not connected to engine
storage/ndb/src/ndbapi/ndberror.c:
  map 4009 ndb error code to 157 mysqld error code
This commit is contained in:
unknown
2007-04-16 15:15:47 +08:00
parent ee58034fc9
commit 44271d49a0
6 changed files with 41 additions and 25 deletions

View File

@@ -3481,15 +3481,25 @@ 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))
int retcode = ha_table_exists_in_engine(thd, db, table_name);
DBUG_PRINT("info", ("exists_in_engine: %u",retcode));
switch (retcode)
{
DBUG_PRINT("info", ("Table with same name already existed in handler"));
case HA_ERR_NO_SUCH_TABLE:
/* Normal case, no table exists. we can go and create it */
break;
case HA_ERR_TABLE_EXIST:
DBUG_PRINT("info", ("Table existed in handler"));
if (create_if_not_exists)
goto warn;
my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
goto unlock_and_end;
if (create_if_not_exists)
goto warn;
my_error(ER_TABLE_EXISTS_ERROR,MYF(0),table_name);
goto unlock_and_end;
break;
default:
DBUG_PRINT("info", ("error: %u from storage engine", retcode));
my_error(retcode, MYF(0),table_name);
goto unlock_and_end;
}
}