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

Move HA_EXTRA_NO_READCHECK to ha_open

Fixed bug in multi-table-delete
parent bea12d76
Loading
Loading
Loading
Loading
+7 −0
Original line number Diff line number Diff line
@@ -48135,6 +48135,13 @@ Our TODO section contains what we plan to have in 4.0. @xref{TODO MySQL 4.0}.
@itemize @bullet
@item
Fixed bug in multi table delete.
@item
Fixed bug in @code{SELECT CONCAT(argument-list) ... GROUP BY 1}.
@item
@code{SELECT .. INSERT} did a full rollback in case of an error. Fixed
so that we only rollback the last statement.
@item
Fixed bug with empty expression for boolean fulltext search.
@item
Fixed core dump bug in updating fulltext key from/to @code{NULL}.
+1 −0
Original line number Diff line number Diff line
@@ -108,6 +108,7 @@ enum enum_server_command {COM_SLEEP,COM_QUIT,COM_INIT_DB,COM_QUERY,
struct st_vio;					/* Only C */
typedef struct st_vio Vio;

#define MAX_CHAR_WIDTH		255	// Max length for a CHAR colum
#define MAX_BLOB_WIDTH		8192	// Default width for blob

typedef struct st_net {
+22 −0
Original line number Diff line number Diff line
@@ -1101,3 +1101,25 @@ INFO_NOTE
select INFO_NOTE from t1 where STR_DATE > '20010610';
INFO_NOTE
drop table t1;
create table t1 (a int not null, b int, primary key (a)) type =bdb;
create table t2 (a int not null, b int, primary key (a)) type =bdb;
insert into t1 values (2, 3),(1, 7),(10, 7);
insert into t2 values (2, 3),(1, 7),(10, 7);
select * from t1;
a	b
1	7
2	3
10	7
select * from t2;
a	b
1	7
2	3
10	7
delete t1, t2 from t1, t2 where t1.a = t2.a;
select * from t1;
a	b
select * from t2;
a	b
select * from t2;
a	b
drop table t1,t2;
+27 −0
Original line number Diff line number Diff line
@@ -344,3 +344,30 @@ a 1
b	1
SET SQL_BIG_TABLES=0;
drop table t1;
CREATE TABLE t1 (
`a` char(193) default NULL,
`b` char(63) default NULL
);
INSERT INTO t1 VALUES ('abc','def'),('hij','klm');
SELECT CONCAT(a, b) FROM t1 GROUP BY 1;
CONCAT(a, b)
abcdef
hijklm
SELECT CONCAT(a, b),count(*) FROM t1 GROUP BY 1;
CONCAT(a, b)	count(*)
abcdef	1
hijklm	1
SELECT CONCAT(a, b),count(distinct a) FROM t1 GROUP BY 1;
CONCAT(a, b)	count(distinct a)
abcdef	1
hijklm	1
SELECT 1 FROM t1 GROUP BY CONCAT(a, b);
1
1
1
INSERT INTO t1 values ('hij','klm');
SELECT CONCAT(a, b),count(*) FROM t1 GROUP BY 1;
CONCAT(a, b)	count(*)
abcdef	1
hijklm	2
DROP TABLE t1;
+16 −0
Original line number Diff line number Diff line
@@ -767,3 +767,19 @@ select INFO_NOTE from t1 where STR_DATE = '20010610';
select INFO_NOTE from t1 where STR_DATE < '20010610';
select INFO_NOTE from t1 where STR_DATE > '20010610';
drop table t1;

#
# Test problem with multi table delete which quickly shows up with bdb tables.
#

create table t1 (a int not null, b int, primary key (a)) type =bdb;
create table t2 (a int not null, b int, primary key (a)) type =bdb;
insert into t1 values (2, 3),(1, 7),(10, 7);
insert into t2 values (2, 3),(1, 7),(10, 7);
select * from t1;
select * from t2;
delete t1, t2 from t1, t2 where t1.a = t2.a;
select * from t1;
select * from t2;
select * from t2;
drop table t1,t2;
Loading