Commit d96933b4 authored by unknown's avatar unknown
Browse files

Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1

into deer.(none):/home/hf/work/mysql-4.1.5066

parents 4456f6c0 c6e77b16
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -194,6 +194,7 @@ stop_default_ndbcluster() {
exec_mgmtclient="$exec_mgmtclient --try-reconnect=1"

echo "all stop" | $exec_mgmtclient 2>&1 | cat > /dev/null
echo "3 stop" | $exec_mgmtclient 2>&1 | cat > /dev/null

if [ -f "$fs_ndb/$pidfile" ] ; then
  kill -9 `cat "$fs_ndb/$pidfile"` 2> /dev/null
+1 −0
Original line number Diff line number Diff line
@@ -1916,6 +1916,7 @@ INSERT INTO t1(`IZAVORGANG_ID`,`KUERZEL`,`IZAANALYSEART_ID`,`IZAPMKZ_ID`)VALUES(
SELECT `IZAVORGANG_ID` FROM t1 WHERE `KUERZEL` IN(SELECT MIN(`KUERZEL`)`Feld1` FROM t1 WHERE `KUERZEL` LIKE'601%'And`IZAANALYSEART_ID`='D0000000001');
IZAVORGANG_ID
D0000000001
drop table t1;
CREATE TABLE `t1` ( `aid` int(11) NOT NULL default '0', `bid` int(11) NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));
CREATE TABLE `t2` ( `aid` int(11) NOT NULL default '0', `bid` int(11) NOT NULL default '0', PRIMARY KEY  (`aid`,`bid`));
insert into t1 values (1,1),(1,2),(2,1),(2,2);
+23 −16
Original line number Diff line number Diff line
@@ -649,6 +649,7 @@ CommandInterpreter::executeShow(char* parameters)
    }

    int
      master_id= 0,
      ndb_nodes= 0,
      api_nodes= 0,
      mgm_nodes= 0;
@@ -659,6 +660,8 @@ CommandInterpreter::executeShow(char* parameters)
	api_nodes++;
	break;
      case NDB_MGM_NODE_TYPE_NDB:
	if (state->node_states[i].dynamic_id > master_id)
	  master_id= state->node_states[i].dynamic_id;
	ndb_nodes++;
	break;
      case NDB_MGM_NODE_TYPE_MGM:
@@ -681,8 +684,11 @@ CommandInterpreter::executeShow(char* parameters)
	  ndbout << "  (Version: "
		 << getMajor(state->node_states[i].version) << "."
		 << getMinor(state->node_states[i].version) << "."
		 << getBuild(state->node_states[i].version) << ")" << endl;
	  
		 << getBuild(state->node_states[i].version) << ","
		 << " Nodegroup: " << state->node_states[i].node_group;
	  if (state->node_states[i].dynamic_id == master_id)
	    ndbout << ", Master";
	  ndbout << ")" << endl;
	} else
	  {
	    ndbout << "  (not connected) " << endl;
@@ -692,13 +698,13 @@ CommandInterpreter::executeShow(char* parameters)
    }
    ndbout << endl;
    
    ndbout << api_nodes
	   << " API Node(s)" 
    ndbout << mgm_nodes
	   << " MGM Node(s)" 
	   << endl;

    for(i=0; i < state->no_of_nodes; i++) {
      if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_API) {
	ndbout << "API node:\t" << state->node_states[i].node_id;
      if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_MGM) {
	ndbout << "MGM node:\t" << state->node_states[i].node_id;
	if(state->node_states[i].version != 0) {
	  ndbout << "  (Version: "
		 << getMajor(state->node_states[i].version) << "."
@@ -707,19 +713,19 @@ CommandInterpreter::executeShow(char* parameters)
	  
	} else
	  {
	    ndbout << "  (not connected) " << endl;
	    ndbout << "  (no version information available) " << endl;
	  }
      }
    }
    ndbout << endl;

    ndbout << mgm_nodes
	   << " MGM Node(s)" 
    ndbout << api_nodes
	   << " API Node(s)" 
	   << endl;

    for(i=0; i < state->no_of_nodes; i++) {
      if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_MGM) {
	ndbout << "MGM node:\t" << state->node_states[i].node_id;
      if(state->node_states[i].node_type == NDB_MGM_NODE_TYPE_API) {
	ndbout << "API node:\t" << state->node_states[i].node_id;
	if(state->node_states[i].version != 0) {
	  ndbout << "  (Version: "
		 << getMajor(state->node_states[i].version) << "."
@@ -728,11 +734,12 @@ CommandInterpreter::executeShow(char* parameters)
	  
	} else
	  {
	    ndbout << "  (no version information available) " << endl;
	    ndbout << "  (not connected) " << endl;
	  }
      }
    }
    ndbout << endl;
    
    //    ndbout << helpTextShow;
    return;
  } else if (strcmp(parameters, "PROPERTIES") == 0 ||
+23 −1
Original line number Diff line number Diff line
@@ -31,6 +31,8 @@

#include "Services.hpp"

extern bool g_StopServer;

static const unsigned int MAX_READ_TIMEOUT = 1000 ;
static const unsigned int MAX_WRITE_TIMEOUT = 100 ;

@@ -1012,11 +1014,28 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &,
    nodes.push_back(atoi(p));
  }

  int stop_self= 0;

  for(size_t i=0; i < nodes.size(); i++) {
    if (nodes[i] == m_mgmsrv.getOwnNodeId()) {
      stop_self= 1;
      if (i != nodes.size()-1) {
	m_output->println("stop reply");
	m_output->println("result: server must be stopped last");
	m_output->println("");
	return;
      }
    }
  }

  int stopped = 0, result = 0;
  
  for(size_t i=0; i < nodes.size(); i++)
    if (nodes[i] != m_mgmsrv.getOwnNodeId()) {
      if((result = m_mgmsrv.stopNode(nodes[i], abort != 0)) == 0)
	stopped++;
    } else
      stopped++;
  
  m_output->println("stop reply");
  if(result != 0)
@@ -1025,6 +1044,9 @@ MgmApiSession::stop(Parser<MgmApiSession>::Context &,
    m_output->println("result: Ok");
  m_output->println("stopped: %d", stopped);
  m_output->println("");

  if (stop_self)
    g_StopServer= true;
}