~skinny.moey/drizzle/branch-rev

« back to all changes in this revision

Viewing changes to mysql-test/t/alias.test

  • Committer: brian
  • Date: 2008-06-25 05:29:13 UTC
  • Revision ID: brian@localhost.localdomain-20080625052913-6upwo0jsrl4lnapl
clean slate

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--disable_warnings
 
2
DROP TABLE IF EXISTS t1;
 
3
--enable_warnings
 
4
 
 
5
CREATE TABLE t1 (
 
6
  cont_nr int(11) NOT NULL auto_increment,
 
7
  ver_nr int(11) NOT NULL default '0',
 
8
  aufnr int(11) NOT NULL default '0',
 
9
  username varchar(50) NOT NULL default '',
 
10
  hdl_nr int(11) NOT NULL default '0',
 
11
  eintrag date NOT NULL default '0000-00-00',
 
12
  st_klasse varchar(40) NOT NULL default '',
 
13
  st_wert varchar(40) NOT NULL default '',
 
14
  st_zusatz varchar(40) NOT NULL default '',
 
15
  st_bemerkung varchar(255) NOT NULL default '',
 
16
  kunden_art varchar(40) NOT NULL default '',
 
17
  mcbs_knr int(11) default NULL,
 
18
  mcbs_aufnr int(11) NOT NULL default '0',
 
19
  schufa_status char(1) default '?',
 
20
  bemerkung text,
 
21
  wirknetz text,
 
22
  wf_igz int(11) NOT NULL default '0',
 
23
  tarifcode varchar(80) default NULL,
 
24
  recycle char(1) default NULL,
 
25
  sim varchar(30) default NULL,
 
26
  mcbs_tpl varchar(30) default NULL,
 
27
  emp_nr int(11) NOT NULL default '0',
 
28
  laufzeit int(11) default NULL,
 
29
  hdl_name varchar(30) default NULL,
 
30
  prov_hdl_nr int(11) NOT NULL default '0',
 
31
  auto_wirknetz varchar(50) default NULL,
 
32
  auto_billing varchar(50) default NULL,
 
33
  touch timestamp NOT NULL,
 
34
  kategorie varchar(50) default NULL,
 
35
  kundentyp varchar(20) NOT NULL default '',
 
36
  sammel_rech_msisdn varchar(30) NOT NULL default '',
 
37
  p_nr varchar(9) NOT NULL default '',
 
38
  suffix char(3) NOT NULL default '',
 
39
  PRIMARY KEY (cont_nr),
 
40
  KEY idx_aufnr(aufnr),
 
41
  KEY idx_hdl_nr(hdl_nr),
 
42
  KEY idx_st_klasse(st_klasse),
 
43
  KEY ver_nr(ver_nr),
 
44
  KEY eintrag_idx(eintrag),
 
45
  KEY emp_nr_idx(emp_nr),
 
46
  KEY wf_igz(wf_igz),
 
47
  KEY touch(touch),
 
48
  KEY hdl_tag(eintrag,hdl_nr),
 
49
  KEY prov_hdl_nr(prov_hdl_nr),
 
50
  KEY mcbs_aufnr(mcbs_aufnr),
 
51
  KEY kundentyp(kundentyp),
 
52
  KEY p_nr(p_nr,suffix)
 
53
) ENGINE=MyISAM;
 
