Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
fcf35bd7
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
fcf35bd7
编写于
3月 31, 2021
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-3571] <fix>: fix null value filter bug for bool type.
上级
65303081
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
412 addition
and
340 deletion
+412
-340
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+5
-0
src/query/inc/sql.y
src/query/inc/sql.y
+1
-0
src/query/src/qSqlParser.c
src/query/src/qSqlParser.c
+11
-2
src/query/src/sql.c
src/query/src/sql.c
+344
-338
tests/script/general/parser/topbot.sim
tests/script/general/parser/topbot.sim
+51
-0
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
fcf35bd7
...
...
@@ -3737,6 +3737,7 @@ static int32_t handleExprInQueryCond(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSql
const
char
*
msg6
=
"only one query condition on tbname allowed"
;
const
char
*
msg7
=
"only in/like allowed in filter table name"
;
const
char
*
msg8
=
"wildcard string should be less than 20 characters"
;
const
char
*
msg9
=
"only support is [not] null"
;
tSqlExpr
*
pLeft
=
(
*
pExpr
)
->
pLeft
;
tSqlExpr
*
pRight
=
(
*
pExpr
)
->
pRight
;
...
...
@@ -3880,6 +3881,10 @@ static int32_t handleExprInQueryCond(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSql
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg5
);
}
if
(
pRight
->
tokenId
==
TK_NULL
&&
(
!
((
*
pExpr
)
->
tokenId
==
TK_ISNULL
||
(
*
pExpr
)
->
tokenId
==
TK_NOTNULL
)))
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg9
);
}
ret
=
setExprToCond
(
&
pCondExpr
->
pColumnCond
,
*
pExpr
,
NULL
,
parentOptr
,
pQueryInfo
->
msg
);
*
pExpr
=
NULL
;
// remove it from expr tree
}
...
...
src/query/inc/sql.y
浏览文件 @
fcf35bd7
...
...
@@ -675,6 +675,7 @@ expr(A) ::= STRING(X). { A = tSqlExprCreateIdValue(&X, TK_STRING);}
expr(A) ::= NOW(X). { A = tSqlExprCreateIdValue(&X, TK_NOW); }
expr(A) ::= VARIABLE(X). { A = tSqlExprCreateIdValue(&X, TK_VARIABLE);}
expr(A) ::= BOOL(X). { A = tSqlExprCreateIdValue(&X, TK_BOOL);}
expr(A) ::= NULL(X). { A = tSqlExprCreateIdValue(&X, TK_NULL);}
// ordinary functions: min(x), max(x), top(k, 20)
expr(A) ::= ID(X) LP exprlist(Y) RP(E). { A = tSqlExprCreateFunction(Y, &X, &E, X.type); }
...
...
src/query/src/qSqlParser.c
浏览文件 @
fcf35bd7
...
...
@@ -127,7 +127,12 @@ tSqlExpr *tSqlExprCreateIdValue(SStrToken *pToken, int32_t optrType) {
pSqlExpr
->
token
=
*
pToken
;
}
if
(
optrType
==
TK_INTEGER
||
optrType
==
TK_STRING
||
optrType
==
TK_FLOAT
||
optrType
==
TK_BOOL
)
{
if
(
optrType
==
TK_NULL
)
{
pToken
->
type
=
TSDB_DATA_TYPE_NULL
;
tVariantCreate
(
&
pSqlExpr
->
value
,
pToken
);
pSqlExpr
->
tokenId
=
optrType
;
pSqlExpr
->
type
=
SQL_NODE_VALUE
;
}
else
if
(
optrType
==
TK_INTEGER
||
optrType
==
TK_STRING
||
optrType
==
TK_FLOAT
||
optrType
==
TK_BOOL
)
{
toTSDBType
(
pToken
->
type
);
tVariantCreate
(
&
pSqlExpr
->
value
,
pToken
);
...
...
@@ -356,7 +361,11 @@ void tSqlExprCompact(tSqlExpr** pExpr) {
bool
tSqlExprIsLeaf
(
tSqlExpr
*
pExpr
)
{
return
(
pExpr
->
pRight
==
NULL
&&
pExpr
->
pLeft
==
NULL
)
&&
(
pExpr
->
tokenId
==
0
||
pExpr
->
tokenId
==
TK_ID
||
(
pExpr
->
tokenId
>=
TK_BOOL
&&
pExpr
->
tokenId
<=
TK_NCHAR
)
||
pExpr
->
tokenId
==
TK_SET
);
(
pExpr
->
tokenId
==
0
||
(
pExpr
->
tokenId
==
TK_ID
)
||
(
pExpr
->
tokenId
>=
TK_BOOL
&&
pExpr
->
tokenId
<=
TK_NCHAR
)
||
(
pExpr
->
tokenId
==
TK_NULL
)
||
(
pExpr
->
tokenId
==
TK_SET
));
}
bool
tSqlExprIsParentOfLeaf
(
tSqlExpr
*
pExpr
)
{
...
...
src/query/src/sql.c
浏览文件 @
fcf35bd7
...
...
@@ -129,16 +129,16 @@ typedef union {
#define ParseARG_STORE yypParser->pInfo = pInfo
#define YYFALLBACK 1
#define YYNSTATE 315
#define YYNRULE 26
6
#define YYNRULE 26
7
#define YYNTOKEN 187
#define YY_MAX_SHIFT 314
#define YY_MIN_SHIFTREDUCE 50
5
#define YY_MAX_SHIFTREDUCE 77
0
#define YY_ERROR_ACTION 77
1
#define YY_ACCEPT_ACTION 77
2
#define YY_NO_ACTION 77
3
#define YY_MIN_REDUCE 77
4
#define YY_MAX_REDUCE 10
39
#define YY_MIN_SHIFTREDUCE 50
6
#define YY_MAX_SHIFTREDUCE 77
2
#define YY_ERROR_ACTION 77
3
#define YY_ACCEPT_ACTION 77
4
#define YY_NO_ACTION 77
5
#define YY_MIN_REDUCE 77
6
#define YY_MAX_REDUCE 10
42
/************* End control #defines *******************************************/
/* Define the yytestcase() macro to be a no-op if is not already defined
...
...
@@ -204,146 +204,146 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (6
79
)
#define YY_ACTTAB_COUNT (6
80
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
133
,
55
2
,
202
,
312
,
206
,
140
,
941
,
17
,
85
,
553
,
/* 10 */
77
2
,
314
,
179
,
47
,
48
,
140
,
51
,
52
,
30
,
181
,
/* 20 */
214
,
41
,
181
,
50
,
262
,
55
,
53
,
57
,
54
,
102
0
,
/* 30 */
92
0
,
209
,
1021
,
46
,
45
,
185
,
181
,
44
,
43
,
42
,
/* 40 */
47
,
48
,
9
08
,
51
,
52
,
208
,
1021
,
214
,
41
,
552
,
/* 50 */
50
,
262
,
55
,
53
,
57
,
54
,
93
2
,
553
,
1017
,
203
,
/* 60 */
46
,
45
,
91
7
,
247
,
44
,
43
,
42
,
48
,
938
,
51
,
/* 70 */
52
,
242
,
97
2
,
214
,
41
,
552
,
50
,
262
,
55
,
53
,
/* 80 */
57
,
54
,
97
3
,
553
,
257
,
278
,
46
,
45
,
29
8
,
225
,
/* 90 */
44
,
43
,
42
,
50
6
,
507
,
508
,
509
,
510
,
511
,
512
,
/* 100 */
51
3
,
514
,
515
,
516
,
517
,
518
,
313
,
631
,
1016
,
231
,
/* 110 */
70
,
552
,
30
,
47
,
48
,
1015
,
51
,
52
,
819
,
553
,
/* 120 */
214
,
41
,
166
,
50
,
262
,
55
,
53
,
57
,
54
,
44
,
/* 130 */
43
,
42
,
717
,
46
,
45
,
288
,
287
,
44
,
43
,
42
,
/* 140 */
47
,
49
,
198
,
51
,
52
,
140
,
140
,
214
,
41
,
234
,
/* 150 */
50
,
262
,
55
,
53
,
57
,
54
,
916
,
238
,
237
,
227
,
/* 0 */
133
,
55
3
,
202
,
312
,
206
,
140
,
943
,
226
,
140
,
554
,
/* 10 */
77
4
,
314
,
17
,
47
,
48
,
140
,
51
,
52
,
30
,
181
,
/* 20 */
214
,
41
,
181
,
50
,
262
,
55
,
53
,
57
,
54
,
102
3
,
/* 30 */
92
2
,
209
,
1024
,
46
,
45
,
179
,
181
,
44
,
43
,
42
,
/* 40 */
47
,
48
,
9
20
,
51
,
52
,
208
,
1024
,
214
,
41
,
553
,
/* 50 */
50
,
262
,
55
,
53
,
57
,
54
,
93
4
,
554
,
185
,
203
,
/* 60 */
46
,
45
,
91
9
,
247
,
44
,
43
,
42
,
48
,
940
,
51
,
/* 70 */
52
,
242
,
97
4
,
214
,
41
,
79
,
50
,
262
,
55
,
53
,
/* 80 */
57
,
54
,
97
5
,
632
,
257
,
30
,
46
,
45
,
27
8
,
225
,
/* 90 */
44
,
43
,
42
,
50
7
,
508
,
509
,
510
,
511
,
512
,
513
,
/* 100 */
51
4
,
515
,
516
,
517
,
518
,
519
,
313
,
553
,
85
,
231
,
/* 110 */
70
,
288
,
287
,
47
,
48
,
554
,
51
,
52
,
298
,
219
,
/* 120 */
214
,
41
,
553
,
50
,
262
,
55
,
53
,
57
,
54
,
918
,
/* 130 */
554
,
105
,
718
,
46
,
45
,
1020
,
298
,
44
,
43
,
42
,
/* 140 */
47
,
49
,
910
,
51
,
52
,
922
,
140
,
214
,
41
,
234
,
/* 150 */
50
,
262
,
55
,
53
,
57
,
54
,
1019
,
238
,
237
,
227
,
/* 160 */
46
,
45
,
285
,
284
,
44
,
43
,
42
,
23
,
276
,
307
,
/* 170 */
306
,
275
,
274
,
273
,
305
,
272
,
304
,
303
,
302
,
271
,
/* 180 */
301
,
300
,
88
0
,
30
,
868
,
869
,
870
,
871
,
872
,
873
,
/* 190 */
87
4
,
875
,
876
,
877
,
878
,
879
,
881
,
882
,
51
,
52
,
/* 200 */
18
,
30
,
214
,
41
,
90
6
,
50
,
262
,
55
,
53
,
57
,
/* 210 */
54
,
259
,
79
,
78
,
25
,
46
,
45
,
190
,
199
,
44
,
/* 220 */
43
,
42
,
82
,
191
,
217
,
28
,
30
,
917
,
268
,
118
,
/* 230 */
117
,
189
,
12
,
213
,
730
,
932
,
84
,
721
,
81
,
724
,
/* 240 */
74
,
727
,
218
,
213
,
730
,
917
,
80
,
721
,
36
,
72
4
,
/* 250 */
204
,
727
,
30
,
903
,
904
,
29
,
907
,
46
,
45
,
71
,
/* 260 */
74
,
44
,
43
,
42
,
223
,
210
,
211
,
281
,
36
,
261
,
/* 270 */
917
,
23
,
914
,
307
,
306
,
210
,
211
,
723
,
305
,
726
,
/* 280 */
304
,
303
,
302
,
278
,
301
,
300
,
311
,
310
,
126
,
677
,
/* 290 */
241
,
888
,
68
,
282
,
886
,
887
,
917
,
245
,
197
,
889
,
/* 300 */
2
19
,
891
,
892
,
890
,
670
,
893
,
894
,
55
,
53
,
57
,
/* 310 */
54
,
1
,
154
,
263
,
220
,
46
,
45
,
30
,
221
,
44
,
/* 320 */
43
,
42
,
105
,
103
,
108
,
308
,
920
,
298
,
69
,
97
,
/* 330 */
1
07
,
113
,
116
,
106
,
224
,
655
,
56
,
280
,
652
,
11
0
,
/* 340 */
653
,
226
,
654
,
30
,
920
,
667
,
56
,
5
,
156
,
729
,
/* 350 */
1
83
,
920
,
24
,
33
,
155
,
92
,
87
,
91
,
286
,
72
9
,
/* 360 */
905
,
917
,
174
,
170
,
719
,
728
,
228
,
229
,
172
,
169
,
/* 370 */
1
21
,
120
,
119
,
828
,
820
,
728
,
918
,
166
,
166
,
3
,
/* 380 */
167
,
243
,
674
,
212
,
290
,
31
,
683
,
917
,
698
,
699
,
/* 390 */
135
,
689
,
690
,
750
,
731
,
60
,
20
,
19
,
19
,
722
,
/* 400 */
7
20
,
725
,
61
,
64
,
641
,
184
,
265
,
643
,
31
,
733
,
/* 410 */
31
,
60
,
267
,
642
,
115
,
114
,
83
,
60
,
96
,
95
,
/* 420 */
186
,
14
,
13
,
65
,
62
,
180
,
187
,
6
,
102
,
101
,
/* 430 */
67
,
188
,
630
,
16
,
15
,
659
,
657
,
660
,
658
,
131
,
/* 440 */
129
,
194
,
195
,
193
,
656
,
178
,
192
,
182
,
1031
,
919
,
/* 450 */
983
,
239
,
982
,
215
,
979
,
978
,
216
,
289
,
39
,
13
2
,
/* 460 */
940
,
948
,
950
,
130
,
134
,
933
,
138
,
246
,
965
,
964
,
/* 470 */
151
,
915
,
150
,
682
,
248
,
913
,
205
,
299
,
104
,
884
,
/* 480 */
1
60
,
260
,
152
,
153
,
145
,
143
,
141
,
831
,
270
,
66
,
/* 490 */
250
,
930
,
63
,
255
,
37
,
176
,
34
,
279
,
58
,
142
,
/* 500 */
827
,
1036
,
93
,
1035
,
1033
,
157
,
283
,
1030
,
99
,
1029
,
/* 510 */
1027
,
158
,
849
,
35
,
258
,
32
,
38
,
256
,
177
,
816
,
/* 520 */
109
,
814
,
111
,
112
,
254
,
812
,
811
,
230
,
168
,
252
,
/* 530 */
809
,
808
,
807
,
806
,
805
,
804
,
171
,
173
,
801
,
799
,
/* 540 */
797
,
795
,
793
,
175
,
249
,
244
,
72
,
75
,
40
,
251
,
/* 550 */
966
,
291
,
292
,
293
,
294
,
295
,
296
,
297
,
309
,
200
,
/* 560 */
2
22
,
770
,
269
,
232
,
233
,
769
,
235
,
201
,
196
,
88
,
/* 570 */
89
,
236
,
768
,
756
,
755
,
240
,
245
,
8
,
810
,
662
,
/* 580 */
122
,
161
,
123
,
165
,
163
,
803
,
850
,
159
,
162
,
164
,
/* 590 */
1
24
,
802
,
73
,
125
,
794
,
4
,
2
,
264
,
76
,
684
,
/* 600 */
1
36
,
137
,
687
,
77
,
144
,
148
,
146
,
147
,
149
,
896
,
/* 610 */
207
,
253
,
26
,
691
,
139
,
27
,
9
,
732
,
10
,
7
,
/* 620 */
734
,
11
,
21
,
266
,
22
,
86
,
594
,
84
,
590
,
588
,
/* 630 */
58
7
,
586
,
583
,
556
,
277
,
31
,
59
,
90
,
633
,
94
,
/* 640 */
63
2
,
629
,
578
,
98
,
100
,
576
,
568
,
574
,
570
,
572
,
/* 650 */
5
66
,
564
,
597
,
596
,
595
,
593
,
592
,
591
,
589
,
585
,
/* 660 */
5
84
,
60
,
554
,
522
,
520
,
774
,
773
,
773
,
773
,
773
,
/* 670 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
127
,
128
,
/* 180 */
301
,
300
,
88
2
,
30
,
870
,
871
,
872
,
873
,
874
,
875
,
/* 190 */
87
6
,
877
,
878
,
879
,
880
,
881
,
883
,
884
,
51
,
52
,
/* 200 */
821
,
1018
,
214
,
41
,
16
6
,
50
,
262
,
55
,
53
,
57
,
/* 210 */
54
,
259
,
18
,
78
,
82
,
46
,
45
,
198
,
223
,
44
,
/* 220 */
43
,
42
,
213
,
731
,
217
,
25
,
722
,
919
,
725
,
190
,
/* 230 */
728
,
221
,
213
,
731
,
199
,
191
,
722
,
724
,
725
,
727
,
/* 240 */
728
,
118
,
117
,
189
,
263
,
905
,
906
,
29
,
909
,
4
4
,
/* 250 */
43
,
42
,
30
,
74
,
210
,
211
,
308
,
922
,
261
,
30
,
/* 260 */
23
,
36
,
307
,
306
,
210
,
211
,
934
,
305
,
30
,
304
,
/* 270 */
303
,
302
,
74
,
301
,
300
,
890
,
908
,
183
,
888
,
889
,
/* 280 */
36
,
204
,
922
,
891
,
916
,
893
,
894
,
892
,
224
,
895
,
/* 290 */
896
,
280
,
656
,
218
,
830
,
653
,
919
,
654
,
166
,
655
,
/* 300 */
2
81
,
69
,
241
,
919
,
68
,
55
,
53
,
57
,
54
,
282
,
/* 310 */
197
,
671
,
919
,
46
,
45
,
30
,
822
,
44
,
43
,
42
,
/* 320 */
166
,
103
,
108
,
228
,
229
,
56
,
220
,
97
,
107
,
113
,
/* 330 */
1
16
,
106
,
732
,
907
,
723
,
56
,
726
,
110
,
730
,
3
0
,
/* 340 */
735
,
12
,
732
,
5
,
156
,
84
,
184
,
81
,
730
,
33
,
/* 350 */
1
55
,
92
,
87
,
91
,
729
,
278
,
286
,
1
,
154
,
91
9
,
/* 360 */
174
,
170
,
186
,
212
,
729
,
80
,
172
,
169
,
121
,
120
,
/* 370 */
1
19
,
46
,
45
,
3
,
167
,
44
,
43
,
42
,
71
,
720
,
/* 380 */
290
,
699
,
700
,
919
,
311
,
310
,
126
,
243
,
668
,
675
,
/* 390 */
678
,
31
,
684
,
690
,
180
,
24
,
135
,
60
,
245
,
691
,
/* 400 */
7
52
,
657
,
733
,
20
,
19
,
61
,
19
,
6
,
64
,
642
,
/* 410 */
265
,
1034
,
644
,
31
,
31
,
721
,
60
,
267
,
643
,
187
,
/* 420 */
28
,
83
,
60
,
268
,
96
,
95
,
188
,
62
,
65
,
14
,
/* 430 */
13
,
102
,
101
,
660
,
67
,
661
,
631
,
194
,
16
,
15
,
/* 440 */
658
,
195
,
659
,
115
,
114
,
131
,
129
,
193
,
178
,
192
,
/* 450 */
182
,
921
,
985
,
984
,
215
,
981
,
239
,
980
,
132
,
94
2
,
/* 460 */
216
,
289
,
39
,
950
,
952
,
967
,
134
,
966
,
138
,
935
,
/* 470 */
246
,
130
,
248
,
917
,
151
,
915
,
150
,
205
,
683
,
250
,
/* 480 */
1
52
,
886
,
299
,
153
,
291
,
148
,
146
,
260
,
142
,
932
,
/* 490 */
141
,
58
,
833
,
270
,
66
,
255
,
143
,
37
,
63
,
176
,
/* 500 */
34
,
279
,
829
,
258
,
144
,
1039
,
93
,
256
,
1038
,
1036
,
/* 510 */
157
,
254
,
283
,
1033
,
99
,
1032
,
1030
,
158
,
851
,
35
,
/* 520 */
252
,
145
,
32
,
38
,
177
,
818
,
109
,
816
,
111
,
40
,
/* 530 */
112
,
814
,
813
,
230
,
168
,
811
,
810
,
809
,
808
,
807
,
/* 540 */
806
,
171
,
173
,
803
,
801
,
799
,
797
,
795
,
175
,
249
,
/* 550 */
244
,
72
,
75
,
104
,
251
,
968
,
292
,
293
,
294
,
295
,
/* 560 */
2
96
,
297
,
309
,
200
,
222
,
269
,
772
,
232
,
201
,
233
,
/* 570 */
771
,
88
,
89
,
196
,
235
,
236
,
770
,
758
,
757
,
240
,
/* 580 */
245
,
8
,
264
,
73
,
812
,
663
,
805
,
161
,
852
,
159
,
/* 590 */
1
60
,
163
,
162
,
164
,
165
,
122
,
123
,
124
,
804
,
76
,
/* 600 */
1
25
,
796
,
4
,
2
,
685
,
136
,
137
,
688
,
77
,
149
,
/* 610 */
147
,
207
,
253
,
86
,
692
,
898
,
139
,
9
,
10
,
26
,
/* 620 */
27
,
734
,
7
,
11
,
736
,
21
,
22
,
266
,
595
,
591
,
/* 630 */
58
9
,
84
,
588
,
587
,
584
,
557
,
277
,
94
,
90
,
31
,
/* 640 */
63
4
,
633
,
59
,
630
,
579
,
577
,
98
,
569
,
575
,
571
,
/* 650 */
5
73
,
567
,
565
,
100
,
598
,
597
,
596
,
594
,
593
,
592
,
/* 660 */
5
90
,
586
,
585
,
60
,
555
,
523
,
521
,
776
,
775
,
127
,
/* 670 */
77
5
,
775
,
775
,
775
,
775
,
775
,
775
,
775
,
775
,
128
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
191
,
1
,
190
,
191
,
210
,
191
,
191
,
252
,
197
,
9
,
/* 0 */
191
,
1
,
190
,
191
,
210
,
191
,
191
,
191
,
191
,
9
,
/* 10 */
188
,
189
,
252
,
13
,
14
,
191
,
16
,
17
,
191
,
252
,
/* 20 */
20
,
21
,
252
,
23
,
24
,
25
,
26
,
27
,
28
,
262
,
/* 30 */
236
,
261
,
262
,
33
,
34
,
252
,
252
,
37
,
38
,
39
,
/* 40 */
13
,
14
,
2
31
,
16
,
17
,
261
,
262
,
20
,
21
,
1
,
/* 40 */
13
,
14
,
2
26
,
16
,
17
,
261
,
262
,
20
,
21
,
1
,
/* 50 */
23
,
24
,
25
,
26
,
27
,
28
,
234
,
9
,
252
,
232
,
/* 60 */
33
,
34
,
235
,
254
,
37
,
38
,
39
,
14
,
253
,
16
,
/* 70 */
17
,
249
,
258
,
20
,
21
,
1
,
23
,
24
,
25
,
26
,
/* 80 */
27
,
28
,
258
,
9
,
260
,
79
,
33
,
34
,
81
,
67
,
/* 70 */
17
,
249
,
258
,
20
,
21
,
258
,
23
,
24
,
25
,
26
,
/* 80 */
27
,
28
,
258
,
5
,
260
,
191
,
33
,
34
,
79
,
67
,
/* 90 */
37
,
38
,
39
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
/* 100 */
52
,
53
,
54
,
55
,
56
,
57
,
58
,
5
,
252
,
61
,
/* 110 */
110
,
1
,
191
,
13
,
14
,
252
,
16
,
17
,
196
,
9
,
/* 120 */
20
,
21
,
200
,
23
,
24
,
25
,
26
,
27
,
28
,
37
,
/* 130 */
38
,
39
,
105
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 140 */
13
,
14
,
2
52
,
16
,
17
,
191
,
191
,
20
,
21
,
135
,
/* 150 */
23
,
24
,
25
,
26
,
27
,
28
,
2
35
,
143
,
144
,
137
,
/* 100 */
52
,
53
,
54
,
55
,
56
,
57
,
58
,
1
,
197
,
61
,
/* 110 */
110
,
33
,
34
,
13
,
14
,
9
,
16
,
17
,
81
,
210
,
/* 120 */
20
,
21
,
1
,
23
,
24
,
25
,
26
,
27
,
28
,
235
,
/* 130 */
9
,
76
,
105
,
33
,
34
,
252
,
81
,
37
,
38
,
39
,
/* 140 */
13
,
14
,
2
31
,
16
,
17
,
236
,
191
,
20
,
21
,
135
,
/* 150 */
23
,
24
,
25
,
26
,
27
,
28
,
2
52
,
143
,
144
,
137
,
/* 160 */
33
,
34
,
140
,
141
,
37
,
38
,
39
,
88
,
89
,
90
,
/* 170 */
91
,
92
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
/* 180 */
101
,
102
,
209
,
191
,
211
,
212
,
213
,
214
,
215
,
216
,
/* 190 */
217
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
16
,
17
,
/* 200 */
44
,
191
,
20
,
21
,
0
,
23
,
24
,
25
,
26
,
27
,
/* 210 */
28
,
256
,
258
,
258
,
104
,
33
,
34
,
61
,
252
,
37
,
/* 220 */
38
,
39
,
197
,
67
,
232
,
104
,
191
,
235
,
107
,
73
,
/* 230 */
74
,
75
,
104
,
1
,
2
,
234
,
108
,
5
,
110
,
7
,
/* 240 */
104
,
9
,
232
,
1
,
2
,
235
,
237
,
5
,
112
,
7
,
/* 250 */
249
,
9
,
191
,
228
,
229
,
230
,
231
,
33
,
34
,
250
,
/* 260 */
104
,
37
,
38
,
39
,
67
,
33
,
34
,
232
,
112
,
3
7
,
/* 270 */
235
,
88
,
191
,
90
,
91
,
33
,
34
,
5
,
95
,
7
,
/* 280 */
97
,
98
,
99
,
79
,
101
,
102
,
64
,
65
,
66
,
105
,
/* 290 */
134
,
209
,
136
,
232
,
212
,
213
,
235
,
113
,
142
,
217
,
/* 300 */
2
10
,
219
,
220
,
221
,
37
,
223
,
224
,
25
,
26
,
27
,
/* 310 */
28
,
198
,
199
,
15
,
233
,
33
,
34
,
191
,
210
,
37
,
/* 320 */
38
,
39
,
76
,
62
,
63
,
210
,
236
,
81
,
197
,
68
,
/* 330 */
69
,
70
,
71
,
72
,
137
,
2
,
104
,
140
,
5
,
78
,
/* 340 */
7
,
191
,
9
,
191
,
236
,
109
,
104
,
62
,
63
,
117
,
/* 350 */
252
,
236
,
116
,
68
,
69
,
70
,
71
,
72
,
232
,
117
,
/* 360 */
229
,
235
,
62
,
63
,
1
,
133
,
33
,
34
,
68
,
69
,
/* 370 */
7
0
,
71
,
72
,
196
,
196
,
133
,
226
,
200
,
200
,
194
,
/* 380 */
195
,
105
,
115
,
60
,
232
,
109
,
105
,
235
,
124
,
12
5
,
/* 390 */
10
9
,
105
,
105
,
105
,
105
,
109
,
109
,
109
,
109
,
5
,
/* 400 */
37
,
7
,
109
,
109
,
105
,
252
,
105
,
105
,
109
,
111
,
/* 410 */
10
9
,
109
,
105
,
105
,
76
,
77
,
109
,
109
,
138
,
139
,
/* 420 */
252
,
138
,
139
,
129
,
131
,
252
,
252
,
104
,
138
,
139
,
/* 430 */
1
04
,
252
,
106
,
138
,
139
,
5
,
5
,
7
,
7
,
62
,
/* 440 */
63
,
252
,
252
,
252
,
111
,
252
,
252
,
252
,
236
,
236
,
/* 450 */
2
27
,
191
,
227
,
227
,
227
,
227
,
227
,
227
,
25
1
,
191
,
/* 460 */
191
,
191
,
191
,
60
,
191
,
234
,
191
,
234
,
259
,
259
,
/* 470 */
191
,
234
,
238
,
117
,
255
,
191
,
255
,
103
,
87
,
22
5
,
/* 480 */
206
,
122
,
191
,
191
,
243
,
245
,
247
,
191
,
191
,
12
8
,
/* 490 */
2
55
,
248
,
130
,
255
,
191
,
191
,
191
,
191
,
127
,
246
,
/* 500 */
191
,
191
,
191
,
1
91
,
191
,
191
,
191
,
19
1
,
191
,
191
,
/* 510 */
191
,
1
91
,
191
,
191
,
126
,
191
,
191
,
12
1
,
191
,
191
,
/* 520 */
1
91
,
191
,
191
,
191
,
120
,
191
,
191
,
191
,
191
,
119
,
/* 200 */
196
,
252
,
20
,
21
,
20
0
,
23
,
24
,
25
,
26
,
27
,
/* 210 */
28
,
256
,
44
,
258
,
197
,
33
,
34
,
252
,
67
,
37
,
/* 220 */
38
,
39
,
1
,
2
,
232
,
104
,
5
,
235
,
7
,
61
,
/* 230 */
9
,
210
,
1
,
2
,
252
,
67
,
5
,
5
,
7
,
7
,
/* 240 */
9
,
73
,
74
,
75
,
15
,
228
,
229
,
230
,
231
,
3
7
,
/* 250 */
38
,
39
,
191
,
104
,
33
,
34
,
210
,
236
,
37
,
191
,
/* 260 */
88
,
112
,
90
,
91
,
33
,
34
,
234
,
95
,
191
,
9
7
,
/* 270 */
98
,
99
,
104
,
101
,
102
,
209
,
0
,
252
,
212
,
213
,
/* 280 */
112
,
249
,
236
,
217
,
191
,
219
,
220
,
221
,
137
,
223
,
/* 290 */
224
,
140
,
2
,
232
,
196
,
5
,
235
,
7
,
200
,
9
,
/* 300 */
2
32
,
197
,
134
,
235
,
136
,
25
,
26
,
27
,
28
,
232
,
/* 310 */
142
,
37
,
235
,
33
,
34
,
191
,
196
,
37
,
38
,
39
,
/* 320 */
200
,
62
,
63
,
33
,
34
,
104
,
233
,
68
,
69
,
70
,
/* 330 */
71
,
72
,
111
,
229
,
5
,
104
,
7
,
78
,
117
,
191
,
/* 340 */
111
,
104
,
111
,
62
,
63
,
108
,
252
,
110
,
117
,
68
,
/* 350 */
69
,
70
,
71
,
72
,
133
,
79
,
232
,
198
,
199
,
235
,
/* 360 */
62
,
63
,
252
,
60
,
133
,
237
,
68
,
69
,
70
,
71
,
/* 370 */
7
2
,
33
,
34
,
194
,
195
,
37
,
38
,
39
,
250
,
1
,
/* 380 */
232
,
124
,
125
,
235
,
64
,
65
,
66
,
105
,
109
,
11
5
,
/* 390 */
10
5
,
109
,
105
,
105
,
252
,
116
,
109
,
109
,
113
,
10
5
,
/* 400 */
105
,
111
,
105
,
109
,
109
,
109
,
109
,
104
,
109
,
105
,
/* 410 */
10
5
,
236
,
105
,
109
,
109
,
37
,
109
,
105
,
105
,
252
,
/* 420 */
104
,
109
,
109
,
107
,
138
,
139
,
252
,
131
,
129
,
138
,
/* 430 */
1
39
,
138
,
139
,
5
,
104
,
7
,
106
,
252
,
138
,
139
,
/* 440 */
5
,
252
,
7
,
76
,
77
,
62
,
63
,
252
,
252
,
252
,
/* 450 */
2
52
,
236
,
227
,
227
,
227
,
227
,
191
,
227
,
19
1
,
191
,
/* 460 */
227
,
227
,
251
,
191
,
191
,
259
,
191
,
259
,
191
,
234
,
/* 470 */
234
,
60
,
255
,
234
,
191
,
191
,
238
,
255
,
117
,
25
5
,
/* 480 */
191
,
225
,
103
,
191
,
86
,
240
,
242
,
122
,
246
,
24
8
,
/* 490 */
2
47
,
127
,
191
,
191
,
128
,
255
,
245
,
191
,
130
,
191
,
/* 500 */
191
,
191
,
191
,
1
26
,
244
,
191
,
191
,
12
1
,
191
,
191
,
/* 510 */
191
,
1
20
,
191
,
191
,
191
,
191
,
191
,
19
1
,
191
,
191
,
/* 520 */
1
19
,
243
,
191
,
191
,
191
,
191
,
191
,
191
,
191
,
132
,
/* 530 */
191
,
191
,
191
,
191
,
191
,
191
,
191
,
191
,
191
,
191
,
/* 540 */
191
,
191
,
191
,
191
,
1
18
,
192
,
192
,
192
,
132
,
192
,
/* 550 */
192
,
86
,
50
,
83
,
85
,
54
,
84
,
82
,
79
,
192
,
/* 560 */
192
,
5
,
192
,
145
,
5
,
5
,
145
,
192
,
192
,
197
,
/* 570 */
197
,
5
,
5
,
90
,
89
,
135
,
113
,
104
,
192
,
10
5
,
/* 580 */
1
93
,
202
,
193
,
201
,
203
,
192
,
208
,
207
,
205
,
204
,
/* 590 */
193
,
192
,
114
,
193
,
192
,
194
,
198
,
107
,
109
,
105
,
/* 600 */
1
04
,
109
,
105
,
104
,
244
,
240
,
242
,
241
,
239
,
225
,
/* 610 */
1
,
104
,
109
,
105
,
104
,
109
,
123
,
105
,
123
,
104
,
/* 620 */
1
11
,
104
,
104
,
107
,
104
,
76
,
9
,
108
,
5
,
5
,
/* 630 */
5
,
5
,
5
,
80
,
15
,
109
,
16
,
76
,
5
,
13
9
,
/* 640 */
5
,
105
,
5
,
139
,
139
,
5
,
5
,
5
,
5
,
5
,
/* 650 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 660 */
5
,
109
,
80
,
60
,
59
,
0
,
263
,
263
,
263
,
263
,
/* 670 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
21
,
21
,
263
,
/* 540 */
191
,
191
,
191
,
191
,
1
91
,
191
,
191
,
191
,
191
,
118
,
/* 550 */
192
,
192
,
192
,
87
,
192
,
192
,
50
,
83
,
85
,
54
,
/* 560 */
84
,
82
,
79
,
192
,
192
,
192
,
5
,
145
,
192
,
5
,
/* 570 */
5
,
197
,
197
,
192
,
145
,
5
,
5
,
90
,
89
,
13
5
,
/* 580 */
1
13
,
104
,
107
,
114
,
192
,
105
,
192
,
202
,
208
,
207
,
/* 590 */
206
,
203
,
205
,
204
,
201
,
193
,
193
,
193
,
192
,
109
,
/* 600 */
1
93
,
192
,
194
,
198
,
105
,
104
,
109
,
105
,
104
,
239
,
/* 610 */
241
,
1
,
104
,
76
,
105
,
225
,
104
,
123
,
123
,
109
,
/* 620 */
1
09
,
105
,
104
,
104
,
111
,
104
,
104
,
107
,
9
,
5
,
/* 630 */
5
,
108
,
5
,
5
,
5
,
80
,
15
,
139
,
76
,
10
9
,
/* 640 */
5
,
5
,
16
,
105
,
5
,
5
,
139
,
5
,
5
,
5
,
/* 650 */
5
,
5
,
5
,
139
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 660 */
5
,
5
,
5
,
109
,
80
,
60
,
59
,
0
,
263
,
21
,
/* 670 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
21
,
/* 680 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
/* 690 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
/* 700 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
...
...
@@ -362,101 +362,101 @@ static const YYCODETYPE yy_lookahead[] = {
/* 830 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
/* 840 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
/* 850 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
263
,
/* 860 */
263
,
263
,
263
,
263
,
263
,
263
,
/* 860 */
263
,
263
,
263
,
263
,
263
,
263
,
263
,
};
#define YY_SHIFT_COUNT (314)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (66
5
)
#define YY_SHIFT_MAX (66
7
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
1
56
,
79
,
79
,
183
,
183
,
6
,
232
,
242
,
74
,
74
,
/* 10 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
0
,
48
,
242
,
/* 20 */
333
,
333
,
333
,
333
,
110
,
136
,
74
,
74
,
74
,
204
,
/* 30 */
74
,
74
,
246
,
6
,
7
,
7
,
679
,
679
,
679
,
242
,
/* 40 */
2
42
,
242
,
242
,
242
,
242
,
242
,
242
,
242
,
242
,
242
,
/* 50 */
2
42
,
242
,
242
,
242
,
242
,
242
,
242
,
242
,
242
,
333
,
/* 60 */
333
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
74
,
74
,
/* 70 */
74
,
267
,
74
,
136
,
136
,
74
,
74
,
74
,
264
,
264
,
/* 80 */
2
36
,
136
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 90 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 100 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 110 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 120 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 130 */
74
,
74
,
403
,
403
,
403
,
356
,
356
,
356
,
403
,
356
,
/* 140 */
4
03
,
361
,
362
,
371
,
359
,
388
,
396
,
404
,
410
,
426
,
/* 150 */
416
,
403
,
403
,
403
,
374
,
6
,
6
,
403
,
403
,
391
,
/* 160 */
465
,
502
,
470
,
469
,
501
,
472
,
475
,
374
,
403
,
479
,
/* 170 */
4
79
,
403
,
479
,
403
,
479
,
403
,
679
,
679
,
27
,
100
,
/* 180 */
127
,
100
,
100
,
53
,
182
,
28
2
,
282
,
282
,
282
,
261
,
/* 190 */
28
5
,
300
,
224
,
224
,
224
,
224
,
22
,
14
,
92
,
9
2
,
/* 200 */
128
,
197
,
222
,
276
,
184
,
281
,
286
,
287
,
288
,
289
,
/* 210 */
2
72
,
394
,
363
,
323
,
298
,
293
,
294
,
299
,
301
,
302
,
/* 220 */
3
07
,
308
,
121
,
280
,
283
,
290
,
326
,
295
,
430
,
431
,
/* 230 */
3
38
,
377
,
556
,
418
,
559
,
560
,
421
,
566
,
567
,
483
,
/* 240 */
48
5
,
440
,
463
,
490
,
473
,
478
,
474
,
489
,
494
,
496
,
/* 250 */
497
,
492
,
499
,
609
,
507
,
508
,
510
,
503
,
493
,
506
,
/* 260 */
495
,
51
2
,
515
,
509
,
517
,
490
,
518
,
516
,
520
,
519
,
/* 270 */
5
49
,
617
,
623
,
624
,
625
,
626
,
627
,
553
,
619
,
561
,
/* 280 */
500
,
526
,
526
,
620
,
504
,
505
,
526
,
633
,
635
,
536
,
/* 290 */
5
26
,
637
,
640
,
641
,
642
,
643
,
644
,
645
,
646
,
647
,
/* 300 */
6
48
,
649
,
650
,
651
,
652
,
653
,
654
,
655
,
552
,
582
,
/* 310 */
6
56
,
657
,
603
,
605
,
665
,
/* 0 */
1
68
,
79
,
79
,
172
,
172
,
9
,
221
,
231
,
106
,
106
,
/* 10 */
106
,
106
,
106
,
106
,
106
,
106
,
106
,
0
,
48
,
231
,
/* 20 */
290
,
290
,
290
,
290
,
121
,
149
,
106
,
106
,
106
,
276
,
/* 30 */
106
,
106
,
55
,
9
,
37
,
37
,
680
,
680
,
680
,
231
,
/* 40 */
2
31
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
/* 50 */
2
31
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
290
,
/* 60 */
290
,
78
,
78
,
78
,
78
,
78
,
78
,
78
,
106
,
106
,
/* 70 */
106
,
274
,
106
,
149
,
149
,
106
,
106
,
106
,
257
,
257
,
/* 80 */
2
79
,
149
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
/* 90 */
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
/* 100 */
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
/* 110 */
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
/* 120 */
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
106
,
/* 130 */
106
,
106
,
411
,
411
,
411
,
361
,
361
,
361
,
411
,
361
,
/* 140 */
4
11
,
366
,
368
,
364
,
365
,
377
,
386
,
391
,
401
,
431
,
/* 150 */
397
,
411
,
411
,
411
,
379
,
9
,
9
,
411
,
411
,
466
,
/* 160 */
398
,
506
,
474
,
473
,
505
,
476
,
479
,
379
,
411
,
483
,
/* 170 */
4
83
,
411
,
483
,
411
,
483
,
411
,
680
,
680
,
27
,
100
,
/* 180 */
127
,
100
,
100
,
53
,
182
,
28
0
,
280
,
280
,
280
,
259
,
/* 190 */
28
1
,
298
,
338
,
338
,
338
,
338
,
22
,
14
,
212
,
21
2
,
/* 200 */
237
,
151
,
320
,
282
,
285
,
287
,
288
,
294
,
295
,
297
,
/* 210 */
2
32
,
329
,
378
,
303
,
229
,
296
,
299
,
304
,
305
,
307
,
/* 220 */
3
12
,
313
,
316
,
286
,
291
,
293
,
330
,
300
,
428
,
435
,
/* 230 */
3
67
,
383
,
561
,
422
,
564
,
565
,
429
,
570
,
571
,
487
,
/* 240 */
48
9
,
444
,
467
,
475
,
477
,
469
,
480
,
490
,
499
,
501
,
/* 250 */
502
,
497
,
504
,
610
,
508
,
509
,
512
,
510
,
494
,
511
,
/* 260 */
495
,
51
6
,
518
,
513
,
519
,
475
,
521
,
520
,
522
,
523
,
/* 270 */
5
37
,
619
,
624
,
625
,
627
,
628
,
629
,
555
,
621
,
562
,
/* 280 */
498
,
530
,
530
,
626
,
507
,
514
,
530
,
635
,
636
,
538
,
/* 290 */
5
30
,
639
,
640
,
642
,
643
,
644
,
645
,
646
,
647
,
649
,
/* 300 */
6
50
,
651
,
652
,
653
,
654
,
655
,
656
,
657
,
554
,
584
,
/* 310 */
6
48
,
658
,
605
,
607
,
667
,
};
#define YY_REDUCE_COUNT (177)
#define YY_REDUCE_MIN (-24
5
)
#define YY_REDUCE_MAX (40
2
)
#define YY_REDUCE_MIN (-24
0
)
#define YY_REDUCE_MAX (40
9
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
178
,
-
27
,
-
27
,
82
,
82
,
25
,
-
230
,
-
216
,
-
173
,
-
176
,
/* 10 */
-
45
,
-
8
,
10
,
35
,
61
,
126
,
152
,
-
185
,
-
188
,
-
233
,
/* 20 */
-
206
,
90
,
108
,
115
,
-
191
,
1
,
-
186
,
-
46
,
81
,
-
1
89
,
/* 30 */
150
,
-
79
,
-
78
,
131
,
177
,
178
,
9
,
113
,
185
,
-
245
,
/* 40 */
-
2
40
,
-
217
,
-
194
,
-
144
,
-
137
,
-
110
,
-
34
,
98
,
153
,
168
,
/* 50 */
1
73
,
174
,
179
,
189
,
190
,
191
,
193
,
194
,
195
,
212
,
/* 60 */
21
3
,
223
,
225
,
226
,
227
,
228
,
229
,
230
,
260
,
268
,
/* 70 */
26
9
,
207
,
270
,
231
,
233
,
271
,
273
,
275
,
209
,
210
,
/* 80 */
23
4
,
237
,
279
,
284
,
291
,
292
,
296
,
297
,
303
,
304
,
/* 90 */
30
5
,
306
,
309
,
310
,
311
,
312
,
313
,
314
,
315
,
316
,
/* 100 */
3
17
,
318
,
319
,
320
,
321
,
322
,
324
,
325
,
327
,
328
,
/* 110 */
3
29
,
330
,
331
,
332
,
334
,
335
,
336
,
337
,
339
,
340
,
/* 120 */
34
1
,
342
,
343
,
344
,
345
,
346
,
347
,
348
,
349
,
350
,
/* 130 */
35
1
,
352
,
353
,
354
,
355
,
219
,
221
,
235
,
357
,
238
,
/* 140 */
3
58
,
243
,
239
,
253
,
240
,
360
,
241
,
364
,
366
,
36
5
,
/* 150 */
3
69
,
367
,
368
,
370
,
254
,
372
,
373
,
375
,
376
,
378
,
/* 160 */
38
0
,
274
,
379
,
383
,
381
,
385
,
382
,
384
,
386
,
387
,
/* 170 */
389
,
393
,
397
,
399
,
400
,
402
,
398
,
401
,
/* 0 */
-
178
,
-
27
,
-
27
,
66
,
66
,
17
,
-
230
,
-
216
,
-
173
,
-
176
,
/* 10 */
-
45
,
-
8
,
61
,
68
,
77
,
124
,
148
,
-
185
,
-
188
,
-
233
,
/* 20 */
-
206
,
-
91
,
21
,
46
,
-
191
,
32
,
-
186
,
-
183
,
93
,
-
89
,
/* 30 */
-
184
,
-
106
,
4
,
104
,
98
,
120
,
128
,
159
,
179
,
-
240
,
/* 40 */
-
2
17
,
-
194
,
-
117
,
-
96
,
-
51
,
-
35
,
-
18
,
25
,
94
,
110
,
/* 50 */
1
42
,
167
,
174
,
185
,
189
,
195
,
196
,
197
,
198
,
175
,
/* 60 */
21
5
,
225
,
226
,
227
,
228
,
230
,
233
,
234
,
265
,
267
,
/* 70 */
26
8
,
211
,
272
,
235
,
236
,
273
,
275
,
277
,
206
,
208
,
/* 80 */
23
8
,
239
,
283
,
284
,
289
,
292
,
301
,
302
,
306
,
308
,
/* 90 */
30
9
,
310
,
311
,
314
,
315
,
317
,
318
,
319
,
321
,
322
,
/* 100 */
3
23
,
324
,
325
,
326
,
327
,
328
,
331
,
332
,
333
,
334
,
/* 110 */
3
35
,
336
,
337
,
339
,
340
,
341
,
342
,
343
,
344
,
345
,
/* 120 */
34
6
,
347
,
348
,
349
,
350
,
351
,
352
,
353
,
354
,
355
,
/* 130 */
35
6
,
357
,
358
,
359
,
360
,
217
,
222
,
224
,
362
,
240
,
/* 140 */
3
63
,
241
,
243
,
242
,
251
,
260
,
278
,
244
,
369
,
24
5
,
/* 150 */
3
70
,
371
,
372
,
373
,
256
,
374
,
375
,
376
,
381
,
380
,
/* 160 */
38
2
,
384
,
385
,
387
,
388
,
389
,
393
,
390
,
392
,
402
,
/* 170 */
403
,
394
,
404
,
406
,
407
,
409
,
405
,
408
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
77
1
,
883
,
829
,
895
,
817
,
826
,
1023
,
1023
,
771
,
771
,
/* 10 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
942
,
790
,
1023
,
/* 20 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
826
,
/* 30 */
77
1
,
771
,
832
,
826
,
832
,
832
,
937
,
867
,
885
,
771
,
/* 40 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 50 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 60 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 70 */
77
1
,
944
,
947
,
771
,
771
,
949
,
771
,
771
,
969
,
969
,
/* 80 */
93
5
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 90 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 100 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
815
,
/* 110 */
77
1
,
813
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 120 */
77
1
,
771
,
771
,
771
,
771
,
771
,
800
,
771
,
771
,
771
,
/* 130 */
77
1
,
771
,
792
,
792
,
792
,
771
,
771
,
771
,
792
,
771
,
/* 140 */
79
2
,
976
,
980
,
974
,
962
,
970
,
961
,
957
,
955
,
954
,
/* 150 */
98
4
,
792
,
792
,
792
,
830
,
826
,
826
,
792
,
792
,
848
,
/* 160 */
84
6
,
844
,
836
,
842
,
838
,
840
,
834
,
818
,
792
,
824
,
/* 170 */
82
4
,
792
,
824
,
792
,
824
,
792
,
867
,
885
,
771
,
985
,
/* 180 */
77
1
,
1022
,
975
,
1012
,
1011
,
1018
,
1010
,
1009
,
1008
,
771
,
/* 190 */
77
1
,
771
,
1004
,
1005
,
1007
,
1006
,
771
,
771
,
1014
,
1013
,
/* 200 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 210 */
77
1
,
771
,
771
,
987
,
771
,
981
,
977
,
771
,
771
,
771
,
/* 220 */
77
1
,
771
,
771
,
771
,
771
,
771
,
897
,
771
,
771
,
771
,
/* 230 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 240 */
77
1
,
771
,
934
,
771
,
771
,
771
,
771
,
945
,
771
,
771
,
/* 250 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
971
,
771
,
963
,
/* 260 */
77
1
,
771
,
771
,
771
,
771
,
909
,
771
,
771
,
771
,
771
,
/* 270 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 280 */
77
1
,
1034
,
1032
,
771
,
771
,
771
,
1028
,
771
,
771
,
771
,
/* 290 */
102
6
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
/* 300 */
77
1
,
771
,
771
,
771
,
771
,
771
,
771
,
771
,
851
,
771
,
/* 310 */
798
,
796
,
771
,
788
,
771
,
/* 0 */
77
3
,
885
,
831
,
897
,
819
,
828
,
1026
,
1026
,
773
,
773
,
/* 10 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
944
,
792
,
1026
,
/* 20 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
828
,
/* 30 */
77
3
,
773
,
834
,
828
,
834
,
834
,
939
,
869
,
887
,
773
,
/* 40 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 50 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 60 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 70 */
77
3
,
946
,
949
,
773
,
773
,
951
,
773
,
773
,
971
,
971
,
/* 80 */
93
7
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 90 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 100 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
817
,
/* 110 */
77
3
,
815
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 120 */
77
3
,
773
,
773
,
773
,
773
,
773
,
802
,
773
,
773
,
773
,
/* 130 */
77
3
,
773
,
794
,
794
,
794
,
773
,
773
,
773
,
794
,
773
,
/* 140 */
79
4
,
978
,
982
,
976
,
964
,
972
,
963
,
959
,
957
,
956
,
/* 150 */
98
6
,
794
,
794
,
794
,
832
,
828
,
828
,
794
,
794
,
850
,
/* 160 */
84
8
,
846
,
838
,
844
,
840
,
842
,
836
,
820
,
794
,
826
,
/* 170 */
82
6
,
794
,
826
,
794
,
826
,
794
,
869
,
887
,
773
,
987
,
/* 180 */
77
3
,
1025
,
977
,
1015
,
1014
,
1021
,
1013
,
1012
,
1011
,
773
,
/* 190 */
77
3
,
773
,
1007
,
1008
,
1010
,
1009
,
773
,
773
,
1017
,
1016
,
/* 200 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 210 */
77
3
,
773
,
773
,
989
,
773
,
983
,
979
,
773
,
773
,
773
,
/* 220 */
77
3
,
773
,
773
,
773
,
773
,
773
,
899
,
773
,
773
,
773
,
/* 230 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 240 */
77
3
,
773
,
936
,
773
,
773
,
773
,
773
,
947
,
773
,
773
,
/* 250 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
973
,
773
,
965
,
/* 260 */
77
3
,
773
,
773
,
773
,
773
,
911
,
773
,
773
,
773
,
773
,
/* 270 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 280 */
77
3
,
1037
,
1035
,
773
,
773
,
773
,
1031
,
773
,
773
,
773
,
/* 290 */
102
9
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 300 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
853
,
773
,
/* 310 */
800
,
798
,
773
,
790
,
773
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -1245,46 +1245,47 @@ static const char *const yyRuleName[] = {
/* 223 */
"expr ::= NOW"
,
/* 224 */
"expr ::= VARIABLE"
,
/* 225 */
"expr ::= BOOL"
,
/* 226 */
"expr ::= ID LP exprlist RP"
,
/* 227 */
"expr ::= ID LP STAR RP"
,
/* 228 */
"expr ::= expr IS NULL"
,
/* 229 */
"expr ::= expr IS NOT NULL"
,
/* 230 */
"expr ::= expr LT expr"
,
/* 231 */
"expr ::= expr GT expr"
,
/* 232 */
"expr ::= expr LE expr"
,
/* 233 */
"expr ::= expr GE expr"
,
/* 234 */
"expr ::= expr NE expr"
,
/* 235 */
"expr ::= expr EQ expr"
,
/* 236 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 237 */
"expr ::= expr AND expr"
,
/* 238 */
"expr ::= expr OR expr"
,
/* 239 */
"expr ::= expr PLUS expr"
,
/* 240 */
"expr ::= expr MINUS expr"
,
/* 241 */
"expr ::= expr STAR expr"
,
/* 242 */
"expr ::= expr SLASH expr"
,
/* 243 */
"expr ::= expr REM expr"
,
/* 244 */
"expr ::= expr LIKE expr"
,
/* 245 */
"expr ::= expr IN LP exprlist RP"
,
/* 246 */
"exprlist ::= exprlist COMMA expritem"
,
/* 247 */
"exprlist ::= expritem"
,
/* 248 */
"expritem ::= expr"
,
/* 249 */
"expritem ::="
,
/* 250 */
"cmd ::= RESET QUERY CACHE"
,
/* 251 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 252 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 253 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 254 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 255 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 256 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 257 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 258 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 259 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 260 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 261 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 262 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 263 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 264 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 265 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 226 */
"expr ::= NULL"
,
/* 227 */
"expr ::= ID LP exprlist RP"
,
/* 228 */
"expr ::= ID LP STAR RP"
,
/* 229 */
"expr ::= expr IS NULL"
,
/* 230 */
"expr ::= expr IS NOT NULL"
,
/* 231 */
"expr ::= expr LT expr"
,
/* 232 */
"expr ::= expr GT expr"
,
/* 233 */
"expr ::= expr LE expr"
,
/* 234 */
"expr ::= expr GE expr"
,
/* 235 */
"expr ::= expr NE expr"
,
/* 236 */
"expr ::= expr EQ expr"
,
/* 237 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 238 */
"expr ::= expr AND expr"
,
/* 239 */
"expr ::= expr OR expr"
,
/* 240 */
"expr ::= expr PLUS expr"
,
/* 241 */
"expr ::= expr MINUS expr"
,
/* 242 */
"expr ::= expr STAR expr"
,
/* 243 */
"expr ::= expr SLASH expr"
,
/* 244 */
"expr ::= expr REM expr"
,
/* 245 */
"expr ::= expr LIKE expr"
,
/* 246 */
"expr ::= expr IN LP exprlist RP"
,
/* 247 */
"exprlist ::= exprlist COMMA expritem"
,
/* 248 */
"exprlist ::= expritem"
,
/* 249 */
"expritem ::= expr"
,
/* 250 */
"expritem ::="
,
/* 251 */
"cmd ::= RESET QUERY CACHE"
,
/* 252 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 253 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 254 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 255 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 256 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 257 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 258 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 259 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 260 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 261 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 262 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 263 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 264 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 265 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 266 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
#endif
/* NDEBUG */
...
...
@@ -1970,46 +1971,47 @@ static const struct {
{
252
,
-
1
},
/* (223) expr ::= NOW */
{
252
,
-
1
},
/* (224) expr ::= VARIABLE */
{
252
,
-
1
},
/* (225) expr ::= BOOL */
{
252
,
-
4
},
/* (226) expr ::= ID LP exprlist RP */
{
252
,
-
4
},
/* (227) expr ::= ID LP STAR RP */
{
252
,
-
3
},
/* (228) expr ::= expr IS NULL */
{
252
,
-
4
},
/* (229) expr ::= expr IS NOT NULL */
{
252
,
-
3
},
/* (230) expr ::= expr LT expr */
{
252
,
-
3
},
/* (231) expr ::= expr GT expr */
{
252
,
-
3
},
/* (232) expr ::= expr LE expr */
{
252
,
-
3
},
/* (233) expr ::= expr GE expr */
{
252
,
-
3
},
/* (234) expr ::= expr NE expr */
{
252
,
-
3
},
/* (235) expr ::= expr EQ expr */
{
252
,
-
5
},
/* (236) expr ::= expr BETWEEN expr AND expr */
{
252
,
-
3
},
/* (237) expr ::= expr AND expr */
{
252
,
-
3
},
/* (238) expr ::= expr OR expr */
{
252
,
-
3
},
/* (239) expr ::= expr PLUS expr */
{
252
,
-
3
},
/* (240) expr ::= expr MINUS expr */
{
252
,
-
3
},
/* (241) expr ::= expr STAR expr */
{
252
,
-
3
},
/* (242) expr ::= expr SLASH expr */
{
252
,
-
3
},
/* (243) expr ::= expr REM expr */
{
252
,
-
3
},
/* (244) expr ::= expr LIKE expr */
{
252
,
-
5
},
/* (245) expr ::= expr IN LP exprlist RP */
{
261
,
-
3
},
/* (246) exprlist ::= exprlist COMMA expritem */
{
261
,
-
1
},
/* (247) exprlist ::= expritem */
{
262
,
-
1
},
/* (248) expritem ::= expr */
{
262
,
0
},
/* (249) expritem ::= */
{
189
,
-
3
},
/* (250) cmd ::= RESET QUERY CACHE */
{
189
,
-
3
},
/* (251) cmd ::= SYNCDB ids REPLICA */
{
189
,
-
7
},
/* (252) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
189
,
-
7
},
/* (253) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
189
,
-
7
},
/* (254) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
189
,
-
7
},
/* (255) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
189
,
-
8
},
/* (256) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
189
,
-
9
},
/* (257) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
189
,
-
7
},
/* (258) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
189
,
-
7
},
/* (259) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
189
,
-
7
},
/* (260) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
189
,
-
7
},
/* (261) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
189
,
-
8
},
/* (262) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
189
,
-
3
},
/* (263) cmd ::= KILL CONNECTION INTEGER */
{
189
,
-
5
},
/* (264) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
189
,
-
5
},
/* (265) cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
252
,
-
1
},
/* (226) expr ::= NULL */
{
252
,
-
4
},
/* (227) expr ::= ID LP exprlist RP */
{
252
,
-
4
},
/* (228) expr ::= ID LP STAR RP */
{
252
,
-
3
},
/* (229) expr ::= expr IS NULL */
{
252
,
-
4
},
/* (230) expr ::= expr IS NOT NULL */
{
252
,
-
3
},
/* (231) expr ::= expr LT expr */
{
252
,
-
3
},
/* (232) expr ::= expr GT expr */
{
252
,
-
3
},
/* (233) expr ::= expr LE expr */
{
252
,
-
3
},
/* (234) expr ::= expr GE expr */
{
252
,
-
3
},
/* (235) expr ::= expr NE expr */
{
252
,
-
3
},
/* (236) expr ::= expr EQ expr */
{
252
,
-
5
},
/* (237) expr ::= expr BETWEEN expr AND expr */
{
252
,
-
3
},
/* (238) expr ::= expr AND expr */
{
252
,
-
3
},
/* (239) expr ::= expr OR expr */
{
252
,
-
3
},
/* (240) expr ::= expr PLUS expr */
{
252
,
-
3
},
/* (241) expr ::= expr MINUS expr */
{
252
,
-
3
},
/* (242) expr ::= expr STAR expr */
{
252
,
-
3
},
/* (243) expr ::= expr SLASH expr */
{
252
,
-
3
},
/* (244) expr ::= expr REM expr */
{
252
,
-
3
},
/* (245) expr ::= expr LIKE expr */
{
252
,
-
5
},
/* (246) expr ::= expr IN LP exprlist RP */
{
261
,
-
3
},
/* (247) exprlist ::= exprlist COMMA expritem */
{
261
,
-
1
},
/* (248) exprlist ::= expritem */
{
262
,
-
1
},
/* (249) expritem ::= expr */
{
262
,
0
},
/* (250) expritem ::= */
{
189
,
-
3
},
/* (251) cmd ::= RESET QUERY CACHE */
{
189
,
-
3
},
/* (252) cmd ::= SYNCDB ids REPLICA */
{
189
,
-
7
},
/* (253) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
189
,
-
7
},
/* (254) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
189
,
-
7
},
/* (255) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
189
,
-
7
},
/* (256) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
189
,
-
8
},
/* (257) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
189
,
-
9
},
/* (258) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
189
,
-
7
},
/* (259) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
189
,
-
7
},
/* (260) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
189
,
-
7
},
/* (261) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
189
,
-
7
},
/* (262) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
189
,
-
8
},
/* (263) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
189
,
-
3
},
/* (264) cmd ::= KILL CONNECTION INTEGER */
{
189
,
-
5
},
/* (265) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
189
,
-
5
},
/* (266) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2794,7 +2796,7 @@ static void yy_reduce(
break
;
case
200
:
/* having_opt ::= */
case
210
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
210
);
case
2
49
:
/* expritem ::= */
yytestcase
(
yyruleno
==
249
);
case
2
50
:
/* expritem ::= */
yytestcase
(
yyruleno
==
250
);
{
yymsp
[
1
].
minor
.
yy118
=
0
;}
break
;
case
201
:
/* having_opt ::= HAVING expr */
...
...
@@ -2871,112 +2873,116 @@ static void yy_reduce(
{
yylhsminor
.
yy118
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
226
:
/* expr ::= ID LP exprlist RP */
case
226
:
/* expr ::= NULL */
{
yylhsminor
.
yy118
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
227
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy118
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy159
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
22
7
:
/* expr ::= ID LP STAR RP */
case
22
8
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy118
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
22
8
:
/* expr ::= expr IS NULL */
case
22
9
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
2
29
:
/* expr ::= expr IS NOT NULL */
case
2
30
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy118
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
0
:
/* expr ::= expr LT expr */
case
23
1
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
1
:
/* expr ::= expr GT expr */
case
23
2
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
2
:
/* expr ::= expr LE expr */
case
23
3
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
3
:
/* expr ::= expr GE expr */
case
23
4
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
4
:
/* expr ::= expr NE expr */
case
23
5
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
5
:
/* expr ::= expr EQ expr */
case
23
6
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
6
:
/* expr ::= expr BETWEEN expr AND expr */
case
23
7
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy118
);
yylhsminor
.
yy118
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy118
,
yymsp
[
-
2
].
minor
.
yy118
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy118
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
7
:
/* expr ::= expr AND expr */
case
23
8
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
23
8
:
/* expr ::= expr OR expr */
case
23
9
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
2
39
:
/* expr ::= expr PLUS expr */
case
2
40
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
24
0
:
/* expr ::= expr MINUS expr */
case
24
1
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
24
1
:
/* expr ::= expr STAR expr */
case
24
2
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
24
2
:
/* expr ::= expr SLASH expr */
case
24
3
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
24
3
:
/* expr ::= expr REM expr */
case
24
4
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
24
4
:
/* expr ::= expr LIKE expr */
case
24
5
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy118
,
yymsp
[
0
].
minor
.
yy118
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
24
5
:
/* expr ::= expr IN LP exprlist RP */
case
24
6
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy118
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy118
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy159
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
24
6
:
/* exprlist ::= exprlist COMMA expritem */
case
24
7
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy159
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy159
,
yymsp
[
0
].
minor
.
yy118
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy159
=
yylhsminor
.
yy159
;
break
;
case
24
7
:
/* exprlist ::= expritem */
case
24
8
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy159
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy118
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy159
=
yylhsminor
.
yy159
;
break
;
case
24
8
:
/* expritem ::= expr */
case
24
9
:
/* expritem ::= expr */
{
yylhsminor
.
yy118
=
yymsp
[
0
].
minor
.
yy118
;}
yymsp
[
0
].
minor
.
yy118
=
yylhsminor
.
yy118
;
break
;
case
25
0
:
/* cmd ::= RESET QUERY CACHE */
case
25
1
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
break
;
case
25
1
:
/* cmd ::= SYNCDB ids REPLICA */
case
25
2
:
/* cmd ::= SYNCDB ids REPLICA */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
break
;
case
25
2
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
25
3
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy159
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
25
3
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
25
4
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -2987,14 +2993,14 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
25
4
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
25
5
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy159
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
25
5
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
25
6
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3005,7 +3011,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
25
6
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
25
7
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3019,7 +3025,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
25
7
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
case
25
8
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
...
@@ -3031,14 +3037,14 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
25
8
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
case
25
9
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy159
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
2
59
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
case
2
60
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3049,14 +3055,14 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
0
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
case
26
1
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy159
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
1
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
case
26
2
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3067,7 +3073,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
2
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
case
26
3
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3081,13 +3087,13 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
3
:
/* cmd ::= KILL CONNECTION INTEGER */
case
26
4
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
26
4
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
case
26
5
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_STREAM
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
26
5
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
case
26
6
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_QUERY
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
default:
...
...
tests/script/general/parser/topbot.sim
浏览文件 @
fcf35bd7
...
...
@@ -325,4 +325,55 @@ if $row != 0 then
return -1
endi
print ===============================>td-3621
sql create table ttm2(ts timestamp, k bool);
sql insert into ttm2 values('2021-1-1 1:1:1', true)
sql insert into ttm2 values('2021-1-1 1:1:2', NULL)
sql insert into ttm2 values('2021-1-1 1:1:3', false)
sql select * from ttm2 where k is not null
if $row != 2 then
return -1
endi
if $data00 != @2021-1-1 1:1:1@ then
return -1
endi
sql select * from ttm2 where k is null
if $row != 1 then
return -1
endi
if $data00 != @2021-1-1 1:1:2@ then
return -1
endi
sql select * from ttm2 where k=true
if $row != 1 then
return -1
endi
if $data00 != @2021-1-1 1:1:1@ then
return -1
endi
sql select * from ttm2 where k=false
if $row != 1 then
return -1
endi
if $data00 != @2021-1-1 1:1:3@ then
return -1
endi
sql select * from ttm2 where k<>false
if $row != 2 then
return -1
endi
sql_error select * from ttm2 where k=null
sql_error select * from ttm2 where k<>null
sql_error select * from ttm2 where k like null
sql_error select * from ttm2 where k<null
system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录