Commit 2b1b463c authored by unknown's avatar unknown
Browse files

Merge bk-internal.mysql.com:/home/bk/mysql-5.0

into neptunus.(none):/home/msvensson/mysql/mysql-5.0-8583


BitKeeper/etc/logging_ok:
  auto-union
parents c2e18c50 07e4dc1c
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -155,6 +155,7 @@ mronstrom@mysql.com
mskold@bk-internal.mysql.com
mskold@mysql.com
msvensson@build.mysql.com
msvensson@neptunus.(none)
msvensson@neptunus.homeip.net
mwagner@cash.mwagner.org
mwagner@evoq.mwagner.org
+4 −3
Original line number Diff line number Diff line
@@ -208,7 +208,6 @@ export UMASK UMASK_DIR
MASTER_RUNNING=0
MASTER1_RUNNING=0
MASTER_MYPORT=9306
MASTER_MYPORT1=9307
SLAVE_RUNNING=0
SLAVE_MYPORT=9308 # leave room for 2 masters for cluster tests
MYSQL_MANAGER_PORT=9305 # needs to be out of the way of slaves
@@ -495,7 +494,7 @@ SLAVE_MYERR="$MYSQL_TEST_DIR/var/log/slave.err"
CURRENT_TEST="$MYSQL_TEST_DIR/var/log/current_test"
SMALL_SERVER="--key_buffer_size=1M --sort_buffer=256K --max_heap_table_size=1M"

export MASTER_MYPORT MASTER_MYPORT1 SLAVE_MYPORT MYSQL_TCP_PORT MASTER_MYSOCK MASTER_MYSOCK1
export MASTER_MYPORT SLAVE_MYPORT MYSQL_TCP_PORT MASTER_MYSOCK MASTER_MYSOCK1

NDBCLUSTER_BASE_PORT=`expr $NDBCLUSTER_PORT + 2`
NDBCLUSTER_OPTS="--port=$NDBCLUSTER_PORT --port-base=$NDBCLUSTER_BASE_PORT --data-dir=$MYSQL_TEST_DIR/var --ndb_mgm-extra-opts=$NDB_MGM_EXTRA_OPTS --ndb_mgmd-extra-opts=$NDB_MGMD_EXTRA_OPTS --ndbd-extra-opts=$NDBD_EXTRA_OPTS"
@@ -1145,6 +1144,8 @@ start_master()
   id=`$EXPR $1 + 101`;
   this_master_myport=`$EXPR $MASTER_MYPORT + $1`
   NOT_FIRST_MASTER_EXTRA_OPTS="--skip-innodb"
   eval "MASTER_MYPORT$1=$this_master_myport"
   export MASTER_MYPORT$1
  else
   id=1;
   this_master_myport=$MASTER_MYPORT
@@ -1763,7 +1764,7 @@ then
    $MYSQLADMIN --no-defaults --socket=$MASTER_MYSOCK1 -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
    $MYSQLADMIN --no-defaults --socket=$SLAVE_MYSOCK -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
    $MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
    $MYSQLADMIN --no-defaults --host=$hostname --port=$MASTER_MYPORT1 -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
    $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $MASTER_MYPORT+1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
    $MYSQLADMIN --no-defaults --host=$hostname --port=$SLAVE_MYPORT -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
    $MYSQLADMIN --no-defaults --host=$hostname --port=`expr $SLAVE_MYPORT + 1` -u root -O connect_timeout=5 -O shutdown_timeout=20 shutdown > /dev/null 2>&1
    sleep_until_file_deleted 0 $MASTER_MYPID
