~drizzle-trunk/drizzle/development

« back to all changes in this revision

Viewing changes to tests/t/parser.test

  • Committer: Brian Aker
  • Date: 2008-10-18 15:43:20 UTC
  • mto: (492.3.20 drizzle-clean-code)
  • mto: This revision was merged to the branch mainline in revision 530.
  • Revision ID: brian@tangent.org-20081018154320-jc9jyij3mdf08abp
Updating tests.

Show diffs side-by-side

added added

removed removed

Lines of Context:
6
6
# LEXICAL PARSER (lex)
7
7
#=============================================================================
8
8
 
9
 
SET @save_sql_mode=@@sql_mode;
10
 
 
11
9
#
12
10
# Documenting the current behavior, to detect incompatible changes.
13
11
# In each cases:
15
13
# - an error is the expected result with the current implementation,
16
14
#   and is a limitation.
17
15
 
18
 
set SQL_MODE='';
19
 
 
20
16
create table ADDDATE(a int);
21
17
drop table ADDDATE;
22
18
create table ADDDATE (a int);
23
19
drop table ADDDATE;
24
20
 
25
21
--error ER_PARSE_ERROR
26
 
create table BIT_AND(a int);
27
 
create table BIT_AND (a int);
28
 
drop table BIT_AND;
29
 
 
30
 
--error ER_PARSE_ERROR
31
 
create table BIT_OR(a int);
32
 
create table BIT_OR (a int);
33
 
drop table BIT_OR;
34
 
 
35
 
--error ER_PARSE_ERROR
36
 
create table BIT_XOR(a int);
37
 
create table BIT_XOR (a int);
38
 
drop table BIT_XOR;
39
 
 
40
 
--error ER_PARSE_ERROR
41
22
create table CAST(a int);
 
23
--error ER_PARSE_ERROR
42
24
create table CAST (a int);
43
 
drop table CAST;
44
25
 
45
26
--error ER_PARSE_ERROR
46
27
create table COUNT(a int);
 
28
--error ER_PARSE_ERROR
47
29
create table COUNT (a int);
48
 
drop table COUNT;
49
30
 
50
31
--error ER_PARSE_ERROR
51
32
create table CURDATE(a int);
 
33
--error ER_PARSE_ERROR
52
34
create table CURDATE (a int);
53
 
drop table CURDATE;
54
35
 
55
36
--error ER_PARSE_ERROR
56
37
create table CURTIME(a int);
 
38
--error ER_PARSE_ERROR
57
39
create table CURTIME (a int);
58
 
drop table CURTIME;
59
40
 
60
41
--error ER_PARSE_ERROR
61
42
create table DATE_ADD(a int);
 
43
--error ER_PARSE_ERROR
62
44
create table DATE_ADD (a int);
63
 
drop table DATE_ADD;
64
45
 
65
46
--error ER_PARSE_ERROR
66
47
create table DATE_SUB(a int);
 
48
--error ER_PARSE_ERROR
67
49
create table DATE_SUB (a int);
68
 
drop table DATE_SUB;
69
50
 
70
51
--error ER_PARSE_ERROR
71
52
create table EXTRACT(a int);
 
53
--error ER_PARSE_ERROR
72
54
create table EXTRACT (a int);
73
 
drop table EXTRACT;
74
55
 
75
56
--error ER_PARSE_ERROR
76
57
create table GROUP_CONCAT(a int);
 
58
--error ER_PARSE_ERROR
77
59
create table GROUP_CONCAT (a int);
78
 
drop table GROUP_CONCAT;
79
60
 
80
61
# Limitation removed in 5.1
81
62
create table GROUP_UNIQUE_USERS(a int);
85
66
 
86
67
--error ER_PARSE_ERROR
87
68
create table MAX(a int);
 
69
--error ER_PARSE_ERROR
88
70
create table MAX (a int);
89
 
drop table MAX;
90
71
 