54
 
 
55
INSERT INTO t1 VALUES (3359356,405,3359356,'Mustermann Musterfrau',52500,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und gepr�ft','','privat',1485525,2122316,'+','','N',1909160,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',3,24,'MobilCom Shop Koeln',52500,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
 
56
INSERT INTO t1 VALUES (3359357,468,3359357,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und gepr�ft','','privat',1503580,2139699,'+','','P',1909171,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
 
57
INSERT INTO t1 VALUES (3359358,407,3359358,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und gepr�ft','','privat',1501358,2137473,'N','','N',1909159,'MobilComSuper92000D2',NULL,NULL,'MS9ND2',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
 
58
INSERT INTO t1 VALUES (3359359,468,3359359,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und gepr�ft','','privat',1507831,2143894,'+','','P',1909162,'MobilComSuper9D1T10SFreisprech(Akquise)',NULL,NULL,'MS9NS1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
 
59
INSERT INTO t1 VALUES (3359360,0,0,'Mustermann Musterfrau',29674907,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und gepr�ft','','privat',1900169997,2414578,'+',NULL,'N',1909148,'',NULL,NULL,'RV99066_2',20,NULL,'POS',29674907,NULL,NULL,20010202105916,'Mobilfunk','','','97317481','007');
 
60
INSERT INTO t1 VALUES (3359361,406,3359361,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag storniert','','(7001-84):Storno, Kd. m�chte nicht mehr','privat',NULL,0,'+','','P',1909150,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',325,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
 
61
INSERT INTO t1 VALUES (3359362,406,3359362,'Mustermann Musterfrau',7001,'2000-05-20','workflow','Auftrag erledigt','Originalvertrag eingegangen und gepr�ft','','privat',1509984,2145874,'+','','P',1909154,'MobilComSuper92000D1(Akquise)',NULL,NULL,'MS9ND1',327,24,'MobilCom Intern',7003,NULL,'auto',20010202105916,'Mobilfunk','PP','','','');
 
62
 
 
63
# This died because we used the field Kundentyp twice
 
64
SELECT ELT(FIELD(kundentyp,'PP','PPA','PG','PGA','FK','FKA','FP','FPA','K','KA','V','VA',''), 'Privat (Private Nutzung)','Privat (Private Nutzung) Sitz im Ausland','Privat (geschaeftliche Nutzung)','Privat (geschaeftliche Nutzung) Sitz im Ausland','Firma (Kapitalgesellschaft)','Firma (Kapitalgesellschaft) Sitz im Ausland','Firma (Personengesellschaft)','Firma (Personengesellschaft) Sitz im Ausland','oeff. rechtl. Koerperschaft','oeff. rechtl. Koerperschaft Sitz im Ausland','Eingetragener Verein','Eingetragener Verein Sitz im Ausland','Typ unbekannt') AS Kundentyp ,kategorie FROM t1 WHERE hdl_nr < 2000000 AND kategorie IN ('Prepaid','Mobilfunk') AND st_klasse = 'Workflow' GROUP BY kundentyp ORDER BY kategorie;
 
65
 
 
66
drop table t1;
 
67
 
 
68
#
 
69
# test case for #570
 
70
#
 
71
 
 
72
CREATE TABLE t1 (
 
73
  AUFNR varchar(12) NOT NULL default '',
 
74
  PLNFL varchar(6) NOT NULL default '',
 
75
  VORNR varchar(4) NOT NULL default '',
 
76
  xstatus_vor smallint(5) unsigned NOT NULL default '0'
 
77
);
 
78
 
 
79
INSERT INTO t1 VALUES ('40004712','000001','0010',9);
 
80
INSERT INTO t1 VALUES ('40004712','000001','0020',0);
 
81
 
 
82
UPDATE t1 SET t1.xstatus_vor = Greatest(t1.xstatus_vor,1) WHERE t1.aufnr =
 
83
"40004712" AND t1.plnfl = "000001" AND t1.vornr > "0010" ORDER BY t1.vornr
 
84
ASC LIMIT 1;
 
85
 
 
86
drop table t1;
 
87
 
 
88
# End of 4.1 tests
 
89
 
 
90
#
 
91
# Bug#27249 table_wild with alias: select t1.* as something
 
92
#
 
93
 
 
94
--disable_warnings
 
95
drop table if exists t1,t2,t3;
 
96
--enable_warnings
 
97
 
 
98
create table t1 (a int, b int, c int);
 
99
create table t2 (d int);
 
100
create table t3 (a1 int, b1 int, c1 int);
 
101
insert into t1 values(1,2,3);
 
102
insert into t1 values(11,22,33);
 
103
insert into t2 values(99);
 
104
 
 
105
# Invalid queries with alias on wild
 
106
--error ER_PARSE_ERROR
 
107
select t1.* as 'with_alias' from t1;
 
108
--error ER_PARSE_ERROR
 
109
select t2.* as 'with_alias' from t2;
 
110
--error ER_PARSE_ERROR
 
111
select t1.*, t1.* as 'with_alias' from t1;
 
112
--error ER_PARSE_ERROR
 
113
select t1.* as 'with_alias', t1.* from t1;
 
114
--error ER_PARSE_ERROR
 
115
select t1.* as 'with_alias', t1.* as 'alias2' from t1;
 
116
--error ER_PARSE_ERROR
 
117
select t1.* as 'with_alias', a, t1.* as 'alias2' from t1;
 
118
 
 
119
# other fields without alias
 
120
--error ER_PARSE_ERROR
 
121
select a, t1.* as 'with_alias' from t1;
 
122
--error ER_PARSE_ERROR
 
123
select t1.* as 'with_alias', a from t1;
 
124
--error ER_PARSE_ERROR
 
125
select a, t1.* as 'with_alias', b from t1;
 
126
--error ER_PARSE_ERROR
 
127
select (select d from t2 where d > a), t1.* as 'with_alias' from t1;
 
128
--error ER_PARSE_ERROR
 
129
select t1.* as 'with_alias', (select a from t2 where d > a) from t1;
 
130
 
 
131
# other fields with alias
 
132
--error ER_PARSE_ERROR
 
133
select a as 'x', t1.* as 'with_alias' from t1;
 
134
--error ER_PARSE_ERROR
 
135
select t1.* as 'with_alias', a as 'x' from t1;
 
136
--error ER_PARSE_ERROR
 
137
select a as 'x', t1.* as 'with_alias', b as 'x' from t1;
 
138
--error ER_PARSE_ERROR
 
139
select (select d from t2 where d > a) as 'x', t1.* as 'with_alias' from t1;
 
140
--error ER_PARSE_ERROR
 
141
select t1.* as 'with_alias', (select a from t2 where d > a) as 'x' from t1;
 
142
 
 
143
# some more subquery
 
144
--error ER_PARSE_ERROR
 
145
select (select t2.* as 'x' from t2) from t1;
 
146
--error ER_PARSE_ERROR
 
147
select a, (select t2.* as 'x' from t2) from t1;
 
148
--error ER_PARSE_ERROR
 
149
select t1.*, (select t2.* as 'x' from t2) from t1;
 
150
 
 
151
# insert
 
152
--error ER_PARSE_ERROR
 
153
insert into t3 select t1.* as 'with_alias' from t1;
 
154
--error ER_PARSE_ERROR
 
155
insert into t3 select t2.* as 'with_alias', 1, 2 from t2;
 
156
--error ER_PARSE_ERROR
 
157
insert into t3 select t2.* as 'with_alias', d as 'x', d as 'z' from t2;
 
158
--error ER_PARSE_ERROR
 
159
insert into t3 select t2.*, t2.* as 'with_alias', 3 from t2;
 
160
 
 
161
# create
 
162
--error ER_PARSE_ERROR
 
163
create table t3 select t1.* as 'with_alias' from t1;
 
164
--error ER_PARSE_ERROR
 
165
create table t3 select t2.* as 'with_alias', 1, 2 from t2;
 
166
--error ER_PARSE_ERROR
 
167
create table t3 select t2.* as 'with_alias', d as 'x', d as 'z' from t2;
 
168
--error ER_PARSE_ERROR
 
169
create table t3 select t2.*, t2.* as 'with_alias', 3 from t2;
 
170
 
 
171
#
 
172
# Valid queries without alias on wild
 
173
# (proof the above fail due to invalid aliasing)
 
174
#
 
175
 
 
176
select t1.* from t1;
 
177
select t2.* from t2;
 
178
select t1.*, t1.* from t1;
 
179
select t1.*, a, t1.* from t1;
 
180
 
 
181
# other fields without alias
 
182
select a, t1.* from t1;
 
183
select t1.*, a from t1;
 
184
select a, t1.*, b from t1;
 
185
select (select d from t2 where d > a), t1.* from t1;
 
186
select t1.*, (select a from t2 where d > a) from t1;
 
187
 
 
188
# other fields with alias
 
189
select a as 'x', t1.* from t1;
 
190
select t1.*, a as 'x' from t1;
 
191
select a as 'x', t1.*, b as 'x' from t1;
 
192
select (select d from t2 where d > a) as 'x', t1.* from t1;
 
193
select t1.*, (select a from t2 where d > a) as 'x' from t1;
 
194
 
 
195
# some more subquery
 
196
select (select t2.* from t2) from t1;
 
197
select a, (select t2.* from t2) from t1;
 
198
select t1.*, (select t2.* from t2) from t1;
 
199
 
 
200
# insert
 
201
insert into t3 select t1.* from t1;
 
202
insert into t3 select t2.*, 1, 2 from t2;
 
203
insert into t3 select t2.*, d as 'x', d as 'z' from t2;
 
204
insert into t3 select t2.*, t2.*, 3 from t2;
 
205
 
 
206
# create
 
207
create table t4 select t1.* from t1;
 
208
drop table t4;
 
209
create table t4 select t2.*, 1, 2 from t2;
 
210
drop table t4;
 
211
create table t4 select t2.*, d as 'x', d as 'z' from t2;
 
212
drop table t4;
 
213
 
 
214
# end
 
215
drop table t1,t2,t3;
 
216
 
 
217
# End of 5.2 tests