~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/func_gconcat.test

code clean move Item_func_num1 and Item_func_connection_id to functions directory

Show diffs side-by-side

added added

removed removed

Lines of Context:
69
69
 
70
70
# Test errors
71
71
 
72
 
--error ER_INVALID_GROUP_FUNC_USE
 
72
--error 1111
73
73
select group_concat(sum(c)) from t1 group by grp;
74
 
--error ER_BAD_FIELD_ERROR
 
74
--error 1054
75
75
select grp,group_concat(c order by 2) from t1 group by grp;
76
76
 
77
77
drop table t1;
78
78
 
79
79
# Test variable length
80
80
 
81
 
create table t1 ( URL_ID int, URL varchar(80));
82
 
create table t2 ( REQ_ID int, URL_ID int);
 
81
create table t1 ( URL_ID int(11), URL varchar(80));
 
82
create table t2 ( REQ_ID int(11), URL_ID int(11));
83
83
insert into t1 values (4,'www.host.com'), (5,'www.google.com'),(5,'www.help.com');
84
84
insert into t2 values (1,4), (5,4), (5,5);
85
85
# Make this order independent
131
131
# Problem with GROUP BY (Bug #2695)
132
132
#
133
133
 
134
 
CREATE TABLE t1 (id1 int NOT NULL, id2 int NOT NULL);
 
134
CREATE TABLE t1 (id1 int(4) NOT NULL, id2 int(4) NOT NULL);
135
135
INSERT INTO t1 VALUES (1, 1),(1, 2),(1, 3),(1, 4),(1, 5),(2, 1),(2, 2),(2, 3);
136
 
CREATE TABLE t2 (id1 int NOT NULL);
 
136
CREATE TABLE t2 (id1 int(4) NOT NULL);
137
137
INSERT INTO t2 VALUES (1),(2),(3),(4),(5);
138
138
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 AND t1.id1=1 GROUP BY t1.id1;
139
139
SELECT t1.id1, GROUP_CONCAT(t1.id2 ORDER BY t1.id2 ASC) AS concat_id FROM t1, t2 WHERE t1.id1 = t2.id1 GROUP BY t1.id1;
267
267
#
268
268
# Bug#10201
269
269
#
270
 
create table t1 (a varchar(255), b varchar(255) );
 
270
create table t1 (a varchar(255) character set cp1250 collate cp1250_general_ci,
 
271
                 b varchar(255) character set koi8r);
271
272
insert into t1 values ('xxx','yyy');
272
273
select collation(a) from t1;
273
274
select collation(group_concat(a)) from t1;
274
275
create table t2 select group_concat(a) as a from t1;
275
 
--replace_regex /ENGINE=[a-zA-Z]+/ENGINE=DEFAULT/
276
276
show create table t2;
 
277
select collation(group_concat(a,_koi8r'test')) from t1;
 
278
--error 1267
 
279
select collation(group_concat(a,_koi8r 0xC1C2)) from t1;
 
280
--error 1267
277
281
select collation(group_concat(a,b)) from t1;
278
282
drop table t1;
279
283
drop table t2;
282
286
# Bug #12829
283
287
# Cannot convert the charset of a GROUP_CONCAT result
284
288
#
285
 
#CREATE TABLE t1 (a VARCHAR(10));
286
 
#INSERT INTO t1 VALUES ('�');
287
 
#SELECT a FROM t1;
288
 
#SELECT GROUP_CONCAT(a) FROM t1;
289
 
#DROP TABLE t1;
 
289
CREATE TABLE t1 (a CHAR(10) CHARACTER SET cp850);
 
290
INSERT INTO t1 VALUES ('�');
 
291
SELECT a FROM t1;
 
292
SELECT GROUP_CONCAT(a) FROM t1;
 
293
DROP TABLE t1;
290
294
 
291
295
#
292
296
# bug #7769: group_concat returning null is checked in having
329
333
#
330
334
 
331
335
CREATE TABLE t1 (
332
 
  aID int NOT NULL auto_increment,
333
 
  sometitle varchar(155) NOT NULL default '',
334
 
  bID int NOT NULL,
 
336
  aID int(5) NOT NULL auto_increment,
 
337
  sometitle varchar(255) NOT NULL default '',
 
338
  bID int(5) NOT NULL,
335
339
  PRIMARY KEY  (aID),
336
340
  UNIQUE KEY sometitle (sometitle)
337
341
);
339
343
INSERT INTO t1 SET sometitle = 'title2', bID = 1;
340
344
 
