Commit ddd18a89 authored by unknown's avatar unknown

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

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

parents bd8b5dc8 cbad9e2c
...@@ -29,38 +29,6 @@ z varchar(20) binary NOT NULL DEFAULT ' ', ...@@ -29,38 +29,6 @@ z varchar(20) binary NOT NULL DEFAULT ' ',
a1 varchar(30) binary NOT NULL DEFAULT ' ', a1 varchar(30) binary NOT NULL DEFAULT ' ',
b1 tinyblob NULL) b1 tinyblob NULL)
ENGINE=InnoDB DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin; ENGINE=InnoDB DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin;
SHOW CREATE TABLE t1;
Table Create Table
t1 CREATE TABLE `t1` (
`a` varchar(30) collate latin1_bin NOT NULL default ' ',
`b` varchar(1) collate latin1_bin NOT NULL default ' ',
`c` varchar(4) collate latin1_bin NOT NULL default '0000',
`d` tinyblob,
`e` tinyblob,
`f` tinyblob,
`g` tinyblob,
`h` tinyblob,
`i` tinyblob,
`j` tinyblob,
`k` tinyblob,
`l` tinyblob,
`m` tinyblob,
`n` tinyblob,
`o` tinyblob,
`p` tinyblob,
`q` varchar(30) collate latin1_bin NOT NULL default ' ',
`r` varchar(30) collate latin1_bin NOT NULL default ' ',
`s` tinyblob,
`t` varchar(4) collate latin1_bin NOT NULL default ' ',
`u` varchar(1) collate latin1_bin NOT NULL default ' ',
`v` varchar(30) collate latin1_bin NOT NULL default ' ',
`w` varchar(30) collate latin1_bin NOT NULL default ' ',
`x` tinyblob,
`y` varchar(5) collate latin1_bin NOT NULL default ' ',
`z` varchar(20) collate latin1_bin NOT NULL default ' ',
`a1` varchar(30) collate latin1_bin NOT NULL default ' ',
`b1` tinyblob
) ENGINE=InnoDB DEFAULT CHARSET=latin1 COLLATE=latin1_bin
INSERT into t1 (b) values ('1'); INSERT into t1 (b) values ('1');
SHOW WARNINGS; SHOW WARNINGS;
Level Code Message Level Code Message
......
...@@ -1972,29 +1972,23 @@ a ...@@ -1972,29 +1972,23 @@ a
b b
c c
d d
create table bug12672 ( create table t4 (
pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' ' pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
) engine=innodb; ) engine=innodb;
insert into bug12672 (a1, a2, b, c, d, dummy) select * from t1; insert into t4 (a1, a2, b, c, d, dummy) select * from t1;
create index idx12672_0 on bug12672 (a1); create index idx12672_0 on t4 (a1);
create index idx12672_1 on bug12672 (a1,a2,b,c); create index idx12672_1 on t4 (a1,a2,b,c);
create index idx12672_2 on bug12672 (a1,a2,b); create index idx12672_2 on t4 (a1,a2,b);
analyze table t1; analyze table t1;
Table Op Msg_type Msg_text Table Op Msg_type Msg_text
test.t1 analyze status Table is already up to date test.t1 analyze status Table is already up to date
explain select distinct a1 from bug12672 where pk_col not in (1,2,3,4); select distinct a1 from t4 where pk_col not in (1,2,3,4);
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE bug12672 range PRIMARY PRIMARY 4 NULL # Using where; Using temporary
select distinct a1 from bug12672 where pk_col not in (1,2,3,4);
a1 a1
a a
b b
c c
d d
drop table bug12672; drop table t1,t2,t3,t4;
drop table t1;
drop table t2;
drop table t3;
create table t1 ( create table t1 (
a varchar(30), b varchar(30), primary key(a), key(b) a varchar(30), b varchar(30), primary key(a), key(b)
) engine=innodb; ) engine=innodb;
......
...@@ -40,7 +40,6 @@ CREATE TABLE t1 (a varchar(30) binary NOT NULL DEFAULT ' ', ...@@ -40,7 +40,6 @@ CREATE TABLE t1 (a varchar(30) binary NOT NULL DEFAULT ' ',
ENGINE=InnoDB DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin; ENGINE=InnoDB DEFAULT CHARACTER SET = latin1 COLLATE latin1_bin;
--enable_warnings --enable_warnings
SHOW CREATE TABLE t1;
INSERT into t1 (b) values ('1'); INSERT into t1 (b) values ('1');
SHOW WARNINGS; SHOW WARNINGS;
SELECT * from t1; SELECT * from t1;
......
...@@ -655,26 +655,21 @@ select distinct a1 from t1 where a2 = 'b'; ...@@ -655,26 +655,21 @@ select distinct a1 from t1 where a2 = 'b';
# Bug #12672: primary key implcitly included in every innodb index # Bug #12672: primary key implcitly included in every innodb index
# #
create table bug12672 ( --disable_warnings
create table t4 (
pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' ' pk_col int auto_increment primary key, a1 char(64), a2 char(64), b char(16), c char(16) not null, d char(16), dummy char(64) default ' '
) engine=innodb; ) engine=innodb;
--enable_warnings
insert into t4 (a1, a2, b, c, d, dummy) select * from t1;
insert into bug12672 (a1, a2, b, c, d, dummy) select * from t1; create index idx12672_0 on t4 (a1);
create index idx12672_1 on t4 (a1,a2,b,c);
create index idx12672_0 on bug12672 (a1); create index idx12672_2 on t4 (a1,a2,b);
create index idx12672_1 on bug12672 (a1,a2,b,c);
create index idx12672_2 on bug12672 (a1,a2,b);
analyze table t1; analyze table t1;
--replace_column 9 # select distinct a1 from t4 where pk_col not in (1,2,3,4);
explain select distinct a1 from bug12672 where pk_col not in (1,2,3,4);
select distinct a1 from bug12672 where pk_col not in (1,2,3,4);
drop table bug12672;
drop table t1; drop table t1,t2,t3,t4;
drop table t2;
drop table t3;
# #
# Bug #6142: a problem with the empty innodb table # Bug #6142: a problem with the empty innodb table
......
...@@ -2043,6 +2043,7 @@ drop view v1; ...@@ -2043,6 +2043,7 @@ drop view v1;
drop table t1; drop table t1;
# BUG#12941 # BUG#12941
# #
--disable_warnings
create table t1 ( create table t1 (
r_object_id char(16) NOT NULL, r_object_id char(16) NOT NULL,
group_name varchar(32) NOT NULL group_name varchar(32) NOT NULL
...@@ -2053,6 +2054,7 @@ create table t2 ( ...@@ -2053,6 +2054,7 @@ create table t2 (
i_position int(11) NOT NULL, i_position int(11) NOT NULL,
users_names varchar(32) default NULL users_names varchar(32) default NULL
) Engine = InnoDB; ) Engine = InnoDB;
--enable_warnings
create view v1 as select r_object_id, group_name from t1; create view v1 as select r_object_id, group_name from t1;
create view v2 as select r_object_id, i_position, users_names from t2; create view v2 as select r_object_id, i_position, users_names from t2;
......
...@@ -234,6 +234,16 @@ static int free_share(TINA_SHARE *share) ...@@ -234,6 +234,16 @@ static int free_share(TINA_SHARE *share)
DBUG_RETURN(result_code); DBUG_RETURN(result_code);
} }
bool tina_end()
{
if (tina_init)
{
hash_free(&tina_open_tables);
VOID(pthread_mutex_destroy(&tina_mutex));
}
tina_init= 0;
return FALSE;
}
/* /*
Finds the end of a line. Finds the end of a line.
......
...@@ -126,3 +126,6 @@ public: ...@@ -126,3 +126,6 @@ public:
int find_current_row(byte *buf); int find_current_row(byte *buf);
int chain_append(); int chain_append();
}; };
bool tina_end();
...@@ -578,6 +578,10 @@ int ha_panic(enum ha_panic_function flag) ...@@ -578,6 +578,10 @@ int ha_panic(enum ha_panic_function flag)
#ifdef HAVE_ARCHIVE_DB #ifdef HAVE_ARCHIVE_DB
if (have_archive_db == SHOW_OPTION_YES) if (have_archive_db == SHOW_OPTION_YES)
error|= archive_db_end(); error|= archive_db_end();
#endif
#ifdef HAVE_CSV_DB
if (have_csv_db == SHOW_OPTION_YES)
error|= tina_end();
#endif #endif
if (ha_finish_errors()) if (ha_finish_errors())
error= 1; error= 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment