~ubuntu-branches/ubuntu/trusty/mariadb-5.5/trusty-proposed

« back to all changes in this revision

Viewing changes to mysql-test/suite/engines/iuds/t/strings_update_delete.test

  • Committer: Package Import Robot
  • Author(s): Otto Kekäläinen
  • Date: 2013-12-22 10:27:05 UTC
  • Revision ID: package-import@ubuntu.com-20131222102705-mndw7s12mz0szrcn
Tags: upstream-5.5.32
Import upstream version 5.5.32

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--disable_warnings
 
2
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18;
 
3
--enable_warnings
 
4
 
 
5
######## Running UPDATE tests ########
 
6
 
 
7
# Generic tables with mixed field types and sizes
 
8
CREATE TABLE t1(c1 CHAR(255), c2 TEXT);
 
9
eval INSERT INTO t1 VALUES(REPEAT('abcdef',40), REPEAT('1',65535));
 
10
eval INSERT INTO t1 VALUES(REPEAT('abc',80), REPEAT('2',65533));
 
11
eval INSERT INTO t1 VALUES(REPEAT('\t',255), REPEAT('3',65534)); 
 
12
UPDATE t1 SET c1=REPEAT('\n',255) WHERE c1=REPEAT('\t',255);
 
13
--sorted_result
 
14
SELECT LENGTH(c1),LENGTH(c2),CHAR_LENGTH(c2) FROM t1;
 
15
--sorted_result
 
16
SELECT c1, c2 FROM t1 where c1= REPEAT('\n',255);
 
17
#--warning 1265 
 
18
UPDATE t1 SET c1=REPEAT('xyz',85), c2=REPEAT(c1, 100) ORDER by c1 LIMIT 2;
 
19
SHOW WARNINGS;
 
20
 
 
21
--sorted_result
 
22
SELECT LENGTH(c2) FROM t1 WHERE c2 LIKE 'xyz%';
 
23
--sorted_result
 
24
SELECT LENGTH(c1),LENGTH(c2),CHAR_LENGTH(c2) FROM t1;
 
25
--sorted_result
 
26
SELECT c1, c2 FROM t1;
 
27
--disable_query_log
 
28
eval INSERT INTO t1 VALUES(REPEAT('\0',255),LOAD_FILE('$MYSQLTEST_VARDIR/sample.txt'));
 
29
--enable_query_log
 
30
ALTER TABLE t1 MODIFY c1 TEXT;
 
31
UPDATE t1 SET c1=LOAD_FILE('$MYSQLTEST_VARDIR/temp.txt') LIMIT 2;
 
32
SHOW WARNINGS;
 
33
UPDATE t1 SET c1=NULL WHERE c1 LIKE 'xyz%';
 
34
DELETE FROM t1 LIMIT 1;
 
35
DELETE FROM t1 WHERE c1 NOT LIKE 'xyz%' LIMIT 1;
 
36
--sorted_result
 
37
SELECT length(c1), c1, length(c2), c2 FROM t1;  
 
38
CREATE TABLE t2(c1 BLOB, c2 TINYBLOB, c3 TEXT); 
 
39
eval INSERT INTO t2 VALUES(REPEAT('1',65535),REPEAT('a',254),REPEAT('d',65534 ));
 
40
eval INSERT INTO t2 VALUES(REPEAT('2',65534),REPEAT('b',253),REPEAT('e',65535 ));
 
41
eval INSERT INTO t2 VALUES(REPEAT('3',65533),REPEAT('c',255),REPEAT('f',65533));
 
42
--sorted_result
 
43
SELECT c1,c2 FROM t2;
 
44
let $i=100;
 
45
while($i){
 
46
let $j=100;
 
47
while($j){
 
48
eval INSERT INTO t2 VALUES('abcde\t \t fgh     \n\n  ', '             sdsdsd',NULL);
 
49
dec $j;
 
50
}
 
51
dec $i;
 
52
}
 
53
--sorted_result
 
54
SELECT length(c1),c1, length(c2),c2, length(c3), c3 FROM t2;
 
55
UPDATE t2 SET c3='Not NULL' WHERE c3=NULL;
 
56
--sorted_result
 
57
SELECT length(c1),c1, length(c2),c2, length(c3), c3 FROM t2; 
 
58
 # Multi-table updates/deletes
 
59
 CREATE TABLE t3 (c1 CHAR(10), c2 CHAR(100));
 
60
 INSERT INTO t3 VALUES ('AS','Axel Soa'), ('AK','Axle Kora'), ('HH','Hulk Hogan');
 
61
 CREATE TABLE t4 (c1 CHAR(10), c2 CHAR(100));
 
62
 INSERT INTO t4 VALUES ('AS','#100, Avenue, UK'), ('AK','#101, Avenue, US'), ('HH','#103, Avenu MT');
 
63
 UPDATE t4 SET c2='#102, Avennue MT' WHERE c1='HH';
 
64
--sorted_result
 
65
SELECT LENGTH(c1), c1 , LENGTH(c2),c2 FROM t4;
 
66
DELETE FROM t3 USING t3,t4 WHERE t3.c1='AS' AND t3.c1=t4.c1 ;
 
67
--sorted_result
 
68
SELECT length(c1), c1, length(c2), c2 FROM t3;  
 
69
 DROP TABLE t3,t4;
 
70
 CREATE TABLE t3 (id int(11) NOT NULL default '0',name varchar(10) default NULL,PRIMARY KEY  (id)) ;
 
71
 INSERT INTO t3 VALUES (1, 'aaa'),(2,'aaa'),(3,'aaa');
 
72
 CREATE TABLE t4 (id int(11) NOT NULL default '0',name varchar(10) default NULL, PRIMARY KEY  (id)) ;
 
73
 INSERT INTO t4 VALUES (2,'bbb'),(3,'bbb'),(4,'bbb');
 
74
 CREATE TABLE t5 (id int(11) NOT NULL default '0', mydate datetime default NULL,PRIMARY KEY  (id));
 
75
INSERT INTO t5 VALUES (1,'2002-02-04 00:00:00'),(3,'2002-05-12 00:00:00'),(5,'2002-05-12 00:00:00'),(6,'2002-06-22 00:00:00'),(7,'2002-07-22 00:00:00');
 
76
delete t3,t4,t5 from t3,t4,t5 where to_days(now())-to_days(t5.mydate)>=30 and t5.id=t3.id and t5.id=t4.id;
 
77
select * from t5;
 
78
DROP TABLE t3,t4,t5;
 
79
CREATE TABLE t6 (a char(2) not null primary key, b varchar(20) not null, key (b));
 
80
CREATE TABLE t7 (a char(2) not null primary key, b varchar(20) not null, key (b));
 
81
INSERT INTO t6 values ('AB','MySQLAB'),('JA','Sun Microsystems'),('MS','Microsoft'),('IB','IBM- Inc.'),('GO','Google Inc.');
 
82
INSERT INTO t7 values ('AB','Sweden'),('JA','USA'),('MS','United States of Amercica'),('IB','North America'),('GO','South America'); 
 
83
update t6,t7 set t6.a=LCASE(t6.a);
 
84
--sorted_result
 
85
select * from t6;
 
86
update t6,t7 set t6.a=UCASE(t6.a) where t6.a='AB';
 
87
--sorted_result
 
88
select * from t6;
 
89
update t6,t7 set t6.b=UPPER(t6.b) where t6.b LIKE 'United%';
 
90
--sorted_result
 
91
select * from t7;
 
92
update t6,t7 set t6.b=UPPER(t6.b),t7.b=LOWER(t7.b) where LENGTH(t6.b) between 3 and 5 and t7.a=LOWER(t6.a);
 
93
--sorted_result
 
94
select * from t6;
 
95
--sorted_result
 
96
select * from t7;
 
97
drop table t6,t7;
 
98
 # Test for some STRING functions on TEXT columns
 
99
CREATE TABLE t12(c1 TINYTEXT, c2 TEXT, c3 MEDIUMTEXT, c4 LONGTEXT);
 
100
eval INSERT INTO t12 values (" This is a test ","\0 \0 for STRING","functions available \t in", "   \t\t MySQL " );        
 
101
eval UPDATE t12 SET c1="This is a update test!" WHERE c2 LIKE "\0%";
 
102
--sorted_result
 
103
SELECT LENGTH(c1),LENGTH(c2),LENGTH(c3),LENGTH(c4) FROM t12;
 
104
--sorted_result
 
105
SELECT LEFT(c1,5),LEFT(c2,5),LEFT(c3,5),LEFT(c4,5) FROM t12;  
 
106
--sorted_result
 
107
SELECT RTRIM(c1),RTRIM(c2),RTRIM(c3),RTRIM(c4) FROM t12;   
 
108
--sorted_result
 
109
SELECT HEX(c1),HEX(c2),HEX(c3),HEX(c4) FROM t12;    
 
110
--sorted_result
 
111
SELECT REVERSE(c1),REVERSE(c2),REVERSE(c3),REVERSE(c4) FROM t12;      
 
112
DELETE FROM t12 WHERE C1 LIKE "%update%";
 
113
--sorted_result
 
114
SELECT HEX(c1),HEX(c2),HEX(c3),HEX(c4) FROM t12;     
 
115
# Test for SET datatype
 
116
CREATE TABLE t16 (c1 SET('a', 'b', 'c', 'd', 'e'));
 
117
eval INSERT INTO t16 VALUES (('d,a,d,d'));
 
118
--sorted_result
 
119
SELECT c1 FROM t16;
 
120
eval INSERT INTO t16 (c1) VALUES ('a,b,d'),('d,A ,b');
 
121
--sorted_result
 
122
SELECT c1 FROM t16; 
 
123
#--warning WARN_DATA_TRUNCATED
 
124
eval INSERT INTO t16 (c1) VALUES ('f,a,b'); 
 
125
SHOW WARNINGS;
 
126
--sorted_result
 
127
SELECT c1 FROM t16;   
 
128
#--warning ER_DUPLICATED_VALUE_IN_TYPE
 
129
CREATE TABLE t17 (c1 SET('a','b','a','b'));
 
130
SHOW WARNINGS;
 
131
# Tests for ENUM datatype
 
132
# Invalid ENUM value insert behavior
 
133
CREATE TABLE t18 (c1 CHAR(4),c2 enum('SMALL','MEDIUM','LARGE','VERY LARGE'));
 
134
eval INSERT INTO t18 VALUES('SIZE', 'SMALL');
 
135
eval INSERT INTO t18 VALUES('SIZE', 'SMALL1'); 
 
136
--sorted_result
 
137
SELECT * FROM t18 WHERE c2=0;
 
138
 EXPLAIN SELECT * FROM t18 WHERE c2=0; 
 
139
eval SET sql_mode= 'STRICT_ALL_TABLES';
 
140
--error 1265
 
141
eval INSERT INTO t18 VALUES('SIZE','SMALL2'); 
 
142
--sorted_result
 
143
SELECT * FROM t18 WHERE c2=0;
 
144
 DROP TABLE t17,t18;
 
145
DROP TABLE IF EXISTS t1,t2,t3,t4,t5,t6,t7,t8,t9,t10,t11,t12,t13,t14,t15,t16,t17,t18;