~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/group_by.test

  • Committer: Brian Aker
  • Date: 2009-02-05 09:11:16 UTC
  • Revision ID: brian@tangent.org-20090205091116-iy0ersp6bhyzt1ad
Removed dead variables.

Show diffs side-by-side

added added

removed removed

Lines of Context:
7
7
#
8
8
# Simple test without tables
9
9
 
10
 
--error ER_INVALID_GROUP_FUNC_USE
 
10
-- error 1111
11
11
SELECT 1 FROM (SELECT 1) as a  GROUP BY SUM(1);
12
12
 
13
13
#
22
22
  date date
23
23
);
24
24
 
25
 
INSERT INTO t1 VALUES (1,1,1,'',NULL);
26
 
INSERT INTO t1 VALUES (2,2,2,'',NULL);
27
 
INSERT INTO t1 VALUES (2,1,1,'',NULL);
28
 
INSERT INTO t1 VALUES (3,3,3,'',NULL);
 
25
INSERT INTO t1 VALUES (1,1,1,'','0000-00-00');
 
26
INSERT INTO t1 VALUES (2,2,2,'','0000-00-00');
 
27
INSERT INTO t1 VALUES (2,1,1,'','0000-00-00');
 
28
INSERT INTO t1 VALUES (3,3,3,'','0000-00-00');
29
29
 