91
72
--error ER_PARSE_ERROR
92
73
create table MID(a int);
 
74
--error ER_PARSE_ERROR
93
75
create table MID (a int);
94
 
drop table MID;
95
76
 
96
77
--error ER_PARSE_ERROR
97
78
create table MIN(a int);
 
79
--error ER_PARSE_ERROR
98
80
create table MIN (a int);
99
 
drop table MIN;
100
81
 
101
82
--error ER_PARSE_ERROR
102
83
create table NOW(a int);
 
84
--error ER_PARSE_ERROR
103
85
create table NOW (a int);
104
 
drop table NOW;
105
86
 
106
87
--error ER_PARSE_ERROR
107
88
create table POSITION(a int);
 
89
--error ER_PARSE_ERROR
108
90
create table POSITION (a int);
109
 
drop table POSITION;
110
91
 
111
92
create table SESSION_USER(a int);
112
93
drop table SESSION_USER;
115
96
 
116
97
--error ER_PARSE_ERROR
117
98
create table STD(a int);
 
99
--error ER_PARSE_ERROR
118
100
create table STD (a int);
119
 
drop table STD;
120
101
 
121
102
--error ER_PARSE_ERROR
122
103
create table STDDEV(a int);
 
104
--error ER_PARSE_ERROR
123
105
create table STDDEV (a int);
124
 
drop table STDDEV;
125
106
 
126
107
--error ER_PARSE_ERROR
127
108
create table STDDEV_POP(a int);
 
109
--error ER_PARSE_ERROR
128
110
create table STDDEV_POP (a int);
129
 
drop table STDDEV_POP;
130
111
 
131
112
--error ER_PARSE_ERROR
132
113
create table STDDEV_SAMP(a int);
 
114
--error ER_PARSE_ERROR
133
115
create table STDDEV_SAMP (a int);
134
 
drop table STDDEV_SAMP;
135
116
 
136
117
create table SUBDATE(a int);
137
118
drop table SUBDATE;
140
121
 
141
122
--error ER_PARSE_ERROR
142
123
create table SUBSTR(a int);
 
124
--error ER_PARSE_ERROR
143
125
create table SUBSTR (a int);
144
 
drop table SUBSTR;
145
 
 
146
 
--error ER_PARSE_ERROR
147
 
create table SUBSTRING(a int);
148
 
create table SUBSTRING (a int);
149
 
drop table SUBSTRING;
150
126
 
151
127
--error ER_PARSE_ERROR
152
128
create table SUM(a int);
 
129
--error ER_PARSE_ERROR
153
130
create table SUM (a int);
154
 
drop table SUM;
155
131
 
156
132
--error ER_PARSE_ERROR
157
133
create table SYSDATE(a int);
 
134
--error ER_PARSE_ERROR
158
135
create table SYSDATE (a int);
159
 
drop table SYSDATE;
160
136
 
161
137
create table SYSTEM_USER(a int);
162
138
drop table SYSTEM_USER;
165
141
 
166
142
--error ER_PARSE_ERROR
167
143
create table TRIM(a int);
 
144
--error ER_PARSE_ERROR
168
145
create table TRIM (a int);
169
 
drop table TRIM;
170
146
 
171
147
# Limitation removed in 5.1
172
148
create table UNIQUE_USERS(a int);
176
152
 
177
153
--error ER_PARSE_ERROR
178
154
create table VARIANCE(a int);
 
155
--error ER_PARSE_ERROR
179
156
create table VARIANCE (a int);
180
 
drop table VARIANCE;
181
157
 
182
158
--error ER_PARSE_ERROR
183
159
create table VAR_POP(a int);
 
160
--error ER_PARSE_ERROR
184
161
create table VAR_POP (a int);
185
 
drop table VAR_POP;
186
162
 
187
163
--error ER_PARSE_ERROR
188
164
create table VAR_SAMP(a int);
 
165
--error ER_PARSE_ERROR
189
166
create table VAR_SAMP (a int);
190
 
