Commit 9498ed78 authored by serg@serg.mysql.com's avatar serg@serg.mysql.com
Browse files

Merge work:/home/bk/mysql-4.0

into serg.mysql.com:/usr/home/serg/Abk/mysql-4.0
parents 0989224b 99a954f4
Loading
Loading
Loading
Loading
+0 −6
Original line number Diff line number Diff line
@@ -920,12 +920,6 @@ create table t1 (t int not null default 1, key (t)) type=innodb;
desc t1;
Field	Type	Null	Key	Default	Extra
t	int(11)		MUL	1	
handler t1 open t1;
Table handler for 't1' doesn't have this option
handler t1 read t first;
Unknown table 't1' in HANDLER
handler t1 close;
Unknown table 't1' in HANDLER
drop table t1;
CREATE TABLE t1 (
number bigint(20) NOT NULL default '0',
+139 −0
Original line number Diff line number Diff line
drop table if exists t1;
create table t1 (a int, b char(10), key a(a), key b(a,b)) type=innodb;
insert into t1 values
(17,"ddd"),(18,"eee"),(19,"fff"),(19,"yyy"),
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
(20,"ggg"),(21,"hhh"),(22,"iii");
handler t1 open as t2;
handler t2 read a first;
a	b
14	aaa
handler t2 read a next;
a	b
15	bbb
handler t2 read a next;
a	b
16	ccc
handler t2 read a prev;
a	b
15	bbb
handler t2 read a last;
a	b
22	iii
handler t2 read a prev;
a	b
21	hhh
handler t2 read a prev;
a	b
20	ggg
handler t2 read a first;
a	b
14	aaa
handler t2 read a prev;
a	b
handler t2 read a last;
a	b
22	iii
handler t2 read a prev;
a	b
21	hhh
handler t2 read a next;
a	b
22	iii
handler t2 read a next;
a	b
handler t2 read a=(15);
a	b
15	bbb
handler t2 read a=(16);
a	b
16	ccc
handler t2 read a=(19,"fff");
Too many key parts specified. Max 1 parts allowed
handler t2 read b=(19,"fff");
a	b
19	fff
handler t2 read b=(19,"yyy");
a	b
19	yyy
handler t2 read b=(19);
a	b
19	fff
handler t1 read a last;
Unknown table 't1' in HANDLER
handler t2 read a=(11);
a	b
handler t2 read a>=(11);
a	b
14	aaa
handler t2 read a=(18);
a	b
18	eee
handler t2 read a>=(18);
a	b
18	eee
handler t2 read a>(18);
a	b
19	fff
handler t2 read a<=(18);
a	b
18	eee
handler t2 read a<(18);
a	b
17	ddd
handler t2 read a first limit 5;
a	b
14	aaa
15	bbb
16	ccc
16	xxx
17	ddd
handler t2 read a next  limit 3;
a	b
18	eee
19	fff
19	yyy
handler t2 read a prev  limit 10;
a	b
19	fff
18	eee
17	ddd
16	xxx
16	ccc
15	bbb
14	aaa
handler t2 read a>=(16) limit 4;
a	b
16	ccc
16	xxx
17	ddd
18	eee
handler t2 read a>=(16) limit 2,2;
a	b
17	ddd
18	eee
handler t2 read a last  limit 3;
a	b
22	iii
21	hhh
20	ggg
handler t2 read a=(19);
a	b
19	fff
handler t2 read a=(19) where b="yyy";
a	b
19	yyy
handler t2 read first;
a	b
17	ddd
handler t2 read next;
a	b
18	eee
alter table t1 type=innodb;
handler t2 read next;
a	b
19	fff
handler t2 read last;
You have an error in your SQL syntax near '' at line 1
handler t2 close;
drop table if exists t1;
+1 −7
Original line number Diff line number Diff line
@@ -578,17 +578,11 @@ explain select a,b,c from t1;
drop table t1;

#
# Check describe & handler
# Check describe
#

create table t1 (t int not null default 1, key (t)) type=innodb;
desc t1;
--error 1031
handler t1 open t1;
--error 1109
handler t1 read t first;
--error 1109
handler t1 close;
drop table t1;

#
+69 −0
Original line number Diff line number Diff line
-- source include/have_innodb.inc

#
# test of HANDLER ...
#

drop table if exists t1;
create table t1 (a int, b char(10), key a(a), key b(a,b)) type=innodb;
insert into t1 values
(17,"ddd"),(18,"eee"),(19,"fff"),(19,"yyy"),
(14,"aaa"),(15,"bbb"),(16,"ccc"),(16,"xxx"),
(20,"ggg"),(21,"hhh"),(22,"iii");
handler t1 open as t2;
handler t2 read a first;
handler t2 read a next;
handler t2 read a next;
handler t2 read a prev;
handler t2 read a last;
handler t2 read a prev;
handler t2 read a prev;

handler t2 read a first;
handler t2 read a prev;

handler t2 read a last;
handler t2 read a prev;
handler t2 read a next;
handler t2 read a next;

handler t2 read a=(15);
handler t2 read a=(16);

!$1070 handler t2 read a=(19,"fff");

handler t2 read b=(19,"fff");
handler t2 read b=(19,"yyy");
handler t2 read b=(19);

!$1109 handler t1 read a last;

handler t2 read a=(11);
handler t2 read a>=(11);

handler t2 read a=(18);
handler t2 read a>=(18);
handler t2 read a>(18);
handler t2 read a<=(18);
handler t2 read a<(18);

handler t2 read a first limit 5;
handler t2 read a next  limit 3;
handler t2 read a prev  limit 10;

handler t2 read a>=(16) limit 4;
handler t2 read a>=(16) limit 2,2;
handler t2 read a last  limit 3;

handler t2 read a=(19);
handler t2 read a=(19) where b="yyy";

handler t2 read first;
handler t2 read next;
alter table t1 type=innodb;
handler t2 read next;
!$1064 handler t2 read last;

handler t2 close;
drop table if exists t1;
+0 −5
Original line number Diff line number Diff line
@@ -404,7 +404,6 @@ ha_innobase::update_thd(
	return(0);
}

#ifdef notdefined
/* The code here appears for documentational purposes only. Not used
or tested yet. Will be used in 4.1. */
/*********************************************************************
@@ -420,9 +419,6 @@ ha_innobase::init_table_handle_for_HANDLER(void)
{
        row_prebuilt_t* prebuilt;

	ut_a(0); /* the code has not been used or tested yet; to prevent
		  inadvertent usage we assert an error here */

        /* If current thd does not yet have a trx struct, create one.
        If the current handle does not yet have a prebuilt struct, create
        one. Update the trx pointers in the prebuilt struct. Normally
@@ -462,7 +458,6 @@ ha_innobase::init_table_handle_for_HANDLER(void)

        prebuilt->read_just_key = FALSE;
}
#endif

/*************************************************************************
Opens an InnoDB database. */
Loading