~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/group_by.test

  • Committer: Padraig O'Sullivan
  • Date: 2009-03-24 15:33:01 UTC
  • mto: (968.2.18 mordred)
  • mto: This revision was merged to the branch mainline in revision 971.
  • Revision ID: osullivan.padraig@gmail.com-20090324153301-90gw63j1lsie1k9j
Removing a very mis-leading comment from sql_locale.cc

The comment was totally wrong and read "This file is build from
my_locale.pl"

Show diffs side-by-side

added added

removed removed

Lines of Context:
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;
1000
999
EXPLAIN SELECT b from t2 GROUP BY b;
1001
1000
SELECT b from t2 GROUP BY b;
1002
1001
 
1003
 
DROP TABLE t1,t2;
 
1002
DROP TABLE t1;
1004
1003
 
1005
1004
#
1006
1005
# Bug #31797: error while parsing subqueries -- WHERE is parsed as HAVING