+18 −1
Original line number Diff line number Diff line
@@ -167,8 +167,25 @@ show status like 'handler_discover%';
Variable_name	Value
Handler_discover	0
drop table t4;
ERROR 42S02: Unknown table 't4'
create table t4(
id int not null primary key,
name char(27)
) engine=ndb;
insert into t4 values (1, "Automatic");
select * from t4;
id	name
1	Automatic
select * from t4;
ERROR 42S02: Table 'test.t4' doesn't exist
drop table if exists t4;
Warnings:
Note	1051	Unknown table 't4'
drop table t5;
ERROR 42S02: Unknown table 't5'
drop table if exists t5;
Warnings:
Error	1296	Got error 709 'No such table existed' from NDB
Note	1051	Unknown table 't5'
flush status;
create table t4(
id int not null primary key,
+22 −0
Original line number Diff line number Diff line
@@ -209,8 +209,30 @@ select * from t4;
select * from t4;

show status like 'handler_discover%';
--error 1051
drop table t4;

create table t4(
  id int not null primary key,
  name char(27)
) engine=ndb;
insert into t4 values (1, "Automatic");
select * from t4;

# Remove the table from NDB
system exec $NDB_TOOLS_DIR/ndb_drop_table --no-defaults -d test t4 >> $NDB_TOOLS_OUTPUT ; 

--error 1146
select * from t4;

drop table if exists t4;

# Test that dropping a table that does not exists
# on  disk or in NDB gives same result as above
--error 1051
drop table t5;
drop table if exists t5;


#######################################################
# Test that a table that has been dropped from NDB
+23 −25
Original line number Diff line number Diff line
@@ -157,7 +157,7 @@ static const err_code_mapping err_map[]=
  { 721, HA_ERR_TABLE_EXIST, 1 },
  { 4244, HA_ERR_TABLE_EXIST, 1 },

  { 709, HA_ERR_NO_SUCH_TABLE, 1 },
  { 709, HA_ERR_NO_SUCH_TABLE, 0 },
  { 284, HA_ERR_NO_SUCH_TABLE, 1 },

  { 266, HA_ERR_LOCK_WAIT_TIMEOUT, 1 },
@@ -2369,7 +2369,6 @@ void ha_ndbcluster::print_results()
    Field *field;
    void* ptr;
    NdbValue value;
    NdbBlob *ndb_blob;

    buf[0]= 0;
    field= table->field[f];
@@ -2383,7 +2382,6 @@ void ha_ndbcluster::print_results()

    if (! (field->flags & BLOB_FLAG))
    {
      ndb_blob= NULL;
      if (value.rec->isNULL())
      {
        my_snprintf(buf, sizeof(buf), "NULL");
@@ -2397,7 +2395,7 @@ void ha_ndbcluster::print_results()
    }
    else
    {
      ndb_blob= value.blob;
      NdbBlob *ndb_blob= value.blob;
      bool isNull= TRUE;
      ndb_blob->getNull(isNull);
      if (isNull) {
@@ -3994,26 +3992,30 @@ int ha_ndbcluster::alter_table_name(const char *to)


/*
  Delete a table from NDB Cluster
  Delete table from NDB Cluster

 */

int ha_ndbcluster::delete_table(const char *name)
{
  DBUG_ENTER("delete_table");
  DBUG_ENTER("ha_ndbcluster::delete_table");
  DBUG_PRINT("enter", ("name: %s", name));
  set_dbname(name);
  set_tabname(name);

  if (check_ndb_connection())
    DBUG_RETURN(HA_ERR_NO_CONNECTION);
  // Remove .ndb file

  /* Call ancestor function to delete .ndb file */
  handler::delete_table(name);
  
  /* Drop the table from NDB */
  DBUG_RETURN(drop_table());
}


/*
  Drop a table in NDB Cluster
  Drop table in NDB Cluster
 */

int ha_ndbcluster::drop_table()
@@ -4024,15 +4026,9 @@ int ha_ndbcluster::drop_table()
  DBUG_ENTER("drop_table");
  DBUG_PRINT("enter", ("Deleting %s", m_tabname));

  release_metadata();
  if (dict->dropTable(m_tabname))
  {
    const NdbError err= dict->getNdbError();
    if (err.code == 709)
      ; // 709: No such table existed
    else 
    ERR_RETURN(dict->getNdbError());
  }  
  release_metadata();
  DBUG_RETURN(0);
}

@@ -4517,10 +4513,12 @@ int ndbcluster_find_files(THD *thd,const char *db,const char *path,
      table_list.db= (char*) db;
      table_list.alias= table_list.table_name= (char*)file_name;
      (void)mysql_rm_table_part2(thd, &table_list,
				 /* if_exists */ TRUE, 
				 /* if_exists */ FALSE,
				 /* drop_temporary */ FALSE,
				 /* drop_view */ FALSE,
				 /* dont_log_query*/ TRUE);
      /* Clear error message that is returned when table is deleted */
      thd->clear_error();
    }
  }

Loading