Merge with 4.0 to get fix for MIN/MAX
BitKeeper/etc/ignore: added support-files/MacOSX/Info.plist Makefile.am: Auto merged include/my_global.h: Auto merged mysql-test/r/distinct.result: Auto merged mysql-test/r/innodb.result: Auto merged mysql-test/r/join.result: Auto merged mysql-test/t/innodb.test: Auto merged mysql-test/t/order_by.test: Auto merged mysql-test/t/show_check.test: Auto merged sql/filesort.cc: Auto merged sql/ha_innodb.cc: Auto merged sql/lex.h: Auto merged sql/opt_range.cc: Auto merged sql/opt_range.h: Auto merged sql/slave.cc: Auto merged sql/sql_parse.cc: Auto merged sql/sql_select.cc: Auto merged configure.in: Use local version mysql-test/r/func_group.result: merge mysql-test/r/order_by.result: merge mysql-test/r/show_check.result: merge mysql-test/t/func_group.test: merge mysql-test/t/join.test: merge sql/mysql_priv.h: Use local version sql/sql_yacc.yy: merge sql/table.cc: USe local
This commit is contained in:
commit
e751d29836
@ -594,3 +594,5 @@ cmd-line-utils/libedit/common.h
|
|||||||
stamp-h2
|
stamp-h2
|
||||||
stamp-h3
|
stamp-h3
|
||||||
stamp-h4
|
stamp-h4
|
||||||
|
support-files/MacOSX/Description.plist
|
||||||
|
support-files/MacOSX/Info.plist
|
||||||
|
@ -88,4 +88,3 @@ tags:
|
|||||||
|
|
||||||
test:
|
test:
|
||||||
cd mysql-test ; ./mysql-test-run
|
cd mysql-test ; ./mysql-test-run
|
||||||
|
|
||||||
|
@ -769,6 +769,14 @@ typedef char bool; /* Ordinary boolean values 0 1 */
|
|||||||
#define INT32(v) (int32) (v)
|
#define INT32(v) (int32) (v)
|
||||||
#define MYF(v) (myf) (v)
|
#define MYF(v) (myf) (v)
|
||||||
|
|
||||||
|
#ifndef LL
|
||||||
|
#ifdef HAVE_LONG_LONG
|
||||||
|
#define LL(A) A ## LL
|
||||||
|
#else
|
||||||
|
#define LL(A) A ## L
|
||||||
|
#endif
|
||||||
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
Defines to make it possible to prioritize register assignments. No
|
Defines to make it possible to prioritize register assignments. No
|
||||||
longer that important with modern compilers.
|
longer that important with modern compilers.
|
||||||
|
@ -301,7 +301,7 @@ page_cur_search_with_match(
|
|||||||
/* This means current dfield is not SQL
|
/* This means current dfield is not SQL
|
||||||
NULL, and the current rec field extends it */
|
NULL, and the current rec field extends it */
|
||||||
|
|
||||||
low = mid;
|
low_rec = mid_rec;
|
||||||
low_matched_fields = cur_matched_fields;
|
low_matched_fields = cur_matched_fields;
|
||||||
low_matched_bytes = cur_matched_bytes;
|
low_matched_bytes = cur_matched_bytes;
|
||||||
} else {
|
} else {
|
||||||
|
@ -77,7 +77,6 @@ NULL NULL
|
|||||||
10 VMT
|
10 VMT
|
||||||
select id+0 as a,max(id),concat(facility) as b from t1 group by a order by b desc,a;
|
select id+0 as a,max(id),concat(facility) as b from t1 group by a order by b desc,a;
|
||||||
a max(id) b
|
a max(id) b
|
||||||
NULL NULL NULL
|
|
||||||
10 10 VMT
|
10 10 VMT
|
||||||
9 9 SRV
|
9 9 SRV
|
||||||
8 8 RV
|
8 8 RV
|
||||||
@ -90,6 +89,7 @@ NULL NULL NULL
|
|||||||
1 1 /L
|
1 1 /L
|
||||||
-1 -1
|
-1 -1
|
||||||
0 0
|
0 0
|
||||||
|
NULL NULL NULL
|
||||||
select id >= 0 and id <= 5 as grp,count(*) from t1 group by grp;
|
select id >= 0 and id <= 5 as grp,count(*) from t1 group by grp;
|
||||||
grp count(*)
|
grp count(*)
|
||||||
NULL 1
|
NULL 1
|
||||||
|
@ -42,8 +42,8 @@ insert into t1 values (null,null,'');
|
|||||||
select count(distinct a),count(distinct grp) from t1;
|
select count(distinct a),count(distinct grp) from t1;
|
||||||
count(distinct a) count(distinct grp)
|
count(distinct a) count(distinct grp)
|
||||||
6 3
|
6 3
|
||||||
select sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1;
|
select sum(all a),count(all a),avg(all a),std(all a),bit_or(all a),bit_and(all a),min(all a),max(all a),min(all c),max(all c) from t1;
|
||||||
sum(a) count(a) avg(a) std(a) variance(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
|
sum(all a) count(all a) avg(all a) std(all a) bit_or(all a) bit_and(all a) min(all a) max(all a) min(all c) max(all c)
|
||||||
21 6 3.5000 1.7078 2.9167 7 0 1 6 E
|
21 6 3.5000 1.7078 2.9167 7 0 1 6 E
|
||||||
select grp, sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
|
select grp, sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
|
||||||
grp sum(a) count(a) avg(a) std(a) variance(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
|
grp sum(a) count(a) avg(a) std(a) variance(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
|
||||||
|
@ -290,7 +290,7 @@ select * from t1;
|
|||||||
id val
|
id val
|
||||||
drop table t1;
|
drop table t1;
|
||||||
create table t1 (a integer) type=innodb;
|
create table t1 (a integer) type=innodb;
|
||||||
begin;
|
start transaction;
|
||||||
rename table t1 to t2;
|
rename table t1 to t2;
|
||||||
create table t1 (b integer) type=innodb;
|
create table t1 (b integer) type=innodb;
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
|
@ -1,4 +1,34 @@
|
|||||||
drop table if exists t1,t2,t3;
|
drop table if exists t1,t2,t3;
|
||||||
|
CREATE TABLE t1 (S1 INT);
|
||||||
|
CREATE TABLE t2 (S1 INT);
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
INSERT INTO t2 VALUES (2);
|
||||||
|
SELECT * FROM t1 JOIN t2;
|
||||||
|
S1 S1
|
||||||
|
1 2
|
||||||
|
SELECT * FROM t1 INNER JOIN t2;
|
||||||
|
S1 S1
|
||||||
|
1 2
|
||||||
|
SELECT * from t1 JOIN t2 USING (S1);
|
||||||
|
S1 S1
|
||||||
|
SELECT * FROM t1 INNER JOIN t2 USING (S1);
|
||||||
|
S1 S1
|
||||||
|
SELECT * from t1 CROSS JOIN t2;
|
||||||
|
S1 S1
|
||||||
|
1 2
|
||||||
|
SELECT * from t1 LEFT JOIN t2 USING(S1);
|
||||||
|
S1 S1
|
||||||
|
1 NULL
|
||||||
|
SELECT * from t1 LEFT JOIN t2 ON(t2.S1=2);
|
||||||
|
S1 S1
|
||||||
|
1 2
|
||||||
|
SELECT * from t1 RIGHT JOIN t2 USING(S1);
|
||||||
|
S1 S1
|
||||||
|
NULL 2
|
||||||
|
SELECT * from t1 RIGHT JOIN t2 ON(t1.S1=1);
|
||||||
|
S1 S1
|
||||||
|
1 2
|
||||||
|
drop table t1,t2;
|
||||||
create table t1 (id int primary key);
|
create table t1 (id int primary key);
|
||||||
create table t2 (id int);
|
create table t2 (id int);
|
||||||
insert into t1 values (75);
|
insert into t1 values (75);
|
||||||
|
@ -303,7 +303,7 @@ a b c
|
|||||||
1 NULL b
|
1 NULL b
|
||||||
explain select * from t1 where a >= 1 and a < 3 and b >0 order by a desc,b desc;
|
explain select * from t1 where a >= 1 and a < 3 and b >0 order by a desc,b desc;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 range a a 9 NULL 8 Using where; Using index; Using filesort
|
1 SIMPLE t1 range a a 9 NULL 8 Using where; Using index
|
||||||
explain select * from t1 where a = 2 and b >0 order by a desc,b desc;
|
explain select * from t1 where a = 2 and b >0 order by a desc,b desc;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 range a a 9 NULL 5 Using where; Using index
|
1 SIMPLE t1 range a a 9 NULL 5 Using where; Using index
|
||||||
@ -319,7 +319,15 @@ id select_type table type possible_keys key key_len ref rows Extra
|
|||||||
1 SIMPLE t1 range a a 9 NULL 5 Using where; Using index
|
1 SIMPLE t1 range a a 9 NULL 5 Using where; Using index
|
||||||
explain select * from t1 where a = 2 and b < 2 order by a desc,b desc;
|
explain select * from t1 where a = 2 and b < 2 order by a desc,b desc;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
1 SIMPLE t1 range a a 9 NULL 2 Using where; Using index; Using filesort
|
1 SIMPLE t1 range a a 9 NULL 2 Using where; Using index;
|
||||||
|
select * from t1 where a = 1 order by b desc;
|
||||||
|
a b c
|
||||||
|
1 3 b
|
||||||
|
1 1 b
|
||||||
|
1 1 b
|
||||||
|
1 1 NULL
|
||||||
|
1 NULL b
|
||||||
|
1 NULL NULL
|
||||||
alter table t1 modify b int not null, modify c varchar(10) not null;
|
alter table t1 modify b int not null, modify c varchar(10) not null;
|
||||||
explain select * from t1 order by a, b, c;
|
explain select * from t1 order by a, b, c;
|
||||||
id select_type table type possible_keys key key_len ref rows Extra
|
id select_type table type possible_keys key key_len ref rows Extra
|
||||||
|
@ -171,6 +171,62 @@ f double(5,0) binary YES NULL select,insert,update,references
|
|||||||
h float(3,2) binary YES NULL select,insert,update,references
|
h float(3,2) binary YES NULL select,insert,update,references
|
||||||
i float(3,0) binary YES NULL select,insert,update,references
|
i float(3,0) binary YES NULL select,insert,update,references
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
create table t1 (
|
||||||
|
type_bool bool not null,
|
||||||
|
type_tiny tinyint not null auto_increment primary key,
|
||||||
|
type_short smallint(3),
|
||||||
|
type_mediumint mediumint,
|
||||||
|
type_bigint bigint,
|
||||||
|
type_decimal decimal(5,2),
|
||||||
|
type_numeric numeric(5,2),
|
||||||
|
empty_char char(0),
|
||||||
|
type_char char(2),
|
||||||
|
type_varchar varchar(10),
|
||||||
|
type_timestamp timestamp not null,
|
||||||
|
type_date date not null,
|
||||||
|
type_time time not null,
|
||||||
|
type_datetime datetime not null,
|
||||||
|
type_year year,
|
||||||
|
type_enum enum ('red', 'green', 'blue'),
|
||||||
|
type_set enum ('red', 'green', 'blue'),
|
||||||
|
type_tinyblob tinyblob,
|
||||||
|
type_blob blob,
|
||||||
|
type_medium_blob mediumblob,
|
||||||
|
type_long_blob longblob,
|
||||||
|
index(type_short)
|
||||||
|
) AVG_ROW_LENGTH=10 CHECKSUM=1 COMMENT="test" TYPE=MYISAM MIN_ROWS=10 MAX_ROWS=100 PACK_KEYS=1 DELAY_KEY_WRITE=1 ROW_FORMAT=fixed CHARSET=latin1;
|
||||||
|
show create table t1;
|
||||||
|
Table Create Table
|
||||||
|
t1 CREATE TABLE `t1` (
|
||||||
|
`type_bool` tinyint(1) NOT NULL default '0',
|
||||||
|
`type_tiny` tinyint(4) NOT NULL auto_increment,
|
||||||
|
`type_short` smallint(3) default NULL,
|
||||||
|
`type_mediumint` mediumint(9) default NULL,
|
||||||
|
`type_bigint` bigint(20) default NULL,
|
||||||
|
`type_decimal` decimal(5,2) default NULL,
|
||||||
|
`type_numeric` decimal(5,2) default NULL,
|
||||||
|
`empty_char` char(0) default NULL,
|
||||||
|
`type_char` char(2) default NULL,
|
||||||
|
`type_varchar` varchar(10) default NULL,
|
||||||
|
`type_timestamp` timestamp(14) NOT NULL,
|
||||||
|
`type_date` date NOT NULL default '0000-00-00',
|
||||||
|
`type_time` time NOT NULL default '00:00:00',
|
||||||
|
`type_datetime` datetime NOT NULL default '0000-00-00 00:00:00',
|
||||||
|
`type_year` year(4) default NULL,
|
||||||
|
`type_enum` enum('red','green','blue') default NULL,
|
||||||
|
`type_set` enum('red','green','blue') default NULL,
|
||||||
|
`type_tinyblob` tinyblob,
|
||||||
|
`type_blob` blob,
|
||||||
|
`type_medium_blob` mediumblob,
|
||||||
|
`type_long_blob` longblob,
|
||||||
|
PRIMARY KEY (`type_tiny`),
|
||||||
|
KEY `type_short` (`type_short`)
|
||||||
|
) TYPE=MyISAM MIN_ROWS=10 MAX_ROWS=100 AVG_ROW_LENGTH=10 PACK_KEYS=1 CHECKSUM=1 DELAY_KEY_WRITE=1 ROW_FORMAT=FIXED COMMENT='test'
|
||||||
|
insert into t1 (type_timestamp) values ("2003-02-07 10:00:01");
|
||||||
|
select * from t1;
|
||||||
|
type_bool type_tiny type_short type_mediumint type_bigint type_decimal type_numeric empty_char type_char type_varchar type_timestamp type_date type_time type_datetime type_year type_enum type_set type_tinyblob type_blob type_medium_blob type_long_blob
|
||||||
|
0 1 NULL NULL NULL NULL NULL NULL NULL NULL 20030207100001 0000-00-00 00:00:00 0000-00-00 00:00:00 NULL NULL NULL NULL NULL NULL NULL
|
||||||
|
drop table t1;
|
||||||
create table t1 (c decimal, d double, f float, r real);
|
create table t1 (c decimal, d double, f float, r real);
|
||||||
show columns from t1;
|
show columns from t1;
|
||||||
Field Type Collation Null Key Default Extra
|
Field Type Collation Null Key Default Extra
|
||||||
|
@ -24,7 +24,7 @@ select count(distinct a),count(distinct grp) from t1;
|
|||||||
insert into t1 values (null,null,'');
|
insert into t1 values (null,null,'');
|
||||||
select count(distinct a),count(distinct grp) from t1;
|
select count(distinct a),count(distinct grp) from t1;
|
||||||
|
|
||||||
select sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1;
|
select sum(all a),count(all a),avg(all a),std(all a),bit_or(all a),bit_and(all a),min(all a),max(all a),min(all c),max(all c) from t1;
|
||||||
select grp, sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
|
select grp, sum(a),count(a),avg(a),std(a),variance(a),bit_or(a),bit_and(a),min(a),max(a),min(c),max(c) from t1 group by grp;
|
||||||
select grp, sum(a)+count(a)+avg(a)+std(a)+variance(a)+bit_or(a)+bit_and(a)+min(a)+max(a)+min(c)+max(c) as sum from t1 group by grp;
|
select grp, sum(a)+count(a)+avg(a)+std(a)+variance(a)+bit_or(a)+bit_and(a)+min(a)+max(a)+min(c)+max(c) as sum from t1 group by grp;
|
||||||
|
|
||||||
|
@ -170,7 +170,7 @@ drop table t1;
|
|||||||
#
|
#
|
||||||
|
|
||||||
create table t1 (a integer) type=innodb;
|
create table t1 (a integer) type=innodb;
|
||||||
begin;
|
start transaction;
|
||||||
rename table t1 to t2;
|
rename table t1 to t2;
|
||||||
create table t1 (b integer) type=innodb;
|
create table t1 (b integer) type=innodb;
|
||||||
insert into t1 values (1);
|
insert into t1 values (1);
|
||||||
|
@ -1,10 +1,32 @@
|
|||||||
#
|
#
|
||||||
# This failed for lia Perminov
|
# Initialization
|
||||||
#
|
|
||||||
--disable_warnings
|
--disable_warnings
|
||||||
drop table if exists t1,t2,t3;
|
drop table if exists t1,t2,t3;
|
||||||
--enable_warnings
|
--enable_warnings
|
||||||
|
|
||||||
|
#
|
||||||
|
# Test different join syntaxes
|
||||||
|
#
|
||||||
|
|
||||||
|
CREATE TABLE t1 (S1 INT);
|
||||||
|
CREATE TABLE t2 (S1 INT);
|
||||||
|
INSERT INTO t1 VALUES (1);
|
||||||
|
INSERT INTO t2 VALUES (2);
|
||||||
|
SELECT * FROM t1 JOIN t2;
|
||||||
|
SELECT * FROM t1 INNER JOIN t2;
|
||||||
|
SELECT * from t1 JOIN t2 USING (S1);
|
||||||
|
SELECT * FROM t1 INNER JOIN t2 USING (S1);
|
||||||
|
SELECT * from t1 CROSS JOIN t2;
|
||||||
|
SELECT * from t1 LEFT JOIN t2 USING(S1);
|
||||||
|
SELECT * from t1 LEFT JOIN t2 ON(t2.S1=2);
|
||||||
|
SELECT * from t1 RIGHT JOIN t2 USING(S1);
|
||||||
|
SELECT * from t1 RIGHT JOIN t2 ON(t1.S1=1);
|
||||||
|
drop table t1,t2;
|
||||||
|
|
||||||
|
#
|
||||||
|
# This failed for lia Perminov
|
||||||
|
#
|
||||||
|
|
||||||
create table t1 (id int primary key);
|
create table t1 (id int primary key);
|
||||||
create table t2 (id int);
|
create table t2 (id int);
|
||||||
insert into t1 values (75);
|
insert into t1 values (75);
|
||||||
|
@ -228,7 +228,8 @@ explain select * from t1 where a = 2 and (b is null or b > 0) order by a
|
|||||||
desc,b desc;
|
desc,b desc;
|
||||||
explain select * from t1 where a = 2 and b > 0 order by a desc,b desc;
|
explain select * from t1 where a = 2 and b > 0 order by a desc,b desc;
|
||||||
explain select * from t1 where a = 2 and b < 2 order by a desc,b desc;
|
explain select * from t1 where a = 2 and b < 2 order by a desc,b desc;
|
||||||
|
explain select * from t1 where a = 1 order by b desc;
|
||||||
|
select * from t1 where a = 1 order by b desc;
|
||||||
#
|
#
|
||||||
# Test things when we don't have NULL keys
|
# Test things when we don't have NULL keys
|
||||||
#
|
#
|
||||||
|
@ -86,6 +86,41 @@ show columns from t1;
|
|||||||
show full columns from t1;
|
show full columns from t1;
|
||||||
drop table t1;
|
drop table t1;
|
||||||
|
|
||||||
|
#
|
||||||
|
# Do a create table that tries to cover all types and options
|
||||||
|
#
|
||||||
|
create table t1 (
|
||||||
|
type_bool bool not null,
|
||||||
|
type_tiny tinyint not null auto_increment primary key,
|
||||||
|
type_short smallint(3),
|
||||||
|
type_mediumint mediumint,
|
||||||
|
type_bigint bigint,
|
||||||
|
type_decimal decimal(5,2),
|
||||||
|
type_numeric numeric(5,2),
|
||||||
|
empty_char char(0),
|
||||||
|
type_char char(2),
|
||||||
|
type_varchar varchar(10),
|
||||||
|
type_timestamp timestamp not null,
|
||||||
|
type_date date not null,
|
||||||
|
type_time time not null,
|
||||||
|
type_datetime datetime not null,
|
||||||
|
type_year year,
|
||||||
|
type_enum enum ('red', 'green', 'blue'),
|
||||||
|
type_set enum ('red', 'green', 'blue'),
|
||||||
|
type_tinyblob tinyblob,
|
||||||
|
type_blob blob,
|
||||||
|
type_medium_blob mediumblob,
|
||||||
|
type_long_blob longblob,
|
||||||
|
index(type_short)
|
||||||
|
) AVG_ROW_LENGTH=10 CHECKSUM=1 COMMENT="test" TYPE=MYISAM MIN_ROWS=10 MAX_ROWS=100 PACK_KEYS=1 DELAY_KEY_WRITE=1 ROW_FORMAT=fixed CHARSET=latin1;
|
||||||
|
|
||||||
|
# Not tested above: RAID_# UNION INSERT_METHOD DATA DIRECTORY INDEX DIRECTORY
|
||||||
|
show create table t1;
|
||||||
|
insert into t1 (type_timestamp) values ("2003-02-07 10:00:01");
|
||||||
|
select * from t1;
|
||||||
|
drop table t1;
|
||||||
|
|
||||||
|
|
||||||
# Check auto conversions of types
|
# Check auto conversions of types
|
||||||
|
|
||||||
create table t1 (c decimal, d double, f float, r real);
|
create table t1 (c decimal, d double, f float, r real);
|
||||||
|
10
netware/isamchk.def
Normal file
10
netware/isamchk.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ISAM Check
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL ISAM Table Check Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
STACKSIZE 65536
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/isamlog.def
Normal file
9
netware/isamlog.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# ISAM Log
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "ISAM Log"
|
||||||
|
VERSION 4, 0
|
||||||
|
DEBUG
|
||||||
|
|
10
netware/libmysql.def
Normal file
10
netware/libmysql.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Client
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
EXPORT @libmysql.imp
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Client Library"
|
||||||
|
VERSION 4, 0
|
||||||
|
AUTOUNLOAD
|
||||||
|
#DEBUG
|
65
netware/libmysqld.def
Normal file
65
netware/libmysqld.def
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
LIBRARY LIBMYSQLD
|
||||||
|
DESCRIPTION 'MySQL 4.0 Embedded Server Library'
|
||||||
|
VERSION 4.0
|
||||||
|
EXPORTS
|
||||||
|
mysql_server_end
|
||||||
|
mysql_server_init
|
||||||
|
mysql_use_result
|
||||||
|
mysql_thread_safe
|
||||||
|
mysql_thread_id
|
||||||
|
mysql_store_result
|
||||||
|
mysql_stat
|
||||||
|
mysql_shutdown
|
||||||
|
mysql_select_db
|
||||||
|
mysql_row_tell
|
||||||
|
mysql_row_seek
|
||||||
|
mysql_real_query
|
||||||
|
mysql_real_connect
|
||||||
|
mysql_query
|
||||||
|
mysql_ping
|
||||||
|
mysql_options
|
||||||
|
mysql_num_rows
|
||||||
|
mysql_num_fields
|
||||||
|
mysql_list_tables
|
||||||
|
mysql_list_processes
|
||||||
|
mysql_list_fields
|
||||||
|
mysql_list_dbs
|
||||||
|
mysql_kill
|
||||||
|
mysql_insert_id
|
||||||
|
mysql_init
|
||||||
|
mysql_info
|
||||||
|
mysql_get_server_info
|
||||||
|
mysql_get_proto_info
|
||||||
|
mysql_get_host_info
|
||||||
|
mysql_get_client_info
|
||||||
|
mysql_free_result
|
||||||
|
mysql_field_tell
|
||||||
|
mysql_field_count
|
||||||
|
mysql_field_seek
|
||||||
|
mysql_fetch_row
|
||||||
|
mysql_fetch_lengths
|
||||||
|
mysql_fetch_fields
|
||||||
|
mysql_fetch_field_direct
|
||||||
|
mysql_fetch_field
|
||||||
|
mysql_escape_string
|
||||||
|
mysql_real_escape_string
|
||||||
|
mysql_error
|
||||||
|
mysql_errno
|
||||||
|
mysql_eof
|
||||||
|
mysql_dump_debug_info
|
||||||
|
mysql_drop_db
|
||||||
|
mysql_debug
|
||||||
|
mysql_data_seek
|
||||||
|
mysql_create_db
|
||||||
|
mysql_character_set_name
|
||||||
|
mysql_change_user
|
||||||
|
mysql_connect
|
||||||
|
mysql_close
|
||||||
|
mysql_affected_rows
|
||||||
|
mysql_thread_init
|
||||||
|
mysql_thread_end
|
||||||
|
mysql_send_query
|
||||||
|
mysql_read_query_result
|
||||||
|
mysql_refresh
|
||||||
|
mysql_odbc_escape_string
|
||||||
|
myodbc_remove_escape
|
9
netware/my_print_defaults.def
Normal file
9
netware/my_print_defaults.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# My Print Defaults
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Print Defaults Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
10
netware/myisamchk.def
Normal file
10
netware/myisamchk.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MyISAM Check
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL MyISAM Table Check Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
STACKSIZE 65536
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/myisamlog.def
Normal file
9
netware/myisamlog.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MyISAM Log
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL MyISAM Table Log Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/myisampack.def
Normal file
9
netware/myisampack.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MyISAM Pack
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL MyISAM Table Pack Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
11
netware/mysql.def
Normal file
11
netware/mysql.def
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Client
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
SCREENNAME "MySQL Monitor"
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Monitor"
|
||||||
|
VERSION 4, 0
|
||||||
|
MULTIPLE
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/mysql_install.def
Normal file
9
netware/mysql_install.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# My Print Defaults
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Install Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
10
netware/mysql_install_db.def
Normal file
10
netware/mysql_install_db.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Install DB
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
SCREENNAME "MySQL Install"
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Initial Database Installer"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
10
netware/mysql_test_run.def
Normal file
10
netware/mysql_test_run.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Test Run
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
STACKSIZE 65536
|
||||||
|
SCREENNAME "MySQL Test Run"
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Test Run"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
10
netware/mysqladmin.def
Normal file
10
netware/mysqladmin.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Admin
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
SCREENNAME "MySQL Admin"
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Admin Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/mysqlbinlog.def
Normal file
9
netware/mysqlbinlog.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Binary Log
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Binary Log Dump Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/mysqlcheck.def
Normal file
9
netware/mysqlcheck.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Client
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Check Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
12
netware/mysqld.def
Normal file
12
netware/mysqld.def
Normal file
@ -0,0 +1,12 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Server
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
XDCDATA mysqld.xdc
|
||||||
|
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Database Server"
|
||||||
|
VERSION 4, 0
|
||||||
|
MULTIPLE
|
||||||
|
STACKSIZE 65536
|
||||||
|
#DEBUG
|
||||||
|
|
10
netware/mysqld_safe.def
Normal file
10
netware/mysqld_safe.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQLd Safe
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
SCREENNAME "MySQL Database Server"
|
||||||
|
COPYRIGHT "(c) 2003 Novell, Inc. Portions (c) 2003 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Database Server Monitor"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/mysqldump.def
Normal file
9
netware/mysqldump.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Admin
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Dump Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/mysqlimport.def
Normal file
9
netware/mysqlimport.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Client
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Import Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
10
netware/mysqlshow.def
Normal file
10
netware/mysqlshow.def
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Show
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
SCREENNAME "MySQL Show"
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Show Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/mysqltest.def
Normal file
9
netware/mysqltest.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# MySQL Admin
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Test Case Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
Binary file not shown.
9
netware/pack_isam.def
Normal file
9
netware/pack_isam.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# Pack ISAM
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "Pack ISAM"
|
||||||
|
VERSION 4, 0
|
||||||
|
DEBUG
|
||||||
|
|
9
netware/perror.def
Normal file
9
netware/perror.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# PERROR
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Error Code Description Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/replace.def
Normal file
9
netware/replace.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# Replace
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL Text Replacement Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
9
netware/resolveip.def
Normal file
9
netware/resolveip.def
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
#------------------------------------------------------------------------------
|
||||||
|
# Resolve IP
|
||||||
|
#------------------------------------------------------------------------------
|
||||||
|
MODULE libc.nlm
|
||||||
|
COPYRIGHT "(c) 2002 Novell, Inc. Portions (c) 2002 MySQL AB. All Rights Reserved."
|
||||||
|
DESCRIPTION "MySQL IP/Hostname Resolve Tool"
|
||||||
|
VERSION 4, 0
|
||||||
|
#DEBUG
|
||||||
|
|
@ -450,7 +450,10 @@ static void make_sortkey(register SORTPARAM *param,
|
|||||||
{
|
{
|
||||||
if (field->is_null())
|
if (field->is_null())
|
||||||
{
|
{
|
||||||
bzero((char*) to,sort_field->length+1);
|
if (sort_field->reverse)
|
||||||
|
bfill(to,sort_field->length+1,(char) 255);
|
||||||
|
else
|
||||||
|
bzero((char*) to,sort_field->length+1);
|
||||||
to+= sort_field->length+1;
|
to+= sort_field->length+1;
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
@ -2292,7 +2292,18 @@ convert_search_mode_to_innobase(
|
|||||||
case HA_READ_AFTER_KEY: return(PAGE_CUR_G);
|
case HA_READ_AFTER_KEY: return(PAGE_CUR_G);
|
||||||
case HA_READ_BEFORE_KEY: return(PAGE_CUR_L);
|
case HA_READ_BEFORE_KEY: return(PAGE_CUR_L);
|
||||||
case HA_READ_PREFIX: return(PAGE_CUR_GE);
|
case HA_READ_PREFIX: return(PAGE_CUR_GE);
|
||||||
case HA_READ_PREFIX_LAST: return(PAGE_CUR_LE_OR_EXTENDS);
|
case HA_READ_PREFIX_LAST: return(PAGE_CUR_LE);
|
||||||
|
/* TODO: 1) this should really be
|
||||||
|
return(PAGE_CUR_LE_OR_EXTENDS); but since MySQL uses
|
||||||
|
a wrong flag in search, we convert this to PAGE_CUR_LE;
|
||||||
|
2) if the character set is not latin1, then InnoDB
|
||||||
|
uses a MySQL function innobase_mysql_cmp() to
|
||||||
|
compare CHAR and VARCHAR strings; since that function
|
||||||
|
does not return the number of matched bytes,
|
||||||
|
PAGE_CUR_LE_OR_EXTENDS does not currently work: we
|
||||||
|
should probably write my_sortncmp_with_n_matcehd_bytes()
|
||||||
|
to determine if a field 'extends' another;
|
||||||
|
see dev-public discussion on Feb 7th, 2003 */
|
||||||
default: assert(0);
|
default: assert(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -4175,7 +4186,10 @@ static void free_share(INNOBASE_SHARE *share)
|
|||||||
}
|
}
|
||||||
|
|
||||||
/*********************************************************************
|
/*********************************************************************
|
||||||
Stores a MySQL lock into a 'lock' field in a handle. */
|
Converts a MySQL table lock stored in the 'lock' field of the handle to
|
||||||
|
a proper type before storing the lock. MySQL also calls this when it
|
||||||
|
releases a lock. */
|
||||||
|
|
||||||
|
|
||||||
THR_LOCK_DATA**
|
THR_LOCK_DATA**
|
||||||
ha_innobase::store_lock(
|
ha_innobase::store_lock(
|
||||||
@ -4201,8 +4215,13 @@ ha_innobase::store_lock(
|
|||||||
binlog) requires the use of a locking read */
|
binlog) requires the use of a locking read */
|
||||||
|
|
||||||
prebuilt->select_lock_type = LOCK_S;
|
prebuilt->select_lock_type = LOCK_S;
|
||||||
} else {
|
} else if (lock_type != TL_IGNORE) {
|
||||||
/* We set possible LOCK_X value in external_lock, not yet
|
|
||||||
|
/* In ha_berkeley.cc there is a comment that MySQL
|
||||||
|
may in exceptional cases call this with TL_IGNORE also
|
||||||
|
when it is NOT going to release the lock. */
|
||||||
|
|
||||||
|
/* We set possible LOCK_X value in external_lock, not yet
|
||||||
here even if this would be SELECT ... FOR UPDATE */
|
here even if this would be SELECT ... FOR UPDATE */
|
||||||
|
|
||||||
prebuilt->select_lock_type = LOCK_NONE;
|
prebuilt->select_lock_type = LOCK_NONE;
|
||||||
|
@ -274,6 +274,7 @@ static SYMBOL symbols[] = {
|
|||||||
{ "NULL", SYM(NULL_SYM),0,0},
|
{ "NULL", SYM(NULL_SYM),0,0},
|
||||||
{ "NUMERIC", SYM(NUMERIC_SYM),0,0},
|
{ "NUMERIC", SYM(NUMERIC_SYM),0,0},
|
||||||
{ "OFFSET", SYM(OFFSET_SYM),0,0},
|
{ "OFFSET", SYM(OFFSET_SYM),0,0},
|
||||||
|
{ "OLD_PASSWORD", SYM(PASSWORD),0,0},
|
||||||
{ "ON", SYM(ON),0,0},
|
{ "ON", SYM(ON),0,0},
|
||||||
{ "OPEN", SYM(OPEN_SYM),0,0},
|
{ "OPEN", SYM(OPEN_SYM),0,0},
|
||||||
{ "OPTIMIZE", SYM(OPTIMIZE),0,0},
|
{ "OPTIMIZE", SYM(OPTIMIZE),0,0},
|
||||||
|
@ -2564,8 +2564,7 @@ QUICK_SELECT_DESC::QUICK_SELECT_DESC(QUICK_SELECT *q, uint used_key_parts)
|
|||||||
for (r = it++; r; r = it++)
|
for (r = it++; r; r = it++)
|
||||||
{
|
{
|
||||||
rev_ranges.push_front(r);
|
rev_ranges.push_front(r);
|
||||||
if (not_read_after_key && range_reads_after_key(r) ||
|
if (not_read_after_key && range_reads_after_key(r))
|
||||||
test_if_null_range(r,used_key_parts))
|
|
||||||
{
|
{
|
||||||
it.rewind(); // Reset range
|
it.rewind(); // Reset range
|
||||||
error = HA_ERR_UNSUPPORTED;
|
error = HA_ERR_UNSUPPORTED;
|
||||||
@ -2734,6 +2733,7 @@ bool QUICK_SELECT_DESC::range_reads_after_key(QUICK_RANGE *range_arg)
|
|||||||
|
|
||||||
/* True if we are reading over a key that may have a NULL value */
|
/* True if we are reading over a key that may have a NULL value */
|
||||||
|
|
||||||
|
#ifdef NOT_USED
|
||||||
bool QUICK_SELECT_DESC::test_if_null_range(QUICK_RANGE *range_arg,
|
bool QUICK_SELECT_DESC::test_if_null_range(QUICK_RANGE *range_arg,
|
||||||
uint used_key_parts)
|
uint used_key_parts)
|
||||||
{
|
{
|
||||||
@ -2779,6 +2779,7 @@ bool QUICK_SELECT_DESC::test_if_null_range(QUICK_RANGE *range_arg,
|
|||||||
return 1; // Covers null part
|
return 1; // Covers null part
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
/*****************************************************************************
|
/*****************************************************************************
|
||||||
|
@ -103,7 +103,9 @@ public:
|
|||||||
private:
|
private:
|
||||||
int cmp_prev(QUICK_RANGE *range);
|
int cmp_prev(QUICK_RANGE *range);
|
||||||
bool range_reads_after_key(QUICK_RANGE *range);
|
bool range_reads_after_key(QUICK_RANGE *range);
|
||||||
|
#ifdef NOT_USED
|
||||||
bool test_if_null_range(QUICK_RANGE *range, uint used_key_parts);
|
bool test_if_null_range(QUICK_RANGE *range, uint used_key_parts);
|
||||||
|
#endif
|
||||||
void reset(void) { next=0; rev_it.rewind(); }
|
void reset(void) { next=0; rev_it.rewind(); }
|
||||||
List<QUICK_RANGE> rev_ranges;
|
List<QUICK_RANGE> rev_ranges;
|
||||||
List_iterator<QUICK_RANGE> rev_it;
|
List_iterator<QUICK_RANGE> rev_it;
|
||||||
|
@ -4981,6 +4981,11 @@ sub_select(JOIN *join,JOIN_TAB *join_tab,bool end_of_records)
|
|||||||
{
|
{
|
||||||
if ((error=(*join_tab->next_select)(join,join_tab+1,0)) < 0)
|
if ((error=(*join_tab->next_select)(join,join_tab+1,0)) < 0)
|
||||||
return error;
|
return error;
|
||||||
|
/*
|
||||||
|
Test if this was a SELECT DISTINCT query on a table that
|
||||||
|
was not in the field list; In this case we can abort if
|
||||||
|
we found a row, as no new rows can be added to the result.
|
||||||
|
*/
|
||||||
if (not_used_in_distinct && found_records != join->found_records)
|
if (not_used_in_distinct && found_records != join->found_records)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -649,7 +649,7 @@ bool my_yyoverflow(short **a, YYSTYPE **b,int *yystacksize);
|
|||||||
insert_values update delete truncate rename
|
insert_values update delete truncate rename
|
||||||
show describe load alter optimize flush
|
show describe load alter optimize flush
|
||||||
reset purge begin commit rollback slave master_def master_defs
|
reset purge begin commit rollback slave master_def master_defs
|
||||||
repair restore backup analyze check
|
repair restore backup analyze check start
|
||||||
field_list field_list_item field_spec kill
|
field_list field_list_item field_spec kill
|
||||||
select_item_list select_item values_list no_braces
|
select_item_list select_item values_list no_braces
|
||||||
opt_limit_clause delete_limit_clause fields opt_values values
|
opt_limit_clause delete_limit_clause fields opt_values values
|
||||||
@ -730,6 +730,7 @@ verb_clause:
|
|||||||
| select
|
| select
|
||||||
| set
|
| set
|
||||||
| slave
|
| slave
|
||||||
|
| start
|
||||||
| show
|
| show
|
||||||
| truncate
|
| truncate
|
||||||
| handler
|
| handler
|
||||||
@ -1566,6 +1567,11 @@ slave:
|
|||||||
}
|
}
|
||||||
;
|
;
|
||||||
|
|
||||||
|
start:
|
||||||
|
START_SYM TRANSACTION_SYM { Lex->sql_command = SQLCOM_BEGIN;}
|
||||||
|
{}
|
||||||
|
;
|
||||||
|
|
||||||
slave_thread_opts:
|
slave_thread_opts:
|
||||||
slave_thread_opt
|
slave_thread_opt
|
||||||
| slave_thread_opts ',' slave_thread_opt;
|
| slave_thread_opts ',' slave_thread_opt;
|
||||||
@ -2421,7 +2427,7 @@ sum_expr:
|
|||||||
{ $$=new Item_sum_and($3); }
|
{ $$=new Item_sum_and($3); }
|
||||||
| BIT_OR '(' in_sum_expr ')'
|
| BIT_OR '(' in_sum_expr ')'
|
||||||
{ $$=new Item_sum_or($3); }
|
{ $$=new Item_sum_or($3); }
|
||||||
| COUNT_SYM '(' '*' ')'
|
| COUNT_SYM '(' opt_all '*' ')'
|
||||||
{ $$=new Item_sum_count(new Item_int((int32) 0L,1)); }
|
{ $$=new Item_sum_count(new Item_int((int32) 0L,1)); }
|
||||||
| COUNT_SYM '(' in_sum_expr ')'
|
| COUNT_SYM '(' in_sum_expr ')'
|
||||||
{ $$=new Item_sum_count($3); }
|
{ $$=new Item_sum_count($3); }
|
||||||
@ -2441,6 +2447,7 @@ sum_expr:
|
|||||||
{ $$=new Item_sum_sum($3); };
|
{ $$=new Item_sum_sum($3); };
|
||||||
|
|
||||||
in_sum_expr:
|
in_sum_expr:
|
||||||
|
opt_all
|
||||||
{
|
{
|
||||||
LEX *lex= Lex;
|
LEX *lex= Lex;
|
||||||
if (lex->current_select->inc_in_sum_expr())
|
if (lex->current_select->inc_in_sum_expr())
|
||||||
@ -2452,7 +2459,7 @@ in_sum_expr:
|
|||||||
expr
|
expr
|
||||||
{
|
{
|
||||||
Select->select_lex()->in_sum_expr--;
|
Select->select_lex()->in_sum_expr--;
|
||||||
$$=$2;
|
$$= $3;
|
||||||
};
|
};
|
||||||
|
|
||||||
cast_type:
|
cast_type:
|
||||||
@ -2523,19 +2530,22 @@ opt_pad:
|
|||||||
join_table_list:
|
join_table_list:
|
||||||
'(' join_table_list ')' { $$=$2; }
|
'(' join_table_list ')' { $$=$2; }
|
||||||
| join_table { $$=$1; }
|
| join_table { $$=$1; }
|
||||||
|
| join_table_list ',' join_table_list { $$=$3; }
|
||||||
| join_table_list normal_join join_table_list { $$=$3; }
|
| join_table_list normal_join join_table_list { $$=$3; }
|
||||||
| join_table_list STRAIGHT_JOIN join_table_list
|
| join_table_list STRAIGHT_JOIN join_table_list
|
||||||
{ $$=$3 ; $$->straight=1; }
|
{ $$=$3 ; $$->straight=1; }
|
||||||
| join_table_list INNER_SYM JOIN_SYM join_table_list ON expr
|
| join_table_list normal_join join_table_list ON expr
|
||||||
{ add_join_on($4,$6); $$=$4; }
|
{ add_join_on($3,$5); $$=$3; }
|
||||||
| join_table_list INNER_SYM JOIN_SYM join_table_list
|
| join_table_list normal_join join_table_list
|
||||||
|
USING
|
||||||
{
|
{
|
||||||
SELECT_LEX *sel= Select->select_lex();
|
SELECT_LEX *sel= Select->select_lex();
|
||||||
sel->db1=$1->db; sel->table1=$1->alias;
|
sel->db1=$1->db; sel->table1=$1->alias;
|
||||||
sel->db2=$4->db; sel->table2=$4->alias;
|
sel->db2=$3->db; sel->table2=$3->alias;
|
||||||
}
|
}
|
||||||
USING '(' using_list ')'
|
'(' using_list ')'
|
||||||
{ add_join_on($4,$8); $$=$4; }
|
{ add_join_on($3,$7); $$=$3; }
|
||||||
|
|
||||||
| join_table_list LEFT opt_outer JOIN_SYM join_table_list ON expr
|
| join_table_list LEFT opt_outer JOIN_SYM join_table_list ON expr
|
||||||
{ add_join_on($5,$7); $5->outer_join|=JOIN_TYPE_LEFT; $$=$5; }
|
{ add_join_on($5,$7); $5->outer_join|=JOIN_TYPE_LEFT; $$=$5; }
|
||||||
| join_table_list LEFT opt_outer JOIN_SYM join_table_list
|
| join_table_list LEFT opt_outer JOIN_SYM join_table_list
|
||||||
@ -2564,9 +2574,10 @@ join_table_list:
|
|||||||
{ add_join_natural($1,$4); $$=$4; };
|
{ add_join_natural($1,$4); $$=$4; };
|
||||||
|
|
||||||
normal_join:
|
normal_join:
|
||||||
',' {}
|
JOIN_SYM {}
|
||||||
| JOIN_SYM {}
|
| INNER_SYM JOIN_SYM {}
|
||||||
| CROSS JOIN_SYM {};
|
| CROSS JOIN_SYM {}
|
||||||
|
;
|
||||||
|
|
||||||
join_table:
|
join_table:
|
||||||
{
|
{
|
||||||
@ -2712,6 +2723,10 @@ opt_table_alias:
|
|||||||
| table_alias ident
|
| table_alias ident
|
||||||
{ $$= (LEX_STRING*) sql_memdup(&$2,sizeof(LEX_STRING)); };
|
{ $$= (LEX_STRING*) sql_memdup(&$2,sizeof(LEX_STRING)); };
|
||||||
|
|
||||||
|
opt_all:
|
||||||
|
/* empty */
|
||||||
|
| ALL
|
||||||
|
;
|
||||||
|
|
||||||
where_clause:
|
where_clause:
|
||||||
/* empty */ { Select->select_lex()->where= 0; }
|
/* empty */ { Select->select_lex()->where= 0; }
|
||||||
|
Loading…
x
Reference in New Issue
Block a user