Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
66791ff3
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
66791ff3
编写于
7月 16, 2019
作者:
S
slguan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix the bug when the stream calculation error occurs
上级
76ac9464
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
338 addition
and
343 deletion
+338
-343
src/client/src/tscServer.c
src/client/src/tscServer.c
+28
-16
src/inc/sql.y
src/inc/sql.y
+2
-7
src/system/src/vnodeRead.c
src/system/src/vnodeRead.c
+0
-3
src/util/src/sql.c
src/util/src/sql.c
+308
-317
未找到文件。
src/client/src/tscServer.c
浏览文件 @
66791ff3
...
@@ -423,7 +423,7 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) {
...
@@ -423,7 +423,7 @@ void *tscProcessMsgFromServer(char *msg, void *ahandle, void *thandle) {
return
ahandle
;
return
ahandle
;
}
}
static
SSqlObj
*
tscCreateSqlObjForSubquery
(
SSqlObj
*
pSql
,
SRetrieveSupport
*
trsupport
);
static
SSqlObj
*
tscCreateSqlObjForSubquery
(
SSqlObj
*
pSql
,
SRetrieveSupport
*
trsupport
,
SSqlObj
*
pOld
);
static
int
tscLaunchMetricSubQueries
(
SSqlObj
*
pSql
);
static
int
tscLaunchMetricSubQueries
(
SSqlObj
*
pSql
);
int
tscProcessSql
(
SSqlObj
*
pSql
)
{
int
tscProcessSql
(
SSqlObj
*
pSql
)
{
...
@@ -595,8 +595,9 @@ int tscLaunchMetricSubQueries(SSqlObj *pSql) {
...
@@ -595,8 +595,9 @@ int tscLaunchMetricSubQueries(SSqlObj *pSql) {
pthread_mutex_init
(
&
trs
->
queryMutex
,
&
mutexattr
);
pthread_mutex_init
(
&
trs
->
queryMutex
,
&
mutexattr
);
pthread_mutexattr_destroy
(
&
mutexattr
);
pthread_mutexattr_destroy
(
&
mutexattr
);
SSqlObj
*
pNew
=
tscCreateSqlObjForSubquery
(
pSql
,
trs
);
SSqlObj
*
pNew
=
tscCreateSqlObjForSubquery
(
pSql
,
trs
,
NULL
);
tscTrace
(
"%p sub:%p launch subquery.orderOfSub:%d"
,
pSql
,
pNew
,
pNew
->
cmd
.
vnodeIdx
);
tscTrace
(
"%p sub:%p launch subquery.orderOfSub:%d"
,
pSql
,
pNew
,
pNew
->
cmd
.
vnodeIdx
);
tscProcessSql
(
pNew
);
tscProcessSql
(
pNew
);
}
}
...
@@ -656,6 +657,7 @@ static void tscHandleSubRetrievalError(SRetrieveSupport *trsupport, SSqlObj *pSq
...
@@ -656,6 +657,7 @@ static void tscHandleSubRetrievalError(SRetrieveSupport *trsupport, SSqlObj *pSq
tscError
(
"%p sub:%p abort further retrieval due to other queries failure,orderOfSub:%d,code:%d"
,
tscError
(
"%p sub:%p abort further retrieval due to other queries failure,orderOfSub:%d,code:%d"
,
pPObj
,
pSql
,
idx
,
*
trsupport
->
code
);
pPObj
,
pSql
,
idx
,
*
trsupport
->
code
);
}
else
{
}
else
{
if
(
trsupport
->
numOfRetry
++
<
MAX_NUM_OF_SUBQUERY_RETRY
&&
*
(
trsupport
->
code
)
==
TSDB_CODE_SUCCESS
)
{
if
(
trsupport
->
numOfRetry
++
<
MAX_NUM_OF_SUBQUERY_RETRY
&&
*
(
trsupport
->
code
)
==
TSDB_CODE_SUCCESS
)
{
/*
/*
* current query failed, and the retry count is less than the available count,
* current query failed, and the retry count is less than the available count,
...
@@ -665,12 +667,11 @@ static void tscHandleSubRetrievalError(SRetrieveSupport *trsupport, SSqlObj *pSq
...
@@ -665,12 +667,11 @@ static void tscHandleSubRetrievalError(SRetrieveSupport *trsupport, SSqlObj *pSq
// clear local saved number of results
// clear local saved number of results
trsupport
->
localBuffer
->
numOfElems
=
0
;
trsupport
->
localBuffer
->
numOfElems
=
0
;
pthread_mutex_unlock
(
&
trsupport
->
queryMutex
);
pthread_mutex_unlock
(
&
trsupport
->
queryMutex
);
SSqlObj
*
pNew
=
tscCreateSqlObjForSubquery
(
trsupport
->
pParentSqlObj
,
trsupport
);
SSqlObj
*
pNew
=
tscCreateSqlObjForSubquery
(
trsupport
->
pParentSqlObj
,
trsupport
,
pSql
);
tscTrace
(
"%p sub:%p retrieve failed, code:%d, orderOfSub:%d, retry:%d, new SqlObj:%p"
,
tscTrace
(
"%p sub:%p retrieve failed, code:%d, orderOfSub:%d, retry:%d, new SqlObj:%p"
,
trsupport
->
pParentSqlObj
,
pSql
,
numOfRows
,
idx
,
trsupport
->
numOfRetry
,
pNew
);
trsupport
->
pParentSqlObj
,
pSql
,
numOfRows
,
idx
,
trsupport
->
numOfRetry
,
pNew
);
tscProcessSql
(
pNew
);
tscProcessSql
(
pNew
);
return
;
return
;
...
@@ -680,6 +681,7 @@ static void tscHandleSubRetrievalError(SRetrieveSupport *trsupport, SSqlObj *pSq
...
@@ -680,6 +681,7 @@ static void tscHandleSubRetrievalError(SRetrieveSupport *trsupport, SSqlObj *pSq
tscError
(
"%p sub:%p retrieve failed,code:%d,orderOfSub:%d failed.no more retry,set global code:%d"
,
tscError
(
"%p sub:%p retrieve failed,code:%d,orderOfSub:%d failed.no more retry,set global code:%d"
,
pPObj
,
pSql
,
numOfRows
,
idx
,
*
trsupport
->
code
);
pPObj
,
pSql
,
numOfRows
,
idx
,
*
trsupport
->
code
);
}
}
}
}
if
(
__sync_add_and_fetch_32
(
trsupport
->
numOfFinished
,
1
)
<
trsupport
->
numOfVnodes
)
{
if
(
__sync_add_and_fetch_32
(
trsupport
->
numOfFinished
,
1
)
<
trsupport
->
numOfVnodes
)
{
...
@@ -867,10 +869,15 @@ void tscKillMetricQuery(SSqlObj *pSql) {
...
@@ -867,10 +869,15 @@ void tscKillMetricQuery(SSqlObj *pSql) {
tscTrace
(
"%p metric query is cancelled"
,
pSql
);
tscTrace
(
"%p metric query is cancelled"
,
pSql
);
}
}
static
SSqlObj
*
tscCreateSqlObjForSubquery
(
SSqlObj
*
pSql
,
SRetrieveSupport
*
trsupport
)
{
static
SSqlObj
*
tscCreateSqlObjForSubquery
(
SSqlObj
*
pSql
,
SRetrieveSupport
*
trsupport
,
SSqlObj
*
prevSqlObj
)
{
SSqlCmd
*
pCmd
=
&
pSql
->
cmd
;
SSqlCmd
*
pCmd
=
&
pSql
->
cmd
;
SSqlObj
*
pNew
=
(
SSqlObj
*
)
calloc
(
1
,
sizeof
(
SSqlObj
));
SSqlObj
*
pNew
=
(
SSqlObj
*
)
calloc
(
1
,
sizeof
(
SSqlObj
));
if
(
pNew
==
NULL
)
{
return
NULL
;
}
pSql
->
pSubs
[
trsupport
->
vnodeIdx
-
1
]
=
pNew
;
pSql
->
pSubs
[
trsupport
->
vnodeIdx
-
1
]
=
pNew
;
pNew
->
pTscObj
=
pSql
->
pTscObj
;
pNew
->
pTscObj
=
pSql
->
pTscObj
;
...
@@ -894,14 +901,22 @@ static SSqlObj *tscCreateSqlObjForSubquery(SSqlObj *pSql, SRetrieveSupport *trsu
...
@@ -894,14 +901,22 @@ static SSqlObj *tscCreateSqlObjForSubquery(SSqlObj *pSql, SRetrieveSupport *trsu
pNew
->
param
=
trsupport
;
pNew
->
param
=
trsupport
;
pNew
->
cmd
.
vnodeIdx
=
trsupport
->
vnodeIdx
;
pNew
->
cmd
.
vnodeIdx
=
trsupport
->
vnodeIdx
;
char
key
[
TSDB_MAX_TAGS_LEN
+
1
]
=
{
0
};
if
(
prevSqlObj
==
NULL
)
{
tscGetMetricMetaCacheKey
(
&
pNew
->
cmd
,
key
);
char
key
[
TSDB_MAX_TAGS_LEN
+
1
]
=
{
0
};
pNew
->
cmd
.
pMetricMeta
=
taosGetDataFromCache
(
tscCacheHandle
,
key
);
tscGetMetricMetaCacheKey
(
&
pNew
->
cmd
,
key
);
pNew
->
cmd
.
pMeterMeta
=
taosGetDataFromCache
(
tscCacheHandle
,
pCmd
->
name
);
pNew
->
cmd
.
pMetricMeta
=
taosGetDataFromCache
(
tscCacheHandle
,
key
);
pNew
->
cmd
.
pMeterMeta
=
taosGetDataFromCache
(
tscCacheHandle
,
pCmd
->
name
);
}
else
{
pNew
->
cmd
.
pMeterMeta
=
prevSqlObj
->
cmd
.
pMeterMeta
;
pNew
->
cmd
.
pMetricMeta
=
prevSqlObj
->
cmd
.
pMetricMeta
;
assert
(
pNew
->
cmd
.
pMeterMeta
!=
NULL
&&
pNew
->
cmd
.
pMetricMeta
!=
NULL
);
prevSqlObj
->
cmd
.
pMetricMeta
=
NULL
;
prevSqlObj
->
cmd
.
pMeterMeta
=
NULL
;
}
assert
(
pNew
->
cmd
.
pMeterMeta
!=
NULL
&&
pNew
->
cmd
.
pMetricMeta
!=
NULL
);
return
pNew
;
return
pNew
;
}
}
void
tscRetrieveDataRes
(
void
*
param
,
TAOS_RES
*
tres
,
int
retCode
)
{
void
tscRetrieveDataRes
(
void
*
param
,
TAOS_RES
*
tres
,
int
retCode
)
{
...
@@ -938,7 +953,7 @@ void tscRetrieveDataRes(void *param, TAOS_RES *tres, int retCode) {
...
@@ -938,7 +953,7 @@ void tscRetrieveDataRes(void *param, TAOS_RES *tres, int retCode) {
tscTrace
(
"%p sub:%p reach the max retry count,set global code:%d"
,
trsupport
->
pParentSqlObj
,
pSql
,
retCode
);
tscTrace
(
"%p sub:%p reach the max retry count,set global code:%d"
,
trsupport
->
pParentSqlObj
,
pSql
,
retCode
);
__sync_val_compare_and_swap_32
(
trsupport
->
code
,
0
,
retCode
);
__sync_val_compare_and_swap_32
(
trsupport
->
code
,
0
,
retCode
);
}
else
{
// does not reach the maximum retry count, go on
}
else
{
// does not reach the maximum retry count, go on
SSqlObj
*
pNew
=
tscCreateSqlObjForSubquery
(
trsupport
->
pParentSqlObj
,
trsupport
);
SSqlObj
*
pNew
=
tscCreateSqlObjForSubquery
(
trsupport
->
pParentSqlObj
,
trsupport
,
pSql
);
tscTrace
(
"%p sub:%p failed code:%d, retry:%d, new SqlObj:%p"
,
trsupport
->
pParentSqlObj
,
pSql
,
retCode
,
tscTrace
(
"%p sub:%p failed code:%d, retry:%d, new SqlObj:%p"
,
trsupport
->
pParentSqlObj
,
pSql
,
retCode
,
trsupport
->
numOfRetry
,
pNew
);
trsupport
->
numOfRetry
,
pNew
);
...
@@ -2731,10 +2746,7 @@ static int32_t tscDoGetMeterMeta(SSqlObj *pSql, char *meterId) {
...
@@ -2731,10 +2746,7 @@ static int32_t tscDoGetMeterMeta(SSqlObj *pSql, char *meterId) {
pNew
->
fp
=
tscMeterMetaCallBack
;
pNew
->
fp
=
tscMeterMetaCallBack
;
pNew
->
param
=
pSql
;
pNew
->
param
=
pSql
;
int32_t
len
=
strlen
(
pSql
->
sqlstr
);
pNew
->
sqlstr
=
strdup
(
pSql
->
sqlstr
);
pNew
->
sqlstr
=
malloc
(
len
+
1
);
strcpy
(
pNew
->
sqlstr
,
pSql
->
sqlstr
);
pNew
->
sqlstr
[
len
]
=
0
;
code
=
tscProcessSql
(
pNew
);
code
=
tscProcessSql
(
pNew
);
if
(
code
==
TSDB_CODE_SUCCESS
)
{
if
(
code
==
TSDB_CODE_SUCCESS
)
{
...
...
src/inc/sql.y
浏览文件 @
66791ff3
...
@@ -196,8 +196,8 @@ typename(A) ::= ids(X) LP signed(Y) RP. {
...
@@ -196,8 +196,8 @@ typename(A) ::= ids(X) LP signed(Y) RP. {
tSQLSetColumnType(&A, &X);
tSQLSetColumnType(&A, &X);
}
}
%type signed {int}
%type signed {int
64_t
}
signed(A) ::= INTEGER(X). { A =
atoi(X.z
); }
signed(A) ::= INTEGER(X). { A =
strtol(X.z, NULL, 10
); }
signed(A) ::= PLUS INTEGER(X). { A = strtol(X.z, NULL, 10); }
signed(A) ::= PLUS INTEGER(X). { A = strtol(X.z, NULL, 10); }
signed(A) ::= MINUS INTEGER(X). { A = -strtol(X.z, NULL, 10);}
signed(A) ::= MINUS INTEGER(X). { A = -strtol(X.z, NULL, 10);}
...
@@ -303,11 +303,6 @@ selcollist(A) ::= sclp(P) STAR. {
...
@@ -303,11 +303,6 @@ selcollist(A) ::= sclp(P) STAR. {
A = tSQLExprListAppend(P, pNode, 0);
A = tSQLExprListAppend(P, pNode, 0);
}
}
selcollist(A) ::= sclp(P) ID(X) DOT STAR. {
tSQLExpr *pNode = tSQLExprIdValueCreate(NULL, TK_ALL);
A = tSQLExprListAppend(P, pNode, 0);
}
// An option "AS <id>" phrase that can follow one of the expressions that
// An option "AS <id>" phrase that can follow one of the expressions that
// define the result set, or one of the tables in the FROM clause.
// define the result set, or one of the tables in the FROM clause.
//
//
...
...
src/system/src/vnodeRead.c
浏览文件 @
66791ff3
...
@@ -593,10 +593,8 @@ void *vnodeQueryInTimeRange(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyExp
...
@@ -593,10 +593,8 @@ void *vnodeQueryInTimeRange(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyExp
pQuery
=
&
(
pQInfo
->
query
);
pQuery
=
&
(
pQInfo
->
query
);
dTrace
(
"qmsg:%p create QInfo:%p, QInfo created"
,
pQueryMsg
,
pQInfo
);
dTrace
(
"qmsg:%p create QInfo:%p, QInfo created"
,
pQueryMsg
,
pQInfo
);
pQuery
->
order
.
order
=
pQueryMsg
->
order
;
pQuery
->
skey
=
pQueryMsg
->
skey
;
pQuery
->
skey
=
pQueryMsg
->
skey
;
pQuery
->
ekey
=
pQueryMsg
->
ekey
;
pQuery
->
ekey
=
pQueryMsg
->
ekey
;
pQuery
->
lastKey
=
pQuery
->
skey
;
pQuery
->
lastKey
=
pQuery
->
skey
;
pQInfo
->
fp
=
pQueryFunc
[
pQueryMsg
->
order
];
pQInfo
->
fp
=
pQueryFunc
[
pQueryMsg
->
order
];
...
@@ -680,7 +678,6 @@ void *vnodeQueryOnMultiMeters(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyE
...
@@ -680,7 +678,6 @@ void *vnodeQueryOnMultiMeters(SMeterObj **pMetersObj, SSqlGroupbyExpr *pGroupbyE
pQuery
=
&
(
pQInfo
->
query
);
pQuery
=
&
(
pQInfo
->
query
);
dTrace
(
"qmsg:%p create QInfo:%p, QInfo created"
,
pQueryMsg
,
pQInfo
);
dTrace
(
"qmsg:%p create QInfo:%p, QInfo created"
,
pQueryMsg
,
pQInfo
);
pQuery
->
order
.
order
=
pQueryMsg
->
order
;
pQuery
->
skey
=
pQueryMsg
->
skey
;
pQuery
->
skey
=
pQueryMsg
->
skey
;
pQuery
->
ekey
=
pQueryMsg
->
ekey
;
pQuery
->
ekey
=
pQueryMsg
->
ekey
;
...
...
src/util/src/sql.c
浏览文件 @
66791ff3
...
@@ -101,6 +101,7 @@ typedef union {
...
@@ -101,6 +101,7 @@ typedef union {
SQuerySQL
*
yy24
;
SQuerySQL
*
yy24
;
tSQLExprList
*
yy98
;
tSQLExprList
*
yy98
;
tFieldList
*
yy151
;
tFieldList
*
yy151
;
int64_t
yy189
;
tVariantList
*
yy216
;
tVariantList
*
yy216
;
tVariant
yy266
;
tVariant
yy266
;
SCreateTableSQL
*
yy278
;
SCreateTableSQL
*
yy278
;
...
@@ -119,16 +120,16 @@ typedef union {
...
@@ -119,16 +120,16 @@ typedef union {
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define YYFALLBACK 1
#define YYFALLBACK 1
#define YYNSTATE 2
20
#define YYNSTATE 2
17
#define YYNRULE 18
1
#define YYNRULE 18
0
#define YY_MAX_SHIFT 21
9
#define YY_MAX_SHIFT 21
6
#define YY_MIN_SHIFTREDUCE 3
50
#define YY_MIN_SHIFTREDUCE 3
47
#define YY_MAX_SHIFTREDUCE 5
30
#define YY_MAX_SHIFTREDUCE 5
26
#define YY_MIN_REDUCE 5
31
#define YY_MIN_REDUCE 5
27
#define YY_MAX_REDUCE 7
11
#define YY_MAX_REDUCE 7
06
#define YY_ERROR_ACTION 7
12
#define YY_ERROR_ACTION 7
07
#define YY_ACCEPT_ACTION 7
13
#define YY_ACCEPT_ACTION 7
08
#define YY_NO_ACTION 7
14
#define YY_NO_ACTION 7
09
/************* End control #defines *******************************************/
/************* End control #defines *******************************************/
/* The yyzerominor constant is used to initialize instances of
/* The yyzerominor constant is used to initialize instances of
...
@@ -200,56 +201,56 @@ static const YYMINORTYPE yyzerominor = { 0 };
...
@@ -200,56 +201,56 @@ static const YYMINORTYPE yyzerominor = { 0 };
** yy_default[] Default action for each state.
** yy_default[] Default action for each state.
**
**
*********** Begin parsing tables **********************************************/
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (4
80
)
#define YY_ACTTAB_COUNT (4
74
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
3
82
,
31
,
30
,
713
,
219
,
29
,
28
,
27
,
383
,
68
,
/* 0 */
3
79
,
31
,
30
,
708
,
216
,
29
,
28
,
27
,
380
,
68
,
/* 10 */
69
,
75
,
38
,
40
,
3
82
,
32
,
33
,
214
,
440
,
70
,
/* 10 */
69
,
75
,
38
,
40
,
3
79
,
32
,
33
,
211
,
437
,
70
,
/* 20 */
26
,
54
,
38
3
,
186
,
36
,
34
,
37
,
35
,
133
,
218
,
/* 20 */
26
,
54
,
38
0
,
183
,
36
,
34
,
37
,
35
,
133
,
215
,
/* 30 */
43
8
,
7
,
31
,
30
,
58
,
99
,
29
,
28
,
27
,
38
,
/* 30 */
43
5
,
7
,
31
,
30
,
58
,
99
,
29
,
28
,
27
,
38
,
/* 40 */
40
,
43
4
,
32
,
33
,
431
,
10
,
432
,
26
,
433
,
115
,
/* 40 */
40
,
43
1
,
32
,
33
,
428
,
10
,
429
,
26
,
430
,
115
,
/* 50 */
18
6
,
36
,
34
,
37
,
35
,
446
,
89
,
142
,
513
,
31
,
/* 50 */
18
3
,
36
,
34
,
37
,
35
,
442
,
89
,
139
,
509
,
31
,
/* 60 */
30
,
113
,
115
,
29
,
28
,
27
,
38
,
40
,
1
52
,
32
,
/* 60 */
30
,
113
,
115
,
29
,
28
,
27
,
38
,
40
,
1
49
,
32
,
/* 70 */
33
,
5
12
,
134
,
154
,
26
,
115
,
45
,
186
,
36
,
34
,
/* 70 */
33
,
5
08
,
134
,
151
,
26
,
115
,
45
,
183
,
36
,
34
,
/* 80 */
37
,
35
,
89
,
1
41
,
513
,
112
,
31
,
30
,
382
,
53
,
/* 80 */
37
,
35
,
89
,
1
38
,
509
,
112
,
31
,
30
,
379
,
53
,
/* 90 */
29
,
28
,
27
,
46
,
4
42
,
40
,
383
,
32
,
33
,
468
,
/* 90 */
29
,
28
,
27
,
46
,
4
39
,
40
,
380
,
32
,
33
,
464
,
/* 100 */
89
,
1
81
,
26
,
114
,
139
,
186
,
36
,
34
,
37
,
35
,
/* 100 */
89
,
1
78
,
26
,
114
,
136
,
183
,
36
,
34
,
37
,
35
,
/* 110 */
102
,
103
,
61
,
4
81
,
31
,
30
,
430
,
149
,
29
,
28
,
/* 110 */
102
,
103
,
61
,
4
77
,
31
,
30
,
427
,
146
,
29
,
28
,
/* 120 */
27
,
20
,
20
,
18
3
,
153
,
55
,
89
,
207
,
63
,
430
,
/* 120 */
27
,
20
,
20
,
18
0
,
150
,
55
,
89
,
204
,
63
,
427
,
/* 130 */
119
,
43
5
,
351
,
352
,
353
,
354
,
355
,
356
,
357
,
358
,
/* 130 */
119
,
43
2
,
348
,
349
,
350
,
351
,
352
,
353
,
354
,
355
,
/* 140 */
35
9
,
360
,
361
,
467
,
150
,
151
,
427
,
427
,
212
,
32
,
/* 140 */
35
6
,
357
,
358
,
463
,
147
,
148
,
424
,
424
,
209
,
32
,
/* 150 */
33
,
29
,
28
,
27
,
26
,
202
,
160
,
186
,
36
,
34
,
/* 150 */
33
,
29
,
28
,
27
,
26
,
199
,
157
,
183
,
36
,
34
,
/* 160 */
37
,
35
,
48
7
,
168
,
490
,
165
,
31
,
30
,
428
,
56
,
/* 160 */
37
,
35
,
48
3
,
165
,
486
,
162
,
31
,
30
,
425
,
56
,
/* 170 */
29
,
28
,
27
,
17
,
201
,
200
,
199
,
198
,
197
,
196
,
/* 170 */
29
,
28
,
27
,
17
,
198
,
197
,
196
,
195
,
194
,
193
,
/* 180 */
19
5
,
194
,
193
,
192
,
414
,
509
,
403
,
404
,
405
,
406
,
/* 180 */
19
2
,
191
,
190
,
189
,
411
,
505
,
400
,
401
,
402
,
403
,
/* 190 */
40
7
,
408
,
409
,
410
,
411
,
412
,
413
,
146
,
494
,
113
,
/* 190 */
40
4
,
405
,
406
,
407
,
408
,
409
,
410
,
143
,
490
,
113
,
/* 200 */
20
3
,
485
,
11
,
488
,
48
,
491
,
20
,
138
,
494
,
418
,
/* 200 */
20
0
,
481
,
11
,
484
,
48
,
487
,
20
,
143
,
490
,
415
,
/* 210 */
135
,
48
5
,
430
,
488
,
57
,
491
,
462
,
463
,
132
,
49
,
/* 210 */
135
,
48
1
,
427
,
484
,
57
,
487
,
458
,
459
,
132
,
49
,
/* 220 */
50
8
,
20
,
77
,
76
,
126
,
23
,
429
,
20
,
507
,
143
,
/* 220 */
50
4
,
20
,
77
,
76
,
126
,
23
,
426
,
20
,
503
,
140
,
/* 230 */
14
4
,
426
,
131
,
185
,
109
,
107
,
78
,
210
,
209
,
143
,
/* 230 */
14
1
,
423
,
131
,
182
,
109
,
107
,
78
,
207
,
206
,
140
,
/* 240 */
14
4
,
146
,
494
,
443
,
208
,
485
,
427
,
488
,
129
,
491
,
/* 240 */
14
1
,
143
,
490
,
440
,
205
,
481
,
424
,
484
,
129
,
487
,
/* 250 */
21
3
,
22
,
427
,
517
,
217
,
216
,
370
,
24
,
518
,
483
,
/* 250 */
21
0
,
22
,
424
,
513
,
214
,
213
,
367
,
24
,
514
,
449
,
/* 260 */
625
,
453
,
24
,
625
,
137
,
42
,
454
,
511
,
483
,
174
,
/* 260 */
479
,
450
,
24
,
42
,
507
,
15
,
491
,
142
,
14
,
171
,
/* 270 */
1
5
,
14
,
170
,
143
,
144
,
36
,
34
,
37
,
35
,
128
,
/* 270 */
1
4
,
130
,
167
,
140
,
141
,
36
,
34
,
37
,
35
,
128
,
/* 280 */
1
45
,
495
,
39
,
31
,
30
,
14
,
424
,
29
,
28
,
27
,
/* 280 */
1
20
,
421
,
39
,
31
,
30
,
42
,
420
,
29
,
28
,
27
,
/* 290 */
42
,
493
,
39
,
130
,
2
,
136
,
423
,
486
,
190
,
489
,
/* 290 */
21
,
489
,
39
,
482
,
187
,
485
,
480
,
2
,
21
,
67
,
/* 300 */
21
,
493
,
21
,
436
,
484
,
437
,
492
,
67
,
66
,
527
,
/* 300 */
66
,
489
,
9
,
8
,
121
,
433
,
488
,
434
,
74
,
73
,
/* 310 */
2
,
120
,
9
,
8
,
74
,
73
,
492
,
121
,
122
,
123
,
/* 310 */
122
,
123
,
124
,
125
,
117
,
523
,
488
,
111
,
118
,
116
,
/* 320 */
124
,
125
,
117
,
111
,
118
,
116
,
39
,
415
,
478
,
445
,
/* 320 */
412
,
474
,
441
,
473
,
86
,
98
,
39
,
144
,
470
,
469
,
/* 330 */
477
,
147
,
474
,
473
,
148
,
493
,
421
,
211
,
86
,
460
,
/* 330 */
145
,
456
,
418
,
208
,
455
,
489
,
100
,
101
,
386
,
188
,
/* 340 */
459
,
100
,
98
,
101
,
389
,
191
,
110
,
171
,
173
,
206
,
/* 340 */
110
,
203
,
522
,
64
,
521
,
519
,
104
,
168
,
80
,
105
,
/* 350 */
4
92
,
526
,
64
,
525
,
523
,
104
,
80
,
105
,
380
,
449
,
/* 350 */
4
88
,
377
,
376
,
71
,
374
,
373
,
445
,
152
,
106
,
371
,
/* 360 */
37
9
,
175
,
71
,
439
,
179
,
377
,
376
,
155
,
106
,
47
,
/* 360 */
37
0
,
170
,
50
,
47
,
436
,
369
,
362
,
172
,
108
,
176
,
/* 370 */
50
,
374
,
373
,
372
,
365
,
108
,
369
,
367
,
41
,
84
,
/* 370 */
366
,
364
,
41
,
181
,
84
,
444
,
179
,
457
,
177
,
175
,
/* 380 */
448
,
184
,
461
,
182
,
180
,
90
,
178
,
176
,
25
,
22
,
/* 380 */
173
,
25
,
22
,
202
,
185
,
90
,
44
,
212
,
526
,
153
,
/* 390 */
205
,
44
,
215
,
188
,
530
,
156
,
157
,
159
,
158
,
529
,
/* 390 */
154
,
51
,
155
,
156
,
127
,
59
,
62
,
525
,
378
,
372
,
/* 400 */
1
61
,
51
,
162
,
164
,
163
,
127
,
59
,
62
,
381
,
375
,
/* 400 */
1
58
,
79
,
81
,
368
,
159
,
422
,
160
,
161
,
1
,
96
,
/* 410 */
528
,
79
,
371
,
166
,
81
,
93
,
91
,
425
,
1
,
16
7
,
/* 410 */
93
,
91
,
92
,
94
,
524
,
95
,
97
,
163
,
164
,
51
7
,
/* 420 */
95
,
92
,
94
,
521
,
96
,
97
,
169
,
12
,
13
,
172
,
/* 420 */
166
,
12
,
13
,
169
,
85
,
446
,
87
,
137
,
174
,
4
,
/* 430 */
450
,
85
,
87
,
140
,
177
,
18
,
4
,
455
,
88
,
5
,
/* 430 */
18
,
451
,
88
,
5
,
492
,
3
,
19
,
16
,
184
,
6
,
/* 440 */
496
,
3
,
19
,
16
,
187
,
6
,
189
,
60
,
401
,
400
,
/* 440 */
186
,
60
,
398
,
397
,
396
,
395
,
394
,
393
,
392
,
391
,
/* 450 */
39
9
,
398
,
397
,
396
,
395
,
394
,
393
,
42
,
392
,
391
,
/* 450 */
39
0
,
42
,
389
,
388
,
383
,
21
,
417
,
201
,
416
,
65
,
/* 460 */
386
,
21
,
420
,
204
,
419
,
417
,
72
,
52
,
384
,
363
,
/* 460 */
414
,
52
,
381
,
72
,
360
,
43
,
527
,
529
,
529
,
529
,
/* 470 */
5
31
,
43
,
65
,
533
,
533
,
533
,
533
,
82
,
533
,
83
,
/* 470 */
5
29
,
82
,
529
,
83
,
};
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
1
,
33
,
34
,
187
,
188
,
37
,
38
,
39
,
9
,
61
,
/* 0 */
1
,
33
,
34
,
187
,
188
,
37
,
38
,
39
,
9
,
61
,
...
@@ -277,34 +278,34 @@ static const YYCODETYPE yy_lookahead[] = {
...
@@ -277,34 +278,34 @@ static const YYCODETYPE yy_lookahead[] = {
/* 220 */
228
,
190
,
64
,
65
,
66
,
227
,
209
,
190
,
228
,
33
,
/* 220 */
228
,
190
,
64
,
65
,
66
,
227
,
209
,
190
,
228
,
33
,
/* 230 */
34
,
215
,
74
,
37
,
61
,
62
,
63
,
33
,
34
,
33
,
/* 230 */
34
,
215
,
74
,
37
,
61
,
62
,
63
,
33
,
34
,
33
,
/* 240 */
34
,
1
,
2
,
37
,
213
,
5
,
215
,
7
,
228
,
9
,
/* 240 */
34
,
1
,
2
,
37
,
213
,
5
,
215
,
7
,
228
,
9
,
/* 250 */
213
,
93
,
215
,
87
,
57
,
58
,
59
,
91
,
87
,
1
,
/* 250 */
213
,
93
,
215
,
87
,
57
,
58
,
59
,
91
,
87
,
87
,
/* 260 */
91
,
87
,
91
,
94
,
56
,
91
,
87
,
87
,
1
,
111
,
/* 260 */
1
,
87
,
91
,
91
,
87
,
91
,
87
,
56
,
9
1
,
111
,
/* 270 */
91
,
91
,
114
,
33
,
34
,
25
,
26
,
27
,
28
,
121
,
/* 270 */
91
,
228
,
114
,
33
,
34
,
25
,
26
,
27
,
28
,
121
,
/* 280 */
56
,
87
,
86
,
33
,
34
,
91
,
87
,
37
,
38
,
39
,
/* 280 */
228
,
87
,
86
,
33
,
34
,
91
,
87
,
37
,
38
,
39
,
/* 290 */
91
,
95
,
86
,
228
,
86
,
37
,
87
,
5
,
87
,
7
,
/* 290 */
91
,
95
,
86
,
5
,
87
,
7
,
37
,
86
,
91
,
11
7
,
/* 300 */
91
,
95
,
91
,
5
,
37
,
7
,
110
,
117
,
118
,
209
,
/* 300 */
118
,
95
,
117
,
118
,
228
,
5
,
110
,
7
,
67
,
68
,
/* 310 */
86
,
228
,
117
,
118
,
67
,
68
,
110
,
228
,
228
,
228
,
/* 310 */
228
,
228
,
228
,
228
,
228
,
209
,
110
,
228
,
228
,
228
,
/* 320 */
2
28
,
228
,
228
,
228
,
228
,
228
,
86
,
209
,
211
,
190
,
/* 320 */
2
09
,
211
,
190
,
211
,
190
,
217
,
86
,
211
,
211
,
211
,
/* 330 */
211
,
2
11
,
211
,
211
,
211
,
95
,
212
,
211
,
190
,
234
,
/* 330 */
211
,
2
34
,
212
,
211
,
234
,
95
,
190
,
190
,
190
,
190
,
/* 340 */
234
,
190
,
217
,
190
,
190
,
190
,
190
,
113
,
238
,
190
,
/* 340 */
190
,
190
,
190
,
190
,
190
,
190
,
190
,
113
,
56
,
190
,
/* 350 */
110
,
190
,
190
,
190
,
190
,
190
,
56
,
190
,
190
,
95
,
/* 350 */
110
,
190
,
190
,
190
,
190
,
190
,
95
,
190
,
190
,
190
,
/* 360 */
190
,
23
0
,
190
,
226
,
230
,
190
,
190
,
190
,
190
,
107
,
/* 360 */
190
,
23
8
,
105
,
107
,
226
,
190
,
190
,
230
,
190
,
230
,
/* 370 */
1
05
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
104
,
191
,
/* 370 */
1
90
,
190
,
104
,
99
,
191
,
191
,
103
,
191
,
98
,
97
,
/* 380 */
191
,
99
,
191
,
103
,
98
,
225
,
97
,
96
,
109
,
9
3
,
/* 380 */
96
,
109
,
93
,
72
,
191
,
225
,
77
,
72
,
5
,
12
3
,
/* 390 */
72
,
77
,
72
,
191
,
5
,
123
,
5
,
70
,
123
,
5
,
/* 390 */
5
,
191
,
123
,
70
,
191
,
194
,
194
,
5
,
193
,
191
,
/* 400 */
123
,
19
1
,
5
,
70
,
123
,
191
,
194
,
194
,
193
,
191
,
/* 400 */
123
,
19
2
,
192
,
191
,
5
,
214
,
123
,
70
,
195
,
219
,
/* 410 */
5
,
192
,
191
,
123
,
192
,
222
,
224
,
214
,
195
,
70
,
/* 410 */
222
,
224
,
223
,
221
,
5
,
220
,
218
,
123
,
70
,
76
,
/* 420 */
220
,
223
,
221
,
76
,
219
,
218
,
115
,
86
,
86
,
113
,
/* 420 */
115
,
86
,
86
,
113
,
112
,
87
,
86
,
1
,
86
,
100
,
/* 430 */
87
,
112
,
86
,
1
,
86
,
91
,
100
,
87
,
86
,
100
,
/* 430 */
91
,
87
,
86
,
100
,
87
,
86
,
91
,
86
,
88
,
86
,
/* 440 */
8
7
,
86
,
91
,
86
,
88
,
86
,
88
,
67
,
9
,
5
,
/* 440 */
8
8
,
67
,
9
,
5
,
5
,
5
,
5
,
1
,
5
,
5
,
/* 450 */
5
,
5
,
5
,
1
,
5
,
5
,
5
,
91
,
5
,
5
,
/* 450 */
5
,
91
,
5
,
5
,
73
,
91
,
5
,
15
,
5
,
118
,
/* 460 */
73
,
91
,
5
,
15
,
5
,
87
,
70
,
86
,
73
,
56
,
/* 460 */
87
,
86
,
73
,
70
,
56
,
16
,
0
,
240
,
240
,
240
,
/* 470 */
0
,
16
,
118
,
240
,
240
,
240
,
240
,
21
,
240
,
21
,
/* 470 */
240
,
21
,
240
,
21
,
};
};
#define YY_SHIFT_USE_DFLT (-74)
#define YY_SHIFT_USE_DFLT (-74)
#define YY_SHIFT_COUNT (21
9
)
#define YY_SHIFT_COUNT (21
6
)
#define YY_SHIFT_MIN (-73)
#define YY_SHIFT_MIN (-73)
#define YY_SHIFT_MAX (4
70
)
#define YY_SHIFT_MAX (4
66
)
static
const
short
yy_shift_ofst
[]
=
{
static
const
short
yy_shift_ofst
[]
=
{
/* 0 */
158
,
98
,
196
,
240
,
13
,
13
,
13
,
13
,
13
,
13
,
/* 0 */
158
,
98
,
196
,
240
,
13
,
13
,
13
,
13
,
13
,
13
,
/* 10 */
-
1
,
87
,
240
,
240
,
240
,
39
,
39
,
39
,
13
,
13
,
/* 10 */
-
1
,
87
,
240
,
240
,
240
,
39
,
39
,
39
,
13
,
13
,
...
@@ -314,62 +315,62 @@ static const short yy_shift_ofst[] = {
...
@@ -314,62 +315,62 @@ static const short yy_shift_ofst[] = {
/* 50 */
204
,
-
55
,
204
,
13
,
13
,
115
,
115
,
-
73
,
13
,
13
,
/* 50 */
204
,
-
55
,
204
,
13
,
13
,
115
,
115
,
-
73
,
13
,
13
,
/* 60 */
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
/* 60 */
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
/* 70 */
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
/* 70 */
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
13
,
/* 80 */
13
,
13
,
13
,
13
,
234
,
300
,
300
,
264
,
264
,
300
,
/* 80 */
13
,
13
,
13
,
13
,
234
,
292
,
292
,
261
,
261
,
292
,
/* 90 */
2
65
,
262
,
274
,
282
,
280
,
286
,
289
,
291
,
279
,
296
,
/* 90 */
2
57
,
256
,
268
,
274
,
273
,
280
,
282
,
284
,
272
,
289
,
/* 100 */
300
,
300
,
318
,
318
,
300
,
314
,
300
,
320
,
300
,
320
,
/* 100 */
292
,
292
,
311
,
311
,
292
,
309
,
292
,
315
,
292
,
315
,
/* 110 */
-
74
,
26
,
53
,
53
,
53
,
53
,
53
,
81
,
133
,
250
,
/* 110 */
-
74
,
26
,
53
,
53
,
53
,
53
,
53
,
81
,
133
,
250
,
/* 120 */
250
,
250
,
-
32
,
-
32
,
-
32
,
-
32
,
-
52
,
8
,
41
,
114
,
/* 120 */
250
,
250
,
-
32
,
-
32
,
-
32
,
-
32
,
-
52
,
8
,
41
,
114
,
/* 130 */
114
,
49
,
173
,
197
,
166
,
171
,
1
69
,
258
,
208
,
174
,
/* 130 */
114
,
49
,
173
,
197
,
166
,
171
,
1
72
,
174
,
177
,
179
,
/* 140 */
1
79
,
180
,
194
,
157
,
292
,
267
,
224
,
-
15
,
113
,
199
,
/* 140 */
1
57
,
288
,
259
,
211
,
-
15
,
113
,
194
,
199
,
207
,
182
,
/* 150 */
209
,
211
,
190
,
195
,
298
,
247
,
389
,
272
,
391
,
275
,
/* 150 */
185
,
300
,
241
,
383
,
266
,
385
,
269
,
323
,
392
,
277
,
/* 160 */
3
27
,
394
,
277
,
397
,
281
,
333
,
405
,
290
,
349
,
347
,
/* 160 */
3
99
,
283
,
337
,
409
,
294
,
348
,
343
,
305
,
335
,
336
,
/* 170 */
31
1
,
341
,
342
,
316
,
319
,
343
,
346
,
432
,
348
,
350
,
/* 170 */
31
0
,
312
,
338
,
340
,
426
,
342
,
344
,
346
,
339
,
329
,
/* 180 */
3
52
,
344
,
336
,
351
,
339
,
353
,
355
,
357
,
356
,
359
,
/* 180 */
3
45
,
333
,
347
,
349
,
351
,
350
,
353
,
352
,
374
,
433
,
/* 190 */
358
,
380
,
439
,
444
,
445
,
446
,
447
,
452
,
449
,
450
,
/* 190 */
438
,
439
,
440
,
441
,
446
,
443
,
444
,
445
,
447
,
448
,
/* 200 */
451
,
453
,
454
,
366
,
387
,
448
,
455
,
354
,
370
,
457
,
/* 200 */
360
,
381
,
442
,
449
,
341
,
364
,
451
,
453
,
373
,
375
,
/* 210 */
459
,
378
,
381
,
370
,
396
,
395
,
456
,
458
,
413
,
470
,
/* 210 */
364
,
393
,
389
,
450
,
452
,
408
,
466
,
};
};
#define YY_REDUCE_USE_DFLT (-185)
#define YY_REDUCE_USE_DFLT (-185)
#define YY_REDUCE_COUNT (110)
#define YY_REDUCE_COUNT (110)
#define YY_REDUCE_MIN (-184)
#define YY_REDUCE_MIN (-184)
#define YY_REDUCE_MAX (2
2
3)
#define YY_REDUCE_MAX (2
1
3)
static
const
short
yy_reduce_ofst
[]
=
{
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
184
,
-
12
,
-
179
,
-
153
,
-
134
,
-
108
,
-
69
,
-
68
,
31
,
37
,
/* 0 */
-
184
,
-
12
,
-
179
,
-
153
,
-
134
,
-
108
,
-
69
,
-
68
,
31
,
37
,
/* 10 */
-
135
,
-
161
,
-
167
,
-
29
,
-
166
,
-
93
,
-
80
,
3
,
-
90
,
-
64
,
/* 10 */
-
135
,
-
161
,
-
167
,
-
29
,
-
166
,
-
93
,
-
80
,
3
,
-
90
,
-
64
,
/* 20 */
-
42
,
16
,
-
2
,
-
183
,
-
143
,
-
125
,
-
98
,
-
43
,
-
8
,
0
,
/* 20 */
-
42
,
16
,
-
2
,
-
183
,
-
143
,
-
125
,
-
98
,
-
43
,
-
8
,
0
,
/* 30 */
20
,
65
,
83
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
/* 30 */
20
,
43
,
52
,
76
,
82
,
83
,
84
,
85
,
86
,
89
,
/* 40 */
9
6
,
97
,
17
,
100
,
118
,
117
,
119
,
120
,
121
,
122
,
/* 40 */
9
0
,
91
,
17
,
106
,
111
,
110
,
112
,
116
,
117
,
118
,
/* 50 */
1
23
,
124
,
126
,
139
,
148
,
105
,
106
,
125
,
151
,
153
,
/* 50 */
1
19
,
120
,
122
,
132
,
134
,
97
,
100
,
108
,
146
,
147
,
/* 60 */
1
54
,
155
,
156
,
159
,
161
,
162
,
163
,
164
,
165
,
167
,
/* 60 */
1
48
,
149
,
150
,
151
,
152
,
153
,
154
,
155
,
156
,
159
,
/* 70 */
16
8
,
170
,
172
,
175
,
176
,
177
,
178
,
181
,
182
,
183
,
/* 70 */
16
1
,
162
,
163
,
164
,
165
,
167
,
168
,
169
,
170
,
175
,
/* 80 */
1
84
,
185
,
186
,
187
,
110
,
188
,
189
,
131
,
134
,
191
,
/* 80 */
1
76
,
178
,
180
,
181
,
123
,
183
,
184
,
137
,
139
,
186
,
/* 90 */
13
7
,
160
,
192
,
198
,
193
,
201
,
200
,
205
,
207
,
203
,
/* 90 */
13
8
,
160
,
187
,
189
,
188
,
192
,
195
,
190
,
198
,
191
,
/* 100 */
202
,
210
,
212
,
213
,
214
,
215
,
218
,
219
,
221
,
222
,
/* 100 */
193
,
200
,
201
,
202
,
203
,
205
,
208
,
209
,
212
,
210
,
/* 110 */
2
2
3
,
/* 110 */
2
1
3
,
};
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
7
12
,
569
,
696
,
696
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 0 */
7
07
,
565
,
691
,
691
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 10 */
62
8
,
543
,
712
,
712
,
696
,
712
,
712
,
712
,
712
,
712
,
/* 10 */
62
3
,
539
,
707
,
707
,
691
,
707
,
707
,
707
,
707
,
707
,
/* 20 */
7
12
,
712
,
622
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 20 */
7
07
,
707
,
618
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 30 */
7
12
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 30 */
7
07
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 40 */
7
12
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 40 */
7
07
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 50 */
7
12
,
712
,
712
,
712
,
712
,
645
,
645
,
712
,
712
,
712
,
/* 50 */
7
07
,
707
,
707
,
707
,
707
,
640
,
640
,
707
,
707
,
707
,
/* 60 */
7
12
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 60 */
7
07
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 70 */
7
12
,
559
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 70 */
7
07
,
555
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 80 */
7
12
,
712
,
712
,
712
,
712
,
545
,
545
,
712
,
712
,
545
,
/* 80 */
7
07
,
707
,
707
,
707
,
707
,
541
,
541
,
707
,
707
,
541
,
/* 90 */
6
52
,
656
,
650
,
638
,
646
,
637
,
633
,
632
,
660
,
712
,
/* 90 */
6
47
,
651
,
645
,
633
,
641
,
632
,
628
,
627
,
655
,
707
,
/* 100 */
54
5
,
545
,
568
,
568
,
545
,
712
,
545
,
566
,
545
,
566
,
/* 100 */
54
1
,
541
,
564
,
564
,
541
,
707
,
541
,
562
,
541
,
562
,
/* 110 */
5
83
,
712
,
700
,
701
,
661
,
695
,
651
,
679
,
678
,
691
,
/* 110 */
5
79
,
707
,
695
,
696
,
656
,
690
,
646
,
674
,
673
,
686
,
/* 120 */
68
5
,
684
,
683
,
682
,
681
,
680
,
712
,
712
,
712
,
687
,
/* 120 */
68
0
,
679
,
678
,
677
,
676
,
675
,
707
,
707
,
707
,
682
,
/* 130 */
68
6
,
712
,
712
,
712
,
712
,
712
,
665
,
712
,
663
,
712
,
/* 130 */
68
1
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 140 */
7
12
,
712
,
712
,
712
,
712
,
712
,
663
,
657
,
653
,
712
,
/* 140 */
7
07
,
707
,
707
,
658
,
652
,
648
,
707
,
707
,
707
,
707
,
/* 150 */
7
12
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 150 */
7
07
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 160 */
7
12
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 160 */
7
07
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 170 */
712
,
712
,
712
,
697
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 170 */
692
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
642
,
707
,
/* 180 */
712
,
647
,
712
,
639
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 180 */
634
,
707
,
707
,
707
,
707
,
707
,
707
,
599
,
707
,
707
,
/* 190 */
603
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
712
,
/* 190 */
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
707
,
/* 200 */
712
,
712
,
712
,
571
,
712
,
712
,
712
,
712
,
705
,
712
,
/* 200 */
567
,
707
,
707
,
707
,
707
,
700
,
707
,
707
,
707
,
593
,
/* 210 */
712
,
712
,
597
,
703
,
712
,
712
,
549
,
547
,
712
,
712
,
/* 210 */
698
,
707
,
707
,
545
,
543
,
707
,
707
,
};
};
/********** End of lemon-generated parsing tables *****************************/
/********** End of lemon-generated parsing tables *****************************/
...
@@ -818,93 +819,92 @@ static const char *const yyRuleName[] = {
...
@@ -818,93 +819,92 @@ static const char *const yyRuleName[] = {
/* 91 */
"sclp ::="
,
/* 91 */
"sclp ::="
,
/* 92 */
"selcollist ::= sclp expr as"
,
/* 92 */
"selcollist ::= sclp expr as"
,
/* 93 */
"selcollist ::= sclp STAR"
,
/* 93 */
"selcollist ::= sclp STAR"
,
/* 94 */
"selcollist ::= sclp ID DOT STAR"
,
/* 94 */
"as ::= AS ids"
,
/* 95 */
"as ::= AS ids"
,
/* 95 */
"as ::= ids"
,
/* 96 */
"as ::= ids"
,
/* 96 */
"as ::="
,
/* 97 */
"as ::="
,
/* 97 */
"from ::= FROM ids cpxName"
,
/* 98 */
"from ::= FROM ids cpxName"
,
/* 98 */
"tmvar ::= VARIABLE"
,
/* 99 */
"tmvar ::= VARIABLE"
,
/* 99 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 100 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 100 */
"interval_opt ::="
,
/* 101 */
"interval_opt ::="
,
/* 101 */
"fill_opt ::="
,
/* 102 */
"fill_opt ::="
,
/* 102 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 103 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 103 */
"fill_opt ::= FILL LP ID RP"
,
/* 104 */
"fill_opt ::= FILL LP ID RP"
,
/* 104 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 105 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 105 */
"sliding_opt ::="
,
/* 106 */
"sliding_opt ::="
,
/* 106 */
"orderby_opt ::="
,
/* 107 */
"orderby_opt ::="
,
/* 107 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 108 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 108 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 109 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 109 */
"sortlist ::= item sortorder"
,
/* 110 */
"sortlist ::= item sortorder"
,
/* 110 */
"item ::= ids cpxName"
,
/* 111 */
"item ::= ids cpxName"
,
/* 111 */
"sortorder ::= ASC"
,
/* 112 */
"sortorder ::= ASC"
,
/* 112 */
"sortorder ::= DESC"
,
/* 113 */
"sortorder ::= DESC"
,
/* 113 */
"sortorder ::="
,
/* 114 */
"sortorder ::="
,
/* 114 */
"groupby_opt ::="
,
/* 115 */
"groupby_opt ::="
,
/* 115 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 116 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 116 */
"grouplist ::= grouplist COMMA item"
,
/* 117 */
"grouplist ::= grouplist COMMA item"
,
/* 117 */
"grouplist ::= item"
,
/* 118 */
"grouplist ::= item"
,
/* 118 */
"having_opt ::="
,
/* 119 */
"having_opt ::="
,
/* 119 */
"having_opt ::= HAVING expr"
,
/* 120 */
"having_opt ::= HAVING expr"
,
/* 120 */
"limit_opt ::="
,
/* 121 */
"limit_opt ::="
,
/* 121 */
"limit_opt ::= LIMIT signed"
,
/* 122 */
"limit_opt ::= LIMIT signed"
,
/* 122 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 123 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 123 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 124 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 124 */
"slimit_opt ::="
,
/* 125 */
"slimit_opt ::="
,
/* 125 */
"slimit_opt ::= SLIMIT signed"
,
/* 126 */
"slimit_opt ::= SLIMIT signed"
,
/* 126 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 127 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 127 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 128 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 128 */
"where_opt ::="
,
/* 129 */
"where_opt ::="
,
/* 129 */
"where_opt ::= WHERE expr"
,
/* 130 */
"where_opt ::= WHERE expr"
,
/* 130 */
"expr ::= LP expr RP"
,
/* 131 */
"expr ::= LP expr RP"
,
/* 131 */
"expr ::= ID"
,
/* 132 */
"expr ::= ID"
,
/* 132 */
"expr ::= ID DOT ID"
,
/* 133 */
"expr ::= ID DOT ID"
,
/* 133 */
"expr ::= ID DOT STAR"
,
/* 134 */
"expr ::= ID DOT STAR"
,
/* 134 */
"expr ::= INTEGER"
,
/* 135 */
"expr ::= INTEGER"
,
/* 135 */
"expr ::= MINUS INTEGER"
,
/* 136 */
"expr ::= MINUS INTEGER"
,
/* 136 */
"expr ::= PLUS INTEGER"
,
/* 137 */
"expr ::= PLUS INTEGER"
,
/* 137 */
"expr ::= FLOAT"
,
/* 138 */
"expr ::= FLOAT"
,
/* 138 */
"expr ::= MINUS FLOAT"
,
/* 139 */
"expr ::= MINUS FLOAT"
,
/* 139 */
"expr ::= PLUS FLOAT"
,
/* 140 */
"expr ::= PLUS FLOAT"
,
/* 140 */
"expr ::= STRING"
,
/* 141 */
"expr ::= STRING"
,
/* 141 */
"expr ::= NOW"
,
/* 142 */
"expr ::= NOW"
,
/* 142 */
"expr ::= VARIABLE"
,
/* 143 */
"expr ::= VARIABLE"
,
/* 143 */
"expr ::= BOOL"
,
/* 144 */
"expr ::= BOOL"
,
/* 144 */
"expr ::= ID LP exprlist RP"
,
/* 145 */
"expr ::= ID LP exprlist RP"
,
/* 145 */
"expr ::= ID LP STAR RP"
,
/* 146 */
"expr ::= ID LP STAR RP"
,
/* 146 */
"expr ::= expr AND expr"
,
/* 147 */
"expr ::= expr AND expr"
,
/* 147 */
"expr ::= expr OR expr"
,
/* 148 */
"expr ::= expr OR expr"
,
/* 148 */
"expr ::= expr LT expr"
,
/* 149 */
"expr ::= expr LT expr"
,
/* 149 */
"expr ::= expr GT expr"
,
/* 150 */
"expr ::= expr GT expr"
,
/* 150 */
"expr ::= expr LE expr"
,
/* 151 */
"expr ::= expr LE expr"
,
/* 151 */
"expr ::= expr GE expr"
,
/* 152 */
"expr ::= expr GE expr"
,
/* 152 */
"expr ::= expr NE expr"
,
/* 153 */
"expr ::= expr NE expr"
,
/* 153 */
"expr ::= expr EQ expr"
,
/* 154 */
"expr ::= expr EQ expr"
,
/* 154 */
"expr ::= expr PLUS expr"
,
/* 155 */
"expr ::= expr PLUS expr"
,
/* 155 */
"expr ::= expr MINUS expr"
,
/* 156 */
"expr ::= expr MINUS expr"
,
/* 156 */
"expr ::= expr STAR expr"
,
/* 157 */
"expr ::= expr STAR expr"
,
/* 157 */
"expr ::= expr SLASH expr"
,
/* 158 */
"expr ::= expr SLASH expr"
,
/* 158 */
"expr ::= expr REM expr"
,
/* 159 */
"expr ::= expr REM expr"
,
/* 159 */
"expr ::= expr LIKE expr"
,
/* 160 */
"expr ::= expr LIKE expr"
,
/* 160 */
"expr ::= expr IN LP exprlist RP"
,
/* 161 */
"expr ::= expr IN LP exprlist RP"
,
/* 161 */
"exprlist ::= exprlist COMMA expritem"
,
/* 162 */
"exprlist ::= exprlist COMMA expritem"
,
/* 162 */
"exprlist ::= expritem"
,
/* 163 */
"exprlist ::= expritem"
,
/* 163 */
"expritem ::= expr"
,
/* 164 */
"expritem ::= expr"
,
/* 164 */
"expritem ::="
,
/* 165 */
"expritem ::="
,
/* 165 */
"cmd ::= INSERT INTO cpxName insert_value_list"
,
/* 166 */
"cmd ::= INSERT INTO cpxName insert_value_list"
,
/* 166 */
"insert_value_list ::= VALUES LP itemlist RP"
,
/* 167 */
"insert_value_list ::= VALUES LP itemlist RP"
,
/* 167 */
"insert_value_list ::= insert_value_list VALUES LP itemlist RP"
,
/* 168 */
"insert_value_list ::= insert_value_list VALUES LP itemlist RP"
,
/* 168 */
"itemlist ::= itemlist COMMA expr"
,
/* 169 */
"itemlist ::= itemlist COMMA expr"
,
/* 169 */
"itemlist ::= expr"
,
/* 170 */
"itemlist ::= expr"
,
/* 170 */
"cmd ::= RESET QUERY CACHE"
,
/* 171 */
"cmd ::= RESET QUERY CACHE"
,
/* 171 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 172 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 172 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 173 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 173 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 174 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 174 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 175 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 175 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 176 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 176 */
"cmd ::= ALTER TABLE ids cpxName SET ids EQ tagitem"
,
/* 177 */
"cmd ::= ALTER TABLE ids cpxName SET ids EQ tagitem"
,
/* 177 */
"cmd ::= KILL CONNECTION IP COLON INTEGER"
,
/* 178 */
"cmd ::= KILL CONNECTION IP COLON INTEGER"
,
/* 178 */
"cmd ::= KILL STREAM IP COLON INTEGER COLON INTEGER"
,
/* 179 */
"cmd ::= KILL STREAM IP COLON INTEGER COLON INTEGER"
,
/* 179 */
"cmd ::= KILL QUERY IP COLON INTEGER COLON INTEGER"
,
/* 180 */
"cmd ::= KILL QUERY IP COLON INTEGER COLON INTEGER"
,
};
};
#endif
/* NDEBUG */
#endif
/* NDEBUG */
...
@@ -1364,7 +1364,6 @@ static const struct {
...
@@ -1364,7 +1364,6 @@ static const struct {
{
227
,
0
},
{
227
,
0
},
{
216
,
3
},
{
216
,
3
},
{
216
,
2
},
{
216
,
2
},
{
216
,
4
},
{
229
,
2
},
{
229
,
2
},
{
229
,
1
},
{
229
,
1
},
{
229
,
0
},
{
229
,
0
},
...
@@ -1685,18 +1684,16 @@ static void yy_reduce(
...
@@ -1685,18 +1684,16 @@ static void yy_reduce(
break
;
break
;
case
67
:
/* typename ::= ids LP signed RP */
case
67
:
/* typename ::= ids LP signed RP */
{
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
412
;
// negative value of name length
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
189
;
// negative value of name length
tSQLSetColumnType
(
&
yygotominor
.
yy343
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tSQLSetColumnType
(
&
yygotominor
.
yy343
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
}
break
;
break
;
case
68
:
/* signed ::= INTEGER */
case
68
:
/* signed ::= INTEGER */
{
yygotominor
.
yy412
=
atoi
(
yymsp
[
0
].
minor
.
yy0
.
z
);
}
case
69
:
/* signed ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
69
);
break
;
{
yygotominor
.
yy189
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
case
69
:
/* signed ::= PLUS INTEGER */
{
yygotominor
.
yy412
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
break
;
break
;
case
70
:
/* signed ::= MINUS INTEGER */
case
70
:
/* signed ::= MINUS INTEGER */
{
yygotominor
.
yy
412
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
{
yygotominor
.
yy
189
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
break
;
case
71
:
/* cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
case
71
:
/* cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
{
{
...
@@ -1791,37 +1788,31 @@ static void yy_reduce(
...
@@ -1791,37 +1788,31 @@ static void yy_reduce(
yygotominor
.
yy98
=
tSQLExprListAppend
(
yymsp
[
-
1
].
minor
.
yy98
,
pNode
,
0
);
yygotominor
.
yy98
=
tSQLExprListAppend
(
yymsp
[
-
1
].
minor
.
yy98
,
pNode
,
0
);
}
}
break
;
break
;
case
94
:
/* selcollist ::= sclp ID DOT STAR */
case
94
:
/* as ::= AS ids */
{
case
95
:
/* as ::= ids */
yytestcase
(
yyruleno
==
95
);
tSQLExpr
*
pNode
=
tSQLExprIdValueCreate
(
NULL
,
TK_ALL
);
yygotominor
.
yy98
=
tSQLExprListAppend
(
yymsp
[
-
3
].
minor
.
yy98
,
pNode
,
0
);
}
break
;
case
95
:
/* as ::= AS ids */
case
96
:
/* as ::= ids */
yytestcase
(
yyruleno
==
96
);
{
yygotominor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
{
yygotominor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
break
;
case
9
7
:
/* as ::= */
case
9
6
:
/* as ::= */
{
yygotominor
.
yy0
.
n
=
0
;
}
{
yygotominor
.
yy0
.
n
=
0
;
}
break
;
break
;
case
9
8
:
/* from ::= FROM ids cpxName */
case
9
7
:
/* from ::= FROM ids cpxName */
{
yygotominor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
yygotominor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;}
{
yygotominor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
yygotominor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;}
break
;
break
;
case
9
9
:
/* tmvar ::= VARIABLE */
case
9
8
:
/* tmvar ::= VARIABLE */
{
yygotominor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
{
yygotominor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
break
;
break
;
case
100
:
/* interval_opt ::= INTERVAL LP tmvar RP */
case
99
:
/* interval_opt ::= INTERVAL LP tmvar RP */
case
10
5
:
/* sliding_opt ::= SLIDING LP tmvar RP */
yytestcase
(
yyruleno
==
105
);
case
10
4
:
/* sliding_opt ::= SLIDING LP tmvar RP */
yytestcase
(
yyruleno
==
104
);
{
yygotominor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
{
yygotominor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
break
;
case
10
1
:
/* interval_opt ::= */
case
10
0
:
/* interval_opt ::= */
case
10
6
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
106
);
case
10
5
:
/* sliding_opt ::= */
yytestcase
(
yyruleno
==
105
);
{
yygotominor
.
yy0
.
n
=
0
;
}
{
yygotominor
.
yy0
.
n
=
0
;
}
break
;
break
;
case
10
2
:
/* fill_opt ::= */
case
10
1
:
/* fill_opt ::= */
{
yygotominor
.
yy216
=
0
;
}
{
yygotominor
.
yy216
=
0
;
}
break
;
break
;
case
10
3
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
case
10
2
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
{
tVariant
A
=
{
0
};
tVariant
A
=
{
0
};
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
...
@@ -1831,31 +1822,31 @@ static void yy_reduce(
...
@@ -1831,31 +1822,31 @@ static void yy_reduce(
yygotominor
.
yy216
=
yymsp
[
-
1
].
minor
.
yy216
;
yygotominor
.
yy216
=
yymsp
[
-
1
].
minor
.
yy216
;
}
}
break
;
break
;
case
10
4
:
/* fill_opt ::= FILL LP ID RP */
case
10
3
:
/* fill_opt ::= FILL LP ID RP */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yygotominor
.
yy216
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yygotominor
.
yy216
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
}
break
;
break
;
case
10
7
:
/* orderby_opt ::= */
case
10
6
:
/* orderby_opt ::= */
case
11
5
:
/* groupby_opt ::= */
yytestcase
(
yyruleno
==
115
);
case
11
4
:
/* groupby_opt ::= */
yytestcase
(
yyruleno
==
114
);
{
yygotominor
.
yy216
=
0
;}
{
yygotominor
.
yy216
=
0
;}
break
;
break
;
case
10
8
:
/* orderby_opt ::= ORDER BY sortlist */
case
10
7
:
/* orderby_opt ::= ORDER BY sortlist */
case
11
6
:
/* groupby_opt ::= GROUP BY grouplist */
yytestcase
(
yyruleno
==
116
);
case
11
5
:
/* groupby_opt ::= GROUP BY grouplist */
yytestcase
(
yyruleno
==
115
);
{
yygotominor
.
yy216
=
yymsp
[
0
].
minor
.
yy216
;}
{
yygotominor
.
yy216
=
yymsp
[
0
].
minor
.
yy216
;}
break
;
break
;
case
10
9
:
/* sortlist ::= sortlist COMMA item sortorder */
case
10
8
:
/* sortlist ::= sortlist COMMA item sortorder */
{
{
yygotominor
.
yy216
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy216
,
&
yymsp
[
-
1
].
minor
.
yy266
,
yymsp
[
0
].
minor
.
yy412
);
yygotominor
.
yy216
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy216
,
&
yymsp
[
-
1
].
minor
.
yy266
,
yymsp
[
0
].
minor
.
yy412
);
}
}
break
;
break
;
case
1
10
:
/* sortlist ::= item sortorder */
case
1
09
:
/* sortlist ::= item sortorder */
{
{
yygotominor
.
yy216
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy266
,
yymsp
[
0
].
minor
.
yy412
);
yygotominor
.
yy216
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy266
,
yymsp
[
0
].
minor
.
yy412
);
}
}
break
;
break
;
case
11
1
:
/* item ::= ids cpxName */
case
11
0
:
/* item ::= ids cpxName */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
@@ -1863,174 +1854,174 @@ static void yy_reduce(
...
@@ -1863,174 +1854,174 @@ static void yy_reduce(
tVariantCreate
(
&
yygotominor
.
yy266
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tVariantCreate
(
&
yygotominor
.
yy266
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
}
break
;
break
;
case
11
2
:
/* sortorder ::= ASC */
case
11
1
:
/* sortorder ::= ASC */
{
yygotominor
.
yy412
=
TSQL_SO_ASC
;
}
{
yygotominor
.
yy412
=
TSQL_SO_ASC
;
}
break
;
break
;
case
11
3
:
/* sortorder ::= DESC */
case
11
2
:
/* sortorder ::= DESC */
{
yygotominor
.
yy412
=
TSQL_SO_DESC
;}
{
yygotominor
.
yy412
=
TSQL_SO_DESC
;}
break
;
break
;
case
11
4
:
/* sortorder ::= */
case
11
3
:
/* sortorder ::= */
{
yygotominor
.
yy412
=
TSQL_SO_ASC
;}
{
yygotominor
.
yy412
=
TSQL_SO_ASC
;}
break
;
break
;
case
11
7
:
/* grouplist ::= grouplist COMMA item */
case
11
6
:
/* grouplist ::= grouplist COMMA item */
{
{
yygotominor
.
yy216
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy216
,
&
yymsp
[
0
].
minor
.
yy266
,
-
1
);
yygotominor
.
yy216
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy216
,
&
yymsp
[
0
].
minor
.
yy266
,
-
1
);
}
}
break
;
break
;
case
11
8
:
/* grouplist ::= item */
case
11
7
:
/* grouplist ::= item */
{
{
yygotominor
.
yy216
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy266
,
-
1
);
yygotominor
.
yy216
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy266
,
-
1
);
}
}
break
;
break
;
case
11
9
:
/* having_opt ::= */
case
11
8
:
/* having_opt ::= */
case
12
9
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
129
);
case
12
8
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
128
);
case
16
5
:
/* expritem ::= */
yytestcase
(
yyruleno
==
165
);
case
16
4
:
/* expritem ::= */
yytestcase
(
yyruleno
==
164
);
{
yygotominor
.
yy370
=
0
;}
{
yygotominor
.
yy370
=
0
;}
break
;
break
;
case
1
20
:
/* having_opt ::= HAVING expr */
case
1
19
:
/* having_opt ::= HAVING expr */
case
1
30
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
130
);
case
1
29
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
129
);
case
16
4
:
/* expritem ::= expr */
yytestcase
(
yyruleno
==
164
);
case
16
3
:
/* expritem ::= expr */
yytestcase
(
yyruleno
==
163
);
{
yygotominor
.
yy370
=
yymsp
[
0
].
minor
.
yy370
;}
{
yygotominor
.
yy370
=
yymsp
[
0
].
minor
.
yy370
;}
break
;
break
;
case
12
1
:
/* limit_opt ::= */
case
12
0
:
/* limit_opt ::= */
case
12
5
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
125
);
case
12
4
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
124
);
{
yygotominor
.
yy294
.
limit
=
-
1
;
yygotominor
.
yy294
.
offset
=
0
;}
{
yygotominor
.
yy294
.
limit
=
-
1
;
yygotominor
.
yy294
.
offset
=
0
;}
break
;
break
;
case
12
2
:
/* limit_opt ::= LIMIT signed */
case
12
1
:
/* limit_opt ::= LIMIT signed */
case
12
6
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
126
);
case
12
5
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
125
);
{
yygotominor
.
yy294
.
limit
=
yymsp
[
0
].
minor
.
yy
412
;
yygotominor
.
yy294
.
offset
=
0
;}
{
yygotominor
.
yy294
.
limit
=
yymsp
[
0
].
minor
.
yy
189
;
yygotominor
.
yy294
.
offset
=
0
;}
break
;
break
;
case
12
3
:
/* limit_opt ::= LIMIT signed OFFSET signed */
case
12
2
:
/* limit_opt ::= LIMIT signed OFFSET signed */
case
12
7
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
yytestcase
(
yyruleno
==
127
);
case
12
6
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
yytestcase
(
yyruleno
==
126
);
{
yygotominor
.
yy294
.
limit
=
yymsp
[
-
2
].
minor
.
yy
412
;
yygotominor
.
yy294
.
offset
=
yymsp
[
0
].
minor
.
yy412
;}
{
yygotominor
.
yy294
.
limit
=
yymsp
[
-
2
].
minor
.
yy
189
;
yygotominor
.
yy294
.
offset
=
yymsp
[
0
].
minor
.
yy189
;}
break
;
break
;
case
12
4
:
/* limit_opt ::= LIMIT signed COMMA signed */
case
12
3
:
/* limit_opt ::= LIMIT signed COMMA signed */
case
12
8
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
yytestcase
(
yyruleno
==
128
);
case
12
7
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
yytestcase
(
yyruleno
==
127
);
{
yygotominor
.
yy294
.
limit
=
yymsp
[
0
].
minor
.
yy
412
;
yygotominor
.
yy294
.
offset
=
yymsp
[
-
2
].
minor
.
yy412
;}
{
yygotominor
.
yy294
.
limit
=
yymsp
[
0
].
minor
.
yy
189
;
yygotominor
.
yy294
.
offset
=
yymsp
[
-
2
].
minor
.
yy189
;}
break
;
break
;
case
13
1
:
/* expr ::= LP expr RP */
case
13
0
:
/* expr ::= LP expr RP */
{
yygotominor
.
yy370
=
yymsp
[
-
1
].
minor
.
yy370
;
}
{
yygotominor
.
yy370
=
yymsp
[
-
1
].
minor
.
yy370
;
}
break
;
break
;
case
13
2
:
/* expr ::= ID */
case
13
1
:
/* expr ::= ID */
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
break
;
break
;
case
13
3
:
/* expr ::= ID DOT ID */
case
13
2
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
break
;
break
;
case
13
4
:
/* expr ::= ID DOT STAR */
case
13
3
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
break
;
break
;
case
13
5
:
/* expr ::= INTEGER */
case
13
4
:
/* expr ::= INTEGER */
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
break
;
break
;
case
13
6
:
/* expr ::= MINUS INTEGER */
case
13
5
:
/* expr ::= MINUS INTEGER */
case
13
7
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
137
);
case
13
6
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
136
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
break
;
break
;
case
13
8
:
/* expr ::= FLOAT */
case
13
7
:
/* expr ::= FLOAT */
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
break
;
break
;
case
13
9
:
/* expr ::= MINUS FLOAT */
case
13
8
:
/* expr ::= MINUS FLOAT */
case
1
40
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
140
);
case
1
39
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
139
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
break
;
break
;
case
14
1
:
/* expr ::= STRING */
case
14
0
:
/* expr ::= STRING */
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
break
;
break
;
case
14
2
:
/* expr ::= NOW */
case
14
1
:
/* expr ::= NOW */
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
break
;
break
;
case
14
3
:
/* expr ::= VARIABLE */
case
14
2
:
/* expr ::= VARIABLE */
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
break
;
break
;
case
14
4
:
/* expr ::= BOOL */
case
14
3
:
/* expr ::= BOOL */
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
{
yygotominor
.
yy370
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
break
;
break
;
case
14
5
:
/* expr ::= ID LP exprlist RP */
case
14
4
:
/* expr ::= ID LP exprlist RP */
{
{
yygotominor
.
yy370
=
tSQLExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy98
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
yygotominor
.
yy370
=
tSQLExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy98
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
}
break
;
break
;
case
14
6
:
/* expr ::= ID LP STAR RP */
case
14
5
:
/* expr ::= ID LP STAR RP */
{
{
yygotominor
.
yy370
=
tSQLExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
yygotominor
.
yy370
=
tSQLExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
}
break
;
break
;
case
14
7
:
/* expr ::= expr AND expr */
case
14
6
:
/* expr ::= expr AND expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_AND
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_AND
);}
break
;
break
;
case
14
8
:
/* expr ::= expr OR expr */
case
14
7
:
/* expr ::= expr OR expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_OR
);
}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_OR
);
}
break
;
break
;
case
14
9
:
/* expr ::= expr LT expr */
case
14
8
:
/* expr ::= expr LT expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LT
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LT
);}
break
;
break
;
case
1
50
:
/* expr ::= expr GT expr */
case
1
49
:
/* expr ::= expr GT expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GT
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GT
);}
break
;
break
;
case
15
1
:
/* expr ::= expr LE expr */
case
15
0
:
/* expr ::= expr LE expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LE
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LE
);}
break
;
break
;
case
15
2
:
/* expr ::= expr GE expr */
case
15
1
:
/* expr ::= expr GE expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GE
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GE
);}
break
;
break
;
case
15
3
:
/* expr ::= expr NE expr */
case
15
2
:
/* expr ::= expr NE expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_NE
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_NE
);}
break
;
break
;
case
15
4
:
/* expr ::= expr EQ expr */
case
15
3
:
/* expr ::= expr EQ expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_EQ
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_EQ
);}
break
;
break
;
case
15
5
:
/* expr ::= expr PLUS expr */
case
15
4
:
/* expr ::= expr PLUS expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_PLUS
);
}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_PLUS
);
}
break
;
break
;
case
15
6
:
/* expr ::= expr MINUS expr */
case
15
5
:
/* expr ::= expr MINUS expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_MINUS
);
}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_MINUS
);
}
break
;
break
;
case
15
7
:
/* expr ::= expr STAR expr */
case
15
6
:
/* expr ::= expr STAR expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_STAR
);
}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_STAR
);
}
break
;
break
;
case
15
8
:
/* expr ::= expr SLASH expr */
case
15
7
:
/* expr ::= expr SLASH expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_DIVIDE
);}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_DIVIDE
);}
break
;
break
;
case
15
9
:
/* expr ::= expr REM expr */
case
15
8
:
/* expr ::= expr REM expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_REM
);
}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_REM
);
}
break
;
break
;
case
1
60
:
/* expr ::= expr LIKE expr */
case
1
59
:
/* expr ::= expr LIKE expr */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LIKE
);
}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LIKE
);
}
break
;
break
;
case
16
1
:
/* expr ::= expr IN LP exprlist RP */
case
16
0
:
/* expr ::= expr IN LP exprlist RP */
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
4
].
minor
.
yy370
,
(
tSQLExpr
*
)
yymsp
[
-
1
].
minor
.
yy98
,
TK_IN
);
}
{
yygotominor
.
yy370
=
tSQLExprCreate
(
yymsp
[
-
4
].
minor
.
yy370
,
(
tSQLExpr
*
)
yymsp
[
-
1
].
minor
.
yy98
,
TK_IN
);
}
break
;
break
;
case
16
2
:
/* exprlist ::= exprlist COMMA expritem */
case
16
1
:
/* exprlist ::= exprlist COMMA expritem */
case
16
9
:
/* itemlist ::= itemlist COMMA expr */
yytestcase
(
yyruleno
==
169
);
case
16
8
:
/* itemlist ::= itemlist COMMA expr */
yytestcase
(
yyruleno
==
168
);
{
yygotominor
.
yy98
=
tSQLExprListAppend
(
yymsp
[
-
2
].
minor
.
yy98
,
yymsp
[
0
].
minor
.
yy370
,
0
);}
{
yygotominor
.
yy98
=
tSQLExprListAppend
(
yymsp
[
-
2
].
minor
.
yy98
,
yymsp
[
0
].
minor
.
yy370
,
0
);}
break
;
break
;
case
16
3
:
/* exprlist ::= expritem */
case
16
2
:
/* exprlist ::= expritem */
case
1
70
:
/* itemlist ::= expr */
yytestcase
(
yyruleno
==
170
);
case
1
69
:
/* itemlist ::= expr */
yytestcase
(
yyruleno
==
169
);
{
yygotominor
.
yy98
=
tSQLExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy370
,
0
);}
{
yygotominor
.
yy98
=
tSQLExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy370
,
0
);}
break
;
break
;
case
16
6
:
/* cmd ::= INSERT INTO cpxName insert_value_list */
case
16
5
:
/* cmd ::= INSERT INTO cpxName insert_value_list */
{
{
tSetInsertSQLElems
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy434
);
tSetInsertSQLElems
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy434
);
}
}
break
;
break
;
case
16
7
:
/* insert_value_list ::= VALUES LP itemlist RP */
case
16
6
:
/* insert_value_list ::= VALUES LP itemlist RP */
{
yygotominor
.
yy434
=
tSQLListListAppend
(
NULL
,
yymsp
[
-
1
].
minor
.
yy98
);}
{
yygotominor
.
yy434
=
tSQLListListAppend
(
NULL
,
yymsp
[
-
1
].
minor
.
yy98
);}
break
;
break
;
case
16
8
:
/* insert_value_list ::= insert_value_list VALUES LP itemlist RP */
case
16
7
:
/* insert_value_list ::= insert_value_list VALUES LP itemlist RP */
{
yygotominor
.
yy434
=
tSQLListListAppend
(
yymsp
[
-
4
].
minor
.
yy434
,
yymsp
[
-
1
].
minor
.
yy98
);}
{
yygotominor
.
yy434
=
tSQLListListAppend
(
yymsp
[
-
4
].
minor
.
yy434
,
yymsp
[
-
1
].
minor
.
yy98
);}
break
;
break
;
case
17
1
:
/* cmd ::= RESET QUERY CACHE */
case
17
0
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSQLElems
(
pInfo
,
RESET_QUERY_CACHE
,
0
);}
{
setDCLSQLElems
(
pInfo
,
RESET_QUERY_CACHE
,
0
);}
break
;
break
;
case
17
2
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
17
1
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy151
,
NULL
,
ALTER_TABLE_ADD_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy151
,
NULL
,
ALTER_TABLE_ADD_COLUMN
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_ADD_COLUMN
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_ADD_COLUMN
);
}
}
break
;
break
;
case
17
3
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
17
2
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
@@ -2041,14 +2032,14 @@ static void yy_reduce(
...
@@ -2041,14 +2032,14 @@ static void yy_reduce(
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_DROP_COLUMN
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_DROP_COLUMN
);
}
}
break
;
break
;
case
17
4
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
17
3
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy151
,
NULL
,
ALTER_TABLE_TAGS_ADD
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy151
,
NULL
,
ALTER_TABLE_TAGS_ADD
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_ADD
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_ADD
);
}
}
break
;
break
;
case
17
5
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
17
4
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
@@ -2059,7 +2050,7 @@ static void yy_reduce(
...
@@ -2059,7 +2050,7 @@ static void yy_reduce(
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_DROP
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_DROP
);
}
}
break
;
break
;
case
17
6
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
17
5
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
@@ -2073,7 +2064,7 @@ static void yy_reduce(
...
@@ -2073,7 +2064,7 @@ static void yy_reduce(
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_CHG
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_CHG
);
}
}
break
;
break
;
case
17
7
:
/* cmd ::= ALTER TABLE ids cpxName SET ids EQ tagitem */
case
17
6
:
/* cmd ::= ALTER TABLE ids cpxName SET ids EQ tagitem */
{
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
@@ -2085,13 +2076,13 @@ static void yy_reduce(
...
@@ -2085,13 +2076,13 @@ static void yy_reduce(
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_SET
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
ALTER_TABLE_TAGS_SET
);
}
}
break
;
break
;
case
17
8
:
/* cmd ::= KILL CONNECTION IP COLON INTEGER */
case
17
7
:
/* cmd ::= KILL CONNECTION IP COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setDCLSQLElems
(
pInfo
,
KILL_CONNECTION
,
1
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setDCLSQLElems
(
pInfo
,
KILL_CONNECTION
,
1
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
break
;
case
17
9
:
/* cmd ::= KILL STREAM IP COLON INTEGER COLON INTEGER */
case
17
8
:
/* cmd ::= KILL STREAM IP COLON INTEGER COLON INTEGER */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
+
yymsp
[
-
2
].
minor
.
yy0
.
n
+
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setDCLSQLElems
(
pInfo
,
KILL_STREAM
,
1
,
&
yymsp
[
-
4
].
minor
.
yy0
);}
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
+
yymsp
[
-
2
].
minor
.
yy0
.
n
+
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setDCLSQLElems
(
pInfo
,
KILL_STREAM
,
1
,
&
yymsp
[
-
4
].
minor
.
yy0
);}
break
;
break
;
case
1
80
:
/* cmd ::= KILL QUERY IP COLON INTEGER COLON INTEGER */
case
1
79
:
/* cmd ::= KILL QUERY IP COLON INTEGER COLON INTEGER */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
+
yymsp
[
-
2
].
minor
.
yy0
.
n
+
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setDCLSQLElems
(
pInfo
,
KILL_QUERY
,
1
,
&
yymsp
[
-
4
].
minor
.
yy0
);}
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
+
yymsp
[
-
2
].
minor
.
yy0
.
n
+
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setDCLSQLElems
(
pInfo
,
KILL_QUERY
,
1
,
&
yymsp
[
-
4
].
minor
.
yy0
);}
break
;
break
;
default:
default:
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录