drop table VAR_SAMP;
191
 
 
192
 
set SQL_MODE='IGNORE_SPACE';
193
167
 
194
168
create table ADDDATE(a int);
195
169
drop table ADDDATE;
196
170
create table ADDDATE (a int);
197
171
drop table ADDDATE;
198
 
 
199
 
--error ER_PARSE_ERROR
200
 
create table BIT_AND(a int);
201
 
--error ER_PARSE_ERROR
202
 
create table BIT_AND (a int);
203
 
 
204
 
--error ER_PARSE_ERROR
205
 
create table BIT_OR(a int);
206
 
--error ER_PARSE_ERROR
207
 
create table BIT_OR (a int);
208
 
 
209
 
--error ER_PARSE_ERROR
210
 
create table BIT_XOR(a int);
211
 
--error ER_PARSE_ERROR
212
 
create table BIT_XOR (a int);
213
172
 
214
173
--error ER_PARSE_ERROR
215
174
create table CAST(a int);
373
332
DROP TABLE IF EXISTS table_25930_b;
374
333
--enable_warnings
375
334
 
376
 
SET SQL_MODE = 'ANSI_QUOTES';
 
335
--error ER_PARSE_ERROR
377
336
CREATE TABLE table_25930_a ( "blah" INT );
 
337
CREATE TABLE table_25930_a ( blah INT );
378
338
CREATE TABLE table_25930_b SELECT "blah" - 1 FROM table_25930_a;
379
339
 
380
340
# The lexer used to chop the first <">,
385
345
DROP TABLE table_25930_b;
386
346
 
387
347
 
388
 
SET @@sql_mode=@save_sql_mode;
389
 
 
390
348
#=============================================================================
391
349
# SYNTACTIC PARSER (bison)
392
350
#=============================================================================
435
393
select concat_ws("foo");
436
394
 
437
395
-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT
438
 
select encrypt();
439
 
select encrypt(1, 2, 3);
440
 
 
441
 
select des_encrypt("p1", "p2", "not expected");
442
 
select des_decrypt("p1", "p2", "not expected");
443
 
 
444
396
select elt();
445
397
-- error ER_WRONG_PARAMCOUNT_TO_NATIVE_FCT
446
398
select elt(1);
645
593
SELECT STR_TO_DATE('10:00 PM', '%h:%i %p') + INTERVAL (INTERVAL(1,2,3) + 1) MINUTE;
646
594
SELECT "1997-12-31 23:59:59" + INTERVAL 1 SECOND;
647
595
SELECT 1 + INTERVAL(1,0,1,2) + 1;
648
 
SELECT INTERVAL(1^1,0,1,2) + 1;
 
596
SELECT INTERVAL(1,0,1,2) + 1;
649
597
SELECT INTERVAL(1,0+1,2,3) * 5.5;
650
598
SELECT INTERVAL(3,3,1+3,4+4) / 0.5;
651
599
SELECT (INTERVAL(1,0,1,2) + 5) * 7 + INTERVAL(1,0,1,2) / 2;
652
600
SELECT INTERVAL(1,0,1,2) + 1, 5 * INTERVAL(1,0,1,2);
653
601
SELECT INTERVAL(0,(1*5)/2) + INTERVAL(5,4,3);
654
602
 
655
 
--disable_warnings
656
 
SELECT 1^1 + INTERVAL 1+1 SECOND & 1 + INTERVAL 1+1 SECOND;
657
 
SELECT 1%2 - INTERVAL 1^1 SECOND | 1%2 - INTERVAL 1^1 SECOND;
658
 
--enable_warnings
659
 
 
660
603
CREATE TABLE t1 (a INT, b DATETIME);
661
604
INSERT INTO t1 VALUES (INTERVAL(3,2,1) + 1, "1997-12-31 23:59:59" + INTERVAL 1 SECOND);
662
605
SELECT * FROM t1 WHERE a = INTERVAL(3,2,1) + 1;