Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
67671328
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看板
未验证
提交
67671328
编写于
2月 19, 2021
作者:
H
haojun Liao
提交者:
GitHub
2月 19, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #5214 from taosdata/feature/TD-2423
[TD-2423]support create child table with specified tag list
上级
8e891f78
ab28ecd0
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
1459 addition
and
881 deletion
+1459
-881
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+99
-26
src/inc/ttokendef.h
src/inc/ttokendef.h
+3
-2
src/query/inc/qSqlparser.h
src/query/inc/qSqlparser.h
+2
-1
src/query/inc/sql.y
src/query/inc/sql.y
+12
-1
src/query/src/qParserImpl.c
src/query/src/qParserImpl.c
+4
-2
src/query/src/sql.c
src/query/src/sql.c
+1177
-849
tests/script/general/parser/create_tb_with_tag_name.sim
tests/script/general/parser/create_tb_with_tag_name.sim
+162
-0
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
67671328
...
@@ -6375,16 +6375,14 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
...
@@ -6375,16 +6375,14 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
// get table meta from mnode
// get table meta from mnode
code
=
tNameExtractFullName
(
&
pStableMetaInfo
->
name
,
pCreateTableInfo
->
tagdata
.
name
);
code
=
tNameExtractFullName
(
&
pStableMetaInfo
->
name
,
pCreateTableInfo
->
tagdata
.
name
);
SArray
*
pList
=
pCreateTableInfo
->
pTagVals
;
SArray
*
p
Val
List
=
pCreateTableInfo
->
pTagVals
;
code
=
tscGetTableMeta
(
pSql
,
pStableMetaInfo
);
code
=
tscGetTableMeta
(
pSql
,
pStableMetaInfo
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
return
code
;
}
}
size_t
size
=
taosArrayGetSize
(
pList
);
size_t
valSize
=
taosArrayGetSize
(
pValList
);
if
(
tscGetNumOfTags
(
pStableMetaInfo
->
pTableMeta
)
!=
size
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg5
);
}
// too long tag values will return invalid sql, not be truncated automatically
// too long tag values will return invalid sql, not be truncated automatically
SSchema
*
pTagSchema
=
tscGetTableTagSchema
(
pStableMetaInfo
->
pTableMeta
);
SSchema
*
pTagSchema
=
tscGetTableTagSchema
(
pStableMetaInfo
->
pTableMeta
);
...
@@ -6395,36 +6393,111 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
...
@@ -6395,36 +6393,111 @@ int32_t doCheckForCreateFromStable(SSqlObj* pSql, SSqlInfo* pInfo) {
return
TSDB_CODE_TSC_OUT_OF_MEMORY
;
return
TSDB_CODE_TSC_OUT_OF_MEMORY
;
}
}
SArray
*
pNameList
=
NULL
;
size_t
nameSize
=
0
;
int32_t
schemaSize
=
tscGetNumOfTags
(
pStableMetaInfo
->
pTableMeta
);
int32_t
ret
=
TSDB_CODE_SUCCESS
;
int32_t
ret
=
TSDB_CODE_SUCCESS
;
for
(
int32_t
i
=
0
;
i
<
size
;
++
i
)
{
SSchema
*
pSchema
=
&
pTagSchema
[
i
];
tVariantListItem
*
pItem
=
taosArrayGet
(
pList
,
i
);
char
tagVal
[
TSDB_MAX_TAGS_LEN
];
if
(
pCreateTableInfo
->
pTagNames
)
{
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_BINARY
||
pSchema
->
type
==
TSDB_DATA_TYPE_NCHAR
)
{
pNameList
=
pCreateTableInfo
->
pTagNames
;
if
(
pItem
->
pVar
.
nLen
>
pSchema
->
bytes
)
{
nameSize
=
taosArrayGetSize
(
pNameList
);
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
if
(
valSize
!=
nameSize
)
{
}
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg5
);
}
}
ret
=
tVariantDump
(
&
(
pItem
->
pVar
),
tagVal
,
pSchema
->
type
,
true
);
if
(
schemaSize
<
valSize
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg5
);
}
// check again after the convert since it may be converted from binary to nchar.
bool
findColumnIndex
=
false
;
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_BINARY
||
pSchema
->
type
==
TSDB_DATA_TYPE_NCHAR
)
{
int16_t
len
=
varDataTLen
(
tagVal
);
for
(
int32_t
i
=
0
;
i
<
nameSize
;
++
i
)
{
if
(
len
>
pSchema
->
bytes
)
{
SStrToken
*
sToken
=
taosArrayGet
(
pNameList
,
i
);
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
if
(
TK_STRING
==
sToken
->
type
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
tscDequoteAndTrimToken
(
sToken
);
}
}
}
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
tVariantListItem
*
pItem
=
taosArrayGet
(
pValList
,
i
);
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg4
);
findColumnIndex
=
false
;
// todo speedup by using hash list
for
(
int32_t
t
=
0
;
t
<
schemaSize
;
++
t
)
{
if
(
strncmp
(
sToken
->
z
,
pTagSchema
[
t
].
name
,
sToken
->
n
)
==
0
&&
strlen
(
pTagSchema
[
t
].
name
)
==
sToken
->
n
)
{
SSchema
*
pSchema
=
&
pTagSchema
[
t
];
char
tagVal
[
TSDB_MAX_TAGS_LEN
];
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_BINARY
||
pSchema
->
type
==
TSDB_DATA_TYPE_NCHAR
)
{
if
(
pItem
->
pVar
.
nLen
>
pSchema
->
bytes
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
}
}
ret
=
tVariantDump
(
&
(
pItem
->
pVar
),
tagVal
,
pSchema
->
type
,
true
);
// check again after the convert since it may be converted from binary to nchar.
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_BINARY
||
pSchema
->
type
==
TSDB_DATA_TYPE_NCHAR
)
{
int16_t
len
=
varDataTLen
(
tagVal
);
if
(
len
>
pSchema
->
bytes
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
}
}
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg4
);
}
tdAddColToKVRow
(
&
kvRowBuilder
,
pSchema
->
colId
,
pSchema
->
type
,
tagVal
);
findColumnIndex
=
true
;
break
;
}
}
if
(
!
findColumnIndex
)
{
return
tscInvalidSQLErrMsg
(
pCmd
->
payload
,
"invalid tag name"
,
sToken
->
z
);
}
}
}
else
{
if
(
schemaSize
!=
valSize
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg5
);
}
}
tdAddColToKVRow
(
&
kvRowBuilder
,
pSchema
->
colId
,
pSchema
->
type
,
tagVal
);
for
(
int32_t
i
=
0
;
i
<
valSize
;
++
i
)
{
SSchema
*
pSchema
=
&
pTagSchema
[
i
];
tVariantListItem
*
pItem
=
taosArrayGet
(
pValList
,
i
);
char
tagVal
[
TSDB_MAX_TAGS_LEN
];
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_BINARY
||
pSchema
->
type
==
TSDB_DATA_TYPE_NCHAR
)
{
if
(
pItem
->
pVar
.
nLen
>
pSchema
->
bytes
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
}
}
ret
=
tVariantDump
(
&
(
pItem
->
pVar
),
tagVal
,
pSchema
->
type
,
true
);
// check again after the convert since it may be converted from binary to nchar.
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_BINARY
||
pSchema
->
type
==
TSDB_DATA_TYPE_NCHAR
)
{
int16_t
len
=
varDataTLen
(
tagVal
);
if
(
len
>
pSchema
->
bytes
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg3
);
}
}
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
tdDestroyKVRowBuilder
(
&
kvRowBuilder
);
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg4
);
}
tdAddColToKVRow
(
&
kvRowBuilder
,
pSchema
->
colId
,
pSchema
->
type
,
tagVal
);
}
}
}
SKVRow
row
=
tdGetKVRowFromBuilder
(
&
kvRowBuilder
);
SKVRow
row
=
tdGetKVRowFromBuilder
(
&
kvRowBuilder
);
...
...
src/inc/ttokendef.h
浏览文件 @
67671328
...
@@ -122,8 +122,8 @@
...
@@ -122,8 +122,8 @@
#define TK_UNSIGNED 103
#define TK_UNSIGNED 103
#define TK_TAGS 104
#define TK_TAGS 104
#define TK_USING 105
#define TK_USING 105
#define TK_
AS
106
#define TK_
COMMA
106
#define TK_
COMMA
107
#define TK_
AS
107
#define TK_NULL 108
#define TK_NULL 108
#define TK_SELECT 109
#define TK_SELECT 109
#define TK_UNION 110
#define TK_UNION 110
...
@@ -228,6 +228,7 @@
...
@@ -228,6 +228,7 @@
#define TK_VALUES 209
#define TK_VALUES 209
#define TK_SPACE 300
#define TK_SPACE 300
#define TK_COMMENT 301
#define TK_COMMENT 301
#define TK_ILLEGAL 302
#define TK_ILLEGAL 302
...
...
src/query/inc/qSqlparser.h
浏览文件 @
67671328
...
@@ -76,6 +76,7 @@ typedef struct SQuerySQL {
...
@@ -76,6 +76,7 @@ typedef struct SQuerySQL {
typedef
struct
SCreatedTableInfo
{
typedef
struct
SCreatedTableInfo
{
SStrToken
name
;
// table name token
SStrToken
name
;
// table name token
SStrToken
stableName
;
// super table name token , for using clause
SStrToken
stableName
;
// super table name token , for using clause
SArray
*
pTagNames
;
// create by using super table, tag name
SArray
*
pTagVals
;
// create by using super table, tag value
SArray
*
pTagVals
;
// create by using super table, tag value
char
*
fullname
;
// table full name
char
*
fullname
;
// table full name
STagData
tagdata
;
// true tag data, super table full name is in STagData
STagData
tagdata
;
// true tag data, super table full name is in STagData
...
@@ -246,7 +247,7 @@ SCreateTableSQL *tSetCreateSqlElems(SArray *pCols, SArray *pTags, SQuerySQL *pSe
...
@@ -246,7 +247,7 @@ SCreateTableSQL *tSetCreateSqlElems(SArray *pCols, SArray *pTags, SQuerySQL *pSe
void
tSqlExprNodeDestroy
(
tSQLExpr
*
pExpr
);
void
tSqlExprNodeDestroy
(
tSQLExpr
*
pExpr
);
SAlterTableInfo
*
tAlterTableSqlElems
(
SStrToken
*
pTableName
,
SArray
*
pCols
,
SArray
*
pVals
,
int32_t
type
,
int16_t
tableTable
);
SAlterTableInfo
*
tAlterTableSqlElems
(
SStrToken
*
pTableName
,
SArray
*
pCols
,
SArray
*
pVals
,
int32_t
type
,
int16_t
tableTable
);
SCreatedTableInfo
createNewChildTableInfo
(
SStrToken
*
pTableName
,
SArray
*
pTagVals
,
SStrToken
*
pToken
,
SStrToken
*
igExists
);
SCreatedTableInfo
createNewChildTableInfo
(
SStrToken
*
pTableName
,
SArray
*
pTag
Names
,
SArray
*
pTag
Vals
,
SStrToken
*
pToken
,
SStrToken
*
igExists
);
void
destroyAllSelectClause
(
SSubclauseInfo
*
pSql
);
void
destroyAllSelectClause
(
SSubclauseInfo
*
pSql
);
void
doDestroyQuerySql
(
SQuerySQL
*
pSql
);
void
doDestroyQuerySql
(
SQuerySQL
*
pSql
);
...
...
src/query/inc/sql.y
浏览文件 @
67671328
...
@@ -356,9 +356,20 @@ create_stable_args(A) ::= ifnotexists(U) ids(V) cpxName(Z) LP columnlist(X) RP T
...
@@ -356,9 +356,20 @@ create_stable_args(A) ::= ifnotexists(U) ids(V) cpxName(Z) LP columnlist(X) RP T
create_from_stable(A) ::= ifnotexists(U) ids(V) cpxName(Z) USING ids(X) cpxName(F) TAGS LP tagitemlist(Y) RP. {
create_from_stable(A) ::= ifnotexists(U) ids(V) cpxName(Z) USING ids(X) cpxName(F) TAGS LP tagitemlist(Y) RP. {
X.n += F.n;
X.n += F.n;
V.n += Z.n;
V.n += Z.n;
A = createNewChildTableInfo(&X, Y, &V, &U);
A = createNewChildTableInfo(&X,
NULL,
Y, &V, &U);
}
}
create_from_stable(A) ::= ifnotexists(U) ids(V) cpxName(Z) USING ids(X) cpxName(F) LP tagNamelist(P) RP TAGS LP tagitemlist(Y) RP. {
X.n += F.n;
V.n += Z.n;
A = createNewChildTableInfo(&X, P, Y, &V, &U);
}
%type tagNamelist{SArray*}
%destructor tagNamelist {taosArrayDestroy($$);}
tagNamelist(A) ::= tagNamelist(X) COMMA ids(Y). {taosArrayPush(X, &Y); A = X; }
tagNamelist(A) ::= ids(X). {A = taosArrayInit(4, sizeof(SStrToken)); taosArrayPush(A, &X);}
// create stream
// create stream
// create table table_name as select count(*) from super_table_name interval(time)
// create table table_name as select count(*) from super_table_name interval(time)
create_table_args(A) ::= ifnotexists(U) ids(V) cpxName(Z) AS select(S). {
create_table_args(A) ::= ifnotexists(U) ids(V) cpxName(Z) AS select(S). {
...
...
src/query/src/qParserImpl.c
浏览文件 @
67671328
...
@@ -496,7 +496,8 @@ static void freeVariant(void *pItem) {
...
@@ -496,7 +496,8 @@ static void freeVariant(void *pItem) {
}
}
void
freeCreateTableInfo
(
void
*
p
)
{
void
freeCreateTableInfo
(
void
*
p
)
{
SCreatedTableInfo
*
pInfo
=
(
SCreatedTableInfo
*
)
p
;
SCreatedTableInfo
*
pInfo
=
(
SCreatedTableInfo
*
)
p
;
taosArrayDestroy
(
pInfo
->
pTagNames
);
taosArrayDestroyEx
(
pInfo
->
pTagVals
,
freeVariant
);
taosArrayDestroyEx
(
pInfo
->
pTagVals
,
freeVariant
);
tfree
(
pInfo
->
fullname
);
tfree
(
pInfo
->
fullname
);
tfree
(
pInfo
->
tagdata
.
data
);
tfree
(
pInfo
->
tagdata
.
data
);
...
@@ -574,11 +575,12 @@ SCreateTableSQL *tSetCreateSqlElems(SArray *pCols, SArray *pTags, SQuerySQL *pSe
...
@@ -574,11 +575,12 @@ SCreateTableSQL *tSetCreateSqlElems(SArray *pCols, SArray *pTags, SQuerySQL *pSe
return
pCreate
;
return
pCreate
;
}
}
SCreatedTableInfo
createNewChildTableInfo
(
SStrToken
*
pTableName
,
SArray
*
pTagVals
,
SStrToken
*
pToken
,
SStrToken
*
igExists
)
{
SCreatedTableInfo
createNewChildTableInfo
(
SStrToken
*
pTableName
,
SArray
*
pTag
Names
,
SArray
*
pTag
Vals
,
SStrToken
*
pToken
,
SStrToken
*
igExists
)
{
SCreatedTableInfo
info
;
SCreatedTableInfo
info
;
memset
(
&
info
,
0
,
sizeof
(
SCreatedTableInfo
));
memset
(
&
info
,
0
,
sizeof
(
SCreatedTableInfo
));
info
.
name
=
*
pToken
;
info
.
name
=
*
pToken
;
info
.
pTagNames
=
pTagNames
;
info
.
pTagVals
=
pTagVals
;
info
.
pTagVals
=
pTagVals
;
info
.
stableName
=
*
pTableName
;
info
.
stableName
=
*
pTableName
;
info
.
igExist
=
(
igExists
->
n
>
0
)
?
1
:
0
;
info
.
igExist
=
(
igExists
->
n
>
0
)
?
1
:
0
;
...
...
src/query/src/sql.c
浏览文件 @
67671328
...
@@ -23,6 +23,7 @@
...
@@ -23,6 +23,7 @@
** input grammar file:
** input grammar file:
*/
*/
#include <stdio.h>
#include <stdio.h>
#include <assert.h>
/************ Begin %include sections from the grammar ************************/
/************ Begin %include sections from the grammar ************************/
#include <stdio.h>
#include <stdio.h>
...
@@ -76,8 +77,10 @@
...
@@ -76,8 +77,10 @@
** zero the stack is dynamically sized using realloc()
** zero the stack is dynamically sized using realloc()
** ParseARG_SDECL A static variable declaration for the %extra_argument
** ParseARG_SDECL A static variable declaration for the %extra_argument
** ParseARG_PDECL A parameter declaration for the %extra_argument
** ParseARG_PDECL A parameter declaration for the %extra_argument
** ParseARG_PARAM Code to pass %extra_argument as a subroutine parameter
** ParseARG_STORE Code to store %extra_argument into yypParser
** ParseARG_STORE Code to store %extra_argument into yypParser
** ParseARG_FETCH Code to extract %extra_argument from yypParser
** ParseARG_FETCH Code to extract %extra_argument from yypParser
** ParseCTX_* As ParseARG_ except for %extra_context
** YYERRORSYMBOL is the code number of the error symbol. If not
** YYERRORSYMBOL is the code number of the error symbol. If not
** defined, then do no error processing.
** defined, then do no error processing.
** YYNSTATE the combined number of states.
** YYNSTATE the combined number of states.
...
@@ -97,7 +100,7 @@
...
@@ -97,7 +100,7 @@
#endif
#endif
/************* Begin control #defines *****************************************/
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYCODETYPE unsigned short int
#define YYNOCODE 28
2
#define YYNOCODE 28
1
#define YYACTIONTYPE unsigned short int
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken
#define ParseTOKENTYPE SStrToken
typedef
union
{
typedef
union
{
...
@@ -124,21 +127,29 @@ typedef union {
...
@@ -124,21 +127,29 @@ typedef union {
#endif
#endif
#define ParseARG_SDECL SSqlInfo* pInfo;
#define ParseARG_SDECL SSqlInfo* pInfo;
#define ParseARG_PDECL ,SSqlInfo* pInfo
#define ParseARG_PDECL ,SSqlInfo* pInfo
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_PARAM ,pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define ParseARG_FETCH SSqlInfo* pInfo=yypParser->pInfo;
#define ParseARG_STORE yypParser->pInfo=pInfo;
#define ParseCTX_SDECL
#define ParseCTX_PDECL
#define ParseCTX_PARAM
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYFALLBACK 1
#define YYNSTATE 283
#define YYNSTATE 290
#define YYNRULE 250
#define YYNRULE 253
#define YYNRULE_WITH_ACTION 253
#define YYNTOKEN 210
#define YYNTOKEN 210
#define YY_MAX_SHIFT 28
2
#define YY_MAX_SHIFT 28
9
#define YY_MIN_SHIFTREDUCE 4
6
3
#define YY_MIN_SHIFTREDUCE 4
7
3
#define YY_MAX_SHIFTREDUCE 7
12
#define YY_MAX_SHIFTREDUCE 7
25
#define YY_ERROR_ACTION 7
13
#define YY_ERROR_ACTION 7
26
#define YY_ACCEPT_ACTION 7
14
#define YY_ACCEPT_ACTION 7
27
#define YY_NO_ACTION 7
15
#define YY_NO_ACTION 7
28
#define YY_MIN_REDUCE 7
16
#define YY_MIN_REDUCE 7
29
#define YY_MAX_REDUCE 9
65
#define YY_MAX_REDUCE 9
81
/************* End control #defines *******************************************/
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
/* Define the yytestcase() macro to be a no-op if is not already defined
/* Define the yytestcase() macro to be a no-op if is not already defined
** otherwise.
** otherwise.
...
@@ -203,135 +214,136 @@ typedef union {
...
@@ -203,135 +214,136 @@ typedef union {
** yy_default[] Default action for each state.
** yy_default[] Default action for each state.
**
**
*********** Begin parsing tables **********************************************/
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (6
15
)
#define YY_ACTTAB_COUNT (6
27
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
872
,
507
,
159
,
714
,
282
,
159
,
15
,
580
,
183
,
508
,
/* 0 */
888
,
517
,
727
,
289
,
517
,
182
,
287
,
590
,
28
,
518
,
/* 10 */
663
,
186
,
948
,
41
,
42
,
947
,
43
,
44
,
26
,
158
,
/* 10 */
15
,
161
,
518
,
43
,
44
,
771
,
45
,
46
,
150
,
162
,
/* 20 */
191
,
35
,
507
,
507
,
232
,
47
,
45
,
49
,
46
,
163
,
/* 20 */
194
,
37
,
126
,
517
,
238
,
49
,
47
,
51
,
48
,
963
,
/* 30 */
508
,
508
,
850
,
40
,
39
,
257
,
256
,
38
,
37
,
36
,
/* 30 */
166
,
518
,
186
,
42
,
41
,
264
,
263
,
40
,
39
,
38
,
/* 40 */
41
,
42
,
118
,
43
,
44
,
861
,
664
,
191
,
35
,
179
,
/* 40 */
43
,
44
,
877
,
45
,
46
,
877
,
184
,
194
,
37
,
863
,
/* 50 */
280
,
232
,
47
,
45
,
49
,
46
,
181
,
869
,
847
,
215
,
/* 50 */
121
,
238
,
49
,
47
,
51
,
48
,
183
,
866
,
885
,
221
,
/* 60 */
40
,
39
,
957
,
123
,
38
,
37
,
36
,
464
,
465
,
466
,
/* 60 */
42
,
41
,
126
,
126
,
40
,
39
,
38
,
474
,
475
,
476
,
/* 70 */
467
,
468
,
469
,
470
,
471
,
472
,
473
,
474
,
475
,
281
,
/* 70 */
477
,
478
,
479
,
480
,
481
,
482
,
483
,
484
,
485
,
288
,
/* 80 */
91
,
196
,
205
,
41
,
42
,
267
,
43
,
44
,
839
,
247
,
/* 80 */
43
,
44
,
211
,
45
,
46
,
916
,
254
,
194
,
37
,
162
,
/* 90 */
191
,
35
,
159
,
944
,
232
,
47
,
45
,
49
,
46
,
123
,
/* 90 */
630
,
238
,
49
,
47
,
51
,
48
,
71
,
94
,
189
,
964
,
/* 100 */
220
,
185
,
948
,
40
,
39
,
850
,
62
,
38
,
37
,
36
,
/* 100 */
42
,
41
,
274
,
960
,
40
,
39
,
38
,
64
,
65
,
226
,
/* 110 */
20
,
245
,
275
,
274
,
244
,
243
,
242
,
273
,
241
,
272
,
/* 110 */
21
,
252
,
282
,
281
,
251
,
250
,
249
,
280
,
248
,
279
,
/* 120 */
271
,
270
,
240
,
269
,
268
,
901
,
267
,
227
,
817
,
661
,
/* 120 */
278
,
277
,
247
,
276
,
275
,
917
,
70
,
233
,
830
,
674
,
/* 130 */
805
,
806
,
807
,
808
,
809
,
810
,
811
,
812
,
813
,
814
,
/* 130 */
818
,
819
,
820
,
821
,
822
,
823
,
824
,
825
,
826
,
827
,
/* 140 */
815
,
816
,
818
,
819
,
42
,
208
,
43
,
44
,
642
,
643
,
/* 140 */
828
,
829
,
831
,
832
,
44
,
199
,
45
,
46
,
274
,
28
,
/* 150 */
191
,
35
,
212
,
211
,
232
,
47
,
45
,
49
,
46
,
229
,
/* 150 */
194
,
37
,
162
,
959
,
238
,
49
,
47
,
51
,
48
,
860
,
/* 160 */
861
,
67
,
21
,
40
,
39
,
247
,
276
,
38
,
37
,
36
,
/* 160 */
201
,
188
,
964
,
42
,
41
,
634
,
214
,
40
,
39
,
38
,
/* 170 */
32
,
43
,
44
,
197
,
180
,
191
,
35
,
849
,
70
,
232
,
/* 170 */
866
,
45
,
46
,
218
,
217
,
194
,
37
,
958
,
72
,
238
,
/* 180 */
47
,
45
,
49
,
46
,
16
,
38
,
37
,
36
,
40
,
39
,
/* 180 */
49
,
47
,
51
,
48
,
16
,
866
,
205
,
197
,
42
,
41
,
/* 190 */
850
,
123
,
38
,
37
,
36
,
190
,
674
,
72
,
26
,
665
,
/* 190 */
863
,
283
,
40
,
39
,
38
,
193
,
687
,
22
,
200
,
678
,
/* 200 */
167
,
668
,
667
,
671
,
670
,
61
,
168
,
836
,
837
,
25
,
/* 200 */
170
,
681
,
203
,
684
,
178
,
34
,
171
,
849
,
850
,
27
,
/* 210 */
840
,
103
,
102
,
166
,
190
,
674
,
758
,
199
,
665
,
147
,
/* 210 */
853
,
106
,
105
,
169
,
193
,
687
,
866
,
179
,
678
,
75
,
/* 220 */
668
,
767
,
671
,
20
,
147
,
275
,
274
,
187
,
188
,
841
,
/* 220 */
681
,
780
,
684
,
21
,
150
,
282
,
281
,
190
,
191
,
164
,
/* 230 */
273
,
231
,
272
,
271
,
270
,
838
,
269
,
268
,
846
,
198
,
/* 230 */
280
,
237
,
279
,
278
,
277
,
614
,
276
,
275
,
611
,
10
,
/* 240 */
823
,
21
,
249
,
821
,
822
,
943
,
187
,
188
,
824
,
32
,
/* 240 */
612
,
22
,
613
,
74
,
165
,
136
,
190
,
191
,
63
,
34
,
/* 250 */
826
,
827
,
825
,
900
,
828
,
829
,
123
,
3
,
137
,
47
,
/* 250 */
836
,
854
,
207
,
834
,
835
,
261
,
260
,
167
,
837
,
852
,
/* 260 */
45
,
49
,
46
,
29
,
78
,
74
,
77
,
40
,
39
,
617
,
/* 260 */
839
,
840
,
838
,
126
,
841
,
842
,
208
,
209
,
204
,
168
,
/* 270 */
214
,
38
,
37
,
36
,
233
,
601
,
759
,
174
,
598
,
147
,
/* 270 */
220
,
256
,
49
,
47
,
51
,
48
,
28
,
177
,
851
,
927
,
/* 280 */
599
,
26
,
600
,
201
,
89
,
93
,
254
,
253
,
26
,
942
,
/* 280 */
42
,
41
,
92
,
96
,
40
,
39
,
38
,
28
,
86
,
101
,
/* 290 */
83
,
98
,
101
,
92
,
26
,
48
,
153
,
149
,
26
,
95
,
/* 290 */
104
,
95
,
3
,
140
,
28
,
50
,
28
,
98
,
31
,
81
,
/* 300 */
175
,
26
,
151
,
106
,
105
,
104
,
202
,
203
,
673
,
26
,
/* 300 */
77
,
80
,
28
,
156
,
152
,
119
,
28
,
206
,
686
,
154
,
/* 310 */
69
,
40
,
39
,
200
,
48
,
38
,
37
,
36
,
68
,
194
,
/* 310 */
109
,
108
,
107
,
34
,
50
,
42
,
41
,
862
,
224
,
40
,
/* 320 */
10
,
847
,
63
,
672
,
71
,
133
,
195
,
673
,
847
,
279
,
/* 320 */
39
,
38
,
29
,
685
,
235
,
198
,
69
,
686
,
863
,
40
,
/* 330 */
278
,
110
,
250
,
666
,
847
,
669
,
251
,
614
,
847
,
255
,
/* 330 */
39
,
38
,
257
,
192
,
258
,
863
,
254
,
863
,
676
,
864
,
/* 340 */
116
,
847
,
672
,
22
,
621
,
848
,
609
,
259
,
32
,
847
,
/* 340 */
262
,
615
,
685
,
863
,
266
,
655
,
656
,
863
,
286
,
285
,
/* 350 */
218
,
629
,
633
,
634
,
217
,
27
,
120
,
52
,
18
,
693
,
/* 350 */
113
,
772
,
627
,
622
,
150
,
680
,
642
,
683
,
646
,
23
,
/* 360 */
675
,
189
,
53
,
176
,
17
,
17
,
590
,
677
,
56
,
235
,
/* 360 */
123
,
223
,
54
,
647
,
706
,
688
,
239
,
18
,
17
,
17
,
/* 370 */
591
,
27
,
100
,
99
,
27
,
52
,
82
,
81
,
12
,
11
,
/* 370 */
679
,
55
,
682
,
26
,
677
,
4
,
244
,
58
,
600
,
241
,
/* 380 */
161
,
602
,
54
,
59
,
162
,
579
,
57
,
88
,
87
,
14
,
/* 380 */
602
,
243
,
29
,
29
,
54
,
73
,
601
,
174
,
85
,
84
,
/* 390 */
13
,
605
,
603
,
606
,
604
,
115
,
113
,
164
,
165
,
171
,
/* 390 */
54
,
175
,
56
,
12
,
11
,
173
,
59
,
91
,
90
,
61
,
/* 400 */
911
,
172
,
170
,
4
,
157
,
169
,
160
,
910
,
192
,
907
,
/* 400 */
973
,
589
,
14
,
13
,
618
,
616
,
619
,
617
,
103
,
102
,
/* 410 */
906
,
193
,
258
,
117
,
871
,
33
,
878
,
880
,
119
,
863
,
/* 410 */
118
,
116
,
160
,
172
,
163
,
865
,
926
,
195
,
923
,
922
,
/* 420 */
893
,
892
,
134
,
135
,
132
,
136
,
769
,
32
,
239
,
155
,
/* 420 */
196
,
265
,
879
,
120
,
887
,
35
,
909
,
894
,
896
,
908
,
/* 430 */
30
,
248
,
766
,
216
,
962
,
79
,
961
,
114
,
959
,
138
,
/* 430 */
122
,
137
,
859
,
135
,
34
,
138
,
139
,
782
,
222
,
246
,
/* 440 */
252
,
956
,
85
,
955
,
628
,
953
,
221
,
139
,
182
,
225
,
/* 440 */
158
,
32
,
255
,
779
,
117
,
978
,
641
,
82
,
977
,
975
,
/* 450 */
787
,
31
,
28
,
58
,
156
,
756
,
94
,
860
,
55
,
50
,
/* 450 */
141
,
259
,
972
,
88
,
971
,
227
,
969
,
142
,
800
,
690
,
/* 460 */
754
,
96
,
230
,
124
,
228
,
125
,
97
,
752
,
126
,
127
,
/* 460 */
185
,
33
,
30
,
159
,
231
,
769
,
97
,
60
,
876
,
128
,
/* 470 */
226
,
128
,
224
,
222
,
751
,
34
,
204
,
148
,
90
,
749
,
/* 470 */
767
,
99
,
57
,
127
,
236
,
52
,
234
,
232
,
230
,
100
,
/* 480 */
260
,
261
,
262
,
748
,
747
,
746
,
745
,
263
,
150
,
152
,
/* 480 */
765
,
764
,
130
,
210
,
228
,
36
,
151
,
93
,
762
,
267
,
/* 490 */
742
,
740
,
264
,
738
,
736
,
734
,
265
,
154
,
266
,
219
,
/* 490 */
268
,
269
,
270
,
761
,
760
,
271
,
759
,
272
,
273
,
758
,
/* 500 */
64
,
65
,
894
,
277
,
712
,
206
,
207
,
177
,
237
,
238
,
/* 500 */
153
,
155
,
755
,
753
,
751
,
284
,
749
,
747
,
157
,
725
,
/* 510 */
711
,
178
,
173
,
209
,
75
,
210
,
710
,
698
,
217
,
213
,
/* 510 */
225
,
66
,
212
,
67
,
910
,
213
,
724
,
215
,
216
,
723
,
/* 520 */
750
,
611
,
107
,
60
,
744
,
234
,
142
,
141
,
788
,
140
,
/* 520 */
180
,
202
,
711
,
245
,
219
,
181
,
176
,
223
,
78
,
624
,
/* 530 */
143
,
144
,
146
,
145
,
1
,
108
,
743
,
2
,
109
,
735
,
/* 530 */
62
,
763
,
6
,
240
,
110
,
111
,
68
,
757
,
145
,
643
,
/* 540 */
66
,
6
,
184
,
630
,
845
,
121
,
223
,
131
,
129
,
130
,
/* 540 */
144
,
801
,
143
,
146
,
147
,
149
,
148
,
756
,
1
,
124
,
/* 550 */
635
,
122
,
5
,
23
,
7
,
8
,
24
,
676
,
9
,
19
,
/* 550 */
112
,
187
,
748
,
229
,
125
,
2
,
648
,
861
,
7
,
8
,
/* 560 */
678
,
71
,
73
,
236
,
548
,
544
,
542
,
541
,
540
,
537
,
/* 560 */
689
,
24
,
133
,
131
,
129
,
132
,
134
,
25
,
5
,
9
,
/* 570 */
511
,
246
,
76
,
27
,
51
,
582
,
80
,
84
,
581
,
578
,
/* 570 */
691
,
19
,
20
,
242
,
76
,
558
,
554
,
74
,
552
,
551
,
/* 580 */
532
,
86
,
530
,
522
,
528
,
524
,
526
,
520
,
518
,
550
,
/* 580 */
550
,
547
,
253
,
521
,
83
,
29
,
79
,
592
,
53
,
591
,
/* 590 */
549
,
547
,
546
,
545
,
543
,
539
,
538
,
52
,
509
,
479
,
/* 590 */
87
,
89
,
588
,
542
,
540
,
532
,
538
,
534
,
536
,
530
,
/* 600 */
477
,
716
,
715
,
715
,
715
,
715
,
715
,
715
,
715
,
715
,
/* 600 */
528
,
560
,
559
,
557
,
556
,
555
,
553
,
549
,
548
,
54
,
/* 610 */
715
,
715
,
715
,
111
,
112
,
/* 610 */
519
,
489
,
487
,
729
,
728
,
728
,
728
,
728
,
728
,
728
,
/* 620 */
728
,
728
,
728
,
728
,
728
,
114
,
115
,
};
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
21
4
,
1
,
270
,
211
,
212
,
270
,
270
,
5
,
231
,
9
,
/* 0 */
21
3
,
1
,
210
,
211
,
1
,
212
,
213
,
5
,
213
,
9
,
/* 10 */
1
,
279
,
280
,
13
,
14
,
280
,
16
,
17
,
214
,
270
,
/* 10 */
270
,
270
,
9
,
13
,
14
,
217
,
16
,
17
,
220
,
270
,
/* 20 */
20
,
21
,
1
,
1
,
24
,
25
,
26
,
27
,
28
,
27
0
,
/* 20 */
20
,
21
,
213
,
1
,
24
,
25
,
26
,
27
,
28
,
28
0
,
/* 30 */
9
,
9
,
255
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 30 */
270
,
9
,
230
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 40 */
13
,
14
,
2
14
,
16
,
17
,
253
,
37
,
20
,
21
,
213
,
/* 40 */
13
,
14
,
2
53
,
16
,
17
,
253
,
251
,
20
,
21
,
254
,
/* 50 */
21
4
,
24
,
25
,
26
,
27
,
28
,
252
,
271
,
254
,
267
,
/* 50 */
21
3
,
24
,
25
,
26
,
27
,
28
,
267
,
255
,
271
,
267
,
/* 60 */
33
,
34
,
2
55
,
214
,
37
,
38
,
39
,
45
,
46
,
47
,
/* 60 */
33
,
34
,
2
13
,
213
,
37
,
38
,
39
,
45
,
46
,
47
,
/* 70 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 70 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 80 */
74
,
231
,
60
,
13
,
14
,
79
,
16
,
17
,
0
,
77
,
/* 80 */
13
,
14
,
60
,
16
,
17
,
276
,
77
,
20
,
21
,
270
,
/* 90 */
20
,
21
,
270
,
270
,
24
,
25
,
26
,
27
,
28
,
214
,
/* 90 */
37
,
24
,
25
,
26
,
27
,
28
,
256
,
74
,
279
,
280
,
/* 100 */
272
,
279
,
280
,
33
,
34
,
255
,
106
,
37
,
38
,
39
,
/* 100 */
33
,
34
,
79
,
270
,
37
,
38
,
39
,
107
,
268
,
272
,
/* 110 */
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
/* 110 */
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
95
,
/* 120 */
96
,
97
,
98
,
99
,
100
,
276
,
79
,
278
,
230
,
102
,
/* 120 */
96
,
97
,
98
,
99
,
100
,
276
,
276
,
278
,
229
,
102
,
/* 130 */
23
2
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
/* 130 */
23
1
,
232
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
/* 140 */
24
2
,
243
,
244
,
245
,
14
,
131
,
16
,
17
,
120
,
121
,
/* 140 */
24
1
,
242
,
243
,
244
,
14
,
230
,
16
,
17
,
79
,
213
,
/* 150 */
20
,
21
,
138
,
139
,
24
,
25
,
26
,
27
,
28
,
274
,
/* 150 */
20
,
21
,
270
,
270
,
24
,
25
,
26
,
27
,
28
,
213
,
/* 160 */
2
53
,
276
,
101
,
33
,
34
,
77
,
2
31
,
37
,
38
,
39
,
/* 160 */
2
30
,
279
,
280
,
33
,
34
,
112
,
1
31
,
37
,
38
,
39
,
/* 170 */
109
,
16
,
17
,
66
,
267
,
20
,
21
,
255
,
219
,
24
,
/* 170 */
255
,
16
,
17
,
138
,
139
,
20
,
21
,
270
,
218
,
24
,
/* 180 */
25
,
26
,
27
,
28
,
44
,
37
,
38
,
39
,
33
,
34
,
/* 180 */
25
,
26
,
27
,
28
,
44
,
255
,
66
,
251
,
33
,
34
,
/* 190 */
25
5
,
214
,
37
,
38
,
39
,
1
,
2
,
219
,
214
,
5
,
/* 190 */
25
4
,
230
,
37
,
38
,
39
,
1
,
2
,
101
,
252
,
5
,
/* 200 */
60
,
7
,
5
,
9
,
7
,
219
,
66
,
248
,
249
,
250
,
/* 200 */
60
,
7
,
66
,
9
,
270
,
109
,
66
,
247
,
248
,
249
,
/* 210 */
25
1
,
71
,
72
,
73
,
1
,
2
,
218
,
66
,
5
,
221
,
/* 210 */
25
0
,
71
,
72
,
73
,
1
,
2
,
255
,
270
,
5
,
218
,
/* 220 */
7
,
21
8
,
9
,
86
,
221
,
88
,
89
,
33
,
34
,
251
,
/* 220 */
7
,
21
7
,
9
,
86
,
220
,
88
,
89
,
33
,
34
,
270
,
/* 230 */
93
,
37
,
95
,
96
,
97
,
249
,
99
,
100
,
254
,
132
,
/* 230 */
93
,
37
,
95
,
96
,
97
,
2
,
99
,
100
,
5
,
101
,
/* 240 */
230
,
101
,
135
,
233
,
234
,
270
,
33
,
34
,
23
8
,
109
,
/* 240 */
7
,
101
,
9
,
105
,
270
,
107
,
33
,
34
,
21
8
,
109
,
/* 250 */
2
40
,
241
,
242
,
276
,
244
,
245
,
214
,
61
,
62
,
25
,
/* 250 */
2
29
,
250
,
132
,
232
,
233
,
135
,
136
,
270
,
237
,
0
,
/* 260 */
26
,
27
,
28
,
67
,
68
,
69
,
70
,
33
,
34
,
37
,
/* 260 */
239
,
240
,
241
,
213
,
243
,
244
,
33
,
34
,
132
,
270
,
/* 270 */
130
,
37
,
38
,
39
,
15
,
2
,
218
,
137
,
5
,
221
,
/* 270 */
130
,
135
,
25
,
26
,
27
,
28
,
213
,
137
,
248
,
246
,
/* 280 */
7
,
214
,
9
,
132
,
61
,
62
,
135
,
136
,
214
,
270
,
/* 280 */
33
,
34
,
61
,
62
,
37
,
38
,
39
,
213
,
67
,
68
,
/* 290 */
6
7
,
68
,
69
,
70
,
214
,
101
,
61
,
62
,
214
,
76
,
/* 290 */
6
9
,
70
,
61
,
62
,
213
,
101
,
213
,
76
,
67
,
68
,
/* 300 */
270
,
214
,
67
,
68
,
69
,
70
,
33
,
34
,
114
,
214
,
/* 300 */
69
,
70
,
213
,
61
,
62
,
101
,
213
,
213
,
114
,
67
,
/* 310 */
256
,
33
,
34
,
214
,
101
,
37
,
38
,
39
,
276
,
252
,
/* 310 */
68
,
69
,
70
,
109
,
101
,
33
,
34
,
254
,
102
,
37
,
/* 320 */
101
,
254
,
268
,
129
,
105
,
106
,
252
,
114
,
254
,
63
,
/* 320 */
38
,
39
,
106
,
129
,
274
,
251
,
276
,
114
,
254
,
37
,
/* 330 */
64
,
65
,
252
,
5
,
254
,
7
,
252
,
107
,
254
,
252
,
/* 330 */
38
,
39
,
251
,
59
,
251
,
254
,
77
,
254
,
1
,
245
,
/* 340 */
101
,
254
,
129
,
113
,
112
,
246
,
102
,
252
,
109
,
25
4
,
/* 340 */
251
,
108
,
129
,
254
,
251
,
120
,
121
,
254
,
63
,
6
4
,
/* 350 */
102
,
102
,
102
,
102
,
110
,
107
,
107
,
107
,
107
,
102
,
/* 350 */
65
,
217
,
106
,
102
,
220
,
5
,
102
,
7
,
102
,
113
,
/* 360 */
10
2
,
59
,
107
,
270
,
107
,
107
,
102
,
108
,
107
,
102
,
/* 360 */
10
6
,
110
,
106
,
102
,
102
,
102
,
15
,
106
,
106
,
106
,
/* 370 */
102
,
107
,
74
,
75
,
107
,
107
,
133
,
134
,
133
,
134
,
/* 370 */
5
,
106
,
7
,
101
,
37
,
101
,
104
,
106
,
102
,
102
,
/* 380 */
270
,
108
,
127
,
101
,
270
,
103
,
125
,
133
,
134
,
133
,
/* 380 */
102
,
102
,
106
,
106
,
106
,
106
,
102
,
270
,
133
,
134
,
/* 390 */
1
34
,
5
,
5
,
7
,
7
,
61
,
62
,
270
,
270
,
270
,
/* 390 */
1
06
,
270
,
127
,
133
,
134
,
270
,
125
,
133
,
134
,
101
,
/* 400 */
2
47
,
270
,
270
,
101
,
270
,
270
,
270
,
247
,
247
,
247
,
/* 400 */
2
55
,
103
,
133
,
134
,
5
,
5
,
7
,
7
,
74
,
75
,
/* 410 */
247
,
247
,
247
,
214
,
214
,
269
,
214
,
214
,
214
,
253
,
/* 410 */
61
,
62
,
270
,
270
,
270
,
255
,
246
,
246
,
246
,
246
,
/* 420 */
2
77
,
277
,
214
,
214
,
257
,
214
,
214
,
109
,
214
,
214
,
/* 420 */
2
46
,
246
,
253
,
213
,
213
,
269
,
277
,
213
,
213
,
277
,
/* 430 */
21
4
,
214
,
214
,
253
,
214
,
214
,
214
,
59
,
214
,
214
,
/* 430 */
21
3
,
213
,
213
,
257
,
109
,
213
,
213
,
213
,
253
,
213
,
/* 440 */
21
4
,
214
,
214
,
214
,
114
,
214
,
273
,
214
,
273
,
27
3
,
/* 440 */
21
3
,
213
,
213
,
213
,
59
,
213
,
114
,
213
,
213
,
21
3
,
/* 450 */
21
4
,
214
,
214
,
124
,
214
,
214
,
214
,
266
,
126
,
123
,
/* 450 */
21
3
,
213
,
213
,
213
,
213
,
273
,
213
,
213
,
213
,
108
,
/* 460 */
2
14
,
214
,
118
,
265
,
122
,
264
,
214
,
214
,
263
,
262
,
/* 460 */
2
73
,
213
,
213
,
213
,
273
,
213
,
213
,
124
,
266
,
264
,
/* 470 */
117
,
261
,
116
,
115
,
214
,
128
,
214
,
214
,
85
,
214
,
/* 470 */
213
,
213
,
126
,
265
,
118
,
123
,
122
,
117
,
116
,
213
,
/* 480 */
84
,
49
,
81
,
214
,
214
,
214
,
214
,
83
,
214
,
21
4
,
/* 480 */
213
,
213
,
262
,
213
,
115
,
128
,
213
,
85
,
213
,
8
4
,
/* 490 */
214
,
214
,
53
,
214
,
214
,
214
,
82
,
214
,
80
,
215
,
/* 490 */
49
,
81
,
83
,
213
,
213
,
53
,
213
,
82
,
80
,
213
,
/* 500 */
21
5
,
215
,
215
,
77
,
5
,
140
,
5
,
215
,
215
,
21
5
,
/* 500 */
21
3
,
213
,
213
,
213
,
213
,
77
,
213
,
213
,
213
,
5
,
/* 510 */
5
,
215
,
215
,
140
,
219
,
5
,
5
,
87
,
110
,
131
,
/* 510 */
214
,
214
,
140
,
214
,
214
,
5
,
5
,
140
,
5
,
5
,
/* 520 */
21
5
,
102
,
216
,
111
,
215
,
104
,
223
,
227
,
229
,
228
,
/* 520 */
21
4
,
214
,
87
,
214
,
131
,
214
,
214
,
110
,
218
,
102
,
/* 530 */
226
,
224
,
222
,
225
,
220
,
216
,
215
,
217
,
216
,
215
,
/* 530 */
111
,
214
,
101
,
104
,
215
,
215
,
106
,
214
,
222
,
102
,
/* 540 */
107
,
101
,
1
,
102
,
253
,
101
,
101
,
258
,
260
,
259
,
/* 540 */
226
,
228
,
227
,
225
,
223
,
221
,
224
,
214
,
219
,
101
,
/* 550 */
102
,
101
,
101
,
107
,
119
,
119
,
107
,
102
,
101
,
101
,
/* 550 */
215
,
1
,
214
,
101
,
101
,
216
,
102
,
253
,
119
,
119
,
/* 560 */
10
8
,
105
,
74
,
104
,
9
,
5
,
5
,
5
,
5
,
5
,
/* 560 */
10
2
,
106
,
259
,
261
,
263
,
260
,
258
,
106
,
101
,
101
,
/* 570 */
78
,
15
,
74
,
107
,
16
,
5
,
134
,
134
,
5
,
102
,
/* 570 */
108
,
101
,
101
,
104
,
74
,
9
,
5
,
105
,
5
,
5
,
/* 580 */
5
,
134
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 580 */
5
,
5
,
15
,
78
,
134
,
106
,
74
,
5
,
16
,
5
,
/* 590 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
107
,
78
,
59
,
/* 590 */
134
,
134
,
102
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 600 */
58
,
0
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 600 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
106
,
/* 610 */
281
,
281
,
281
,
21
,
2
1
,
281
,
281
,
281
,
281
,
281
,
/* 610 */
78
,
59
,
58
,
0
,
28
1
,
281
,
281
,
281
,
281
,
281
,
/* 620 */
281
,
281
,
281
,
281
,
281
,
281
,
28
1
,
281
,
281
,
281
,
/* 620 */
281
,
281
,
281
,
281
,
281
,
21
,
2
1
,
281
,
281
,
281
,
/* 630 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 630 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 640 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 640 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 650 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 650 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
...
@@ -351,93 +363,94 @@ static const YYCODETYPE yy_lookahead[] = {
...
@@ -351,93 +363,94 @@ static const YYCODETYPE yy_lookahead[] = {
/* 790 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 790 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 800 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 800 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 810 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 810 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 820 */
281
,
281
,
281
,
281
,
281
,
/* 820 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
281
,
/* 830 */
281
,
281
,
281
,
281
,
281
,
281
,
281
,
};
};
#define YY_SHIFT_COUNT (28
2
)
#define YY_SHIFT_COUNT (28
9
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (6
01
)
#define YY_SHIFT_MAX (6
13
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
140
,
24
,
137
,
12
,
194
,
213
,
21
,
21
,
21
,
21
,
/* 0 */
140
,
24
,
137
,
9
,
194
,
213
,
3
,
3
,
3
,
3
,
/* 10 */
21
,
21
,
21
,
21
,
21
,
0
,
22
,
213
,
273
,
27
3
,
/* 10 */
3
,
3
,
3
,
3
,
3
,
0
,
22
,
213
,
233
,
23
3
,
/* 20 */
2
73
,
61
,
21
,
21
,
21
,
88
,
21
,
21
,
6
,
12
,
/* 20 */
2
33
,
233
,
96
,
3
,
3
,
3
,
3
,
259
,
3
,
3
,
/* 30 */
47
,
47
,
615
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
/* 30 */
23
,
9
,
69
,
69
,
627
,
213
,
213
,
213
,
213
,
213
,
/* 40 */
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
/* 40 */
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
213
,
/* 50 */
213
,
2
73
,
273
,
2
,
2
,
2
,
2
,
2
,
2
,
2
,
/* 50 */
213
,
2
13
,
213
,
233
,
233
,
2
,
2
,
2
,
2
,
2
,
/* 60 */
239
,
21
,
21
,
232
,
21
,
21
,
21
,
28
,
28
,
230
,
/* 60 */
2
,
2
,
204
,
3
,
3
,
53
,
3
,
3
,
3
,
225
,
/* 70 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 70 */
225
,
246
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 80 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 80 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 90 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 90 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 100 */
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
21
,
/* 100 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 110 */
21
,
21
,
21
,
21
,
21
,
21
,
318
,
378
,
378
,
378
,
/* 110 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
325
,
/* 120 */
3
30
,
330
,
330
,
378
,
329
,
332
,
336
,
344
,
342
,
353
,
/* 120 */
3
85
,
385
,
385
,
332
,
332
,
332
,
385
,
343
,
346
,
352
,
/* 130 */
356
,
35
8
,
347
,
318
,
378
,
378
,
378
,
12
,
378
,
378
,
/* 130 */
356
,
35
4
,
360
,
362
,
369
,
357
,
325
,
385
,
385
,
385
,
/* 140 */
393
,
396
,
432
,
401
,
404
,
439
,
414
,
418
,
378
,
426
,
/* 140 */
9
,
385
,
385
,
402
,
405
,
441
,
410
,
409
,
442
,
415
,
/* 150 */
378
,
426
,
378
,
426
,
378
,
615
,
615
,
27
,
70
,
70
,
/* 150 */
418
,
385
,
428
,
385
,
428
,
385
,
428
,
385
,
627
,
627
,
/* 160 */
70
,
130
,
155
,
234
,
234
,
234
,
223
,
196
,
235
,
278
,
/* 160 */
27
,
67
,
67
,
67
,
130
,
155
,
247
,
247
,
247
,
221
,
/* 170 */
2
78
,
278
,
278
,
151
,
14
,
148
,
148
,
219
,
107
,
266
,
/* 170 */
2
31
,
242
,
282
,
282
,
282
,
282
,
120
,
35
,
292
,
292
,
/* 180 */
244
,
248
,
249
,
250
,
251
,
257
,
258
,
197
,
328
,
9
,
/* 180 */
138
,
136
,
285
,
251
,
216
,
254
,
256
,
261
,
262
,
263
,
/* 190 */
3
02
,
259
,
255
,
261
,
264
,
267
,
268
,
243
,
245
,
254
,
/* 190 */
3
50
,
365
,
337
,
274
,
351
,
265
,
271
,
276
,
277
,
278
,
/* 200 */
2
82
,
256
,
386
,
387
,
298
,
334
,
499
,
365
,
501
,
505
,
/* 200 */
2
79
,
284
,
272
,
255
,
260
,
264
,
298
,
269
,
399
,
400
,
/* 210 */
3
73
,
510
,
511
,
430
,
388
,
408
,
419
,
412
,
421
,
440
,
/* 210 */
3
34
,
349
,
504
,
372
,
510
,
511
,
377
,
513
,
514
,
435
,
/* 220 */
433
,
441
,
444
,
541
,
445
,
448
,
450
,
446
,
435
,
449
,
/* 220 */
393
,
417
,
427
,
419
,
429
,
431
,
430
,
437
,
448
,
550
,
/* 230 */
4
36
,
455
,
451
,
452
,
457
,
421
,
458
,
459
,
456
,
488
,
/* 230 */
4
52
,
454
,
453
,
455
,
439
,
461
,
440
,
458
,
467
,
462
,
/* 240 */
555
,
560
,
561
,
562
,
563
,
564
,
492
,
556
,
498
,
442
,
/* 240 */
468
,
429
,
470
,
469
,
471
,
472
,
500
,
566
,
571
,
573
,
/* 250 */
466
,
466
,
558
,
443
,
447
,
466
,
570
,
573
,
477
,
466
,
/* 250 */
574
,
575
,
576
,
505
,
567
,
512
,
450
,
479
,
479
,
572
,
/* 260 */
575
,
577
,
578
,
579
,
580
,
581
,
582
,
583
,
584
,
585
,
/* 260 */
456
,
457
,
479
,
582
,
584
,
490
,
479
,
588
,
589
,
590
,
/* 270 */
5
86
,
587
,
588
,
589
,
590
,
591
,
490
,
520
,
592
,
593
,
/* 270 */
5
91
,
592
,
593
,
594
,
595
,
596
,
597
,
598
,
599
,
600
,
/* 280 */
540
,
542
,
601
,
/* 280 */
601
,
602
,
603
,
503
,
532
,
604
,
605
,
552
,
554
,
613
,
};
};
#define YY_REDUCE_COUNT (15
6
)
#define YY_REDUCE_COUNT (15
9
)
#define YY_REDUCE_MIN (-26
8
)
#define YY_REDUCE_MIN (-26
0
)
#define YY_REDUCE_MAX (3
24
)
#define YY_REDUCE_MAX (3
39
)
static
const
short
yy_reduce_ofst
[]
=
{
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
208
,
-
10
2
,
10
,
-
41
,
-
268
,
-
178
,
-
196
,
-
151
,
-
115
,
67
,
/* 0 */
-
208
,
-
10
1
,
21
,
-
40
,
-
181
,
-
118
,
-
205
,
-
151
,
50
,
-
64
,
/* 10 */
74
,
8
0
,
84
,
87
,
95
,
-
214
,
-
164
,
-
265
,
-
223
,
-
150
,
/* 10 */
74
,
8
1
,
83
,
89
,
93
,
-
213
,
-
207
,
-
251
,
-
198
,
-
85
,
/* 20 */
-
65
,
-
93
,
-
172
,
-
23
,
42
,
-
22
,
99
,
-
16
,
-
2
,
-
14
,
/* 20 */
-
70
,
-
39
,
-
211
,
-
163
,
-
191
,
-
150
,
-
54
,
1
,
94
,
63
,
/* 30 */
3
,
58
,
54
,
-
264
,
-
251
,
-
241
,
-
177
,
-
25
,
19
,
30
,
/* 30 */
-
202
,
30
,
4
,
134
,
-
160
,
-
260
,
-
259
,
-
240
,
-
167
,
-
117
,
/* 40 */
93
,
110
,
114
,
127
,
128
,
129
,
131
,
132
,
134
,
13
5
,
/* 40 */
-
93
,
-
66
,
-
53
,
-
41
,
-
26
,
-
13
,
-
1
,
117
,
121
,
12
5
,
/* 50 */
1
36
,
-
193
,
-
78
,
153
,
160
,
161
,
162
,
163
,
164
,
165
,
/* 50 */
1
42
,
143
,
144
,
145
,
160
,
33
,
170
,
171
,
172
,
173
,
/* 60 */
1
66
,
199
,
200
,
146
,
202
,
203
,
204
,
143
,
144
,
167
,
/* 60 */
1
74
,
175
,
169
,
210
,
211
,
156
,
214
,
215
,
217
,
149
,
/* 70 */
208
,
209
,
211
,
212
,
214
,
215
,
216
,
217
,
218
,
220
,
/* 70 */
152
,
176
,
218
,
219
,
222
,
223
,
224
,
226
,
227
,
228
,
/* 80 */
22
1
,
222
,
224
,
225
,
226
,
227
,
228
,
229
,
231
,
233
,
/* 80 */
22
9
,
230
,
232
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
/* 90 */
2
36
,
237
,
238
,
240
,
241
,
242
,
246
,
247
,
252
,
253
,
/* 90 */
2
41
,
243
,
244
,
245
,
248
,
249
,
250
,
252
,
253
,
257
,
/* 100 */
2
60
,
262
,
263
,
265
,
269
,
270
,
271
,
272
,
274
,
275
,
/* 100 */
2
58
,
266
,
267
,
268
,
270
,
273
,
275
,
280
,
281
,
283
,
/* 110 */
2
76
,
277
,
279
,
280
,
281
,
283
,
180
,
284
,
285
,
286
,
/* 110 */
2
86
,
287
,
288
,
289
,
290
,
291
,
293
,
294
,
295
,
185
,
/* 120 */
173
,
175
,
176
,
287
,
191
,
198
,
201
,
205
,
207
,
210
,
/* 120 */
296
,
297
,
299
,
182
,
187
,
191
,
300
,
202
,
208
,
205
,
/* 130 */
288
,
290
,
289
,
291
,
292
,
293
,
294
,
295
,
296
,
297
,
/* 130 */
301
,
220
,
302
,
305
,
303
,
308
,
304
,
306
,
307
,
309
,
/* 140 */
299
,
301
,
300
,
303
,
304
,
307
,
308
,
310
,
305
,
306
,
/* 140 */
310
,
311
,
312
,
313
,
315
,
314
,
316
,
318
,
321
,
322
,
/* 150 */
3
09
,
319
,
321
,
322
,
324
,
314
,
320
,
/* 150 */
3
24
,
317
,
319
,
323
,
320
,
333
,
335
,
338
,
329
,
339
,
};
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
7
13
,
768
,
757
,
765
,
950
,
950
,
713
,
713
,
713
,
713
,
/* 0 */
7
26
,
781
,
770
,
778
,
966
,
966
,
726
,
726
,
726
,
726
,
/* 10 */
7
13
,
713
,
713
,
713
,
713
,
873
,
731
,
950
,
713
,
713
,
/* 10 */
7
26
,
726
,
726
,
726
,
726
,
889
,
744
,
966
,
726
,
726
,
/* 20 */
7
13
,
713
,
713
,
713
,
713
,
765
,
713
,
713
,
770
,
765
,
/* 20 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
778
,
726
,
726
,
/* 30 */
7
70
,
770
,
868
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 30 */
7
83
,
778
,
783
,
783
,
884
,
726
,
726
,
726
,
726
,
726
,
/* 40 */
7
13
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 40 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 50 */
7
13
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 50 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 60 */
7
13
,
713
,
713
,
875
,
877
,
879
,
713
,
897
,
897
,
866
,
/* 60 */
7
26
,
726
,
726
,
726
,
726
,
891
,
893
,
895
,
726
,
913
,
/* 70 */
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 70 */
913
,
882
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 80 */
7
13
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 80 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 90 */
7
13
,
713
,
713
,
713
,
755
,
713
,
753
,
713
,
713
,
713
,
/* 90 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
768
,
726
,
766
,
/* 100 */
7
13
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 100 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 110 */
7
41
,
713
,
713
,
713
,
713
,
713
,
713
,
733
,
733
,
733
,
/* 110 */
7
26
,
726
,
726
,
754
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 120 */
7
13
,
713
,
713
,
733
,
904
,
908
,
902
,
890
,
898
,
889
,
/* 120 */
7
46
,
746
,
746
,
726
,
726
,
726
,
746
,
920
,
924
,
918
,
/* 130 */
885
,
884
,
912
,
713
,
733
,
733
,
733
,
765
,
733
,
733
,
/* 130 */
906
,
914
,
905
,
901
,
900
,
928
,
726
,
746
,
746
,
746
,
/* 140 */
7
86
,
784
,
782
,
774
,
780
,
776
,
778
,
772
,
733
,
763
,
/* 140 */
7
78
,
746
,
746
,
799
,
797
,
795
,
787
,
793
,
789
,
791
,
/* 150 */
7
33
,
763
,
733
,
763
,
733
,
804
,
820
,
713
,
913
,
949
,
/* 150 */
7
85
,
746
,
776
,
746
,
776
,
746
,
776
,
746
,
817
,
833
,
/* 160 */
903
,
939
,
938
,
945
,
937
,
936
,
713
,
713
,
713
,
932
,
/* 160 */
726
,
929
,
965
,
919
,
955
,
954
,
961
,
953
,
952
,
726
,
/* 170 */
933
,
935
,
934
,
713
,
713
,
941
,
940
,
713
,
713
,
713
,
/* 170 */
726
,
726
,
948
,
949
,
951
,
950
,
726
,
726
,
957
,
956
,
/* 180 */
7
13
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 180 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 190 */
915
,
713
,
909
,
905
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 190 */
726
,
726
,
726
,
931
,
726
,
925
,
921
,
726
,
726
,
726
,
/* 200 */
830
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 200 */
726
,
726
,
726
,
726
,
726
,
726
,
843
,
726
,
726
,
726
,
/* 210 */
7
13
,
713
,
713
,
713
,
713
,
865
,
713
,
713
,
713
,
713
,
/* 210 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 220 */
876
,
713
,
713
,
713
,
713
,
713
,
713
,
899
,
713
,
891
,
/* 220 */
726
,
881
,
726
,
726
,
726
,
726
,
892
,
726
,
726
,
726
,
/* 230 */
7
13
,
713
,
713
,
713
,
713
,
842
,
713
,
713
,
713
,
713
,
/* 230 */
7
26
,
726
,
726
,
915
,
726
,
907
,
726
,
726
,
726
,
726
,
/* 240 */
7
13
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 240 */
7
26
,
855
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 250 */
960
,
958
,
713
,
713
,
713
,
954
,
713
,
713
,
713
,
952
,
/* 250 */
726
,
726
,
726
,
726
,
726
,
726
,
726
,
976
,
974
,
726
,
/* 260 */
7
13
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
713
,
/* 260 */
7
26
,
726
,
970
,
726
,
726
,
726
,
968
,
726
,
726
,
726
,
/* 270 */
7
13
,
713
,
713
,
713
,
713
,
713
,
789
,
713
,
739
,
737
,
/* 270 */
7
26
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
726
,
/* 280 */
7
13
,
729
,
713
,
/* 280 */
7
26
,
726
,
726
,
802
,
726
,
752
,
750
,
726
,
742
,
726
,
};
};
/********** End of lemon-generated parsing tables *****************************/
/********** End of lemon-generated parsing tables *****************************/
...
@@ -563,8 +576,8 @@ static const YYCODETYPE yyFallback[] = {
...
@@ -563,8 +576,8 @@ static const YYCODETYPE yyFallback[] = {
0
,
/* UNSIGNED => nothing */
0
,
/* UNSIGNED => nothing */
0
,
/* TAGS => nothing */
0
,
/* TAGS => nothing */
0
,
/* USING => nothing */
0
,
/* USING => nothing */
0
,
/* AS => nothing */
0
,
/* COMMA => nothing */
0
,
/* COMMA => nothing */
0
,
/* AS => nothing */
1
,
/* NULL => ID */
1
,
/* NULL => ID */
0
,
/* SELECT => nothing */
0
,
/* SELECT => nothing */
0
,
/* UNION => nothing */
0
,
/* UNION => nothing */
...
@@ -706,6 +719,7 @@ struct yyParser {
...
@@ -706,6 +719,7 @@ struct yyParser {
int
yyerrcnt
;
/* Shifts left before out of the error */
int
yyerrcnt
;
/* Shifts left before out of the error */
#endif
#endif
ParseARG_SDECL
/* A place to hold %extra_argument */
ParseARG_SDECL
/* A place to hold %extra_argument */
ParseCTX_SDECL
/* A place to hold %extra_context */
#if YYSTACKDEPTH<=0
#if YYSTACKDEPTH<=0
int
yystksz
;
/* Current side of the stack */
int
yystksz
;
/* Current side of the stack */
yyStackEntry
*
yystack
;
/* The parser's stack */
yyStackEntry
*
yystack
;
/* The parser's stack */
...
@@ -859,8 +873,8 @@ static const char *const yyTokenName[] = {
...
@@ -859,8 +873,8 @@ static const char *const yyTokenName[] = {
/* 103 */
"UNSIGNED"
,
/* 103 */
"UNSIGNED"
,
/* 104 */
"TAGS"
,
/* 104 */
"TAGS"
,
/* 105 */
"USING"
,
/* 105 */
"USING"
,
/* 106 */
"
AS
"
,
/* 106 */
"
COMMA
"
,
/* 107 */
"
COMMA
"
,
/* 107 */
"
AS
"
,
/* 108 */
"NULL"
,
/* 108 */
"NULL"
,
/* 109 */
"SELECT"
,
/* 109 */
"SELECT"
,
/* 110 */
"UNION"
,
/* 110 */
"UNION"
,
...
@@ -963,49 +977,49 @@ static const char *const yyTokenName[] = {
...
@@ -963,49 +977,49 @@ static const char *const yyTokenName[] = {
/* 207 */
"INSERT"
,
/* 207 */
"INSERT"
,
/* 208 */
"INTO"
,
/* 208 */
"INTO"
,
/* 209 */
"VALUES"
,
/* 209 */
"VALUES"
,
/* 210 */
"
error
"
,
/* 210 */
"
program
"
,
/* 211 */
"
program
"
,
/* 211 */
"
cmd
"
,
/* 212 */
"
cmd
"
,
/* 212 */
"
dbPrefix
"
,
/* 213 */
"
dbPrefix
"
,
/* 213 */
"
ids
"
,
/* 214 */
"
ids
"
,
/* 214 */
"
cpxName
"
,
/* 215 */
"
cpxName
"
,
/* 215 */
"
ifexists
"
,
/* 216 */
"
ifexists
"
,
/* 216 */
"
alter_db_optr
"
,
/* 217 */
"a
lter_db
_optr"
,
/* 217 */
"a
cct
_optr"
,
/* 218 */
"
acct_optr
"
,
/* 218 */
"
ifnotexists
"
,
/* 219 */
"
ifnotexists
"
,
/* 219 */
"
db_optr
"
,
/* 220 */
"
db_optr
"
,
/* 220 */
"
pps
"
,
/* 221 */
"
pp
s"
,
/* 221 */
"
tserie
s"
,
/* 222 */
"
tserie
s"
,
/* 222 */
"
db
s"
,
/* 223 */
"
db
s"
,
/* 223 */
"
stream
s"
,
/* 224 */
"st
reams
"
,
/* 224 */
"st
orage
"
,
/* 225 */
"
storag
e"
,
/* 225 */
"
qtim
e"
,
/* 226 */
"
qtime
"
,
/* 226 */
"
users
"
,
/* 227 */
"
user
s"
,
/* 227 */
"
conn
s"
,
/* 228 */
"
conns
"
,
/* 228 */
"
state
"
,
/* 229 */
"
state
"
,
/* 229 */
"
keep
"
,
/* 230 */
"
keep
"
,
/* 230 */
"
tagitemlist
"
,
/* 231 */
"
tagitemlist
"
,
/* 231 */
"
cache
"
,
/* 232 */
"
cache
"
,
/* 232 */
"
replica
"
,
/* 233 */
"
replica
"
,
/* 233 */
"
quorum
"
,
/* 234 */
"
quorum
"
,
/* 234 */
"
days
"
,
/* 235 */
"
day
s"
,
/* 235 */
"
minrow
s"
,
/* 236 */
"m
in
rows"
,
/* 236 */
"m
ax
rows"
,
/* 237 */
"
maxrow
s"
,
/* 237 */
"
block
s"
,
/* 238 */
"
blocks
"
,
/* 238 */
"
ctime
"
,
/* 239 */
"
ctime
"
,
/* 239 */
"
wal
"
,
/* 240 */
"
wal
"
,
/* 240 */
"
fsync
"
,
/* 241 */
"
fsync
"
,
/* 241 */
"
comp
"
,
/* 242 */
"
comp
"
,
/* 242 */
"
prec
"
,
/* 243 */
"
prec
"
,
/* 243 */
"
update
"
,
/* 244 */
"
update
"
,
/* 244 */
"
cachelast
"
,
/* 245 */
"
cachelast
"
,
/* 245 */
"
typename
"
,
/* 246 */
"
typename
"
,
/* 246 */
"
signed
"
,
/* 247 */
"
signed
"
,
/* 247 */
"
create_table_args
"
,
/* 248 */
"create_table_args"
,
/* 248 */
"create_
s
table_args"
,
/* 249 */
"create_
stable_args
"
,
/* 249 */
"create_
table_list
"
,
/* 250 */
"create_
table_list
"
,
/* 250 */
"create_
from_stable
"
,
/* 251 */
"c
reate_from_stable
"
,
/* 251 */
"c
olumnlist
"
,
/* 252 */
"
column
list"
,
/* 252 */
"
tagName
list"
,
/* 253 */
"select"
,
/* 253 */
"select"
,
/* 254 */
"column"
,
/* 254 */
"column"
,
/* 255 */
"tagitem"
,
/* 255 */
"tagitem"
,
...
@@ -1170,127 +1184,130 @@ static const char *const yyRuleName[] = {
...
@@ -1170,127 +1184,130 @@ static const char *const yyRuleName[] = {
/* 126 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 126 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 127 */
"create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 127 */
"create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 128 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP"
,
/* 128 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP"
,
/* 129 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 129 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP"
,
/* 130 */
"columnlist ::= columnlist COMMA column"
,
/* 130 */
"tagNamelist ::= tagNamelist COMMA ids"
,
/* 131 */
"columnlist ::= column"
,
/* 131 */
"tagNamelist ::= ids"
,
/* 132 */
"column ::= ids typename"
,
/* 132 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 133 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 133 */
"columnlist ::= columnlist COMMA column"
,
/* 134 */
"tagitemlist ::= tagitem"
,
/* 134 */
"columnlist ::= column"
,
/* 135 */
"tagitem ::= INTEGER"
,
/* 135 */
"column ::= ids typename"
,
/* 136 */
"tagitem ::= FLOAT"
,
/* 136 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 137 */
"tagitem ::= STRING"
,
/* 137 */
"tagitemlist ::= tagitem"
,
/* 138 */
"tagitem ::= BOOL"
,
/* 138 */
"tagitem ::= INTEGER"
,
/* 139 */
"tagitem ::= NULL"
,
/* 139 */
"tagitem ::= FLOAT"
,
/* 140 */
"tagitem ::= MINUS INTEGER"
,
/* 140 */
"tagitem ::= STRING"
,
/* 141 */
"tagitem ::= MINUS FLOAT"
,
/* 141 */
"tagitem ::= BOOL"
,
/* 142 */
"tagitem ::= PLUS INTEGER"
,
/* 142 */
"tagitem ::= NULL"
,
/* 143 */
"tagitem ::= PLUS FLOAT"
,
/* 143 */
"tagitem ::= MINUS INTEGER"
,
/* 144 */
"select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt"
,
/* 144 */
"tagitem ::= MINUS FLOAT"
,
/* 145 */
"union ::= select"
,
/* 145 */
"tagitem ::= PLUS INTEGER"
,
/* 146 */
"union ::= LP union RP"
,
/* 146 */
"tagitem ::= PLUS FLOAT"
,
/* 147 */
"union ::= union UNION ALL select"
,
/* 147 */
"select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt"
,
/* 148 */
"union ::= union UNION ALL LP select RP"
,
/* 148 */
"union ::= select"
,
/* 149 */
"cmd ::= union"
,
/* 149 */
"union ::= LP union RP"
,
/* 150 */
"select ::= SELECT selcollist"
,
/* 150 */
"union ::= union UNION ALL select"
,
/* 151 */
"sclp ::= selcollist COMMA"
,
/* 151 */
"union ::= union UNION ALL LP select RP"
,
/* 152 */
"sclp ::="
,
/* 152 */
"cmd ::= union"
,
/* 153 */
"selcollist ::= sclp distinct expr as"
,
/* 153 */
"select ::= SELECT selcollist"
,
/* 154 */
"selcollist ::= sclp STAR"
,
/* 154 */
"sclp ::= selcollist COMMA"
,
/* 155 */
"as ::= AS ids"
,
/* 155 */
"sclp ::="
,
/* 156 */
"as ::= ids"
,
/* 156 */
"selcollist ::= sclp distinct expr as"
,
/* 157 */
"as ::="
,
/* 157 */
"selcollist ::= sclp STAR"
,
/* 158 */
"distinct ::= DISTINCT"
,
/* 158 */
"as ::= AS ids"
,
/* 159 */
"distinct ::="
,
/* 159 */
"as ::= ids"
,
/* 160 */
"from ::= FROM tablelist"
,
/* 160 */
"as ::="
,
/* 161 */
"tablelist ::= ids cpxName"
,
/* 161 */
"distinct ::= DISTINCT"
,
/* 162 */
"tablelist ::= ids cpxName ids"
,
/* 162 */
"distinct ::="
,
/* 163 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 163 */
"from ::= FROM tablelist"
,
/* 164 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 164 */
"tablelist ::= ids cpxName"
,
/* 165 */
"tmvar ::= VARIABLE"
,
/* 165 */
"tablelist ::= ids cpxName ids"
,
/* 166 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 166 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 167 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 167 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 168 */
"interval_opt ::="
,
/* 168 */
"tmvar ::= VARIABLE"
,
/* 169 */
"fill_opt ::="
,
/* 169 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 170 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 170 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 171 */
"fill_opt ::= FILL LP ID RP"
,
/* 171 */
"interval_opt ::="
,
/* 172 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 172 */
"fill_opt ::="
,
/* 173 */
"sliding_opt ::="
,
/* 173 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 174 */
"orderby_opt ::="
,
/* 174 */
"fill_opt ::= FILL LP ID RP"
,
/* 175 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 175 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 176 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 176 */
"sliding_opt ::="
,
/* 177 */
"sortlist ::= item sortorder"
,
/* 177 */
"orderby_opt ::="
,
/* 178 */
"item ::= ids cpxName"
,
/* 178 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 179 */
"sortorder ::= ASC"
,
/* 179 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 180 */
"sortorder ::= DESC"
,
/* 180 */
"sortlist ::= item sortorder"
,
/* 181 */
"sortorder ::="
,
/* 181 */
"item ::= ids cpxName"
,
/* 182 */
"groupby_opt ::="
,
/* 182 */
"sortorder ::= ASC"
,
/* 183 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 183 */
"sortorder ::= DESC"
,
/* 184 */
"grouplist ::= grouplist COMMA item"
,
/* 184 */
"sortorder ::="
,
/* 185 */
"grouplist ::= item"
,
/* 185 */
"groupby_opt ::="
,
/* 186 */
"having_opt ::="
,
/* 186 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 187 */
"having_opt ::= HAVING expr"
,
/* 187 */
"grouplist ::= grouplist COMMA item"
,
/* 188 */
"limit_opt ::="
,
/* 188 */
"grouplist ::= item"
,
/* 189 */
"limit_opt ::= LIMIT signed"
,
/* 189 */
"having_opt ::="
,
/* 190 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 190 */
"having_opt ::= HAVING expr"
,
/* 191 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 191 */
"limit_opt ::="
,
/* 192 */
"slimit_opt ::="
,
/* 192 */
"limit_opt ::= LIMIT signed"
,
/* 193 */
"slimit_opt ::= SLIMIT signed"
,
/* 193 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 194 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 194 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 195 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 195 */
"slimit_opt ::="
,
/* 196 */
"where_opt ::="
,
/* 196 */
"slimit_opt ::= SLIMIT signed"
,
/* 197 */
"where_opt ::= WHERE expr"
,
/* 197 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 198 */
"expr ::= LP expr RP"
,
/* 198 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 199 */
"expr ::= ID"
,
/* 199 */
"where_opt ::="
,
/* 200 */
"expr ::= ID DOT ID"
,
/* 200 */
"where_opt ::= WHERE expr"
,
/* 201 */
"expr ::= ID DOT STAR"
,
/* 201 */
"expr ::= LP expr RP"
,
/* 202 */
"expr ::= INTEGER"
,
/* 202 */
"expr ::= ID"
,
/* 203 */
"expr ::= MINUS INTEGER"
,
/* 203 */
"expr ::= ID DOT ID"
,
/* 204 */
"expr ::= PLUS INTEGER"
,
/* 204 */
"expr ::= ID DOT STAR"
,
/* 205 */
"expr ::= FLOAT"
,
/* 205 */
"expr ::= INTEGER"
,
/* 206 */
"expr ::= MINUS FLOAT"
,
/* 206 */
"expr ::= MINUS INTEGER"
,
/* 207 */
"expr ::= PLUS FLOAT"
,
/* 207 */
"expr ::= PLUS INTEGER"
,
/* 208 */
"expr ::= STRING"
,
/* 208 */
"expr ::= FLOAT"
,
/* 209 */
"expr ::= NOW"
,
/* 209 */
"expr ::= MINUS FLOAT"
,
/* 210 */
"expr ::= VARIABLE"
,
/* 210 */
"expr ::= PLUS FLOAT"
,
/* 211 */
"expr ::= BOOL"
,
/* 211 */
"expr ::= STRING"
,
/* 212 */
"expr ::= ID LP exprlist RP"
,
/* 212 */
"expr ::= NOW"
,
/* 213 */
"expr ::= ID LP STAR RP"
,
/* 213 */
"expr ::= VARIABLE"
,
/* 214 */
"expr ::= expr IS NULL"
,
/* 214 */
"expr ::= BOOL"
,
/* 215 */
"expr ::= expr IS NOT NULL"
,
/* 215 */
"expr ::= ID LP exprlist RP"
,
/* 216 */
"expr ::= expr LT expr"
,
/* 216 */
"expr ::= ID LP STAR RP"
,
/* 217 */
"expr ::= expr GT expr"
,
/* 217 */
"expr ::= expr IS NULL"
,
/* 218 */
"expr ::= expr LE expr"
,
/* 218 */
"expr ::= expr IS NOT NULL"
,
/* 219 */
"expr ::= expr GE expr"
,
/* 219 */
"expr ::= expr LT expr"
,
/* 220 */
"expr ::= expr NE expr"
,
/* 220 */
"expr ::= expr GT expr"
,
/* 221 */
"expr ::= expr EQ expr"
,
/* 221 */
"expr ::= expr LE expr"
,
/* 222 */
"expr ::= expr AND expr"
,
/* 222 */
"expr ::= expr GE expr"
,
/* 223 */
"expr ::= expr OR expr"
,
/* 223 */
"expr ::= expr NE expr"
,
/* 224 */
"expr ::= expr PLUS expr"
,
/* 224 */
"expr ::= expr EQ expr"
,
/* 225 */
"expr ::= expr MINUS expr"
,
/* 225 */
"expr ::= expr AND expr"
,
/* 226 */
"expr ::= expr STAR expr"
,
/* 226 */
"expr ::= expr OR expr"
,
/* 227 */
"expr ::= expr SLASH expr"
,
/* 227 */
"expr ::= expr PLUS expr"
,
/* 228 */
"expr ::= expr REM expr"
,
/* 228 */
"expr ::= expr MINUS expr"
,
/* 229 */
"expr ::= expr LIKE expr"
,
/* 229 */
"expr ::= expr STAR expr"
,
/* 230 */
"expr ::= expr IN LP exprlist RP"
,
/* 230 */
"expr ::= expr SLASH expr"
,
/* 231 */
"exprlist ::= exprlist COMMA expritem"
,
/* 231 */
"expr ::= expr REM expr"
,
/* 232 */
"exprlist ::= expritem"
,
/* 232 */
"expr ::= expr LIKE expr"
,
/* 233 */
"expritem ::= expr"
,
/* 233 */
"expr ::= expr IN LP exprlist RP"
,
/* 234 */
"expritem ::="
,
/* 234 */
"exprlist ::= exprlist COMMA expritem"
,
/* 235 */
"cmd ::= RESET QUERY CACHE"
,
/* 235 */
"exprlist ::= expritem"
,
/* 236 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 236 */
"expritem ::= expr"
,
/* 237 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 237 */
"expritem ::="
,
/* 238 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 238 */
"cmd ::= RESET QUERY CACHE"
,
/* 239 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 239 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 240 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 240 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 241 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 241 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 242 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 242 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 243 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 243 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 244 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 244 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 245 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 245 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 246 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 246 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 247 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 247 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 248 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 248 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 249 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 249 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 250 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 251 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 252 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
};
#endif
/* NDEBUG */
#endif
/* NDEBUG */
...
@@ -1339,28 +1356,29 @@ static int yyGrowStack(yyParser *p){
...
@@ -1339,28 +1356,29 @@ static int yyGrowStack(yyParser *p){
/* Initialize a new parser that has already been allocated.
/* Initialize a new parser that has already been allocated.
*/
*/
void
ParseInit
(
void
*
yypParser
){
void
ParseInit
(
void
*
yypRawParser
ParseCTX_PDECL
){
yyParser
*
pParser
=
(
yyParser
*
)
yypParser
;
yyParser
*
yypParser
=
(
yyParser
*
)
yypRawParser
;
ParseCTX_STORE
#ifdef YYTRACKMAXSTACKDEPTH
#ifdef YYTRACKMAXSTACKDEPTH
pParser
->
yyhwm
=
0
;
yy
pParser
->
yyhwm
=
0
;
#endif
#endif
#if YYSTACKDEPTH<=0
#if YYSTACKDEPTH<=0
pParser
->
yytos
=
NULL
;
yy
pParser
->
yytos
=
NULL
;
pParser
->
yystack
=
NULL
;
yy
pParser
->
yystack
=
NULL
;
pParser
->
yystksz
=
0
;
yy
pParser
->
yystksz
=
0
;
if
(
yyGrowStack
(
pParser
)
){
if
(
yyGrowStack
(
yy
pParser
)
){
pParser
->
yystack
=
&
pParser
->
yystk0
;
yypParser
->
yystack
=
&
yy
pParser
->
yystk0
;
pParser
->
yystksz
=
1
;
yy
pParser
->
yystksz
=
1
;
}
}
#endif
#endif
#ifndef YYNOERRORRECOVERY
#ifndef YYNOERRORRECOVERY
pParser
->
yyerrcnt
=
-
1
;
yy
pParser
->
yyerrcnt
=
-
1
;
#endif
#endif
pParser
->
yytos
=
pParser
->
yystack
;
yypParser
->
yytos
=
yy
pParser
->
yystack
;
pParser
->
yystack
[
0
].
stateno
=
0
;
yy
pParser
->
yystack
[
0
].
stateno
=
0
;
pParser
->
yystack
[
0
].
major
=
0
;
yy
pParser
->
yystack
[
0
].
major
=
0
;
#if YYSTACKDEPTH>0
#if YYSTACKDEPTH>0
pParser
->
yystackEnd
=
&
pParser
->
yystack
[
YYSTACKDEPTH
-
1
];
yypParser
->
yystackEnd
=
&
yy
pParser
->
yystack
[
YYSTACKDEPTH
-
1
];
#endif
#endif
}
}
...
@@ -1377,11 +1395,14 @@ void ParseInit(void *yypParser){
...
@@ -1377,11 +1395,14 @@ void ParseInit(void *yypParser){
** A pointer to a parser. This pointer is used in subsequent calls
** A pointer to a parser. This pointer is used in subsequent calls
** to Parse and ParseFree.
** to Parse and ParseFree.
*/
*/
void
*
ParseAlloc
(
void
*
(
*
mallocProc
)(
YYMALLOCARGTYPE
)){
void
*
ParseAlloc
(
void
*
(
*
mallocProc
)(
YYMALLOCARGTYPE
)
ParseCTX_PDECL
){
yyParser
*
pParser
;
yyParser
*
yypParser
;
pParser
=
(
yyParser
*
)(
*
mallocProc
)(
(
YYMALLOCARGTYPE
)
sizeof
(
yyParser
)
);
yypParser
=
(
yyParser
*
)(
*
mallocProc
)(
(
YYMALLOCARGTYPE
)
sizeof
(
yyParser
)
);
if
(
pParser
)
ParseInit
(
pParser
);
if
(
yypParser
){
return
pParser
;
ParseCTX_STORE
ParseInit
(
yypParser
ParseCTX_PARAM
);
}
return
(
void
*
)
yypParser
;
}
}
#endif
/* Parse_ENGINEALWAYSONSTACK */
#endif
/* Parse_ENGINEALWAYSONSTACK */
...
@@ -1398,7 +1419,8 @@ static void yy_destructor(
...
@@ -1398,7 +1419,8 @@ static void yy_destructor(
YYCODETYPE
yymajor
,
/* Type code for object to destroy */
YYCODETYPE
yymajor
,
/* Type code for object to destroy */
YYMINORTYPE
*
yypminor
/* The object to be destroyed */
YYMINORTYPE
*
yypminor
/* The object to be destroyed */
){
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
switch
(
yymajor
){
switch
(
yymajor
){
/* Here is inserted the actions which take place when a
/* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen
** terminal or non-terminal is destroyed. This can happen
...
@@ -1411,9 +1433,10 @@ static void yy_destructor(
...
@@ -1411,9 +1433,10 @@ static void yy_destructor(
** inside the C code.
** inside the C code.
*/
*/
/********* Begin destructor definitions ***************************************/
/********* Begin destructor definitions ***************************************/
case
230
:
/* keep */
case
229
:
/* keep */
case
231
:
/* tagitemlist */
case
230
:
/* tagitemlist */
case
252
:
/* columnlist */
case
251
:
/* columnlist */
case
252
:
/* tagNamelist */
case
260
:
/* fill_opt */
case
260
:
/* fill_opt */
case
262
:
/* groupby_opt */
case
262
:
/* groupby_opt */
case
263
:
/* orderby_opt */
case
263
:
/* orderby_opt */
...
@@ -1423,7 +1446,7 @@ static void yy_destructor(
...
@@ -1423,7 +1446,7 @@ static void yy_destructor(
taosArrayDestroy
((
yypminor
->
yy247
));
taosArrayDestroy
((
yypminor
->
yy247
));
}
}
break
;
break
;
case
2
50
:
/* create_table_list */
case
2
49
:
/* create_table_list */
{
{
destroyCreateTableSql
((
yypminor
->
yy358
));
destroyCreateTableSql
((
yypminor
->
yy358
));
}
}
...
@@ -1567,13 +1590,12 @@ int ParseCoverage(FILE *out){
...
@@ -1567,13 +1590,12 @@ int ParseCoverage(FILE *out){
** Find the appropriate action for a parser given the terminal
** Find the appropriate action for a parser given the terminal
** look-ahead token iLookAhead.
** look-ahead token iLookAhead.
*/
*/
static
unsigned
int
yy_find_shift_action
(
static
YYACTIONTYPE
yy_find_shift_action
(
yyParser
*
pParser
,
/* The parser
*/
YYCODETYPE
iLookAhead
,
/* The look-ahead token
*/
YY
CODETYPE
iLookAhead
/* The look-ahead token
*/
YY
ACTIONTYPE
stateno
/* Current state number
*/
){
){
int
i
;
int
i
;
int
stateno
=
pParser
->
yytos
->
stateno
;
if
(
stateno
>
YY_MAX_SHIFT
)
return
stateno
;
if
(
stateno
>
YY_MAX_SHIFT
)
return
stateno
;
assert
(
stateno
<=
YY_SHIFT_COUNT
);
assert
(
stateno
<=
YY_SHIFT_COUNT
);
#if defined(YYCOVERAGE)
#if defined(YYCOVERAGE)
...
@@ -1581,15 +1603,19 @@ static unsigned int yy_find_shift_action(
...
@@ -1581,15 +1603,19 @@ static unsigned int yy_find_shift_action(
#endif
#endif
do
{
do
{
i
=
yy_shift_ofst
[
stateno
];
i
=
yy_shift_ofst
[
stateno
];
assert
(
i
>=
0
&&
i
+
YYNTOKEN
<=
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
])
);
assert
(
i
>=
0
);
assert
(
i
<=
YY_ACTTAB_COUNT
);
assert
(
i
+
YYNTOKEN
<=
(
int
)
YY_NLOOKAHEAD
);
assert
(
iLookAhead
!=
YYNOCODE
);
assert
(
iLookAhead
!=
YYNOCODE
);
assert
(
iLookAhead
<
YYNTOKEN
);
assert
(
iLookAhead
<
YYNTOKEN
);
i
+=
iLookAhead
;
i
+=
iLookAhead
;
assert
(
i
<
(
int
)
YY_NLOOKAHEAD
);
if
(
yy_lookahead
[
i
]
!=
iLookAhead
){
if
(
yy_lookahead
[
i
]
!=
iLookAhead
){
#ifdef YYFALLBACK
#ifdef YYFALLBACK
YYCODETYPE
iFallback
;
/* Fallback token */
YYCODETYPE
iFallback
;
/* Fallback token */
if
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
assert
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
);
&&
(
iFallback
=
yyFallback
[
iLookAhead
])
!=
0
){
iFallback
=
yyFallback
[
iLookAhead
];
if
(
iFallback
!=
0
){
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFALLBACK %s => %s
\n
"
,
fprintf
(
yyTraceFILE
,
"%sFALLBACK %s => %s
\n
"
,
...
@@ -1604,15 +1630,8 @@ static unsigned int yy_find_shift_action(
...
@@ -1604,15 +1630,8 @@ static unsigned int yy_find_shift_action(
#ifdef YYWILDCARD
#ifdef YYWILDCARD
{
{
int
j
=
i
-
iLookAhead
+
YYWILDCARD
;
int
j
=
i
-
iLookAhead
+
YYWILDCARD
;
if
(
assert
(
j
<
(
int
)(
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
]))
);
#if YY_SHIFT_MIN+YYWILDCARD<0
if
(
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
j
>=
0
&&
#endif
#if YY_SHIFT_MAX+YYWILDCARD>=YY_ACTTAB_COUNT
j
<
YY_ACTTAB_COUNT
&&
#endif
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sWILDCARD %s => %s
\n
"
,
fprintf
(
yyTraceFILE
,
"%sWILDCARD %s => %s
\n
"
,
...
@@ -1626,6 +1645,7 @@ static unsigned int yy_find_shift_action(
...
@@ -1626,6 +1645,7 @@ static unsigned int yy_find_shift_action(
#endif
/* YYWILDCARD */
#endif
/* YYWILDCARD */
return
yy_default
[
stateno
];
return
yy_default
[
stateno
];
}
else
{
}
else
{
assert
(
i
>=
0
&&
i
<
sizeof
(
yy_action
)
/
sizeof
(
yy_action
[
0
])
);
return
yy_action
[
i
];
return
yy_action
[
i
];
}
}
}
while
(
1
);
}
while
(
1
);
...
@@ -1635,8 +1655,8 @@ static unsigned int yy_find_shift_action(
...
@@ -1635,8 +1655,8 @@ static unsigned int yy_find_shift_action(
** Find the appropriate action for a parser given the non-terminal
** Find the appropriate action for a parser given the non-terminal
** look-ahead token iLookAhead.
** look-ahead token iLookAhead.
*/
*/
static
int
yy_find_reduce_action
(
static
YYACTIONTYPE
yy_find_reduce_action
(
int
stateno
,
/* Current state number */
YYACTIONTYPE
stateno
,
/* Current state number */
YYCODETYPE
iLookAhead
/* The look-ahead token */
YYCODETYPE
iLookAhead
/* The look-ahead token */
){
){
int
i
;
int
i
;
...
@@ -1665,7 +1685,8 @@ static int yy_find_reduce_action(
...
@@ -1665,7 +1685,8 @@ static int yy_find_reduce_action(
** The following routine is called if the stack overflows.
** The following routine is called if the stack overflows.
*/
*/
static
void
yyStackOverflow
(
yyParser
*
yypParser
){
static
void
yyStackOverflow
(
yyParser
*
yypParser
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sStack Overflow!
\n
"
,
yyTracePrompt
);
fprintf
(
yyTraceFILE
,
"%sStack Overflow!
\n
"
,
yyTracePrompt
);
...
@@ -1676,7 +1697,8 @@ static void yyStackOverflow(yyParser *yypParser){
...
@@ -1676,7 +1697,8 @@ static void yyStackOverflow(yyParser *yypParser){
** stack every overflows */
** stack every overflows */
/******** Begin %stack_overflow code ******************************************/
/******** Begin %stack_overflow code ******************************************/
/******** End %stack_overflow code ********************************************/
/******** End %stack_overflow code ********************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument var */
ParseARG_STORE
/* Suppress warning about unused %extra_argument var */
ParseCTX_STORE
}
}
/*
/*
...
@@ -1705,8 +1727,8 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){
...
@@ -1705,8 +1727,8 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){
*/
*/
static
void
yy_shift
(
static
void
yy_shift
(
yyParser
*
yypParser
,
/* The parser to be shifted */
yyParser
*
yypParser
,
/* The parser to be shifted */
int
yyNewState
,
/* The new state to shift in */
YYACTIONTYPE
yyNewState
,
/* The new state to shift in */
int
yyMajor
,
/* The major token to shift in */
YYCODETYPE
yyMajor
,
/* The major token to shift in */
ParseTOKENTYPE
yyMinor
/* The minor token to shift in */
ParseTOKENTYPE
yyMinor
/* The minor token to shift in */
){
){
yyStackEntry
*
yytos
;
yyStackEntry
*
yytos
;
...
@@ -1736,269 +1758,526 @@ static void yy_shift(
...
@@ -1736,269 +1758,526 @@ static void yy_shift(
yyNewState
+=
YY_MIN_REDUCE
-
YY_MIN_SHIFTREDUCE
;
yyNewState
+=
YY_MIN_REDUCE
-
YY_MIN_SHIFTREDUCE
;
}
}
yytos
=
yypParser
->
yytos
;
yytos
=
yypParser
->
yytos
;
yytos
->
stateno
=
(
YYACTIONTYPE
)
yyNewState
;
yytos
->
stateno
=
yyNewState
;
yytos
->
major
=
(
YYCODETYPE
)
yyMajor
;
yytos
->
major
=
yyMajor
;
yytos
->
minor
.
yy0
=
yyMinor
;
yytos
->
minor
.
yy0
=
yyMinor
;
yyTraceShift
(
yypParser
,
yyNewState
,
"Shift"
);
yyTraceShift
(
yypParser
,
yyNewState
,
"Shift"
);
}
}
/* The following table contains information about every rule that
/* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side
** is used during the reduce.
** of that rule */
*/
static
const
YYCODETYPE
yyRuleInfoLhs
[]
=
{
static
const
struct
{
210
,
/* (0) program ::= cmd */
YYCODETYPE
lhs
;
/* Symbol on the left-hand side of the rule */
211
,
/* (1) cmd ::= SHOW DATABASES */
signed
char
nrhs
;
/* Negative of the number of RHS symbols in the rule */
211
,
/* (2) cmd ::= SHOW MNODES */
}
yyRuleInfo
[]
=
{
211
,
/* (3) cmd ::= SHOW DNODES */
{
211
,
-
1
},
/* (0) program ::= cmd */
211
,
/* (4) cmd ::= SHOW ACCOUNTS */
{
212
,
-
2
},
/* (1) cmd ::= SHOW DATABASES */
211
,
/* (5) cmd ::= SHOW USERS */
{
212
,
-
2
},
/* (2) cmd ::= SHOW MNODES */
211
,
/* (6) cmd ::= SHOW MODULES */
{
212
,
-
2
},
/* (3) cmd ::= SHOW DNODES */
211
,
/* (7) cmd ::= SHOW QUERIES */
{
212
,
-
2
},
/* (4) cmd ::= SHOW ACCOUNTS */
211
,
/* (8) cmd ::= SHOW CONNECTIONS */
{
212
,
-
2
},
/* (5) cmd ::= SHOW USERS */
211
,
/* (9) cmd ::= SHOW STREAMS */
{
212
,
-
2
},
/* (6) cmd ::= SHOW MODULES */
211
,
/* (10) cmd ::= SHOW VARIABLES */
{
212
,
-
2
},
/* (7) cmd ::= SHOW QUERIES */
211
,
/* (11) cmd ::= SHOW SCORES */
{
212
,
-
2
},
/* (8) cmd ::= SHOW CONNECTIONS */
211
,
/* (12) cmd ::= SHOW GRANTS */
{
212
,
-
2
},
/* (9) cmd ::= SHOW STREAMS */
211
,
/* (13) cmd ::= SHOW VNODES */
{
212
,
-
2
},
/* (10) cmd ::= SHOW VARIABLES */
211
,
/* (14) cmd ::= SHOW VNODES IPTOKEN */
{
212
,
-
2
},
/* (11) cmd ::= SHOW SCORES */
212
,
/* (15) dbPrefix ::= */
{
212
,
-
2
},
/* (12) cmd ::= SHOW GRANTS */
212
,
/* (16) dbPrefix ::= ids DOT */
{
212
,
-
2
},
/* (13) cmd ::= SHOW VNODES */
214
,
/* (17) cpxName ::= */
{
212
,
-
3
},
/* (14) cmd ::= SHOW VNODES IPTOKEN */
214
,
/* (18) cpxName ::= DOT ids */
{
213
,
0
},
/* (15) dbPrefix ::= */
211
,
/* (19) cmd ::= SHOW CREATE TABLE ids cpxName */
{
213
,
-
2
},
/* (16) dbPrefix ::= ids DOT */
211
,
/* (20) cmd ::= SHOW CREATE DATABASE ids */
{
215
,
0
},
/* (17) cpxName ::= */
211
,
/* (21) cmd ::= SHOW dbPrefix TABLES */
{
215
,
-
2
},
/* (18) cpxName ::= DOT ids */
211
,
/* (22) cmd ::= SHOW dbPrefix TABLES LIKE ids */
{
212
,
-
5
},
/* (19) cmd ::= SHOW CREATE TABLE ids cpxName */
211
,
/* (23) cmd ::= SHOW dbPrefix STABLES */
{
212
,
-
4
},
/* (20) cmd ::= SHOW CREATE DATABASE ids */
211
,
/* (24) cmd ::= SHOW dbPrefix STABLES LIKE ids */
{
212
,
-
3
},
/* (21) cmd ::= SHOW dbPrefix TABLES */
211
,
/* (25) cmd ::= SHOW dbPrefix VGROUPS */
{
212
,
-
5
},
/* (22) cmd ::= SHOW dbPrefix TABLES LIKE ids */
211
,
/* (26) cmd ::= SHOW dbPrefix VGROUPS ids */
{
212
,
-
3
},
/* (23) cmd ::= SHOW dbPrefix STABLES */
211
,
/* (27) cmd ::= DROP TABLE ifexists ids cpxName */
{
212
,
-
5
},
/* (24) cmd ::= SHOW dbPrefix STABLES LIKE ids */
211
,
/* (28) cmd ::= DROP STABLE ifexists ids cpxName */
{
212
,
-
3
},
/* (25) cmd ::= SHOW dbPrefix VGROUPS */
211
,
/* (29) cmd ::= DROP DATABASE ifexists ids */
{
212
,
-
4
},
/* (26) cmd ::= SHOW dbPrefix VGROUPS ids */
211
,
/* (30) cmd ::= DROP DNODE ids */
{
212
,
-
5
},
/* (27) cmd ::= DROP TABLE ifexists ids cpxName */
211
,
/* (31) cmd ::= DROP USER ids */
{
212
,
-
5
},
/* (28) cmd ::= DROP STABLE ifexists ids cpxName */
211
,
/* (32) cmd ::= DROP ACCOUNT ids */
{
212
,
-
4
},
/* (29) cmd ::= DROP DATABASE ifexists ids */
211
,
/* (33) cmd ::= USE ids */
{
212
,
-
3
},
/* (30) cmd ::= DROP DNODE ids */
211
,
/* (34) cmd ::= DESCRIBE ids cpxName */
{
212
,
-
3
},
/* (31) cmd ::= DROP USER ids */
211
,
/* (35) cmd ::= ALTER USER ids PASS ids */
{
212
,
-
3
},
/* (32) cmd ::= DROP ACCOUNT ids */
211
,
/* (36) cmd ::= ALTER USER ids PRIVILEGE ids */
{
212
,
-
2
},
/* (33) cmd ::= USE ids */
211
,
/* (37) cmd ::= ALTER DNODE ids ids */
{
212
,
-
3
},
/* (34) cmd ::= DESCRIBE ids cpxName */
211
,
/* (38) cmd ::= ALTER DNODE ids ids ids */
{
212
,
-
5
},
/* (35) cmd ::= ALTER USER ids PASS ids */
211
,
/* (39) cmd ::= ALTER LOCAL ids */
{
212
,
-
5
},
/* (36) cmd ::= ALTER USER ids PRIVILEGE ids */
211
,
/* (40) cmd ::= ALTER LOCAL ids ids */
{
212
,
-
4
},
/* (37) cmd ::= ALTER DNODE ids ids */
211
,
/* (41) cmd ::= ALTER DATABASE ids alter_db_optr */
{
212
,
-
5
},
/* (38) cmd ::= ALTER DNODE ids ids ids */
211
,
/* (42) cmd ::= ALTER ACCOUNT ids acct_optr */
{
212
,
-
3
},
/* (39) cmd ::= ALTER LOCAL ids */
211
,
/* (43) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
212
,
-
4
},
/* (40) cmd ::= ALTER LOCAL ids ids */
213
,
/* (44) ids ::= ID */
{
212
,
-
4
},
/* (41) cmd ::= ALTER DATABASE ids alter_db_optr */
213
,
/* (45) ids ::= STRING */
{
212
,
-
4
},
/* (42) cmd ::= ALTER ACCOUNT ids acct_optr */
215
,
/* (46) ifexists ::= IF EXISTS */
{
212
,
-
6
},
/* (43) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
215
,
/* (47) ifexists ::= */
{
214
,
-
1
},
/* (44) ids ::= ID */
218
,
/* (48) ifnotexists ::= IF NOT EXISTS */
{
214
,
-
1
},
/* (45) ids ::= STRING */
218
,
/* (49) ifnotexists ::= */
{
216
,
-
2
},
/* (46) ifexists ::= IF EXISTS */
211
,
/* (50) cmd ::= CREATE DNODE ids */
{
216
,
0
},
/* (47) ifexists ::= */
211
,
/* (51) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
219
,
-
3
},
/* (48) ifnotexists ::= IF NOT EXISTS */
211
,
/* (52) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
219
,
0
},
/* (49) ifnotexists ::= */
211
,
/* (53) cmd ::= CREATE USER ids PASS ids */
{
212
,
-
3
},
/* (50) cmd ::= CREATE DNODE ids */
220
,
/* (54) pps ::= */
{
212
,
-
6
},
/* (51) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
220
,
/* (55) pps ::= PPS INTEGER */
{
212
,
-
5
},
/* (52) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
221
,
/* (56) tseries ::= */
{
212
,
-
5
},
/* (53) cmd ::= CREATE USER ids PASS ids */
221
,
/* (57) tseries ::= TSERIES INTEGER */
{
221
,
0
},
/* (54) pps ::= */
222
,
/* (58) dbs ::= */
{
221
,
-
2
},
/* (55) pps ::= PPS INTEGER */
222
,
/* (59) dbs ::= DBS INTEGER */
{
222
,
0
},
/* (56) tseries ::= */
223
,
/* (60) streams ::= */
{
222
,
-
2
},
/* (57) tseries ::= TSERIES INTEGER */
223
,
/* (61) streams ::= STREAMS INTEGER */
{
223
,
0
},
/* (58) dbs ::= */
224
,
/* (62) storage ::= */
{
223
,
-
2
},
/* (59) dbs ::= DBS INTEGER */
224
,
/* (63) storage ::= STORAGE INTEGER */
{
224
,
0
},
/* (60) streams ::= */
225
,
/* (64) qtime ::= */
{
224
,
-
2
},
/* (61) streams ::= STREAMS INTEGER */
225
,
/* (65) qtime ::= QTIME INTEGER */
{
225
,
0
},
/* (62) storage ::= */
226
,
/* (66) users ::= */
{
225
,
-
2
},
/* (63) storage ::= STORAGE INTEGER */
226
,
/* (67) users ::= USERS INTEGER */
{
226
,
0
},
/* (64) qtime ::= */
227
,
/* (68) conns ::= */
{
226
,
-
2
},
/* (65) qtime ::= QTIME INTEGER */
227
,
/* (69) conns ::= CONNS INTEGER */
{
227
,
0
},
/* (66) users ::= */
228
,
/* (70) state ::= */
{
227
,
-
2
},
/* (67) users ::= USERS INTEGER */
228
,
/* (71) state ::= STATE ids */
{
228
,
0
},
/* (68) conns ::= */
217
,
/* (72) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
228
,
-
2
},
/* (69) conns ::= CONNS INTEGER */
229
,
/* (73) keep ::= KEEP tagitemlist */
{
229
,
0
},
/* (70) state ::= */
231
,
/* (74) cache ::= CACHE INTEGER */
{
229
,
-
2
},
/* (71) state ::= STATE ids */
232
,
/* (75) replica ::= REPLICA INTEGER */
{
218
,
-
9
},
/* (72) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
233
,
/* (76) quorum ::= QUORUM INTEGER */
{
230
,
-
2
},
/* (73) keep ::= KEEP tagitemlist */
234
,
/* (77) days ::= DAYS INTEGER */
{
232
,
-
2
},
/* (74) cache ::= CACHE INTEGER */
235
,
/* (78) minrows ::= MINROWS INTEGER */
{
233
,
-
2
},
/* (75) replica ::= REPLICA INTEGER */
236
,
/* (79) maxrows ::= MAXROWS INTEGER */
{
234
,
-
2
},
/* (76) quorum ::= QUORUM INTEGER */
237
,
/* (80) blocks ::= BLOCKS INTEGER */
{
235
,
-
2
},
/* (77) days ::= DAYS INTEGER */
238
,
/* (81) ctime ::= CTIME INTEGER */
{
236
,
-
2
},
/* (78) minrows ::= MINROWS INTEGER */
239
,
/* (82) wal ::= WAL INTEGER */
{
237
,
-
2
},
/* (79) maxrows ::= MAXROWS INTEGER */
240
,
/* (83) fsync ::= FSYNC INTEGER */
{
238
,
-
2
},
/* (80) blocks ::= BLOCKS INTEGER */
241
,
/* (84) comp ::= COMP INTEGER */
{
239
,
-
2
},
/* (81) ctime ::= CTIME INTEGER */
242
,
/* (85) prec ::= PRECISION STRING */
{
240
,
-
2
},
/* (82) wal ::= WAL INTEGER */
243
,
/* (86) update ::= UPDATE INTEGER */
{
241
,
-
2
},
/* (83) fsync ::= FSYNC INTEGER */
244
,
/* (87) cachelast ::= CACHELAST INTEGER */
{
242
,
-
2
},
/* (84) comp ::= COMP INTEGER */
219
,
/* (88) db_optr ::= */
{
243
,
-
2
},
/* (85) prec ::= PRECISION STRING */
219
,
/* (89) db_optr ::= db_optr cache */
{
244
,
-
2
},
/* (86) update ::= UPDATE INTEGER */
219
,
/* (90) db_optr ::= db_optr replica */
{
245
,
-
2
},
/* (87) cachelast ::= CACHELAST INTEGER */
219
,
/* (91) db_optr ::= db_optr quorum */
{
220
,
0
},
/* (88) db_optr ::= */
219
,
/* (92) db_optr ::= db_optr days */
{
220
,
-
2
},
/* (89) db_optr ::= db_optr cache */
219
,
/* (93) db_optr ::= db_optr minrows */
{
220
,
-
2
},
/* (90) db_optr ::= db_optr replica */
219
,
/* (94) db_optr ::= db_optr maxrows */
{
220
,
-
2
},
/* (91) db_optr ::= db_optr quorum */
219
,
/* (95) db_optr ::= db_optr blocks */
{
220
,
-
2
},
/* (92) db_optr ::= db_optr days */
219
,
/* (96) db_optr ::= db_optr ctime */
{
220
,
-
2
},
/* (93) db_optr ::= db_optr minrows */
219
,
/* (97) db_optr ::= db_optr wal */
{
220
,
-
2
},
/* (94) db_optr ::= db_optr maxrows */
219
,
/* (98) db_optr ::= db_optr fsync */
{
220
,
-
2
},
/* (95) db_optr ::= db_optr blocks */
219
,
/* (99) db_optr ::= db_optr comp */
{
220
,
-
2
},
/* (96) db_optr ::= db_optr ctime */
219
,
/* (100) db_optr ::= db_optr prec */
{
220
,
-
2
},
/* (97) db_optr ::= db_optr wal */
219
,
/* (101) db_optr ::= db_optr keep */
{
220
,
-
2
},
/* (98) db_optr ::= db_optr fsync */
219
,
/* (102) db_optr ::= db_optr update */
{
220
,
-
2
},
/* (99) db_optr ::= db_optr comp */
219
,
/* (103) db_optr ::= db_optr cachelast */
{
220
,
-
2
},
/* (100) db_optr ::= db_optr prec */
216
,
/* (104) alter_db_optr ::= */
{
220
,
-
2
},
/* (101) db_optr ::= db_optr keep */
216
,
/* (105) alter_db_optr ::= alter_db_optr replica */
{
220
,
-
2
},
/* (102) db_optr ::= db_optr update */
216
,
/* (106) alter_db_optr ::= alter_db_optr quorum */
{
220
,
-
2
},
/* (103) db_optr ::= db_optr cachelast */
216
,
/* (107) alter_db_optr ::= alter_db_optr keep */
{
217
,
0
},
/* (104) alter_db_optr ::= */
216
,
/* (108) alter_db_optr ::= alter_db_optr blocks */
{
217
,
-
2
},
/* (105) alter_db_optr ::= alter_db_optr replica */
216
,
/* (109) alter_db_optr ::= alter_db_optr comp */
{
217
,
-
2
},
/* (106) alter_db_optr ::= alter_db_optr quorum */
216
,
/* (110) alter_db_optr ::= alter_db_optr wal */
{
217
,
-
2
},
/* (107) alter_db_optr ::= alter_db_optr keep */
216
,
/* (111) alter_db_optr ::= alter_db_optr fsync */
{
217
,
-
2
},
/* (108) alter_db_optr ::= alter_db_optr blocks */
216
,
/* (112) alter_db_optr ::= alter_db_optr update */
{
217
,
-
2
},
/* (109) alter_db_optr ::= alter_db_optr comp */
216
,
/* (113) alter_db_optr ::= alter_db_optr cachelast */
{
217
,
-
2
},
/* (110) alter_db_optr ::= alter_db_optr wal */
245
,
/* (114) typename ::= ids */
{
217
,
-
2
},
/* (111) alter_db_optr ::= alter_db_optr fsync */
245
,
/* (115) typename ::= ids LP signed RP */
{
217
,
-
2
},
/* (112) alter_db_optr ::= alter_db_optr update */
245
,
/* (116) typename ::= ids UNSIGNED */
{
217
,
-
2
},
/* (113) alter_db_optr ::= alter_db_optr cachelast */
246
,
/* (117) signed ::= INTEGER */
{
246
,
-
1
},
/* (114) typename ::= ids */
246
,
/* (118) signed ::= PLUS INTEGER */
{
246
,
-
4
},
/* (115) typename ::= ids LP signed RP */
246
,
/* (119) signed ::= MINUS INTEGER */
{
246
,
-
2
},
/* (116) typename ::= ids UNSIGNED */
211
,
/* (120) cmd ::= CREATE TABLE create_table_args */
{
247
,
-
1
},
/* (117) signed ::= INTEGER */
211
,
/* (121) cmd ::= CREATE TABLE create_stable_args */
{
247
,
-
2
},
/* (118) signed ::= PLUS INTEGER */
211
,
/* (122) cmd ::= CREATE STABLE create_stable_args */
{
247
,
-
2
},
/* (119) signed ::= MINUS INTEGER */
211
,
/* (123) cmd ::= CREATE TABLE create_table_list */
{
212
,
-
3
},
/* (120) cmd ::= CREATE TABLE create_table_args */
249
,
/* (124) create_table_list ::= create_from_stable */
{
212
,
-
3
},
/* (121) cmd ::= CREATE TABLE create_stable_args */
249
,
/* (125) create_table_list ::= create_table_list create_from_stable */
{
212
,
-
3
},
/* (122) cmd ::= CREATE STABLE create_stable_args */
247
,
/* (126) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
212
,
-
3
},
/* (123) cmd ::= CREATE TABLE create_table_list */
248
,
/* (127) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
250
,
-
1
},
/* (124) create_table_list ::= create_from_stable */
250
,
/* (128) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
250
,
-
2
},
/* (125) create_table_list ::= create_table_list create_from_stable */
250
,
/* (129) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
{
248
,
-
6
},
/* (126) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
252
,
/* (130) tagNamelist ::= tagNamelist COMMA ids */
{
249
,
-
10
},
/* (127) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
252
,
/* (131) tagNamelist ::= ids */
{
251
,
-
10
},
/* (128) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
247
,
/* (132) create_table_args ::= ifnotexists ids cpxName AS select */
{
248
,
-
5
},
/* (129) create_table_args ::= ifnotexists ids cpxName AS select */
251
,
/* (133) columnlist ::= columnlist COMMA column */
{
252
,
-
3
},
/* (130) columnlist ::= columnlist COMMA column */
251
,
/* (134) columnlist ::= column */
{
252
,
-
1
},
/* (131) columnlist ::= column */
254
,
/* (135) column ::= ids typename */
{
254
,
-
2
},
/* (132) column ::= ids typename */
230
,
/* (136) tagitemlist ::= tagitemlist COMMA tagitem */
{
231
,
-
3
},
/* (133) tagitemlist ::= tagitemlist COMMA tagitem */
230
,
/* (137) tagitemlist ::= tagitem */
{
231
,
-
1
},
/* (134) tagitemlist ::= tagitem */
255
,
/* (138) tagitem ::= INTEGER */
{
255
,
-
1
},
/* (135) tagitem ::= INTEGER */
255
,
/* (139) tagitem ::= FLOAT */
{
255
,
-
1
},
/* (136) tagitem ::= FLOAT */
255
,
/* (140) tagitem ::= STRING */
{
255
,
-
1
},
/* (137) tagitem ::= STRING */
255
,
/* (141) tagitem ::= BOOL */
{
255
,
-
1
},
/* (138) tagitem ::= BOOL */
255
,
/* (142) tagitem ::= NULL */
{
255
,
-
1
},
/* (139) tagitem ::= NULL */
255
,
/* (143) tagitem ::= MINUS INTEGER */
{
255
,
-
2
},
/* (140) tagitem ::= MINUS INTEGER */
255
,
/* (144) tagitem ::= MINUS FLOAT */
{
255
,
-
2
},
/* (141) tagitem ::= MINUS FLOAT */
255
,
/* (145) tagitem ::= PLUS INTEGER */
{
255
,
-
2
},
/* (142) tagitem ::= PLUS INTEGER */
255
,
/* (146) tagitem ::= PLUS FLOAT */
{
255
,
-
2
},
/* (143) tagitem ::= PLUS FLOAT */
253
,
/* (147) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
253
,
-
12
},
/* (144) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
267
,
/* (148) union ::= select */
{
267
,
-
1
},
/* (145) union ::= select */
267
,
/* (149) union ::= LP union RP */
{
267
,
-
3
},
/* (146) union ::= LP union RP */
267
,
/* (150) union ::= union UNION ALL select */
{
267
,
-
4
},
/* (147) union ::= union UNION ALL select */
267
,
/* (151) union ::= union UNION ALL LP select RP */
{
267
,
-
6
},
/* (148) union ::= union UNION ALL LP select RP */
211
,
/* (152) cmd ::= union */
{
212
,
-
1
},
/* (149) cmd ::= union */
253
,
/* (153) select ::= SELECT selcollist */
{
253
,
-
2
},
/* (150) select ::= SELECT selcollist */
268
,
/* (154) sclp ::= selcollist COMMA */
{
268
,
-
2
},
/* (151) sclp ::= selcollist COMMA */
268
,
/* (155) sclp ::= */
{
268
,
0
},
/* (152) sclp ::= */
256
,
/* (156) selcollist ::= sclp distinct expr as */
{
256
,
-
4
},
/* (153) selcollist ::= sclp distinct expr as */
256
,
/* (157) selcollist ::= sclp STAR */
{
256
,
-
2
},
/* (154) selcollist ::= sclp STAR */
271
,
/* (158) as ::= AS ids */
{
271
,
-
2
},
/* (155) as ::= AS ids */
271
,
/* (159) as ::= ids */
{
271
,
-
1
},
/* (156) as ::= ids */
271
,
/* (160) as ::= */
{
271
,
0
},
/* (157) as ::= */
269
,
/* (161) distinct ::= DISTINCT */
{
269
,
-
1
},
/* (158) distinct ::= DISTINCT */
269
,
/* (162) distinct ::= */
{
269
,
0
},
/* (159) distinct ::= */
257
,
/* (163) from ::= FROM tablelist */
{
257
,
-
2
},
/* (160) from ::= FROM tablelist */
272
,
/* (164) tablelist ::= ids cpxName */
{
272
,
-
2
},
/* (161) tablelist ::= ids cpxName */
272
,
/* (165) tablelist ::= ids cpxName ids */
{
272
,
-
3
},
/* (162) tablelist ::= ids cpxName ids */
272
,
/* (166) tablelist ::= tablelist COMMA ids cpxName */
{
272
,
-
4
},
/* (163) tablelist ::= tablelist COMMA ids cpxName */
272
,
/* (167) tablelist ::= tablelist COMMA ids cpxName ids */
{
272
,
-
5
},
/* (164) tablelist ::= tablelist COMMA ids cpxName ids */
273
,
/* (168) tmvar ::= VARIABLE */
{
273
,
-
1
},
/* (165) tmvar ::= VARIABLE */
259
,
/* (169) interval_opt ::= INTERVAL LP tmvar RP */
{
259
,
-
4
},
/* (166) interval_opt ::= INTERVAL LP tmvar RP */
259
,
/* (170) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
259
,
-
6
},
/* (167) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
259
,
/* (171) interval_opt ::= */
{
259
,
0
},
/* (168) interval_opt ::= */
260
,
/* (172) fill_opt ::= */
{
260
,
0
},
/* (169) fill_opt ::= */
260
,
/* (173) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
260
,
-
6
},
/* (170) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
260
,
/* (174) fill_opt ::= FILL LP ID RP */
{
260
,
-
4
},
/* (171) fill_opt ::= FILL LP ID RP */
261
,
/* (175) sliding_opt ::= SLIDING LP tmvar RP */
{
261
,
-
4
},
/* (172) sliding_opt ::= SLIDING LP tmvar RP */
261
,
/* (176) sliding_opt ::= */
{
261
,
0
},
/* (173) sliding_opt ::= */
263
,
/* (177) orderby_opt ::= */
{
263
,
0
},
/* (174) orderby_opt ::= */
263
,
/* (178) orderby_opt ::= ORDER BY sortlist */
{
263
,
-
3
},
/* (175) orderby_opt ::= ORDER BY sortlist */
274
,
/* (179) sortlist ::= sortlist COMMA item sortorder */
{
274
,
-
4
},
/* (176) sortlist ::= sortlist COMMA item sortorder */
274
,
/* (180) sortlist ::= item sortorder */
{
274
,
-
2
},
/* (177) sortlist ::= item sortorder */
276
,
/* (181) item ::= ids cpxName */
{
276
,
-
2
},
/* (178) item ::= ids cpxName */
277
,
/* (182) sortorder ::= ASC */
{
277
,
-
1
},
/* (179) sortorder ::= ASC */
277
,
/* (183) sortorder ::= DESC */
{
277
,
-
1
},
/* (180) sortorder ::= DESC */
277
,
/* (184) sortorder ::= */
{
277
,
0
},
/* (181) sortorder ::= */
262
,
/* (185) groupby_opt ::= */
{
262
,
0
},
/* (182) groupby_opt ::= */
262
,
/* (186) groupby_opt ::= GROUP BY grouplist */
{
262
,
-
3
},
/* (183) groupby_opt ::= GROUP BY grouplist */
278
,
/* (187) grouplist ::= grouplist COMMA item */
{
278
,
-
3
},
/* (184) grouplist ::= grouplist COMMA item */
278
,
/* (188) grouplist ::= item */
{
278
,
-
1
},
/* (185) grouplist ::= item */
264
,
/* (189) having_opt ::= */
{
264
,
0
},
/* (186) having_opt ::= */
264
,
/* (190) having_opt ::= HAVING expr */
{
264
,
-
2
},
/* (187) having_opt ::= HAVING expr */
266
,
/* (191) limit_opt ::= */
{
266
,
0
},
/* (188) limit_opt ::= */
266
,
/* (192) limit_opt ::= LIMIT signed */
{
266
,
-
2
},
/* (189) limit_opt ::= LIMIT signed */
266
,
/* (193) limit_opt ::= LIMIT signed OFFSET signed */
{
266
,
-
4
},
/* (190) limit_opt ::= LIMIT signed OFFSET signed */
266
,
/* (194) limit_opt ::= LIMIT signed COMMA signed */
{
266
,
-
4
},
/* (191) limit_opt ::= LIMIT signed COMMA signed */
265
,
/* (195) slimit_opt ::= */
{
265
,
0
},
/* (192) slimit_opt ::= */
265
,
/* (196) slimit_opt ::= SLIMIT signed */
{
265
,
-
2
},
/* (193) slimit_opt ::= SLIMIT signed */
265
,
/* (197) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
265
,
-
4
},
/* (194) slimit_opt ::= SLIMIT signed SOFFSET signed */
265
,
/* (198) slimit_opt ::= SLIMIT signed COMMA signed */
{
265
,
-
4
},
/* (195) slimit_opt ::= SLIMIT signed COMMA signed */
258
,
/* (199) where_opt ::= */
{
258
,
0
},
/* (196) where_opt ::= */
258
,
/* (200) where_opt ::= WHERE expr */
{
258
,
-
2
},
/* (197) where_opt ::= WHERE expr */
270
,
/* (201) expr ::= LP expr RP */
{
270
,
-
3
},
/* (198) expr ::= LP expr RP */
270
,
/* (202) expr ::= ID */
{
270
,
-
1
},
/* (199) expr ::= ID */
270
,
/* (203) expr ::= ID DOT ID */
{
270
,
-
3
},
/* (200) expr ::= ID DOT ID */
270
,
/* (204) expr ::= ID DOT STAR */
{
270
,
-
3
},
/* (201) expr ::= ID DOT STAR */
270
,
/* (205) expr ::= INTEGER */
{
270
,
-
1
},
/* (202) expr ::= INTEGER */
270
,
/* (206) expr ::= MINUS INTEGER */
{
270
,
-
2
},
/* (203) expr ::= MINUS INTEGER */
270
,
/* (207) expr ::= PLUS INTEGER */
{
270
,
-
2
},
/* (204) expr ::= PLUS INTEGER */
270
,
/* (208) expr ::= FLOAT */
{
270
,
-
1
},
/* (205) expr ::= FLOAT */
270
,
/* (209) expr ::= MINUS FLOAT */
{
270
,
-
2
},
/* (206) expr ::= MINUS FLOAT */
270
,
/* (210) expr ::= PLUS FLOAT */
{
270
,
-
2
},
/* (207) expr ::= PLUS FLOAT */
270
,
/* (211) expr ::= STRING */
{
270
,
-
1
},
/* (208) expr ::= STRING */
270
,
/* (212) expr ::= NOW */
{
270
,
-
1
},
/* (209) expr ::= NOW */
270
,
/* (213) expr ::= VARIABLE */
{
270
,
-
1
},
/* (210) expr ::= VARIABLE */
270
,
/* (214) expr ::= BOOL */
{
270
,
-
1
},
/* (211) expr ::= BOOL */
270
,
/* (215) expr ::= ID LP exprlist RP */
{
270
,
-
4
},
/* (212) expr ::= ID LP exprlist RP */
270
,
/* (216) expr ::= ID LP STAR RP */
{
270
,
-
4
},
/* (213) expr ::= ID LP STAR RP */
270
,
/* (217) expr ::= expr IS NULL */
{
270
,
-
3
},
/* (214) expr ::= expr IS NULL */
270
,
/* (218) expr ::= expr IS NOT NULL */
{
270
,
-
4
},
/* (215) expr ::= expr IS NOT NULL */
270
,
/* (219) expr ::= expr LT expr */
{
270
,
-
3
},
/* (216) expr ::= expr LT expr */
270
,
/* (220) expr ::= expr GT expr */
{
270
,
-
3
},
/* (217) expr ::= expr GT expr */
270
,
/* (221) expr ::= expr LE expr */
{
270
,
-
3
},
/* (218) expr ::= expr LE expr */
270
,
/* (222) expr ::= expr GE expr */
{
270
,
-
3
},
/* (219) expr ::= expr GE expr */
270
,
/* (223) expr ::= expr NE expr */
{
270
,
-
3
},
/* (220) expr ::= expr NE expr */
270
,
/* (224) expr ::= expr EQ expr */
{
270
,
-
3
},
/* (221) expr ::= expr EQ expr */
270
,
/* (225) expr ::= expr AND expr */
{
270
,
-
3
},
/* (222) expr ::= expr AND expr */
270
,
/* (226) expr ::= expr OR expr */
{
270
,
-
3
},
/* (223) expr ::= expr OR expr */
270
,
/* (227) expr ::= expr PLUS expr */
{
270
,
-
3
},
/* (224) expr ::= expr PLUS expr */
270
,
/* (228) expr ::= expr MINUS expr */
{
270
,
-
3
},
/* (225) expr ::= expr MINUS expr */
270
,
/* (229) expr ::= expr STAR expr */
{
270
,
-
3
},
/* (226) expr ::= expr STAR expr */
270
,
/* (230) expr ::= expr SLASH expr */
{
270
,
-
3
},
/* (227) expr ::= expr SLASH expr */
270
,
/* (231) expr ::= expr REM expr */
{
270
,
-
3
},
/* (228) expr ::= expr REM expr */
270
,
/* (232) expr ::= expr LIKE expr */
{
270
,
-
3
},
/* (229) expr ::= expr LIKE expr */
270
,
/* (233) expr ::= expr IN LP exprlist RP */
{
270
,
-
5
},
/* (230) expr ::= expr IN LP exprlist RP */
279
,
/* (234) exprlist ::= exprlist COMMA expritem */
{
279
,
-
3
},
/* (231) exprlist ::= exprlist COMMA expritem */
279
,
/* (235) exprlist ::= expritem */
{
279
,
-
1
},
/* (232) exprlist ::= expritem */
280
,
/* (236) expritem ::= expr */
{
280
,
-
1
},
/* (233) expritem ::= expr */
280
,
/* (237) expritem ::= */
{
280
,
0
},
/* (234) expritem ::= */
211
,
/* (238) cmd ::= RESET QUERY CACHE */
{
212
,
-
3
},
/* (235) cmd ::= RESET QUERY CACHE */
211
,
/* (239) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
212
,
-
7
},
/* (236) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
211
,
/* (240) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
212
,
-
7
},
/* (237) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
211
,
/* (241) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
212
,
-
7
},
/* (238) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
211
,
/* (242) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
212
,
-
7
},
/* (239) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
211
,
/* (243) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
212
,
-
8
},
/* (240) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
211
,
/* (244) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
212
,
-
9
},
/* (241) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
211
,
/* (245) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
212
,
-
7
},
/* (242) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
211
,
/* (246) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
212
,
-
7
},
/* (243) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
211
,
/* (247) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
212
,
-
7
},
/* (244) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
211
,
/* (248) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
212
,
-
7
},
/* (245) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
211
,
/* (249) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
212
,
-
8
},
/* (246) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
211
,
/* (250) cmd ::= KILL CONNECTION INTEGER */
{
212
,
-
3
},
/* (247) cmd ::= KILL CONNECTION INTEGER */
211
,
/* (251) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
212
,
-
5
},
/* (248) cmd ::= KILL STREAM INTEGER COLON INTEGER */
211
,
/* (252) cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
212
,
-
5
},
/* (249) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
** of symbols on the right-hand side of that rule. */
static
const
signed
char
yyRuleInfoNRhs
[]
=
{
-
1
,
/* (0) program ::= cmd */
-
2
,
/* (1) cmd ::= SHOW DATABASES */
-
2
,
/* (2) cmd ::= SHOW MNODES */
-
2
,
/* (3) cmd ::= SHOW DNODES */
-
2
,
/* (4) cmd ::= SHOW ACCOUNTS */
-
2
,
/* (5) cmd ::= SHOW USERS */
-
2
,
/* (6) cmd ::= SHOW MODULES */
-
2
,
/* (7) cmd ::= SHOW QUERIES */
-
2
,
/* (8) cmd ::= SHOW CONNECTIONS */
-
2
,
/* (9) cmd ::= SHOW STREAMS */
-
2
,
/* (10) cmd ::= SHOW VARIABLES */
-
2
,
/* (11) cmd ::= SHOW SCORES */
-
2
,
/* (12) cmd ::= SHOW GRANTS */
-
2
,
/* (13) cmd ::= SHOW VNODES */
-
3
,
/* (14) cmd ::= SHOW VNODES IPTOKEN */
0
,
/* (15) dbPrefix ::= */
-
2
,
/* (16) dbPrefix ::= ids DOT */
0
,
/* (17) cpxName ::= */
-
2
,
/* (18) cpxName ::= DOT ids */
-
5
,
/* (19) cmd ::= SHOW CREATE TABLE ids cpxName */
-
4
,
/* (20) cmd ::= SHOW CREATE DATABASE ids */
-
3
,
/* (21) cmd ::= SHOW dbPrefix TABLES */
-
5
,
/* (22) cmd ::= SHOW dbPrefix TABLES LIKE ids */
-
3
,
/* (23) cmd ::= SHOW dbPrefix STABLES */
-
5
,
/* (24) cmd ::= SHOW dbPrefix STABLES LIKE ids */
-
3
,
/* (25) cmd ::= SHOW dbPrefix VGROUPS */
-
4
,
/* (26) cmd ::= SHOW dbPrefix VGROUPS ids */
-
5
,
/* (27) cmd ::= DROP TABLE ifexists ids cpxName */
-
5
,
/* (28) cmd ::= DROP STABLE ifexists ids cpxName */
-
4
,
/* (29) cmd ::= DROP DATABASE ifexists ids */
-
3
,
/* (30) cmd ::= DROP DNODE ids */
-
3
,
/* (31) cmd ::= DROP USER ids */
-
3
,
/* (32) cmd ::= DROP ACCOUNT ids */
-
2
,
/* (33) cmd ::= USE ids */
-
3
,
/* (34) cmd ::= DESCRIBE ids cpxName */
-
5
,
/* (35) cmd ::= ALTER USER ids PASS ids */
-
5
,
/* (36) cmd ::= ALTER USER ids PRIVILEGE ids */
-
4
,
/* (37) cmd ::= ALTER DNODE ids ids */
-
5
,
/* (38) cmd ::= ALTER DNODE ids ids ids */
-
3
,
/* (39) cmd ::= ALTER LOCAL ids */
-
4
,
/* (40) cmd ::= ALTER LOCAL ids ids */
-
4
,
/* (41) cmd ::= ALTER DATABASE ids alter_db_optr */
-
4
,
/* (42) cmd ::= ALTER ACCOUNT ids acct_optr */
-
6
,
/* (43) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
-
1
,
/* (44) ids ::= ID */
-
1
,
/* (45) ids ::= STRING */
-
2
,
/* (46) ifexists ::= IF EXISTS */
0
,
/* (47) ifexists ::= */
-
3
,
/* (48) ifnotexists ::= IF NOT EXISTS */
0
,
/* (49) ifnotexists ::= */
-
3
,
/* (50) cmd ::= CREATE DNODE ids */
-
6
,
/* (51) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
-
5
,
/* (52) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-
5
,
/* (53) cmd ::= CREATE USER ids PASS ids */
0
,
/* (54) pps ::= */
-
2
,
/* (55) pps ::= PPS INTEGER */
0
,
/* (56) tseries ::= */
-
2
,
/* (57) tseries ::= TSERIES INTEGER */
0
,
/* (58) dbs ::= */
-
2
,
/* (59) dbs ::= DBS INTEGER */
0
,
/* (60) streams ::= */
-
2
,
/* (61) streams ::= STREAMS INTEGER */
0
,
/* (62) storage ::= */
-
2
,
/* (63) storage ::= STORAGE INTEGER */
0
,
/* (64) qtime ::= */
-
2
,
/* (65) qtime ::= QTIME INTEGER */
0
,
/* (66) users ::= */
-
2
,
/* (67) users ::= USERS INTEGER */
0
,
/* (68) conns ::= */
-
2
,
/* (69) conns ::= CONNS INTEGER */
0
,
/* (70) state ::= */
-
2
,
/* (71) state ::= STATE ids */
-
9
,
/* (72) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
-
2
,
/* (73) keep ::= KEEP tagitemlist */
-
2
,
/* (74) cache ::= CACHE INTEGER */
-
2
,
/* (75) replica ::= REPLICA INTEGER */
-
2
,
/* (76) quorum ::= QUORUM INTEGER */
-
2
,
/* (77) days ::= DAYS INTEGER */
-
2
,
/* (78) minrows ::= MINROWS INTEGER */
-
2
,
/* (79) maxrows ::= MAXROWS INTEGER */
-
2
,
/* (80) blocks ::= BLOCKS INTEGER */
-
2
,
/* (81) ctime ::= CTIME INTEGER */
-
2
,
/* (82) wal ::= WAL INTEGER */
-
2
,
/* (83) fsync ::= FSYNC INTEGER */
-
2
,
/* (84) comp ::= COMP INTEGER */
-
2
,
/* (85) prec ::= PRECISION STRING */
-
2
,
/* (86) update ::= UPDATE INTEGER */
-
2
,
/* (87) cachelast ::= CACHELAST INTEGER */
0
,
/* (88) db_optr ::= */
-
2
,
/* (89) db_optr ::= db_optr cache */
-
2
,
/* (90) db_optr ::= db_optr replica */
-
2
,
/* (91) db_optr ::= db_optr quorum */
-
2
,
/* (92) db_optr ::= db_optr days */
-
2
,
/* (93) db_optr ::= db_optr minrows */
-
2
,
/* (94) db_optr ::= db_optr maxrows */
-
2
,
/* (95) db_optr ::= db_optr blocks */
-
2
,
/* (96) db_optr ::= db_optr ctime */
-
2
,
/* (97) db_optr ::= db_optr wal */
-
2
,
/* (98) db_optr ::= db_optr fsync */
-
2
,
/* (99) db_optr ::= db_optr comp */
-
2
,
/* (100) db_optr ::= db_optr prec */
-
2
,
/* (101) db_optr ::= db_optr keep */
-
2
,
/* (102) db_optr ::= db_optr update */
-
2
,
/* (103) db_optr ::= db_optr cachelast */
0
,
/* (104) alter_db_optr ::= */
-
2
,
/* (105) alter_db_optr ::= alter_db_optr replica */
-
2
,
/* (106) alter_db_optr ::= alter_db_optr quorum */
-
2
,
/* (107) alter_db_optr ::= alter_db_optr keep */
-
2
,
/* (108) alter_db_optr ::= alter_db_optr blocks */
-
2
,
/* (109) alter_db_optr ::= alter_db_optr comp */
-
2
,
/* (110) alter_db_optr ::= alter_db_optr wal */
-
2
,
/* (111) alter_db_optr ::= alter_db_optr fsync */
-
2
,
/* (112) alter_db_optr ::= alter_db_optr update */
-
2
,
/* (113) alter_db_optr ::= alter_db_optr cachelast */
-
1
,
/* (114) typename ::= ids */
-
4
,
/* (115) typename ::= ids LP signed RP */
-
2
,
/* (116) typename ::= ids UNSIGNED */
-
1
,
/* (117) signed ::= INTEGER */
-
2
,
/* (118) signed ::= PLUS INTEGER */
-
2
,
/* (119) signed ::= MINUS INTEGER */
-
3
,
/* (120) cmd ::= CREATE TABLE create_table_args */
-
3
,
/* (121) cmd ::= CREATE TABLE create_stable_args */
-
3
,
/* (122) cmd ::= CREATE STABLE create_stable_args */
-
3
,
/* (123) cmd ::= CREATE TABLE create_table_list */
-
1
,
/* (124) create_table_list ::= create_from_stable */
-
2
,
/* (125) create_table_list ::= create_table_list create_from_stable */
-
6
,
/* (126) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
-
10
,
/* (127) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
-
10
,
/* (128) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
-
13
,
/* (129) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
-
3
,
/* (130) tagNamelist ::= tagNamelist COMMA ids */
-
1
,
/* (131) tagNamelist ::= ids */
-
5
,
/* (132) create_table_args ::= ifnotexists ids cpxName AS select */
-
3
,
/* (133) columnlist ::= columnlist COMMA column */
-
1
,
/* (134) columnlist ::= column */
-
2
,
/* (135) column ::= ids typename */
-
3
,
/* (136) tagitemlist ::= tagitemlist COMMA tagitem */
-
1
,
/* (137) tagitemlist ::= tagitem */
-
1
,
/* (138) tagitem ::= INTEGER */
-
1
,
/* (139) tagitem ::= FLOAT */
-
1
,
/* (140) tagitem ::= STRING */
-
1
,
/* (141) tagitem ::= BOOL */
-
1
,
/* (142) tagitem ::= NULL */
-
2
,
/* (143) tagitem ::= MINUS INTEGER */
-
2
,
/* (144) tagitem ::= MINUS FLOAT */
-
2
,
/* (145) tagitem ::= PLUS INTEGER */
-
2
,
/* (146) tagitem ::= PLUS FLOAT */
-
12
,
/* (147) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
-
1
,
/* (148) union ::= select */
-
3
,
/* (149) union ::= LP union RP */
-
4
,
/* (150) union ::= union UNION ALL select */
-
6
,
/* (151) union ::= union UNION ALL LP select RP */
-
1
,
/* (152) cmd ::= union */
-
2
,
/* (153) select ::= SELECT selcollist */
-
2
,
/* (154) sclp ::= selcollist COMMA */
0
,
/* (155) sclp ::= */
-
4
,
/* (156) selcollist ::= sclp distinct expr as */
-
2
,
/* (157) selcollist ::= sclp STAR */
-
2
,
/* (158) as ::= AS ids */
-
1
,
/* (159) as ::= ids */
0
,
/* (160) as ::= */
-
1
,
/* (161) distinct ::= DISTINCT */
0
,
/* (162) distinct ::= */
-
2
,
/* (163) from ::= FROM tablelist */
-
2
,
/* (164) tablelist ::= ids cpxName */
-
3
,
/* (165) tablelist ::= ids cpxName ids */
-
4
,
/* (166) tablelist ::= tablelist COMMA ids cpxName */
-
5
,
/* (167) tablelist ::= tablelist COMMA ids cpxName ids */
-
1
,
/* (168) tmvar ::= VARIABLE */
-
4
,
/* (169) interval_opt ::= INTERVAL LP tmvar RP */
-
6
,
/* (170) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
0
,
/* (171) interval_opt ::= */
0
,
/* (172) fill_opt ::= */
-
6
,
/* (173) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
4
,
/* (174) fill_opt ::= FILL LP ID RP */
-
4
,
/* (175) sliding_opt ::= SLIDING LP tmvar RP */
0
,
/* (176) sliding_opt ::= */
0
,
/* (177) orderby_opt ::= */
-
3
,
/* (178) orderby_opt ::= ORDER BY sortlist */
-
4
,
/* (179) sortlist ::= sortlist COMMA item sortorder */
-
2
,
/* (180) sortlist ::= item sortorder */
-
2
,
/* (181) item ::= ids cpxName */
-
1
,
/* (182) sortorder ::= ASC */
-
1
,
/* (183) sortorder ::= DESC */
0
,
/* (184) sortorder ::= */
0
,
/* (185) groupby_opt ::= */
-
3
,
/* (186) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (187) grouplist ::= grouplist COMMA item */
-
1
,
/* (188) grouplist ::= item */
0
,
/* (189) having_opt ::= */
-
2
,
/* (190) having_opt ::= HAVING expr */
0
,
/* (191) limit_opt ::= */
-
2
,
/* (192) limit_opt ::= LIMIT signed */
-
4
,
/* (193) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (194) limit_opt ::= LIMIT signed COMMA signed */
0
,
/* (195) slimit_opt ::= */
-
2
,
/* (196) slimit_opt ::= SLIMIT signed */
-
4
,
/* (197) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (198) slimit_opt ::= SLIMIT signed COMMA signed */
0
,
/* (199) where_opt ::= */
-
2
,
/* (200) where_opt ::= WHERE expr */
-
3
,
/* (201) expr ::= LP expr RP */
-
1
,
/* (202) expr ::= ID */
-
3
,
/* (203) expr ::= ID DOT ID */
-
3
,
/* (204) expr ::= ID DOT STAR */
-
1
,
/* (205) expr ::= INTEGER */
-
2
,
/* (206) expr ::= MINUS INTEGER */
-
2
,
/* (207) expr ::= PLUS INTEGER */
-
1
,
/* (208) expr ::= FLOAT */
-
2
,
/* (209) expr ::= MINUS FLOAT */
-
2
,
/* (210) expr ::= PLUS FLOAT */
-
1
,
/* (211) expr ::= STRING */
-
1
,
/* (212) expr ::= NOW */
-
1
,
/* (213) expr ::= VARIABLE */
-
1
,
/* (214) expr ::= BOOL */
-
4
,
/* (215) expr ::= ID LP exprlist RP */
-
4
,
/* (216) expr ::= ID LP STAR RP */
-
3
,
/* (217) expr ::= expr IS NULL */
-
4
,
/* (218) expr ::= expr IS NOT NULL */
-
3
,
/* (219) expr ::= expr LT expr */
-
3
,
/* (220) expr ::= expr GT expr */
-
3
,
/* (221) expr ::= expr LE expr */
-
3
,
/* (222) expr ::= expr GE expr */
-
3
,
/* (223) expr ::= expr NE expr */
-
3
,
/* (224) expr ::= expr EQ expr */
-
3
,
/* (225) expr ::= expr AND expr */
-
3
,
/* (226) expr ::= expr OR expr */
-
3
,
/* (227) expr ::= expr PLUS expr */
-
3
,
/* (228) expr ::= expr MINUS expr */
-
3
,
/* (229) expr ::= expr STAR expr */
-
3
,
/* (230) expr ::= expr SLASH expr */
-
3
,
/* (231) expr ::= expr REM expr */
-
3
,
/* (232) expr ::= expr LIKE expr */
-
5
,
/* (233) expr ::= expr IN LP exprlist RP */
-
3
,
/* (234) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (235) exprlist ::= expritem */
-
1
,
/* (236) expritem ::= expr */
0
,
/* (237) expritem ::= */
-
3
,
/* (238) cmd ::= RESET QUERY CACHE */
-
7
,
/* (239) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (240) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (241) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (242) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (243) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (244) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (245) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (246) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (247) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (248) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (249) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
3
,
/* (250) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (251) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (252) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
@@ -2013,30 +2292,34 @@ static void yy_accept(yyParser*); /* Forward Declaration */
...
@@ -2013,30 +2292,34 @@ static void yy_accept(yyParser*); /* Forward Declaration */
** only called from one place, optimizing compilers will in-line it, which
** only called from one place, optimizing compilers will in-line it, which
** means that the extra parameters have no performance impact.
** means that the extra parameters have no performance impact.
*/
*/
static
void
yy_reduce
(
static
YYACTIONTYPE
yy_reduce
(
yyParser
*
yypParser
,
/* The parser */
yyParser
*
yypParser
,
/* The parser */
unsigned
int
yyruleno
,
/* Number of the rule by which to reduce */
unsigned
int
yyruleno
,
/* Number of the rule by which to reduce */
int
yyLookahead
,
/* Lookahead token, or YYNOCODE if none */
int
yyLookahead
,
/* Lookahead token, or YYNOCODE if none */
ParseTOKENTYPE
yyLookaheadToken
/* Value of the lookahead token */
ParseTOKENTYPE
yyLookaheadToken
/* Value of the lookahead token */
ParseCTX_PDECL
/* %extra_context */
){
){
int
yygoto
;
/* The next state */
int
yygoto
;
/* The next state */
int
yyact
;
/* The next action */
YYACTIONTYPE
yyact
;
/* The next action */
yyStackEntry
*
yymsp
;
/* The top of the parser's stack */
yyStackEntry
*
yymsp
;
/* The top of the parser's stack */
int
yysize
;
/* Amount to pop the stack */
int
yysize
;
/* Amount to pop the stack */
ParseARG_FETCH
;
ParseARG_FETCH
(
void
)
yyLookahead
;
(
void
)
yyLookahead
;
(
void
)
yyLookaheadToken
;
(
void
)
yyLookaheadToken
;
yymsp
=
yypParser
->
yytos
;
yymsp
=
yypParser
->
yytos
;
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
&&
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
){
if
(
yyTraceFILE
&&
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
){
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
if
(
yysize
){
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
, go
to state %d.
\n
"
,
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
%s, pop back
to state %d.
\n
"
,
yyTracePrompt
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yymsp
[
yysize
].
stateno
);
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
,
yymsp
[
yysize
].
stateno
);
}
else
{
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s].
\n
"
,
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
]);
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
);
}
}
}
}
#endif
/* NDEBUG */
#endif
/* NDEBUG */
...
@@ -2044,7 +2327,7 @@ static void yy_reduce(
...
@@ -2044,7 +2327,7 @@ static void yy_reduce(
/* Check that the stack is large enough to grow by a single entry
/* Check that the stack is large enough to grow by a single entry
** if the RHS of the rule is empty. This ensures that there is room
** if the RHS of the rule is empty. This ensures that there is room
** enough on the stack to push the LHS value */
** enough on the stack to push the LHS value */
if
(
yyRuleInfo
[
yyruleno
].
nrhs
==
0
){
if
(
yyRuleInfo
NRhs
[
yyruleno
]
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
yypParser
->
yyhwm
++
;
...
@@ -2054,13 +2337,19 @@ static void yy_reduce(
...
@@ -2054,13 +2337,19 @@ static void yy_reduce(
#if YYSTACKDEPTH>0
#if YYSTACKDEPTH>0
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
yyStackOverflow
(
yypParser
);
yyStackOverflow
(
yypParser
);
return
;
/* The call to yyStackOverflow() above pops the stack until it is
** empty, causing the main parser loop to exit. So the return value
** is never used and does not matter. */
return
0
;
}
}
#else
#else
if
(
yypParser
->
yytos
>=&
yypParser
->
yystack
[
yypParser
->
yystksz
-
1
]
){
if
(
yypParser
->
yytos
>=&
yypParser
->
yystack
[
yypParser
->
yystksz
-
1
]
){
if
(
yyGrowStack
(
yypParser
)
){
if
(
yyGrowStack
(
yypParser
)
){
yyStackOverflow
(
yypParser
);
yyStackOverflow
(
yypParser
);
return
;
/* The call to yyStackOverflow() above pops the stack until it is
** empty, causing the main parser loop to exit. So the return value
** is never used and does not matter. */
return
0
;
}
}
yymsp
=
yypParser
->
yytos
;
yymsp
=
yypParser
->
yytos
;
}
}
...
@@ -2256,7 +2545,7 @@ static void yy_reduce(
...
@@ -2256,7 +2545,7 @@ static void yy_reduce(
break
;
break
;
case
47
:
/* ifexists ::= */
case
47
:
/* ifexists ::= */
case
49
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
49
);
case
49
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
49
);
case
1
59
:
/* distinct ::= */
yytestcase
(
yyruleno
==
159
);
case
1
62
:
/* distinct ::= */
yytestcase
(
yyruleno
==
162
);
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
break
;
break
;
case
48
:
/* ifnotexists ::= IF NOT EXISTS */
case
48
:
/* ifnotexists ::= IF NOT EXISTS */
...
@@ -2486,11 +2775,27 @@ static void yy_reduce(
...
@@ -2486,11 +2775,27 @@ static void yy_reduce(
{
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yylhsminor
.
yy42
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy247
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
yylhsminor
.
yy42
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy247
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
}
yymsp
[
-
9
].
minor
.
yy42
=
yylhsminor
.
yy42
;
yymsp
[
-
9
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
break
;
case
129
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
case
129
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
{
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
11
].
minor
.
yy0
.
n
+=
yymsp
[
-
10
].
minor
.
yy0
.
n
;
yylhsminor
.
yy42
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy247
,
yymsp
[
-
1
].
minor
.
yy247
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
}
yymsp
[
-
12
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
130
:
/* tagNamelist ::= tagNamelist COMMA ids */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy247
=
yymsp
[
-
2
].
minor
.
yy247
;
}
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
case
131
:
/* tagNamelist ::= ids */
{
yylhsminor
.
yy247
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
case
132
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
{
{
yylhsminor
.
yy358
=
tSetCreateSqlElems
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy114
,
TSQL_CREATE_STREAM
);
yylhsminor
.
yy358
=
tSetCreateSqlElems
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy114
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy358
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy358
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
@@ -2500,43 +2805,43 @@ static void yy_reduce(
...
@@ -2500,43 +2805,43 @@ static void yy_reduce(
}
}
yymsp
[
-
4
].
minor
.
yy358
=
yylhsminor
.
yy358
;
yymsp
[
-
4
].
minor
.
yy358
=
yylhsminor
.
yy358
;
break
;
break
;
case
13
0
:
/* columnlist ::= columnlist COMMA column */
case
13
3
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy179
);
yylhsminor
.
yy247
=
yymsp
[
-
2
].
minor
.
yy247
;
}
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy179
);
yylhsminor
.
yy247
=
yymsp
[
-
2
].
minor
.
yy247
;
}
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
13
1
:
/* columnlist ::= column */
case
13
4
:
/* columnlist ::= column */
{
yylhsminor
.
yy247
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy179
);}
{
yylhsminor
.
yy247
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy179
);}
yymsp
[
0
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
0
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
13
2
:
/* column ::= ids typename */
case
13
5
:
/* column ::= ids typename */
{
{
tSqlSetColumnInfo
(
&
yylhsminor
.
yy179
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy179
);
tSqlSetColumnInfo
(
&
yylhsminor
.
yy179
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy179
);
}
}
yymsp
[
-
1
].
minor
.
yy179
=
yylhsminor
.
yy179
;
yymsp
[
-
1
].
minor
.
yy179
=
yylhsminor
.
yy179
;
break
;
break
;
case
13
3
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
case
13
6
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
{
yylhsminor
.
yy247
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
}
{
yylhsminor
.
yy247
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
13
4
:
/* tagitemlist ::= tagitem */
case
13
7
:
/* tagitemlist ::= tagitem */
{
yylhsminor
.
yy247
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
}
{
yylhsminor
.
yy247
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
}
yymsp
[
0
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
0
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
13
5
:
/* tagitem ::= INTEGER */
case
13
8
:
/* tagitem ::= INTEGER */
case
13
6
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
136
);
case
13
9
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
139
);
case
1
37
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
137
);
case
1
40
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
140
);
case
1
38
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
138
);
case
1
41
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
141
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy378
,
&
yymsp
[
0
].
minor
.
yy0
);
}
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy378
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy378
=
yylhsminor
.
yy378
;
yymsp
[
0
].
minor
.
yy378
=
yylhsminor
.
yy378
;
break
;
break
;
case
1
39
:
/* tagitem ::= NULL */
case
1
42
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy378
,
&
yymsp
[
0
].
minor
.
yy0
);
}
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy378
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy378
=
yylhsminor
.
yy378
;
yymsp
[
0
].
minor
.
yy378
=
yylhsminor
.
yy378
;
break
;
break
;
case
14
0
:
/* tagitem ::= MINUS INTEGER */
case
14
3
:
/* tagitem ::= MINUS INTEGER */
case
14
1
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
141
);
case
14
4
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
144
);
case
14
2
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
142
);
case
14
5
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
145
);
case
14
3
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
143
);
case
14
6
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
146
);
{
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
...
@@ -2545,74 +2850,74 @@ static void yy_reduce(
...
@@ -2545,74 +2850,74 @@ static void yy_reduce(
}
}
yymsp
[
-
1
].
minor
.
yy378
=
yylhsminor
.
yy378
;
yymsp
[
-
1
].
minor
.
yy378
=
yylhsminor
.
yy378
;
break
;
break
;
case
14
4
:
/* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
case
14
7
:
/* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
{
yylhsminor
.
yy114
=
tSetQuerySqlElems
(
&
yymsp
[
-
11
].
minor
.
yy0
,
yymsp
[
-
10
].
minor
.
yy522
,
yymsp
[
-
9
].
minor
.
yy247
,
yymsp
[
-
8
].
minor
.
yy326
,
yymsp
[
-
4
].
minor
.
yy247
,
yymsp
[
-
3
].
minor
.
yy247
,
&
yymsp
[
-
7
].
minor
.
yy430
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy204
,
&
yymsp
[
-
1
].
minor
.
yy204
);
yylhsminor
.
yy114
=
tSetQuerySqlElems
(
&
yymsp
[
-
11
].
minor
.
yy0
,
yymsp
[
-
10
].
minor
.
yy522
,
yymsp
[
-
9
].
minor
.
yy247
,
yymsp
[
-
8
].
minor
.
yy326
,
yymsp
[
-
4
].
minor
.
yy247
,
yymsp
[
-
3
].
minor
.
yy247
,
&
yymsp
[
-
7
].
minor
.
yy430
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy204
,
&
yymsp
[
-
1
].
minor
.
yy204
);
}
}
yymsp
[
-
11
].
minor
.
yy114
=
yylhsminor
.
yy114
;
yymsp
[
-
11
].
minor
.
yy114
=
yylhsminor
.
yy114
;
break
;
break
;
case
14
5
:
/* union ::= select */
case
14
8
:
/* union ::= select */
{
yylhsminor
.
yy219
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy114
);
}
{
yylhsminor
.
yy219
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy114
);
}
yymsp
[
0
].
minor
.
yy219
=
yylhsminor
.
yy219
;
yymsp
[
0
].
minor
.
yy219
=
yylhsminor
.
yy219
;
break
;
break
;
case
14
6
:
/* union ::= LP union RP */
case
14
9
:
/* union ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy219
=
yymsp
[
-
1
].
minor
.
yy219
;
}
{
yymsp
[
-
2
].
minor
.
yy219
=
yymsp
[
-
1
].
minor
.
yy219
;
}
break
;
break
;
case
1
47
:
/* union ::= union UNION ALL select */
case
1
50
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy219
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy219
,
yymsp
[
0
].
minor
.
yy114
);
}
{
yylhsminor
.
yy219
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy219
,
yymsp
[
0
].
minor
.
yy114
);
}
yymsp
[
-
3
].
minor
.
yy219
=
yylhsminor
.
yy219
;
yymsp
[
-
3
].
minor
.
yy219
=
yylhsminor
.
yy219
;
break
;
break
;
case
1
48
:
/* union ::= union UNION ALL LP select RP */
case
1
51
:
/* union ::= union UNION ALL LP select RP */
{
yylhsminor
.
yy219
=
appendSelectClause
(
yymsp
[
-
5
].
minor
.
yy219
,
yymsp
[
-
1
].
minor
.
yy114
);
}
{
yylhsminor
.
yy219
=
appendSelectClause
(
yymsp
[
-
5
].
minor
.
yy219
,
yymsp
[
-
1
].
minor
.
yy114
);
}
yymsp
[
-
5
].
minor
.
yy219
=
yylhsminor
.
yy219
;
yymsp
[
-
5
].
minor
.
yy219
=
yylhsminor
.
yy219
;
break
;
break
;
case
1
49
:
/* cmd ::= union */
case
1
52
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy219
,
NULL
,
TSDB_SQL_SELECT
);
}
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy219
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
break
;
case
15
0
:
/* select ::= SELECT selcollist */
case
15
3
:
/* select ::= SELECT selcollist */
{
{
yylhsminor
.
yy114
=
tSetQuerySqlElems
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy522
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
yylhsminor
.
yy114
=
tSetQuerySqlElems
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy522
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
}
yymsp
[
-
1
].
minor
.
yy114
=
yylhsminor
.
yy114
;
yymsp
[
-
1
].
minor
.
yy114
=
yylhsminor
.
yy114
;
break
;
break
;
case
15
1
:
/* sclp ::= selcollist COMMA */
case
15
4
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy522
=
yymsp
[
-
1
].
minor
.
yy522
;}
{
yylhsminor
.
yy522
=
yymsp
[
-
1
].
minor
.
yy522
;}
yymsp
[
-
1
].
minor
.
yy522
=
yylhsminor
.
yy522
;
yymsp
[
-
1
].
minor
.
yy522
=
yylhsminor
.
yy522
;
break
;
break
;
case
15
2
:
/* sclp ::= */
case
15
5
:
/* sclp ::= */
{
yymsp
[
1
].
minor
.
yy522
=
0
;}
{
yymsp
[
1
].
minor
.
yy522
=
0
;}
break
;
break
;
case
15
3
:
/* selcollist ::= sclp distinct expr as */
case
15
6
:
/* selcollist ::= sclp distinct expr as */
{
{
yylhsminor
.
yy522
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy522
,
yymsp
[
-
1
].
minor
.
yy326
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
yylhsminor
.
yy522
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy522
,
yymsp
[
-
1
].
minor
.
yy326
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
}
yymsp
[
-
3
].
minor
.
yy522
=
yylhsminor
.
yy522
;
yymsp
[
-
3
].
minor
.
yy522
=
yylhsminor
.
yy522
;
break
;
break
;
case
15
4
:
/* selcollist ::= sclp STAR */
case
15
7
:
/* selcollist ::= sclp STAR */
{
{
tSQLExpr
*
pNode
=
tSqlExprIdValueCreate
(
NULL
,
TK_ALL
);
tSQLExpr
*
pNode
=
tSqlExprIdValueCreate
(
NULL
,
TK_ALL
);
yylhsminor
.
yy522
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy522
,
pNode
,
0
,
0
);
yylhsminor
.
yy522
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy522
,
pNode
,
0
,
0
);
}
}
yymsp
[
-
1
].
minor
.
yy522
=
yylhsminor
.
yy522
;
yymsp
[
-
1
].
minor
.
yy522
=
yylhsminor
.
yy522
;
break
;
break
;
case
15
5
:
/* as ::= AS ids */
case
15
8
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
break
;
case
15
6
:
/* as ::= ids */
case
15
9
:
/* as ::= ids */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
break
;
case
1
57
:
/* as ::= */
case
1
60
:
/* as ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
break
;
case
1
58
:
/* distinct ::= DISTINCT */
case
1
61
:
/* distinct ::= DISTINCT */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
break
;
case
16
0
:
/* from ::= FROM tablelist */
case
16
3
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy247
=
yymsp
[
0
].
minor
.
yy247
;}
{
yymsp
[
-
1
].
minor
.
yy247
=
yymsp
[
0
].
minor
.
yy247
;}
break
;
break
;
case
16
1
:
/* tablelist ::= ids cpxName */
case
16
4
:
/* tablelist ::= 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
;
...
@@ -2621,7 +2926,7 @@ static void yy_reduce(
...
@@ -2621,7 +2926,7 @@ static void yy_reduce(
}
}
yymsp
[
-
1
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
1
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
16
2
:
/* tablelist ::= ids cpxName ids */
case
16
5
:
/* tablelist ::= ids cpxName ids */
{
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
...
@@ -2631,7 +2936,7 @@ static void yy_reduce(
...
@@ -2631,7 +2936,7 @@ static void yy_reduce(
}
}
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
16
3
:
/* tablelist ::= tablelist COMMA ids cpxName */
case
16
6
:
/* tablelist ::= tablelist COMMA 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
;
...
@@ -2640,7 +2945,7 @@ static void yy_reduce(
...
@@ -2640,7 +2945,7 @@ static void yy_reduce(
}
}
yymsp
[
-
3
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
3
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
16
4
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
case
16
7
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
{
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
...
@@ -2650,23 +2955,23 @@ static void yy_reduce(
...
@@ -2650,23 +2955,23 @@ static void yy_reduce(
}
}
yymsp
[
-
4
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
4
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
16
5
:
/* tmvar ::= VARIABLE */
case
16
8
:
/* tmvar ::= VARIABLE */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
break
;
case
16
6
:
/* interval_opt ::= INTERVAL LP tmvar RP */
case
16
9
:
/* interval_opt ::= INTERVAL LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy430
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy430
.
offset
.
n
=
0
;
yymsp
[
-
3
].
minor
.
yy430
.
offset
.
z
=
NULL
;
yymsp
[
-
3
].
minor
.
yy430
.
offset
.
type
=
0
;}
{
yymsp
[
-
3
].
minor
.
yy430
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy430
.
offset
.
n
=
0
;
yymsp
[
-
3
].
minor
.
yy430
.
offset
.
z
=
NULL
;
yymsp
[
-
3
].
minor
.
yy430
.
offset
.
type
=
0
;}
break
;
break
;
case
1
67
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
case
1
70
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
yymsp
[
-
5
].
minor
.
yy430
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy430
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
{
yymsp
[
-
5
].
minor
.
yy430
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy430
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
break
;
break
;
case
1
68
:
/* interval_opt ::= */
case
1
71
:
/* interval_opt ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy430
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy430
));}
{
memset
(
&
yymsp
[
1
].
minor
.
yy430
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy430
));}
break
;
break
;
case
1
69
:
/* fill_opt ::= */
case
1
72
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy247
=
0
;
}
{
yymsp
[
1
].
minor
.
yy247
=
0
;
}
break
;
break
;
case
17
0
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
case
17
3
:
/* 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
);
...
@@ -2676,37 +2981,37 @@ static void yy_reduce(
...
@@ -2676,37 +2981,37 @@ static void yy_reduce(
yymsp
[
-
5
].
minor
.
yy247
=
yymsp
[
-
1
].
minor
.
yy247
;
yymsp
[
-
5
].
minor
.
yy247
=
yymsp
[
-
1
].
minor
.
yy247
;
}
}
break
;
break
;
case
17
1
:
/* fill_opt ::= FILL LP ID RP */
case
17
4
:
/* fill_opt ::= FILL LP ID RP */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy247
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yymsp
[
-
3
].
minor
.
yy247
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
}
break
;
break
;
case
17
2
:
/* sliding_opt ::= SLIDING LP tmvar RP */
case
17
5
:
/* sliding_opt ::= SLIDING LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
break
;
case
17
3
:
/* sliding_opt ::= */
case
17
6
:
/* sliding_opt ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
break
;
break
;
case
17
4
:
/* orderby_opt ::= */
case
17
7
:
/* orderby_opt ::= */
{
yymsp
[
1
].
minor
.
yy247
=
0
;}
{
yymsp
[
1
].
minor
.
yy247
=
0
;}
break
;
break
;
case
17
5
:
/* orderby_opt ::= ORDER BY sortlist */
case
17
8
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy247
=
yymsp
[
0
].
minor
.
yy247
;}
{
yymsp
[
-
2
].
minor
.
yy247
=
yymsp
[
0
].
minor
.
yy247
;}
break
;
break
;
case
17
6
:
/* sortlist ::= sortlist COMMA item sortorder */
case
17
9
:
/* sortlist ::= sortlist COMMA item sortorder */
{
{
yylhsminor
.
yy247
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy247
,
&
yymsp
[
-
1
].
minor
.
yy378
,
yymsp
[
0
].
minor
.
yy222
);
yylhsminor
.
yy247
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy247
,
&
yymsp
[
-
1
].
minor
.
yy378
,
yymsp
[
0
].
minor
.
yy222
);
}
}
yymsp
[
-
3
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
3
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
1
77
:
/* sortlist ::= item sortorder */
case
1
80
:
/* sortlist ::= item sortorder */
{
{
yylhsminor
.
yy247
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy378
,
yymsp
[
0
].
minor
.
yy222
);
yylhsminor
.
yy247
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy378
,
yymsp
[
0
].
minor
.
yy222
);
}
}
yymsp
[
-
1
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
1
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
1
78
:
/* item ::= ids cpxName */
case
1
81
:
/* 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
;
...
@@ -2715,211 +3020,211 @@ static void yy_reduce(
...
@@ -2715,211 +3020,211 @@ static void yy_reduce(
}
}
yymsp
[
-
1
].
minor
.
yy378
=
yylhsminor
.
yy378
;
yymsp
[
-
1
].
minor
.
yy378
=
yylhsminor
.
yy378
;
break
;
break
;
case
1
79
:
/* sortorder ::= ASC */
case
1
82
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy222
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
0
].
minor
.
yy222
=
TSDB_ORDER_ASC
;
}
break
;
break
;
case
18
0
:
/* sortorder ::= DESC */
case
18
3
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy222
=
TSDB_ORDER_DESC
;}
{
yymsp
[
0
].
minor
.
yy222
=
TSDB_ORDER_DESC
;}
break
;
break
;
case
18
1
:
/* sortorder ::= */
case
18
4
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy222
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
1
].
minor
.
yy222
=
TSDB_ORDER_ASC
;
}
break
;
break
;
case
18
2
:
/* groupby_opt ::= */
case
18
5
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy247
=
0
;}
{
yymsp
[
1
].
minor
.
yy247
=
0
;}
break
;
break
;
case
18
3
:
/* groupby_opt ::= GROUP BY grouplist */
case
18
6
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy247
=
yymsp
[
0
].
minor
.
yy247
;}
{
yymsp
[
-
2
].
minor
.
yy247
=
yymsp
[
0
].
minor
.
yy247
;}
break
;
break
;
case
18
4
:
/* grouplist ::= grouplist COMMA item */
case
18
7
:
/* grouplist ::= grouplist COMMA item */
{
{
yylhsminor
.
yy247
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
yylhsminor
.
yy247
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy247
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
}
}
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
-
2
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
18
5
:
/* grouplist ::= item */
case
18
8
:
/* grouplist ::= item */
{
{
yylhsminor
.
yy247
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
yylhsminor
.
yy247
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy378
,
-
1
);
}
}
yymsp
[
0
].
minor
.
yy247
=
yylhsminor
.
yy247
;
yymsp
[
0
].
minor
.
yy247
=
yylhsminor
.
yy247
;
break
;
break
;
case
18
6
:
/* having_opt ::= */
case
18
9
:
/* having_opt ::= */
case
19
6
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
196
);
case
19
9
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
199
);
case
23
4
:
/* expritem ::= */
yytestcase
(
yyruleno
==
234
);
case
23
7
:
/* expritem ::= */
yytestcase
(
yyruleno
==
237
);
{
yymsp
[
1
].
minor
.
yy326
=
0
;}
{
yymsp
[
1
].
minor
.
yy326
=
0
;}
break
;
break
;
case
1
87
:
/* having_opt ::= HAVING expr */
case
1
90
:
/* having_opt ::= HAVING expr */
case
197
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
197
);
case
200
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
200
);
{
yymsp
[
-
1
].
minor
.
yy326
=
yymsp
[
0
].
minor
.
yy326
;}
{
yymsp
[
-
1
].
minor
.
yy326
=
yymsp
[
0
].
minor
.
yy326
;}
break
;
break
;
case
1
88
:
/* limit_opt ::= */
case
1
91
:
/* limit_opt ::= */
case
19
2
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
192
);
case
19
5
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
195
);
{
yymsp
[
1
].
minor
.
yy204
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy204
.
offset
=
0
;}
{
yymsp
[
1
].
minor
.
yy204
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy204
.
offset
=
0
;}
break
;
break
;
case
1
89
:
/* limit_opt ::= LIMIT signed */
case
1
92
:
/* limit_opt ::= LIMIT signed */
case
19
3
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
193
);
case
19
6
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
196
);
{
yymsp
[
-
1
].
minor
.
yy204
.
limit
=
yymsp
[
0
].
minor
.
yy403
;
yymsp
[
-
1
].
minor
.
yy204
.
offset
=
0
;}
{
yymsp
[
-
1
].
minor
.
yy204
.
limit
=
yymsp
[
0
].
minor
.
yy403
;
yymsp
[
-
1
].
minor
.
yy204
.
offset
=
0
;}
break
;
break
;
case
19
0
:
/* limit_opt ::= LIMIT signed OFFSET signed */
case
19
3
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
-
2
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
0
].
minor
.
yy403
;}
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
-
2
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
0
].
minor
.
yy403
;}
break
;
break
;
case
19
1
:
/* limit_opt ::= LIMIT signed COMMA signed */
case
19
4
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
0
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
-
2
].
minor
.
yy403
;}
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
0
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
-
2
].
minor
.
yy403
;}
break
;
break
;
case
19
4
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
case
19
7
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
-
2
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
0
].
minor
.
yy403
;}
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
-
2
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
0
].
minor
.
yy403
;}
break
;
break
;
case
19
5
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
case
19
8
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
0
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
-
2
].
minor
.
yy403
;}
{
yymsp
[
-
3
].
minor
.
yy204
.
limit
=
yymsp
[
0
].
minor
.
yy403
;
yymsp
[
-
3
].
minor
.
yy204
.
offset
=
yymsp
[
-
2
].
minor
.
yy403
;}
break
;
break
;
case
198
:
/* expr ::= LP expr RP */
case
201
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy326
=
yymsp
[
-
1
].
minor
.
yy326
;
yylhsminor
.
yy326
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy326
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
{
yylhsminor
.
yy326
=
yymsp
[
-
1
].
minor
.
yy326
;
yylhsminor
.
yy326
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy326
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
199
:
/* expr ::= ID */
case
202
:
/* expr ::= ID */
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
20
0
:
/* expr ::= ID DOT ID */
case
20
3
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
20
1
:
/* expr ::= ID DOT STAR */
case
20
4
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
20
2
:
/* expr ::= INTEGER */
case
20
5
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
20
3
:
/* expr ::= MINUS INTEGER */
case
20
6
:
/* expr ::= MINUS INTEGER */
case
20
4
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
204
);
case
20
7
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
207
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
1
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
20
5
:
/* expr ::= FLOAT */
case
20
8
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
20
6
:
/* expr ::= MINUS FLOAT */
case
20
9
:
/* expr ::= MINUS FLOAT */
case
2
07
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
207
);
case
2
10
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
210
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
1
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
08
:
/* expr ::= STRING */
case
2
11
:
/* expr ::= STRING */
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
09
:
/* expr ::= NOW */
case
2
12
:
/* expr ::= NOW */
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
21
0
:
/* expr ::= VARIABLE */
case
21
3
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
21
1
:
/* expr ::= BOOL */
case
21
4
:
/* expr ::= BOOL */
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
{
yylhsminor
.
yy326
=
tSqlExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
21
2
:
/* expr ::= ID LP exprlist RP */
case
21
5
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy326
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy522
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy522
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
3
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
21
3
:
/* expr ::= ID LP STAR RP */
case
21
6
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy326
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
3
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
21
4
:
/* expr ::= expr IS NULL */
case
21
7
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
NULL
,
TK_ISNULL
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
21
5
:
/* expr ::= expr IS NOT NULL */
case
21
8
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy326
,
NULL
,
TK_NOTNULL
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy326
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
3
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
21
6
:
/* expr ::= expr LT expr */
case
21
9
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_LT
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
17
:
/* expr ::= expr GT expr */
case
2
20
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_GT
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
18
:
/* expr ::= expr LE expr */
case
2
21
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_LE
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
19
:
/* expr ::= expr GE expr */
case
2
22
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_GE
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
22
0
:
/* expr ::= expr NE expr */
case
22
3
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_NE
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
22
1
:
/* expr ::= expr EQ expr */
case
22
4
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_EQ
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
22
2
:
/* expr ::= expr AND expr */
case
22
5
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_AND
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
22
3
:
/* expr ::= expr OR expr */
case
22
6
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_OR
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
22
4
:
/* expr ::= expr PLUS expr */
case
22
7
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_PLUS
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
22
5
:
/* expr ::= expr MINUS expr */
case
22
8
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_MINUS
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
22
6
:
/* expr ::= expr STAR expr */
case
22
9
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_STAR
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
27
:
/* expr ::= expr SLASH expr */
case
2
30
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_DIVIDE
);}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
28
:
/* expr ::= expr REM expr */
case
2
31
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_REM
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
2
29
:
/* expr ::= expr LIKE expr */
case
2
32
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_LIKE
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy326
,
yymsp
[
0
].
minor
.
yy326
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
2
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
23
0
:
/* expr ::= expr IN LP exprlist RP */
case
23
3
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy326
,
(
tSQLExpr
*
)
yymsp
[
-
1
].
minor
.
yy522
,
TK_IN
);
}
{
yylhsminor
.
yy326
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy326
,
(
tSQLExpr
*
)
yymsp
[
-
1
].
minor
.
yy522
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
-
4
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
23
1
:
/* exprlist ::= exprlist COMMA expritem */
case
23
4
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy522
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy522
,
yymsp
[
0
].
minor
.
yy326
,
0
,
0
);}
{
yylhsminor
.
yy522
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy522
,
yymsp
[
0
].
minor
.
yy326
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy522
=
yylhsminor
.
yy522
;
yymsp
[
-
2
].
minor
.
yy522
=
yylhsminor
.
yy522
;
break
;
break
;
case
23
2
:
/* exprlist ::= expritem */
case
23
5
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy522
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy326
,
0
,
0
);}
{
yylhsminor
.
yy522
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy326
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy522
=
yylhsminor
.
yy522
;
yymsp
[
0
].
minor
.
yy522
=
yylhsminor
.
yy522
;
break
;
break
;
case
23
3
:
/* expritem ::= expr */
case
23
6
:
/* expritem ::= expr */
{
yylhsminor
.
yy326
=
yymsp
[
0
].
minor
.
yy326
;}
{
yylhsminor
.
yy326
=
yymsp
[
0
].
minor
.
yy326
;}
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
yymsp
[
0
].
minor
.
yy326
=
yylhsminor
.
yy326
;
break
;
break
;
case
23
5
:
/* cmd ::= RESET QUERY CACHE */
case
23
8
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
break
;
break
;
case
23
6
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
23
9
:
/* 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
;
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
2
37
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
2
40
:
/* 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
;
...
@@ -2930,14 +3235,14 @@ static void yy_reduce(
...
@@ -2930,14 +3235,14 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
2
38
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
2
41
:
/* 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
;
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
2
39
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
2
42
:
/* 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
;
...
@@ -2948,7 +3253,7 @@ static void yy_reduce(
...
@@ -2948,7 +3253,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
24
0
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
24
3
:
/* 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
;
...
@@ -2962,7 +3267,7 @@ static void yy_reduce(
...
@@ -2962,7 +3267,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
24
1
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
case
24
4
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
@@ -2974,14 +3279,14 @@ static void yy_reduce(
...
@@ -2974,14 +3279,14 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
24
2
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
case
24
5
:
/* cmd ::= ALTER STABLE 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
;
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
24
3
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
case
24
6
:
/* cmd ::= ALTER STABLE 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
;
...
@@ -2992,14 +3297,14 @@ static void yy_reduce(
...
@@ -2992,14 +3297,14 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
24
4
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
case
24
7
:
/* cmd ::= ALTER STABLE 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
;
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tAlterTableSqlElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy247
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
24
5
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
case
24
8
:
/* cmd ::= ALTER STABLE 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
;
...
@@ -3010,7 +3315,7 @@ static void yy_reduce(
...
@@ -3010,7 +3315,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
24
6
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
case
24
9
:
/* cmd ::= ALTER STABLE 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
;
...
@@ -3024,22 +3329,22 @@ static void yy_reduce(
...
@@ -3024,22 +3329,22 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
2
47
:
/* cmd ::= KILL CONNECTION INTEGER */
case
2
50
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
break
;
case
2
48
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
case
2
51
:
/* 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
);}
{
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
;
break
;
case
2
49
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
case
2
52
:
/* 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
);}
{
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
;
break
;
default:
default:
break
;
break
;
/********** End reduce actions ************************************************/
/********** End reduce actions ************************************************/
};
};
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
)
/
sizeof
(
yyRuleInfo
[
0
])
);
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
Lhs
)
/
sizeof
(
yyRuleInfoLhs
[
0
])
);
yygoto
=
yyRuleInfo
[
yyruleno
].
lhs
;
yygoto
=
yyRuleInfo
Lhs
[
yyruleno
]
;
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
yyact
=
yy_find_reduce_action
(
yymsp
[
yysize
].
stateno
,(
YYCODETYPE
)
yygoto
);
yyact
=
yy_find_reduce_action
(
yymsp
[
yysize
].
stateno
,(
YYCODETYPE
)
yygoto
);
/* There are no SHIFTREDUCE actions on nonterminals because the table
/* There are no SHIFTREDUCE actions on nonterminals because the table
...
@@ -3054,6 +3359,7 @@ static void yy_reduce(
...
@@ -3054,6 +3359,7 @@ static void yy_reduce(
yymsp
->
stateno
=
(
YYACTIONTYPE
)
yyact
;
yymsp
->
stateno
=
(
YYACTIONTYPE
)
yyact
;
yymsp
->
major
=
(
YYCODETYPE
)
yygoto
;
yymsp
->
major
=
(
YYCODETYPE
)
yygoto
;
yyTraceShift
(
yypParser
,
yyact
,
"... then shift"
);
yyTraceShift
(
yypParser
,
yyact
,
"... then shift"
);
return
yyact
;
}
}
/*
/*
...
@@ -3063,7 +3369,8 @@ static void yy_reduce(
...
@@ -3063,7 +3369,8 @@ static void yy_reduce(
static
void
yy_parse_failed
(
static
void
yy_parse_failed
(
yyParser
*
yypParser
/* The parser */
yyParser
*
yypParser
/* The parser */
){
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFail!
\n
"
,
yyTracePrompt
);
fprintf
(
yyTraceFILE
,
"%sFail!
\n
"
,
yyTracePrompt
);
...
@@ -3074,7 +3381,8 @@ static void yy_parse_failed(
...
@@ -3074,7 +3381,8 @@ static void yy_parse_failed(
** parser fails */
** parser fails */
/************ Begin %parse_failure code ***************************************/
/************ Begin %parse_failure code ***************************************/
/************ End %parse_failure code *****************************************/
/************ End %parse_failure code *****************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
}
}
#endif
/* YYNOERRORRECOVERY */
#endif
/* YYNOERRORRECOVERY */
...
@@ -3086,7 +3394,8 @@ static void yy_syntax_error(
...
@@ -3086,7 +3394,8 @@ static void yy_syntax_error(
int
yymajor
,
/* The major type of the error token */
int
yymajor
,
/* The major type of the error token */
ParseTOKENTYPE
yyminor
/* The minor type of the error token */
ParseTOKENTYPE
yyminor
/* The minor type of the error token */
){
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#define TOKEN yyminor
#define TOKEN yyminor
/************ Begin %syntax_error code ****************************************/
/************ Begin %syntax_error code ****************************************/
...
@@ -3112,7 +3421,8 @@ static void yy_syntax_error(
...
@@ -3112,7 +3421,8 @@ static void yy_syntax_error(
assert
(
len
<=
outputBufLen
);
assert
(
len
<=
outputBufLen
);
/************ End %syntax_error code ******************************************/
/************ End %syntax_error code ******************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
}
}
/*
/*
...
@@ -3121,7 +3431,8 @@ static void yy_syntax_error(
...
@@ -3121,7 +3431,8 @@ static void yy_syntax_error(
static
void
yy_accept
(
static
void
yy_accept
(
yyParser
*
yypParser
/* The parser */
yyParser
*
yypParser
/* The parser */
){
){
ParseARG_FETCH
;
ParseARG_FETCH
ParseCTX_FETCH
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sAccept!
\n
"
,
yyTracePrompt
);
fprintf
(
yyTraceFILE
,
"%sAccept!
\n
"
,
yyTracePrompt
);
...
@@ -3136,7 +3447,8 @@ static void yy_accept(
...
@@ -3136,7 +3447,8 @@ static void yy_accept(
/*********** Begin %parse_accept code *****************************************/
/*********** Begin %parse_accept code *****************************************/
/*********** End %parse_accept code *******************************************/
/*********** End %parse_accept code *******************************************/
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
}
}
/* The main parser program.
/* The main parser program.
...
@@ -3165,45 +3477,47 @@ void Parse(
...
@@ -3165,45 +3477,47 @@ void Parse(
ParseARG_PDECL
/* Optional %extra_argument parameter */
ParseARG_PDECL
/* Optional %extra_argument parameter */
){
){
YYMINORTYPE
yyminorunion
;
YYMINORTYPE
yyminorunion
;
unsigned
int
yyact
;
/* The parser action. */
YYACTIONTYPE
yyact
;
/* The parser action. */
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
int
yyendofinput
;
/* True if we are at the end of input */
int
yyendofinput
;
/* True if we are at the end of input */
#endif
#endif
#ifdef YYERRORSYMBOL
#ifdef YYERRORSYMBOL
int
yyerrorhit
=
0
;
/* True if yymajor has invoked an error */
int
yyerrorhit
=
0
;
/* True if yymajor has invoked an error */
#endif
#endif
yyParser
*
yypParser
;
/* The parser */
yyParser
*
yypParser
=
(
yyParser
*
)
yyp
;
/* The parser */
ParseCTX_FETCH
ParseARG_STORE
yypParser
=
(
yyParser
*
)
yyp
;
assert
(
yypParser
->
yytos
!=
0
);
assert
(
yypParser
->
yytos
!=
0
);
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
yyendofinput
=
(
yymajor
==
0
);
yyendofinput
=
(
yymajor
==
0
);
#endif
#endif
ParseARG_STORE
;
yyact
=
yypParser
->
yytos
->
stateno
;
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyTraceFILE
){
int
stateno
=
yypParser
->
yytos
->
stateno
;
if
(
yyact
<
YY_MIN_REDUCE
){
if
(
stateno
<
YY_MIN_REDUCE
){
fprintf
(
yyTraceFILE
,
"%sInput '%s' in state %d
\n
"
,
fprintf
(
yyTraceFILE
,
"%sInput '%s' in state %d
\n
"
,
yyTracePrompt
,
yyTokenName
[
yymajor
],
stateno
);
yyTracePrompt
,
yyTokenName
[
yymajor
],
yyact
);
}
else
{
}
else
{
fprintf
(
yyTraceFILE
,
"%sInput '%s' with pending reduce %d
\n
"
,
fprintf
(
yyTraceFILE
,
"%sInput '%s' with pending reduce %d
\n
"
,
yyTracePrompt
,
yyTokenName
[
yymajor
],
stateno
-
YY_MIN_REDUCE
);
yyTracePrompt
,
yyTokenName
[
yymajor
],
yyact
-
YY_MIN_REDUCE
);
}
}
}
}
#endif
#endif
do
{
do
{
yyact
=
yy_find_shift_action
(
yypParser
,(
YYCODETYPE
)
yymajor
);
assert
(
yyact
==
yypParser
->
yytos
->
stateno
);
yyact
=
yy_find_shift_action
((
YYCODETYPE
)
yymajor
,
yyact
);
if
(
yyact
>=
YY_MIN_REDUCE
){
if
(
yyact
>=
YY_MIN_REDUCE
){
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
);
yyact
=
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
ParseCTX_PARAM
);
}
else
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
){
}
else
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
){
yy_shift
(
yypParser
,
yyact
,
yymajor
,
yyminor
);
yy_shift
(
yypParser
,
yyact
,
(
YYCODETYPE
)
yymajor
,
yyminor
);
#ifndef YYNOERRORRECOVERY
#ifndef YYNOERRORRECOVERY
yypParser
->
yyerrcnt
--
;
yypParser
->
yyerrcnt
--
;
#endif
#endif
yymajor
=
YYNOCODE
;
break
;
}
else
if
(
yyact
==
YY_ACCEPT_ACTION
){
}
else
if
(
yyact
==
YY_ACCEPT_ACTION
){
yypParser
->
yytos
--
;
yypParser
->
yytos
--
;
yy_accept
(
yypParser
);
yy_accept
(
yypParser
);
...
@@ -3254,10 +3568,9 @@ void Parse(
...
@@ -3254,10 +3568,9 @@ void Parse(
yymajor
=
YYNOCODE
;
yymajor
=
YYNOCODE
;
}
else
{
}
else
{
while
(
yypParser
->
yytos
>=
yypParser
->
yystack
while
(
yypParser
->
yytos
>=
yypParser
->
yystack
&&
yymx
!=
YYERRORSYMBOL
&&
(
yyact
=
yy_find_reduce_action
(
&&
(
yyact
=
yy_find_reduce_action
(
yypParser
->
yytos
->
stateno
,
yypParser
->
yytos
->
stateno
,
YYERRORSYMBOL
))
>
=
YY_MIN_
REDUCE
YYERRORSYMBOL
))
>
YY_MAX_SHIFT
REDUCE
){
){
yy_pop_parser_stack
(
yypParser
);
yy_pop_parser_stack
(
yypParser
);
}
}
...
@@ -3274,6 +3587,8 @@ void Parse(
...
@@ -3274,6 +3587,8 @@ void Parse(
}
}
yypParser
->
yyerrcnt
=
3
;
yypParser
->
yyerrcnt
=
3
;
yyerrorhit
=
1
;
yyerrorhit
=
1
;
if
(
yymajor
==
YYNOCODE
)
break
;
yyact
=
yypParser
->
yytos
->
stateno
;
#elif defined(YYNOERRORRECOVERY)
#elif defined(YYNOERRORRECOVERY)
/* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
/* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
** do any kind of error recovery. Instead, simply invoke the syntax
** do any kind of error recovery. Instead, simply invoke the syntax
...
@@ -3284,8 +3599,7 @@ void Parse(
...
@@ -3284,8 +3599,7 @@ void Parse(
*/
*/
yy_syntax_error
(
yypParser
,
yymajor
,
yyminor
);
yy_syntax_error
(
yypParser
,
yymajor
,
yyminor
);
yy_destructor
(
yypParser
,(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
yy_destructor
(
yypParser
,(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
yymajor
=
YYNOCODE
;
break
;
#else
/* YYERRORSYMBOL is not defined */
#else
/* YYERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR:
/* This is what we do if the grammar does not define ERROR:
**
**
...
@@ -3307,10 +3621,10 @@ void Parse(
...
@@ -3307,10 +3621,10 @@ void Parse(
yypParser
->
yyerrcnt
=
-
1
;
yypParser
->
yyerrcnt
=
-
1
;
#endif
#endif
}
}
yymajor
=
YYNOCODE
;
break
;
#endif
#endif
}
}
}
while
(
yy
major
!=
YYNOCODE
&&
yy
pParser
->
yytos
>
yypParser
->
yystack
);
}
while
(
yypParser
->
yytos
>
yypParser
->
yystack
);
#ifndef NDEBUG
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyTraceFILE
){
yyStackEntry
*
i
;
yyStackEntry
*
i
;
...
@@ -3325,3 +3639,17 @@ void Parse(
...
@@ -3325,3 +3639,17 @@ void Parse(
#endif
#endif
return
;
return
;
}
}
/*
** Return the fallback token corresponding to canonical token iToken, or
** 0 if iToken has no fallback.
*/
int
ParseFallback
(
int
iToken
){
#ifdef YYFALLBACK
assert
(
iToken
<
(
int
)(
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
]))
);
return
yyFallback
[
iToken
];
#else
(
void
)
iToken
;
return
0
;
#endif
}
tests/script/general/parser/create_tb_with_tag_name.sim
0 → 100644
浏览文件 @
67671328
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/cfg.sh -n dnode1 -c walLevel -v 0
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 2
system sh/exec.sh -n dnode1 -s start
sleep 100
sql connect
print ======================== dnode1 start
$db = testdb
sql create database $db
sql use $db
sql create stable st2 (ts timestamp, f1 int) tags (id int, t1 int, t2 nchar(4), t3 double)
sql insert into tb1 using st2 (id, t1) tags(1,2) values (now, 1)
sql select id,t1,t2,t3 from tb1
if $rows != 1 then
return -1
endi
if $data00 != 1 then
return -1
endi
if $data01 != 2 then
return -1
endi
if $data02 != NULL then
return -1
endi
if $data03 != NULL then
return -1
endi
sql create table tb2 using st2 (t2,t3) tags ("12",22.0)
sql select id,t1,t2,t3 from tb2;
if $rows != 1 then
return -1
endi
if $data00 != NULL then
return -1
endi
if $data01 != NULL then
return -1
endi
if $data02 != 12 then
return -1
endi
if $data03 != 22.000000000 then
return -1
endi
sql create table tb3 using st2 tags (1,2,"3",33.0);
sql select id,t1,t2,t3 from tb3;
if $rows != 1 then
return -1
endi
if $data00 != 1 then
return -1
endi
if $data01 != 2 then
return -1
endi
if $data02 != 3 then
return -1
endi
if $data03 != 33.000000000 then
return -1
endi
sql insert into tb4 using st2 tags(1,2,"33",44.0) values (now, 1);
sql select id,t1,t2,t3 from tb4;
if $rows != 1 then
return -1
endi
if $data00 != 1 then
return -1
endi
if $data01 != 2 then
return -1
endi
if $data02 != 33 then
return -1
endi
if $data03 != 44.000000000 then
return -1
endi
sql_error create table tb5 using st2() tags (3,3,"3",33.0);
sql_error create table tb6 using st2 (id,t1) tags (3,3,"3",33.0);
sql_error create table tb7 using st2 (id,t1) tags (3);
sql_error create table tb8 using st2 (ide) tags (3);
sql_error create table tb9 using st2 (id);
sql_error create table tb10 using st2 (id t1) tags (1,1);
sql_error create table tb10 using st2 (id,,t1) tags (1,1,1);
sql_error create table tb11 using st2 (id,t1,) tags (1,1,1);
sql create table tb12 using st2 (t1,id) tags (2,1);
sql select id,t1,t2,t3 from tb12;
if $rows != 1 then
return -1
endi
if $data00 != 1 then
return -1
endi
if $data01 != 2 then
return -1
endi
if $data02 != NULL then
return -1
endi
if $data03 != NULL then
return -1
endi
sql create table tb13 using st2 ("t1",'id') tags (2,1);
sql select id,t1,t2,t3 from tb13;
if $rows != 1 then
return -1
endi
if $data00 != 1 then
return -1
endi
if $data01 != 2 then
return -1
endi
if $data02 != NULL then
return -1
endi
if $data03 != NULL then
return -1
endi
system sh/exec.sh -n dnode1 -s stop -x SIGINT
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录