341
345
CREATE TABLE t2 (
342
 
  bID int NOT NULL auto_increment,
343
 
  somename varchar(155) NOT NULL default '',
 
346
  bID int(5) NOT NULL auto_increment,
 
347
  somename varchar(255) NOT NULL default '',
344
348
  PRIMARY KEY  (bID),
345
349
  UNIQUE KEY somename (somename)
346
350
);
407
411
# returns BLOB": add a test case, the bug can not be repeated any more.
408
412
#
409
413
 
 
414
set names latin1;
410
415
create table t1 (a char, b char);
411
416
insert into t1 values ('a', 'a'), ('a', 'b'), ('b', 'a'), ('b', 'b');
412
417
create table t2 select group_concat(b) as a from t1 where a = 'a';
413
418
create table t3 (select group_concat(a) as a from t1 where a = 'a') union
414
419
                (select group_concat(b) as a from t1 where a = 'b');
 
420
select charset(a) from t2;
 
421
select charset(a) from t3;
415
422
drop table t1, t2, t3;
 
423
set names default;
 
424
 
 
425
#
 
426
# Bug#18281 group_concat changes charset to binary
 
427
#
 
428
create table t1 (c1 varchar(10), c2 int);
 
429
select charset(group_concat(c1 order by c2)) from t1;
 
430
drop table t1;
416
431
 
417
432
#
418
433
# Bug #16712: group_concat returns odd string instead of intended result
419
434
#
420
 
CREATE TABLE t1 (a INT, b LONGTEXT, PRIMARY KEY (a));
 
435
CREATE TABLE t1 (a INT(10), b LONGTEXT, PRIMARY KEY (a));
421
436
 
422
437
SET GROUP_CONCAT_MAX_LEN = 20000000;
423
438
 
446
461
#
447
462
# Bug#23451 GROUP_CONCAT truncates a multibyte utf8 character
448
463
#
 
464
set names utf8;
449
465
create table t1
450
466
(
451
 
  x text not null,
 
467
  x text character set utf8 not null,
452
468
  y integer not null
453
469
);
454
 
insert into t1 values (repeat('a', 1022), 0), (repeat( 0xc3b7, 4), 0);
 
470
insert into t1 values (repeat('a', 1022), 0), (repeat(_utf8 0xc3b7, 4), 0);
455
471
let $1= 10;
456
472
while ($1)
457
473
{
464
480
}
465
481
drop table t1;
466
482
set group_concat_max_len=1024;
 
483
set names latin1;
467
484
 
468
485
#
469
486
# Bug#14169 type of group_concat() result changed to blob if tmp_table was used
533
550
# Bug#29850: Wrong charset of the GROUP_CONCAT result when the select employs
534
551
#            a temporary table.
535
552
#
536
 
#create table t1 (id int, name varchar(20));
537
 
#insert into t1 (id, name) values (1, "�ra");
538
 
#insert into t1 (id, name) values (2, "�ra");
539
 
#select b.id, group_concat(b.name) from t1 a, t1 b group by b.id;
540
 
#drop table t1;
 
553
set names latin1;
 
554
create table t1 (id int, name varchar(20)) DEFAULT CHARSET=utf8;
 
555
insert into t1 (id, name) values (1, "�ra");
 
556
insert into t1 (id, name) values (2, "�ra");
 
557
select b.id, group_concat(b.name) from t1 a, t1 b group by b.id;
 
558
drop table t1;
 
559
 
 
560
#
 
561
# Bug #31154: group_concat() and bit fields;
 
562
#
 
563
create table t1(a bit not null default 0);
 
564
insert into t1 values (), (), ();
 
565
select group_concat(distinct a) from t1;
 
566
select group_concat(distinct a order by a) from t1;
 
567
drop table t1;
 
568
 
 
569
create table t1(a bit(2) not null);
 
570
insert into t1 values (1), (0), (0), (3), (1);
 
571
select group_concat(distinct a) from t1;
 
572
select group_concat(distinct a order by a) from t1;
 
573
select group_concat(distinct a order by a desc) from t1;
 
574
drop table t1;
 
575
 
 
576
create table t1(a bit(2), b varchar(10), c bit);
 
577
insert into t1 values (1, 'a', 0), (0, 'b', 1), (0, 'c', 0), (3, 'd', 1),
 
578
(1, 'e', 1), (3, 'f', 1), (0, 'g', 1);
 
579
select group_concat(distinct a, c) from t1;
 
580
select group_concat(distinct a, c order by a) from t1;
 
581
select group_concat(distinct a, c) from t1;
 
582
select group_concat(distinct a, c order by a, c) from t1;
 
583
select group_concat(distinct a, c order by a desc, c desc) from t1;
 
584
 
 
585
drop table t1;
 
586
 
541
587
 
542
588
#
543
589
# Bug#30897 GROUP_CONCAT returns extra comma on empty fields