Commit 730fc415 authored by unknown's avatar unknown
Browse files

Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1

into mysql.com:/Users/kent/mysql/bk/mysql-5.0


mysql-test/mysql-test-run.pl:
  Auto merged
ndb/src/ndbapi/Ndbinit.cpp:
  Auto merged
parents a615084f 5df7f93d
Loading
Loading
Loading
Loading
+16 −5
Original line number Diff line number Diff line
@@ -262,6 +262,7 @@ our $opt_user;
our $opt_user_test;

our $opt_valgrind;
our $opt_valgrind_mysqltest;
our $opt_valgrind_all;
our $opt_valgrind_options;

@@ -524,6 +525,7 @@ sub command_line_setup () {
             'gcov'                     => \$opt_gcov,
             'gprof'                    => \$opt_gprof,
             'valgrind:s'               => \$opt_valgrind,
             'valgrind-mysqltest:s'     => \$opt_valgrind_mysqltest,
             'valgrind-all:s'           => \$opt_valgrind_all,
             'valgrind-options=s'       => \$opt_valgrind_options,

@@ -708,9 +710,15 @@ sub command_line_setup () {
  #   ""           option set with no argument
  #   "somestring" option is name/path of valgrind executable

  if ( defined $opt_valgrind_all and ! $opt_valgrind )
  # Take executable path from any of them, if any
  $opt_valgrind= $opt_valgrind_mysqltest if $opt_valgrind_mysqltest;
  $opt_valgrind= $opt_valgrind_all       if $opt_valgrind_all;

  # If valgrind flag not defined, define if other valgrind flags are
  unless ( defined $opt_valgrind )
  {
    $opt_valgrind= $opt_valgrind_all;
    $opt_valgrind= ""
      if defined $opt_valgrind_mysqltest or defined $opt_valgrind_all;
  }

  if ( ! $opt_testcase_timeout )
@@ -2392,7 +2400,7 @@ sub run_mysqltest ($) {

  mtr_init_args(\$args);

  if ( defined $opt_valgrind )
  if ( defined $opt_valgrind_mysqltest )
  {
    valgrind_arguments($args, \$exe);
  }
@@ -2501,6 +2509,8 @@ sub valgrind_arguments {
  mtr_add_arg($args, "--alignment=8");
  mtr_add_arg($args, "--leak-check=yes");
  mtr_add_arg($args, "--num-callers=16");
  mtr_add_arg($args, "--suppressions=%s/valgrind.supp", $glob_mysql_test_dir)
    if -f "$glob_mysql_test_dir/valgrind.supp";

  if ( defined $opt_valgrind_all )
  {
@@ -2584,10 +2594,11 @@ Options for coverage, profiling etc

  gcov                  FIXME
  gprof                 FIXME
  valgrind[=exe]        Run the "mysqltest" executable as well as the "mysqld"
  valgrind[=EXE]        Run the "mysqltest" executable as well as the "mysqld"
                        server using valgrind, optionally specifying the
                        executable path/name
  valgrind-all          FIXME
  valgrind-mysqltest[=EXE] In addition, run the "mysqltest" executable with valgrind
  valgrind-all[=EXE]    Adds verbose flag, and --show-reachable to valgrind
  valgrind-options=ARGS Extra options to give valgrind

Misc options
+2 −1
Original line number Diff line number Diff line
@@ -229,7 +229,8 @@ NdbImpl::NdbImpl(Ndb_cluster_connection *ndb_cluster_connection,
  : m_ndb_cluster_connection(ndb_cluster_connection->m_impl),
    m_dictionary(ndb),
    theCurrentConnectIndex(0),
    theNdbObjectIdMap(1024,1024),
    theNdbObjectIdMap(ndb_cluster_connection->m_impl.m_transporter_facade->theMutexPtr,
		      1024,1024),
    theNoOfDBnodes(0)
{
  int i;
+20 −13
Original line number Diff line number Diff line
@@ -30,7 +30,7 @@ class NdbObjectIdMap //: NdbLockable
{
public:
  STATIC_CONST( InvalidId = ~(Uint32)0 );
  NdbObjectIdMap(Uint32 initalSize = 128, Uint32 expandSize = 10);
  NdbObjectIdMap(NdbMutex*, Uint32 initalSize = 128, Uint32 expandSize = 10);
  ~NdbObjectIdMap();

  Uint32 map(void * object);
@@ -46,14 +46,16 @@ private:
     void * m_obj;
  } * m_map;

  NdbMutex * m_mutex;
  void expand(Uint32 newSize);
};

inline
NdbObjectIdMap::NdbObjectIdMap(Uint32 sz, Uint32 eSz) {
NdbObjectIdMap::NdbObjectIdMap(NdbMutex* mutex, Uint32 sz, Uint32 eSz) {
  m_size = 0;
  m_firstFree = InvalidId;
  m_map = 0;
  m_mutex = mutex;
  m_expandSize = eSz;
  expand(sz);
#ifdef DEBUG_OBJECTMAP
@@ -131,13 +133,12 @@ NdbObjectIdMap::getObject(Uint32 id){

inline void
NdbObjectIdMap::expand(Uint32 incSize){
  NdbMutex_Lock(m_mutex);
  Uint32 newSize = m_size + incSize;
  MapEntry * tmp = (MapEntry*)malloc(newSize * sizeof(MapEntry));
  MapEntry * tmp = (MapEntry*)realloc(m_map, newSize * sizeof(MapEntry));

  if (m_map) {
    memcpy(tmp, m_map, m_size * sizeof(MapEntry));
    free((void*)m_map);
  }
  if (likely(tmp != 0))
  {
    m_map = tmp;
    
    for(Uint32 i = m_size; i<newSize; i++){
@@ -147,5 +148,11 @@ NdbObjectIdMap::expand(Uint32 incSize){
    m_map[newSize-1].m_next = InvalidId;
    m_size = newSize;
  }
  else
  {
    ndbout_c("NdbObjectIdMap::expand unable to expand!!");
  }
  NdbMutex_Unlock(m_mutex);
}

#endif