Commit 20005fad authored by monty@hundin.mysql.fi's avatar monty@hundin.mysql.fi
Browse files

Merge work:/home/bk/mysql-4.0 into hundin.mysql.fi:/my/bk/mysql-4.0

parents 510bb7b1 33f84cf8
Loading
Loading
Loading
Loading
+0 −2
Original line number Diff line number Diff line
@@ -24,10 +24,8 @@
#define main main1
#define mysql_unix_port mysql_inix_port1
#define mysql_port mysql_port1
#if !defined(__WIN__)
#define net_read_timeout net_read_timeout1
#define net_write_timeout net_write_timeout1
#endif
#define changeable_vars changeable_vars1

extern "C"
+1 −1
Original line number Diff line number Diff line
@@ -701,7 +701,7 @@ merge_buffers(MI_SORT_PARAM *info, uint keys, IO_CACHE *from_file,

  if (init_queue(&queue,(uint) (Tb-Fb)+1,offsetof(BUFFPEK,key),0,
                 (int (*)(void*, byte *,byte*)) info->key_cmp,
                 (void*) info->sort_info))
                 (void*) info))
    DBUG_RETURN(1); /* purecov: inspected */

  for (buffpek= Fb ; buffpek <= Tb ; buffpek++)
+22 −0
Original line number Diff line number Diff line
@@ -75,3 +75,25 @@ explain select a,b,c from t1;
table	type	possible_keys	key	key_len	ref	rows	Extra
t1	ALL	NULL	NULL	NULL	NULL	4	
drop table t1;
CREATE TABLE `t1` (
`post_id` mediumint(8) unsigned NOT NULL auto_increment,
`topic_id` mediumint(8) unsigned NOT NULL default '0',
`post_time` datetime NOT NULL default '0000-00-00 00:00:00',
`post_text` text NOT NULL,
`icon_url` varchar(10) NOT NULL default '',
`sign` tinyint(1) unsigned NOT NULL default '0',
`post_edit` varchar(150) NOT NULL default '',
`poster_login` varchar(35) NOT NULL default '',
`ip` varchar(15) NOT NULL default '',
PRIMARY KEY  (`post_id`),
KEY `post_time` (`post_time`),
KEY `ip` (`ip`),
KEY `poster_login` (`poster_login`),
KEY `topic_id` (`topic_id`),
FULLTEXT KEY `post_text` (`post_text`)
) TYPE=MyISAM;
INSERT INTO t1 (post_text) VALUES ('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test');
REPAIR TABLE t1;
Table	Op	Msg_type	Msg_text
test.t1	repair	status	OK
drop table t1;
+27 −0
Original line number Diff line number Diff line
@@ -66,3 +66,30 @@ explain select a,b from t1 order by b;
explain select a,b from t1;
explain select a,b,c from t1;
drop table t1;

#
# Test of REPAIR that once failed
#
CREATE TABLE `t1` (
  `post_id` mediumint(8) unsigned NOT NULL auto_increment,
  `topic_id` mediumint(8) unsigned NOT NULL default '0',
  `post_time` datetime NOT NULL default '0000-00-00 00:00:00',
  `post_text` text NOT NULL,
  `icon_url` varchar(10) NOT NULL default '',
  `sign` tinyint(1) unsigned NOT NULL default '0',
  `post_edit` varchar(150) NOT NULL default '',
  `poster_login` varchar(35) NOT NULL default '',
  `ip` varchar(15) NOT NULL default '',
  PRIMARY KEY  (`post_id`),
  KEY `post_time` (`post_time`),
  KEY `ip` (`ip`),
  KEY `poster_login` (`poster_login`),
  KEY `topic_id` (`topic_id`),
  FULLTEXT KEY `post_text` (`post_text`)
) TYPE=MyISAM;

INSERT INTO t1 (post_text) VALUES ('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test'),('ceci est un test');

REPAIR TABLE t1;
drop table t1;
+4 −2
Original line number Diff line number Diff line
@@ -379,8 +379,10 @@ static int check_ptr(const char *where, byte *ptr, const char *sFile,
static int legal_leak(struct remember* pPtr)
{
  /* TODO: This code needs to be made more general */
  return (pthread_self() == pPtr->thread_id || main_th == pPtr->thread_id ||
	  shutdown_th == pPtr->thread_id || signal_th == pPtr->thread_id);
  return (pthread_equal(pthread_self(), pPtr->thread_id) ||
	  pthread_equal(main_th, pPtr->thread_id) ||
	  pthread_equal(shutdown_th,pPtr->thread_id) ||
	  pthread_equal(signal_th,pPtr->thread_id));
}
#endif /* THREAD */