mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Merge with 4.0 to get fix for MIN/MAX
This commit is contained in:
@ -77,7 +77,6 @@ NULL NULL
|
||||
10 VMT
|
||||
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
|
||||
NULL NULL NULL
|
||||
10 10 VMT
|
||||
9 9 SRV
|
||||
8 8 RV
|
||||
@ -90,6 +89,7 @@ NULL NULL NULL
|
||||
1 1 /L
|
||||
-1 -1
|
||||
0 0
|
||||
NULL NULL NULL
|
||||
select id >= 0 and id <= 5 as grp,count(*) from t1 group by grp;
|
||||
grp count(*)
|
||||
NULL 1
|
||||
|
@ -42,8 +42,8 @@ insert into t1 values (null,null,'');
|
||||
select count(distinct a),count(distinct grp) from t1;
|
||||
count(distinct a) count(distinct grp)
|
||||
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;
|
||||
sum(a) count(a) avg(a) std(a) variance(a) bit_or(a) bit_and(a) min(a) max(a) min(c) max(c)
|
||||
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(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
|
||||
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)
|
||||
|
@ -290,7 +290,7 @@ select * from t1;
|
||||
id val
|
||||
drop table t1;
|
||||
create table t1 (a integer) type=innodb;
|
||||
begin;
|
||||
start transaction;
|
||||
rename table t1 to t2;
|
||||
create table t1 (b integer) type=innodb;
|
||||
insert into t1 values (1);
|
||||
|
@ -1,4 +1,34 @@
|
||||
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 t2 (id int);
|
||||
insert into t1 values (75);
|
||||
|
@ -303,7 +303,7 @@ a b c
|
||||
1 NULL b
|
||||
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
|
||||
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;
|
||||
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
|
||||
@ -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
|
||||
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
|
||||
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;
|
||||
explain select * from t1 order by a, b, c;
|
||||
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
|
||||
i float(3,0) binary YES NULL select,insert,update,references
|
||||
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);
|
||||
show columns from t1;
|
||||
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,'');
|
||||
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) as sum from t1 group by grp;
|
||||
|
||||
|
@ -170,7 +170,7 @@ drop table t1;
|
||||
#
|
||||
|
||||
create table t1 (a integer) type=innodb;
|
||||
begin;
|
||||
start transaction;
|
||||
rename table t1 to t2;
|
||||
create table t1 (b integer) type=innodb;
|
||||
insert into t1 values (1);
|
||||
|
@ -1,10 +1,32 @@
|
||||
#
|
||||
# This failed for lia Perminov
|
||||
#
|
||||
# Initialization
|
||||
--disable_warnings
|
||||
drop table if exists t1,t2,t3;
|
||||
--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 t2 (id int);
|
||||
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;
|
||||
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 = 1 order by b desc;
|
||||
select * from t1 where a = 1 order by b desc;
|
||||
#
|
||||
# Test things when we don't have NULL keys
|
||||
#
|
||||
|
@ -86,6 +86,41 @@ show columns from t1;
|
||||
show full columns from 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
|
||||
|
||||
create table t1 (c decimal, d double, f float, r real);
|
||||
|
Reference in New Issue
Block a user