30
30
CREATE TABLE t2 (
31
31
  userID int NOT NULL auto_increment,
62
62
 
63
63
CREATE TABLE t1 (
64
64
  PID int NOT NULL auto_increment,
65
 
  payDate date,
66
 
  recDate datetime,
 
65
  payDate date DEFAULT '0000-00-00' NOT NULL,
 
66
  recDate datetime DEFAULT '0000-00-00 00:00:00' NOT NULL,
67
67
  URID int DEFAULT '0' NOT NULL,
68
68
  CRID int DEFAULT '0' NOT NULL,
69
69
  amount int DEFAULT '0' NOT NULL,
70
70
  operator int,
71
71
  method enum('unknown','cash','dealer','check','card','lazy','delayed','test') DEFAULT 'unknown' NOT NULL,
72
72
  DIID int,
73
 
  reason char(1) DEFAULT '' NOT NULL,
 
73
  reason char(1) binary DEFAULT '' NOT NULL,
74
74
  code_id int,
75
75
  qty int DEFAULT '0' NOT NULL,
76
76
  PRIMARY KEY (PID),
82
82
 
83
83
INSERT INTO t1 VALUES (1,'1970-01-01','1997-10-17 00:00:00',2529,1,21000,11886,'check',0,'F',16200,6);
84
84
 
85
 
--error ER_WRONG_GROUP_FIELD
 
85
--error 1056
86
86
SELECT COUNT(P.URID),SUM(P.amount),P.method, MIN(PP.recdate+0) > 19980501000000   AS IsNew FROM t1 AS P JOIN t1 as PP WHERE P.URID = PP.URID GROUP BY method,IsNew;
87
87
 
88
88
drop table t1;
90
90
#
91
91
# Problem with GROUP BY + ORDER BY when no match
92
92
# Tested with locking
93
 
#  NOTE: LOCK TABLE was removed, so now just testing normal syntax.
94
93
#
95
94
 
96
95
CREATE TABLE t1 (
109
108
  KEY contact_id (contact_id)
110
109
);
111
110
 
 
111
lock tables t1 read,t2 write;
 
112
 
112
113
INSERT INTO t2 VALUES (10,2);
113
114
INSERT INTO t2 VALUES (18,2);
114
115
INSERT INTO t2 VALUES (62,2);
117
118
 
118
119
SELECT cid, CONCAT(firstname, ' ', surname), COUNT(call_id) FROM t1 LEFT JOIN t2 ON cid=contact_id WHERE firstname like '%foo%' GROUP BY cid;
119
120
SELECT cid, CONCAT(firstname, ' ', surname), COUNT(call_id) FROM t1 LEFT JOIN t2 ON cid=contact_id WHERE firstname like '%foo%' GROUP BY cid ORDER BY NULL;
120
 
SELECT cid, CONCAT(firstname, ' ', surname), COUNT(call_id) FROM t1 LEFT JOIN t2 ON cid=contact_id WHERE firstname like '%foo%' GROUP BY cid ORDER BY surname, firstname;
 
121
SELECT HIGH_PRIORITY cid, CONCAT(firstname, ' ', surname), COUNT(call_id) FROM t1 LEFT JOIN t2 ON cid=contact_id WHERE firstname like '%foo%' GROUP BY cid ORDER BY surname, firstname;
121
122
 
122
123
drop table t2;
 
124
unlock tables;
123
125
drop table t1;
124
126
 
125
127
# Test needs to be rewritten
168
170
#  KEY votes (votes)
169
171
#);
170
172
#
171
 
#--error ER_WARN_DATA_TRUNCATED
 
173
#--error 1265
172
174
#INSERT INTO t1 VALUES (1,0,0,'','normal','','2000-02-10 09:25:12',20000321114747,'','','Linux','P1','TestProduct','PC',3,'other','TestComponent','','M1',0,'',0);
173
175
#INSERT INTO t1 VALUES (9,0,0,'','enhancement','','2000-03-10 11:49:36',20000321114747,'','','All','P5','AAAAA','PC',3,'2.00 CD - Pre','BBBBBBBBBBBBB - conversion','','',0,'',0);
174
176
#INSERT INTO t1 VALUES (10,0,0,'','enhancement','','2000-03-10 18:10:16',20000321114747,'','','All','P4','AAAAA','PC',3,'2.00 CD - Pre','BBBBBBBBBBBBB - conversion','','',0,'',0);
283
285
INSERT INTO t1 VALUES ('A'),('B'),('A'),('B'),('A'),('B'),(NULL),('a'),('b'),(NULL),('A'),('B'),(NULL);
284
286
SELECT a FROM t1 GROUP BY a;
285
287
SELECT a,count(*) FROM t1 GROUP BY a;
286
 
SELECT a FROM t1 GROUP BY a;
287
 
SELECT a,count(*) FROM t1 GROUP BY a;
288
 
SELECT a FROM t1 GROUP BY 1;
289
 
SELECT a,count(*) FROM t1 GROUP BY 1;
 
288
SELECT a FROM t1 GROUP BY binary a;
 
289
SELECT a,count(*) FROM t1 GROUP BY binary a;
 
290
SELECT binary a FROM t1 GROUP BY 1;
 
291
SELECT binary a,count(*) FROM t1 GROUP BY 1;
290
292
# Do the same tests with MyISAM temporary tables
291
293
SELECT a FROM t1 GROUP BY a;
292
294
SELECT a,count(*) FROM t1 GROUP BY a;
293
 
SELECT a FROM t1 GROUP BY a;
294
 
SELECT a,count(*) FROM t1 GROUP BY a;
295
 
SELECT a FROM t1 GROUP BY 1;
296
 
SELECT a,count(*) FROM t1 GROUP BY 1;
 
295
SELECT a FROM t1 GROUP BY binary a;
 
296
SELECT a,count(*) FROM t1 GROUP BY binary a;
 
297
SELECT binary a FROM t1 GROUP BY 1;
 
298
SELECT binary a,count(*) FROM t1 GROUP BY 1;
297
299
drop table t1;
298
300
 
299
301
#
345
347
# Problem with MAX and LEFT JOIN
346
348
#
347
349
 
348
 
CREATE TEMPORARY TABLE t1 (
 
350
CREATE TABLE t1 (
349
351
  pid int NOT NULL default '0',
350
352
  c1id int default NULL,
351
353
  c2id int default NULL,
356
358
 
357
359
INSERT INTO t1 VALUES (1, 1, NULL, 1),(1, 2, NULL, 2),(1, NULL, 3, 3),(1, 4, NULL, 4),(1, 5, NULL, 5);
358
360
 
359
 
CREATE TEMPORARY TABLE t2 (
 
361
CREATE TABLE t2 (
360
362
  id int NOT NULL default '0',
361
363
  active enum('Yes','No') NOT NULL default 'Yes',
362
364
  PRIMARY KEY  (id)
400
402
insert into t2 values (1,3),(3,1),(2,2),(1,1);
401
403
select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b;
402
404
select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b ORDER BY NULL;
403
 
--sorted_result
404
405
explain select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b;
405
 
--sorted_result
406
406
explain select t1.a,t2.b from t1,t2 where t1.a=t2.a group by t1.a,t2.b ORDER BY NULL;
407
407
drop table t1,t2;
408
408
 
512
512
 
513
513
delete from t2  where a = 2 and b = 'val-2' order by a,b,c,d limit 30;
514
514
 
515
 
--replace_column 4 # 7 # 9 # 10 #
516
515
explain select c from t2 where a = 2 and b = 'val-2' group by c;
517
516
select c from t2 where a = 2 and b = 'val-2' group by c;
518
517
drop table t1,t2;
750
749
select * from t1 group by f1;
751
750
select * from t1 group by f2;
752
751
select * from t1 group by f1, f2;
753
 
select t1.f1,t.* from t1, t1 t where t1.f1 >= 0 group by 1;
 
752
select t1.f1,t.* from t1, t1 t group by 1;
754
753
drop table t1;
755
754
 
756
755
#
956
955
EXPLAIN SELECT 1 FROM t2 WHERE a IN
957
956
  (SELECT a FROM t1 USE INDEX (i2) IGNORE INDEX (i2));
958
957
 
 
958
SHOW VARIABLES LIKE 'old';  
 
959
--error ER_INCORRECT_GLOBAL_LOCAL_VAR
 
960
SET @@old = off;  
 
961
 
959
962
DROP TABLE t1, t2;
960
963
 
961
964
#
1000
1003
EXPLAIN SELECT b from t2 GROUP BY b;
1001
1004
SELECT b from t2 GROUP BY b;
1002
1005
 
1003
 
DROP TABLE t1,t2;
 
1006
DROP TABLE t1;
1004
1007
 
1005
1008
#
1006
1009
# Bug #31797: error while parsing subqueries -- WHERE is parsed as HAVING