Commit aa736473 authored by unknown's avatar unknown
Browse files

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

into serg.mylan:/usr/home/serg/Abk/mysql-5.0

parents c885fb04 bcc1ecd3
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -72,7 +72,6 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
  }
  LINT_INIT(dfile);
  LINT_INIT(file);
  pthread_mutex_lock(&THR_LOCK_myisam);
  errpos=0;
  options=0;
  bzero((byte*) &share,sizeof(share));
@@ -542,6 +541,8 @@ int mi_create(const char *name,uint keys,MI_KEYDEF *keydefs,
  if (! (flags & HA_DONT_TOUCH_DATA))
    share.state.create_time= (long) time((time_t*) 0);

  pthread_mutex_lock(&THR_LOCK_myisam);

  if (ci->index_file_name)
  {
    fn_format(filename, ci->index_file_name,"",MI_NAME_IEXT,4);
+9 −15
Original line number Diff line number Diff line
@@ -415,13 +415,10 @@ void end_thr_alarm(my_bool free_structures)
    if (free_structures)
    {
      struct timespec abstime;
      /*
	The following test is just for safety, the caller should not
	depend on this
      */

      DBUG_ASSERT(!alarm_queue.elements);
      /* Wait until alarm thread dies */

      /* Wait until alarm thread dies */
      set_timespec(abstime, 10);		/* Wait up to 10 seconds */
      while (alarm_thread_running)
      {
@@ -429,8 +426,6 @@ void end_thr_alarm(my_bool free_structures)
	if (error == ETIME || error == ETIMEDOUT)
	  break;				/* Don't wait forever */
      }
      if (!alarm_queue.elements)
      {
      delete_queue(&alarm_queue);
      alarm_aborted= 1;
      pthread_mutex_unlock(&LOCK_alarm);
@@ -440,7 +435,6 @@ void end_thr_alarm(my_bool free_structures)
        pthread_cond_destroy(&COND_alarm);
      }
    }
    }
    else
      pthread_mutex_unlock(&LOCK_alarm);
  }
+3 −0
Original line number Diff line number Diff line
@@ -255,7 +255,10 @@ static void start_and_monitor_instance(Instance_options *old_instance_options,
  log_info("starting instance %s", instance_name_buff);

  if (start_process(old_instance_options, &process_info))
  {
    instance_map->unlock();
    return;                                     /* error is logged */
  }

  /* allow users to delete instances */
  instance_map->unlock();
+4 −3
Original line number Diff line number Diff line
@@ -1069,9 +1069,9 @@ int decimal2longlong(decimal_t *from, longlong *to)
    }
  }
  /* boundary case: 9223372036854775808 */
  if (unlikely(from->sign==0 && x < 0 && -x < 0))
  if (unlikely(from->sign==0 && x == LONGLONG_MIN))
  {
    *to= -1-x;
    *to= LONGLONG_MAX;
    return E_DEC_OVERFLOW;
  }

@@ -2675,7 +2675,8 @@ void test_pr(const char *s1, int prec, int dec, char filler, const char *orig,
  int slen= sizeof(s2);
  int res;

  sprintf(s, "'%s', %d, %d, '%c'", s1, prec, dec, filler);
  sprintf(s, filler ? "'%s', %d, %d, '%c'" : "'%s', %d, %d, '\\0'",
          s1, prec, dec, filler);
  end= strend(s1);
  string2decimal(s1, &a, &end);
  res= decimal2string(&a, s2, &slen, prec, dec, filler);