Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
149a0d54
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看板
提交
149a0d54
编写于
6月 03, 2021
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support udf with subquery
上级
37b1ced5
变更
13
显示空白变更内容
内联
并排
Showing
13 changed file
with
1486 addition
and
970 deletion
+1486
-970
src/client/inc/tscUtil.h
src/client/inc/tscUtil.h
+1
-1
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+56
-12
src/client/src/tscServer.c
src/client/src/tscServer.c
+51
-6
src/client/src/tscSql.c
src/client/src/tscSql.c
+1
-1
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+10
-1
src/inc/taosmsg.h
src/inc/taosmsg.h
+2
-0
src/inc/ttokendef.h
src/inc/ttokendef.h
+3
-0
src/mnode/src/mnodeTable.c
src/mnode/src/mnodeTable.c
+71
-6
src/query/inc/qSqlparser.h
src/query/inc/qSqlparser.h
+2
-0
src/query/inc/qTableMeta.h
src/query/inc/qTableMeta.h
+2
-0
src/query/inc/sql.y
src/query/inc/sql.y
+2
-2
src/query/src/qSqlParser.c
src/query/src/qSqlParser.c
+14
-0
src/query/src/sql.c
src/query/src/sql.c
+1271
-941
未找到文件。
src/client/inc/tscUtil.h
浏览文件 @
149a0d54
...
@@ -309,7 +309,7 @@ void tscTryQueryNextVnode(SSqlObj *pSql, __async_cb_func_t fp);
...
@@ -309,7 +309,7 @@ void tscTryQueryNextVnode(SSqlObj *pSql, __async_cb_func_t fp);
void
tscAsyncQuerySingleRowForNextVnode
(
void
*
param
,
TAOS_RES
*
tres
,
int
numOfRows
);
void
tscAsyncQuerySingleRowForNextVnode
(
void
*
param
,
TAOS_RES
*
tres
,
int
numOfRows
);
void
tscTryQueryNextClause
(
SSqlObj
*
pSql
,
__async_cb_func_t
fp
);
void
tscTryQueryNextClause
(
SSqlObj
*
pSql
,
__async_cb_func_t
fp
);
int
tscSetMgmtEpSetFromCfg
(
const
char
*
first
,
const
char
*
second
,
SRpcCorEpSet
*
corEpSet
);
int
tscSetMgmtEpSetFromCfg
(
const
char
*
first
,
const
char
*
second
,
SRpcCorEpSet
*
corEpSet
);
int32_t
getMultiTableMetaFromMnode
(
SSqlObj
*
pSql
,
SArray
*
pNameList
,
SArray
*
pVgroupNameList
,
__async_cb_func_t
fp
);
int32_t
getMultiTableMetaFromMnode
(
SSqlObj
*
pSql
,
SArray
*
pNameList
,
SArray
*
pVgroupNameList
,
SArray
*
pUdfList
,
__async_cb_func_t
fp
);
int
tscTransferTableNameList
(
SSqlObj
*
pSql
,
const
char
*
pNameList
,
int32_t
length
,
SArray
*
pNameArray
);
int
tscTransferTableNameList
(
SSqlObj
*
pSql
,
const
char
*
pNameList
,
int32_t
length
,
SArray
*
pNameArray
);
...
...
src/client/src/tscSQLParser.c
浏览文件 @
149a0d54
...
@@ -804,7 +804,15 @@ int32_t tscValidateSqlInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
...
@@ -804,7 +804,15 @@ int32_t tscValidateSqlInfo(SSqlObj* pSql, struct SSqlInfo* pInfo) {
return
code
;
return
code
;
}
}
SArray
*
pUdfInfo
=
NULL
;
if
(
pQueryInfo
->
pUdfInfo
)
{
pUdfInfo
=
taosArrayDup
(
pQueryInfo
->
pUdfInfo
);
}
pQueryInfo
=
pCmd
->
active
;
pQueryInfo
=
pCmd
->
active
;
pQueryInfo
->
pUdfInfo
=
pUdfInfo
;
pQueryInfo
->
udfCopy
=
true
;
}
}
}
}
...
@@ -1865,6 +1873,7 @@ void genUdfList(SArray* pUdfInfo, tSqlExpr *pNode) {
...
@@ -1865,6 +1873,7 @@ void genUdfList(SArray* pUdfInfo, tSqlExpr *pNode) {
}
}
}
}
/*
static int32_t checkForUdf(SSqlObj* pSql, SQueryInfo* pQueryInfo, SArray* pSelection) {
static int32_t checkForUdf(SSqlObj* pSql, SQueryInfo* pQueryInfo, SArray* pSelection) {
if (pQueryInfo->pUdfInfo != NULL) {
if (pQueryInfo->pUdfInfo != NULL) {
return TSDB_CODE_SUCCESS;
return TSDB_CODE_SUCCESS;
...
@@ -1889,6 +1898,7 @@ static int32_t checkForUdf(SSqlObj* pSql, SQueryInfo* pQueryInfo, SArray* pSelec
...
@@ -1889,6 +1898,7 @@ static int32_t checkForUdf(SSqlObj* pSql, SQueryInfo* pQueryInfo, SArray* pSelec
return TSDB_CODE_SUCCESS;
return TSDB_CODE_SUCCESS;
}
}
}
}
*/
static
SUdfInfo
*
isValidUdf
(
SArray
*
pUdfInfo
,
const
char
*
name
,
int32_t
len
)
{
static
SUdfInfo
*
isValidUdf
(
SArray
*
pUdfInfo
,
const
char
*
name
,
int32_t
len
)
{
size_t
t
=
taosArrayGetSize
(
pUdfInfo
);
size_t
t
=
taosArrayGetSize
(
pUdfInfo
);
...
@@ -7119,11 +7129,6 @@ int32_t doCheckForStream(SSqlObj* pSql, SSqlInfo* pInfo) {
...
@@ -7119,11 +7129,6 @@ int32_t doCheckForStream(SSqlObj* pSql, SSqlInfo* pInfo) {
return
code
;
return
code
;
}
}
code
=
checkForUdf
(
pSql
,
pQueryInfo
,
pSqlNode
->
pSelNodeList
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
bool
isSTable
=
UTIL_TABLE_IS_SUPER_TABLE
(
pTableMetaInfo
);
bool
isSTable
=
UTIL_TABLE_IS_SUPER_TABLE
(
pTableMetaInfo
);
if
(
validateSelectNodeList
(
&
pSql
->
cmd
,
pQueryInfo
,
pSqlNode
->
pSelNodeList
,
isSTable
,
false
,
false
)
!=
TSDB_CODE_SUCCESS
)
{
if
(
validateSelectNodeList
(
&
pSql
->
cmd
,
pQueryInfo
,
pSqlNode
->
pSelNodeList
,
isSTable
,
false
,
false
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
return
TSDB_CODE_TSC_INVALID_OPERATION
;
...
@@ -7564,6 +7569,7 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
...
@@ -7564,6 +7569,7 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
SArray
*
pVgroupList
=
NULL
;
SArray
*
pVgroupList
=
NULL
;
SArray
*
plist
=
NULL
;
SArray
*
plist
=
NULL
;
STableMeta
*
pTableMeta
=
NULL
;
STableMeta
*
pTableMeta
=
NULL
;
SQueryInfo
*
pQueryInfo
=
tscGetQueryInfo
(
pCmd
);
pCmd
->
pTableMetaMap
=
taosHashInit
(
4
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_BINARY
),
false
,
HASH_NO_LOCK
);
pCmd
->
pTableMetaMap
=
taosHashInit
(
4
,
taosGetDefaultHashFunction
(
TSDB_DATA_TYPE_BINARY
),
false
,
HASH_NO_LOCK
);
...
@@ -7636,9 +7642,44 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
...
@@ -7636,9 +7642,44 @@ int32_t loadAllTableMeta(SSqlObj* pSql, struct SSqlInfo* pInfo) {
}
}
}
}
size_t
funcSize
=
0
;
if
(
pInfo
->
funcs
)
{
funcSize
=
taosArrayGetSize
(
pInfo
->
funcs
);
}
if
(
funcSize
>
0
)
{
for
(
size_t
i
=
0
;
i
<
funcSize
;
++
i
)
{
SStrToken
*
t
=
taosArrayGet
(
pInfo
->
funcs
,
i
);
if
(
NULL
==
t
)
{
continue
;
}
if
(
t
->
n
>=
TSDB_FUNC_NAME_LEN
)
{
code
=
tscSQLSyntaxErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
"too long function name"
,
t
->
z
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
goto
_end
;
}
}
int32_t
functionId
=
isValidFunction
(
t
->
z
,
t
->
n
);
if
(
functionId
<
0
)
{
struct
SUdfInfo
info
=
{
0
};
info
.
name
=
strndup
(
t
->
z
,
t
->
n
);
if
(
pQueryInfo
->
pUdfInfo
==
NULL
)
{
pQueryInfo
->
pUdfInfo
=
taosArrayInit
(
4
,
sizeof
(
struct
SUdfInfo
));
}
int32_t
functionId
=
(
int32_t
)
taosArrayGetSize
(
pQueryInfo
->
pUdfInfo
)
*
(
-
1
)
-
1
;
info
.
functionId
=
functionId
;
taosArrayPush
(
pQueryInfo
->
pUdfInfo
,
&
info
);
}
}
}
// load the table meta for a given table name list
// load the table meta for a given table name list
if
(
taosArrayGetSize
(
plist
)
>
0
||
taosArrayGetSize
(
pVgroupList
)
>
0
)
{
if
(
taosArrayGetSize
(
plist
)
>
0
||
taosArrayGetSize
(
pVgroupList
)
>
0
||
(
pQueryInfo
->
pUdfInfo
&&
taosArrayGetSize
(
pQueryInfo
->
pUdfInfo
)
>
0
)
)
{
code
=
getMultiTableMetaFromMnode
(
pSql
,
plist
,
pVgroupList
,
tscTableMetaCallBack
);
code
=
getMultiTableMetaFromMnode
(
pSql
,
plist
,
pVgroupList
,
pQueryInfo
->
pUdfInfo
,
tscTableMetaCallBack
);
}
}
_end:
_end:
...
@@ -7763,6 +7804,14 @@ static int32_t doValidateSubquery(SSqlNode* pSqlNode, int32_t index, SSqlObj* pS
...
@@ -7763,6 +7804,14 @@ static int32_t doValidateSubquery(SSqlNode* pSqlNode, int32_t index, SSqlObj* pS
SQueryInfo
*
pSub
=
calloc
(
1
,
sizeof
(
SQueryInfo
));
SQueryInfo
*
pSub
=
calloc
(
1
,
sizeof
(
SQueryInfo
));
tscInitQueryInfo
(
pSub
);
tscInitQueryInfo
(
pSub
);
SArray
*
pUdfInfo
=
NULL
;
if
(
pQueryInfo
->
pUdfInfo
)
{
pUdfInfo
=
taosArrayDup
(
pQueryInfo
->
pUdfInfo
);
}
pSub
->
pUdfInfo
=
pUdfInfo
;
pSub
->
udfCopy
=
true
;
int32_t
code
=
validateSqlNode
(
pSql
,
p
,
pSub
);
int32_t
code
=
validateSqlNode
(
pSql
,
p
,
pSub
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
return
code
;
...
@@ -7911,11 +7960,6 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
...
@@ -7911,11 +7960,6 @@ int32_t validateSqlNode(SSqlObj* pSql, SSqlNode* pSqlNode, SQueryInfo* pQueryInf
int32_t
type
=
isSTable
?
TSDB_QUERY_TYPE_STABLE_QUERY
:
TSDB_QUERY_TYPE_TABLE_QUERY
;
int32_t
type
=
isSTable
?
TSDB_QUERY_TYPE_STABLE_QUERY
:
TSDB_QUERY_TYPE_TABLE_QUERY
;
TSDB_QUERY_SET_TYPE
(
pQueryInfo
->
type
,
type
);
TSDB_QUERY_SET_TYPE
(
pQueryInfo
->
type
,
type
);
code
=
checkForUdf
(
pSql
,
pQueryInfo
,
pSqlNode
->
pSelNodeList
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
// parse the group by clause in the first place
// parse the group by clause in the first place
if
(
validateGroupbyNode
(
pQueryInfo
,
pSqlNode
->
pGroupby
,
pCmd
)
!=
TSDB_CODE_SUCCESS
)
{
if
(
validateGroupbyNode
(
pQueryInfo
,
pSqlNode
->
pGroupby
,
pCmd
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
return
TSDB_CODE_TSC_INVALID_OPERATION
;
...
...
src/client/src/tscServer.c
浏览文件 @
149a0d54
...
@@ -2090,6 +2090,7 @@ int tscProcessMultiTableMetaRsp(SSqlObj *pSql) {
...
@@ -2090,6 +2090,7 @@ int tscProcessMultiTableMetaRsp(SSqlObj *pSql) {
SMultiTableMeta
*
pMultiMeta
=
(
SMultiTableMeta
*
)
rsp
;
SMultiTableMeta
*
pMultiMeta
=
(
SMultiTableMeta
*
)
rsp
;
pMultiMeta
->
numOfTables
=
htonl
(
pMultiMeta
->
numOfTables
);
pMultiMeta
->
numOfTables
=
htonl
(
pMultiMeta
->
numOfTables
);
pMultiMeta
->
numOfVgroup
=
htonl
(
pMultiMeta
->
numOfVgroup
);
pMultiMeta
->
numOfVgroup
=
htonl
(
pMultiMeta
->
numOfVgroup
);
pMultiMeta
->
numOfUdf
=
htonl
(
pMultiMeta
->
numOfUdf
);
rsp
+=
sizeof
(
SMultiTableMeta
);
rsp
+=
sizeof
(
SMultiTableMeta
);
...
@@ -2160,6 +2161,37 @@ int tscProcessMultiTableMetaRsp(SSqlObj *pSql) {
...
@@ -2160,6 +2161,37 @@ int tscProcessMultiTableMetaRsp(SSqlObj *pSql) {
pMsg
+=
size
;
pMsg
+=
size
;
}
}
SQueryInfo
*
pQueryInfo
=
tscGetQueryInfo
(
pParentCmd
);
if
(
pMultiMeta
->
numOfUdf
>
0
)
{
assert
(
pQueryInfo
->
pUdfInfo
!=
NULL
);
}
for
(
int32_t
i
=
0
;
i
<
pMultiMeta
->
numOfUdf
;
++
i
)
{
SFunctionInfoMsg
*
pFunc
=
(
SFunctionInfoMsg
*
)
pMsg
;
for
(
int32_t
j
=
0
;
j
<
pMultiMeta
->
numOfUdf
;
++
j
)
{
SUdfInfo
*
pUdfInfo
=
taosArrayGet
(
pQueryInfo
->
pUdfInfo
,
j
);
if
(
strcmp
(
pUdfInfo
->
name
,
pFunc
->
name
)
!=
0
)
{
continue
;
}
if
(
pUdfInfo
->
content
)
{
continue
;
}
pUdfInfo
->
resBytes
=
htons
(
pFunc
->
resBytes
);
pUdfInfo
->
resType
=
pFunc
->
resType
;
pUdfInfo
->
funcType
=
htonl
(
pFunc
->
funcType
);
pUdfInfo
->
contLen
=
htonl
(
pFunc
->
len
);
pUdfInfo
->
bufSize
=
htonl
(
pFunc
->
bufSize
);
pUdfInfo
->
content
=
malloc
(
pUdfInfo
->
contLen
);
memcpy
(
pUdfInfo
->
content
,
pFunc
->
content
,
pUdfInfo
->
contLen
);
pMsg
+=
sizeof
(
SFunctionInfoMsg
)
+
pUdfInfo
->
contLen
;
}
}
pSql
->
res
.
code
=
TSDB_CODE_SUCCESS
;
pSql
->
res
.
code
=
TSDB_CODE_SUCCESS
;
pSql
->
res
.
numOfTotal
=
pMultiMeta
->
numOfTables
;
pSql
->
res
.
numOfTotal
=
pMultiMeta
->
numOfTables
;
tscDebug
(
"0x%"
PRIx64
" load multi-tableMeta from mnode, numOfTables:%d"
,
pSql
->
self
,
pMultiMeta
->
numOfTables
);
tscDebug
(
"0x%"
PRIx64
" load multi-tableMeta from mnode, numOfTables:%d"
,
pSql
->
self
,
pMultiMeta
->
numOfTables
);
...
@@ -2543,7 +2575,7 @@ static int32_t getTableMetaFromMnode(SSqlObj *pSql, STableMetaInfo *pTableMetaIn
...
@@ -2543,7 +2575,7 @@ static int32_t getTableMetaFromMnode(SSqlObj *pSql, STableMetaInfo *pTableMetaIn
return
code
;
return
code
;
}
}
int32_t
getMultiTableMetaFromMnode
(
SSqlObj
*
pSql
,
SArray
*
pNameList
,
SArray
*
pVgroupNameList
,
__async_cb_func_t
fp
)
{
int32_t
getMultiTableMetaFromMnode
(
SSqlObj
*
pSql
,
SArray
*
pNameList
,
SArray
*
pVgroupNameList
,
SArray
*
pUdfList
,
__async_cb_func_t
fp
)
{
SSqlObj
*
pNew
=
calloc
(
1
,
sizeof
(
SSqlObj
));
SSqlObj
*
pNew
=
calloc
(
1
,
sizeof
(
SSqlObj
));
if
(
NULL
==
pNew
)
{
if
(
NULL
==
pNew
)
{
tscError
(
"0x%"
PRIx64
" failed to allocate sqlobj to get multiple table meta"
,
pSql
->
self
);
tscError
(
"0x%"
PRIx64
" failed to allocate sqlobj to get multiple table meta"
,
pSql
->
self
);
...
@@ -2556,8 +2588,9 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
...
@@ -2556,8 +2588,9 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
int32_t
numOfTable
=
(
int32_t
)
taosArrayGetSize
(
pNameList
);
int32_t
numOfTable
=
(
int32_t
)
taosArrayGetSize
(
pNameList
);
int32_t
numOfVgroupList
=
(
int32_t
)
taosArrayGetSize
(
pVgroupNameList
);
int32_t
numOfVgroupList
=
(
int32_t
)
taosArrayGetSize
(
pVgroupNameList
);
int32_t
numOfUdf
=
pUdfList
?
taosArrayGetSize
(
pUdfList
)
:
0
;
int32_t
size
=
(
numOfTable
+
numOfVgroupList
)
*
TSDB_TABLE_FNAME_LEN
+
sizeof
(
SMultiTableInfoMsg
);
int32_t
size
=
(
numOfTable
+
numOfVgroupList
)
*
TSDB_TABLE_FNAME_LEN
+
TSDB_FUNC_NAME_LEN
*
numOfUdf
+
sizeof
(
SMultiTableInfoMsg
);
if
(
TSDB_CODE_SUCCESS
!=
tscAllocPayload
(
&
pNew
->
cmd
,
size
))
{
if
(
TSDB_CODE_SUCCESS
!=
tscAllocPayload
(
&
pNew
->
cmd
,
size
))
{
tscError
(
"0x%"
PRIx64
" malloc failed for payload to get table meta"
,
pSql
->
self
);
tscError
(
"0x%"
PRIx64
" malloc failed for payload to get table meta"
,
pSql
->
self
);
tscFreeSqlObj
(
pNew
);
tscFreeSqlObj
(
pNew
);
...
@@ -2567,12 +2600,13 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
...
@@ -2567,12 +2600,13 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
SMultiTableInfoMsg
*
pInfo
=
(
SMultiTableInfoMsg
*
)
pNew
->
cmd
.
payload
;
SMultiTableInfoMsg
*
pInfo
=
(
SMultiTableInfoMsg
*
)
pNew
->
cmd
.
payload
;
pInfo
->
numOfTables
=
htonl
((
uint32_t
)
taosArrayGetSize
(
pNameList
));
pInfo
->
numOfTables
=
htonl
((
uint32_t
)
taosArrayGetSize
(
pNameList
));
pInfo
->
numOfVgroups
=
htonl
((
uint32_t
)
taosArrayGetSize
(
pVgroupNameList
));
pInfo
->
numOfVgroups
=
htonl
((
uint32_t
)
taosArrayGetSize
(
pVgroupNameList
));
pInfo
->
numOfUdfs
=
htonl
(
numOfUdf
);
char
*
start
=
pInfo
->
tableNames
;
char
*
start
=
pInfo
->
tableNames
;
int32_t
len
=
0
;
int32_t
len
=
0
;
for
(
int32_t
i
=
0
;
i
<
numOfTable
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
numOfTable
;
++
i
)
{
char
*
name
=
taosArrayGetP
(
pNameList
,
i
);
char
*
name
=
taosArrayGetP
(
pNameList
,
i
);
if
(
i
<
numOfTable
-
1
||
numOfVgroupList
>
0
)
{
if
(
i
<
numOfTable
-
1
||
numOfVgroupList
>
0
||
numOfUdf
>
0
)
{
len
=
sprintf
(
start
,
"%s,"
,
name
);
len
=
sprintf
(
start
,
"%s,"
,
name
);
}
else
{
}
else
{
len
=
sprintf
(
start
,
"%s"
,
name
);
len
=
sprintf
(
start
,
"%s"
,
name
);
...
@@ -2583,7 +2617,7 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
...
@@ -2583,7 +2617,7 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
for
(
int32_t
i
=
0
;
i
<
numOfVgroupList
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
numOfVgroupList
;
++
i
)
{
char
*
name
=
taosArrayGetP
(
pVgroupNameList
,
i
);
char
*
name
=
taosArrayGetP
(
pVgroupNameList
,
i
);
if
(
i
<
numOfVgroupList
-
1
)
{
if
(
i
<
numOfVgroupList
-
1
||
numOfUdf
>
0
)
{
len
=
sprintf
(
start
,
"%s,"
,
name
);
len
=
sprintf
(
start
,
"%s,"
,
name
);
}
else
{
}
else
{
len
=
sprintf
(
start
,
"%s"
,
name
);
len
=
sprintf
(
start
,
"%s"
,
name
);
...
@@ -2592,12 +2626,23 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
...
@@ -2592,12 +2626,23 @@ int32_t getMultiTableMetaFromMnode(SSqlObj *pSql, SArray* pNameList, SArray* pVg
start
+=
len
;
start
+=
len
;
}
}
for
(
int32_t
i
=
0
;
i
<
numOfUdf
;
++
i
)
{
SUdfInfo
*
u
=
taosArrayGet
(
pUdfList
,
i
);
if
(
i
<
numOfUdf
-
1
)
{
len
=
sprintf
(
start
,
"%s,"
,
u
->
name
);
}
else
{
len
=
sprintf
(
start
,
"%s"
,
u
->
name
);
}
start
+=
len
;
}
pNew
->
cmd
.
payloadLen
=
(
int32_t
)
((
start
-
pInfo
->
tableNames
)
+
sizeof
(
SMultiTableInfoMsg
));
pNew
->
cmd
.
payloadLen
=
(
int32_t
)
((
start
-
pInfo
->
tableNames
)
+
sizeof
(
SMultiTableInfoMsg
));
pNew
->
cmd
.
msgType
=
TSDB_MSG_TYPE_CM_TABLES_META
;
pNew
->
cmd
.
msgType
=
TSDB_MSG_TYPE_CM_TABLES_META
;
registerSqlObj
(
pNew
);
registerSqlObj
(
pNew
);
tscDebug
(
"0x%"
PRIx64
" new pSqlObj:0x%"
PRIx64
" to get %d tableMeta, vgroupInfo:%d, msg size:%d"
,
pSql
->
self
,
tscDebug
(
"0x%"
PRIx64
" new pSqlObj:0x%"
PRIx64
" to get %d tableMeta, vgroupInfo:%d,
udf:%d,
msg size:%d"
,
pSql
->
self
,
pNew
->
self
,
numOfTable
,
numOfVgroupList
,
pNew
->
cmd
.
payloadLen
);
pNew
->
self
,
numOfTable
,
numOfVgroupList
,
numOfUdf
,
pNew
->
cmd
.
payloadLen
);
pNew
->
fp
=
fp
;
pNew
->
fp
=
fp
;
pNew
->
param
=
(
void
*
)
pSql
->
self
;
pNew
->
param
=
(
void
*
)
pSql
->
self
;
...
...
src/client/src/tscSql.c
浏览文件 @
149a0d54
...
@@ -981,7 +981,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
...
@@ -981,7 +981,7 @@ int taos_load_table_info(TAOS *taos, const char *tableNameList) {
registerSqlObj
(
pSql
);
registerSqlObj
(
pSql
);
tscDebug
(
"0x%"
PRIx64
" load multiple table meta, tableNameList: %s pObj:%p"
,
pSql
->
self
,
tableNameList
,
pObj
);
tscDebug
(
"0x%"
PRIx64
" load multiple table meta, tableNameList: %s pObj:%p"
,
pSql
->
self
,
tableNameList
,
pObj
);
code
=
getMultiTableMetaFromMnode
(
pSql
,
plist
,
vgroupList
,
loadMultiTableMetaCallback
);
code
=
getMultiTableMetaFromMnode
(
pSql
,
plist
,
vgroupList
,
NULL
,
loadMultiTableMetaCallback
);
if
(
code
==
TSDB_CODE_TSC_ACTION_IN_PROGRESS
)
{
if
(
code
==
TSDB_CODE_TSC_ACTION_IN_PROGRESS
)
{
code
=
TSDB_CODE_SUCCESS
;
code
=
TSDB_CODE_SUCCESS
;
}
}
...
...
src/client/src/tscUtil.c
浏览文件 @
149a0d54
...
@@ -1265,7 +1265,7 @@ void tscFreeQueryInfo(SSqlCmd* pCmd, bool removeMeta) {
...
@@ -1265,7 +1265,7 @@ void tscFreeQueryInfo(SSqlCmd* pCmd, bool removeMeta) {
tfree
(
pUpQueryInfo
);
tfree
(
pUpQueryInfo
);
}
}
if
(
p
Cmd
->
subCmd
)
{
if
(
p
QueryInfo
->
udfCopy
)
{
pQueryInfo
->
pUdfInfo
=
taosArrayDestroy
(
pQueryInfo
->
pUdfInfo
);
pQueryInfo
->
pUdfInfo
=
taosArrayDestroy
(
pQueryInfo
->
pUdfInfo
);
}
else
{
}
else
{
pQueryInfo
->
pUdfInfo
=
tscDestroyUdfArrayList
(
pQueryInfo
->
pUdfInfo
);
pQueryInfo
->
pUdfInfo
=
tscDestroyUdfArrayList
(
pQueryInfo
->
pUdfInfo
);
...
@@ -3045,6 +3045,14 @@ int32_t tscQueryInfoCopy(SQueryInfo* pQueryInfo, const SQueryInfo* pSrc) {
...
@@ -3045,6 +3045,14 @@ int32_t tscQueryInfoCopy(SQueryInfo* pQueryInfo, const SQueryInfo* pSrc) {
tscAddTableMetaInfo
(
pQueryInfo
,
&
p1
->
name
,
pMeta
,
p1
->
vgroupList
,
p1
->
tagColList
,
p1
->
pVgroupTables
);
tscAddTableMetaInfo
(
pQueryInfo
,
&
p1
->
name
,
pMeta
,
p1
->
vgroupList
,
p1
->
tagColList
,
p1
->
pVgroupTables
);
}
}
SArray
*
pUdfInfo
=
NULL
;
if
(
pSrc
->
pUdfInfo
)
{
pUdfInfo
=
taosArrayDup
(
pSrc
->
pUdfInfo
);
}
pQueryInfo
->
pUdfInfo
=
pUdfInfo
;
pQueryInfo
->
udfCopy
=
true
;
_error:
_error:
return
code
;
return
code
;
}
}
...
@@ -3345,6 +3353,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, __async_cb_func_t
...
@@ -3345,6 +3353,7 @@ SSqlObj* createSubqueryObj(SSqlObj* pSql, int16_t tableIndex, __async_cb_func_t
if
(
pQueryInfo
->
pUdfInfo
)
{
if
(
pQueryInfo
->
pUdfInfo
)
{
pNewQueryInfo
->
pUdfInfo
=
taosArrayDup
(
pQueryInfo
->
pUdfInfo
);
pNewQueryInfo
->
pUdfInfo
=
taosArrayDup
(
pQueryInfo
->
pUdfInfo
);
pNewQueryInfo
->
udfCopy
=
true
;
}
}
pNewQueryInfo
->
command
=
pQueryInfo
->
command
;
pNewQueryInfo
->
command
=
pQueryInfo
->
command
;
...
...
src/inc/taosmsg.h
浏览文件 @
149a0d54
...
@@ -749,6 +749,7 @@ typedef struct {
...
@@ -749,6 +749,7 @@ typedef struct {
typedef
struct
{
typedef
struct
{
int32_t
numOfVgroups
;
int32_t
numOfVgroups
;
int32_t
numOfTables
;
int32_t
numOfTables
;
int32_t
numOfUdfs
;
char
tableNames
[];
char
tableNames
[];
}
SMultiTableInfoMsg
;
}
SMultiTableInfoMsg
;
...
@@ -799,6 +800,7 @@ typedef struct STableMetaMsg {
...
@@ -799,6 +800,7 @@ typedef struct STableMetaMsg {
typedef
struct
SMultiTableMeta
{
typedef
struct
SMultiTableMeta
{
int32_t
numOfTables
;
int32_t
numOfTables
;
int32_t
numOfVgroup
;
int32_t
numOfVgroup
;
int32_t
numOfUdf
;
int32_t
contLen
;
int32_t
contLen
;
char
meta
[];
char
meta
[];
}
SMultiTableMeta
;
}
SMultiTableMeta
;
...
...
src/inc/ttokendef.h
浏览文件 @
149a0d54
...
@@ -210,6 +210,9 @@
...
@@ -210,6 +210,9 @@
#define TK_INTO 191
#define TK_INTO 191
#define TK_VALUES 192
#define TK_VALUES 192
#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/mnode/src/mnodeTable.c
浏览文件 @
149a0d54
...
@@ -42,6 +42,7 @@
...
@@ -42,6 +42,7 @@
#include "mnodeWrite.h"
#include "mnodeWrite.h"
#include "mnodeRead.h"
#include "mnodeRead.h"
#include "mnodePeer.h"
#include "mnodePeer.h"
#include "mnodeFunc.h"
#define ALTER_CTABLE_RETRY_TIMES 3
#define ALTER_CTABLE_RETRY_TIMES 3
#define CREATE_CTABLE_RETRY_TIMES 10
#define CREATE_CTABLE_RETRY_TIMES 10
...
@@ -2842,11 +2843,30 @@ static void mnodeProcessAlterTableRsp(SRpcMsg *rpcMsg) {
...
@@ -2842,11 +2843,30 @@ static void mnodeProcessAlterTableRsp(SRpcMsg *rpcMsg) {
}
}
}
}
static
int32_t
calculateMultipleVgroupMsgLength
(
SArray
*
vlist
)
{
int32_t
contLen
=
0
;
int32_t
numOfTable
=
taosArrayGetSize
(
vlist
);
for
(
int32_t
i
=
0
;
i
<
numOfTable
;
++
i
)
{
char
*
stableName
=
taosArrayGetP
(
vlist
,
i
);
SSTableObj
*
pTable
=
mnodeGetSuperTable
(
stableName
);
if
(
pTable
!=
NULL
&&
pTable
->
vgHash
!=
NULL
)
{
contLen
+=
TSDB_TABLE_NAME_LEN
+
(
taosHashGetSize
(
pTable
->
vgHash
)
*
sizeof
(
SVgroupMsg
)
+
sizeof
(
SVgroupsMsg
));
}
mnodeDecTableRef
(
pTable
);
}
return
contLen
;
}
static
int32_t
mnodeProcessMultiTableMetaMsg
(
SMnodeMsg
*
pMsg
)
{
static
int32_t
mnodeProcessMultiTableMetaMsg
(
SMnodeMsg
*
pMsg
)
{
SMultiTableInfoMsg
*
pInfo
=
pMsg
->
rpcMsg
.
pCont
;
SMultiTableInfoMsg
*
pInfo
=
pMsg
->
rpcMsg
.
pCont
;
pInfo
->
numOfTables
=
htonl
(
pInfo
->
numOfTables
);
pInfo
->
numOfTables
=
htonl
(
pInfo
->
numOfTables
);
pInfo
->
numOfVgroups
=
htonl
(
pInfo
->
numOfVgroups
);
pInfo
->
numOfVgroups
=
htonl
(
pInfo
->
numOfVgroups
);
pInfo
->
numOfUdfs
=
htonl
(
pInfo
->
numOfUdfs
);
int32_t
contLen
=
pMsg
->
rpcMsg
.
contLen
-
sizeof
(
SMultiTableInfoMsg
);
int32_t
contLen
=
pMsg
->
rpcMsg
.
contLen
-
sizeof
(
SMultiTableInfoMsg
);
...
@@ -2857,14 +2877,14 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
...
@@ -2857,14 +2877,14 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
SArray
*
pList
=
taosArrayInit
(
4
,
POINTER_BYTES
);
SArray
*
pList
=
taosArrayInit
(
4
,
POINTER_BYTES
);
SMultiTableMeta
*
pMultiMeta
=
NULL
;
SMultiTableMeta
*
pMultiMeta
=
NULL
;
if
(
num
!=
pInfo
->
numOfTables
+
pInfo
->
numOfVgroups
)
{
if
(
num
!=
pInfo
->
numOfTables
+
pInfo
->
numOfVgroups
+
pInfo
->
numOfUdfs
)
{
mError
(
"msg:%p, app:%p, failed to get multi-tableMeta, msg inconsistent"
,
pMsg
,
pMsg
->
rpcMsg
.
ahandle
);
mError
(
"msg:%p, app:%p, failed to get multi-tableMeta, msg inconsistent"
,
pMsg
,
pMsg
->
rpcMsg
.
ahandle
);
code
=
TSDB_CODE_MND_INVALID_TABLE_NAME
;
code
=
TSDB_CODE_MND_INVALID_TABLE_NAME
;
goto
_end
;
goto
_end
;
}
}
// first malloc 80KB, subsequent reallocation will expand the size as twice of the original size
// first malloc 80KB, subsequent reallocation will expand the size as twice of the original size
int32_t
totalMallocLen
=
sizeof
(
STableMetaMsg
)
+
sizeof
(
SSchema
)
*
(
TSDB_MAX_TAGS
+
TSDB_MAX_COLUMNS
+
16
);
int32_t
totalMallocLen
=
sizeof
(
STableMetaMsg
)
+
sizeof
(
SSchema
)
*
(
TSDB_MAX_TAGS
+
TSDB_MAX_COLUMNS
+
16
)
+
(
sizeof
(
SFunctionInfoMsg
)
+
TSDB_FUNC_CODE_LEN
)
*
pInfo
->
numOfUdfs
+
16384
;
pMultiMeta
=
rpcMallocCont
(
totalMallocLen
);
pMultiMeta
=
rpcMallocCont
(
totalMallocLen
);
if
(
pMultiMeta
==
NULL
)
{
if
(
pMultiMeta
==
NULL
)
{
code
=
TSDB_CODE_MND_OUT_OF_MEMORY
;
code
=
TSDB_CODE_MND_OUT_OF_MEMORY
;
...
@@ -2932,10 +2952,9 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
...
@@ -2932,10 +2952,9 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
}
}
}
}
char
*
msg
=
(
char
*
)
pMultiMeta
+
pMultiMeta
->
contLen
;
int32_t
tableNum
=
pInfo
->
numOfTables
+
pInfo
->
numOfVgroups
;
// add the additional super table names that needs the vgroup info
// add the additional super table names that needs the vgroup info
for
(;
t
<
n
um
;
++
t
)
{
for
(;
t
<
tableN
um
;
++
t
)
{
taosArrayPush
(
pList
,
&
nameList
[
t
]);
taosArrayPush
(
pList
,
&
nameList
[
t
]);
}
}
...
@@ -2943,6 +2962,22 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
...
@@ -2943,6 +2962,22 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
int32_t
numOfVgroupList
=
(
int32_t
)
taosArrayGetSize
(
pList
);
int32_t
numOfVgroupList
=
(
int32_t
)
taosArrayGetSize
(
pList
);
pMultiMeta
->
numOfVgroup
=
htonl
(
numOfVgroupList
);
pMultiMeta
->
numOfVgroup
=
htonl
(
numOfVgroupList
);
if
(
numOfVgroupList
>
0
)
{
int32_t
remain
=
totalMallocLen
-
pMultiMeta
->
contLen
;
int32_t
vsize
=
calculateMultipleVgroupMsgLength
(
pList
);
if
(
remain
<
vsize
)
{
totalMallocLen
+=
vsize
;
pMultiMeta
=
rpcReallocCont
(
pMultiMeta
,
totalMallocLen
);
if
(
pMultiMeta
==
NULL
)
{
mnodeDecTableRef
(
pMsg
->
pTable
);
code
=
TSDB_CODE_MND_OUT_OF_MEMORY
;
goto
_end
;
}
}
}
char
*
msg
=
(
char
*
)
pMultiMeta
+
pMultiMeta
->
contLen
;
for
(
int32_t
i
=
0
;
i
<
numOfVgroupList
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
numOfVgroupList
;
++
i
)
{
char
*
name
=
taosArrayGetP
(
pList
,
i
);
char
*
name
=
taosArrayGetP
(
pList
,
i
);
...
@@ -2959,6 +2994,36 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
...
@@ -2959,6 +2994,36 @@ static int32_t mnodeProcessMultiTableMetaMsg(SMnodeMsg *pMsg) {
pMultiMeta
->
contLen
=
(
int32_t
)
(
msg
-
(
char
*
)
pMultiMeta
);
pMultiMeta
->
contLen
=
(
int32_t
)
(
msg
-
(
char
*
)
pMultiMeta
);
pMultiMeta
->
numOfTables
=
htonl
(
pMultiMeta
->
numOfTables
);
pMultiMeta
->
numOfTables
=
htonl
(
pMultiMeta
->
numOfTables
);
for
(
int32_t
i
=
0
;
i
<
pInfo
->
numOfUdfs
;
++
i
,
++
t
)
{
char
buf
[
TSDB_FUNC_NAME_LEN
]
=
{
0
};
strcpy
(
buf
,
nameList
[
t
]);
SFuncObj
*
pFuncObj
=
mnodeGetFunc
(
buf
);
if
(
pFuncObj
==
NULL
)
{
mError
(
"function %s does not exist"
,
buf
);
code
=
TSDB_CODE_MND_INVALID_FUNC
;
goto
_end
;
}
SFunctionInfoMsg
*
pFuncInfo
=
(
SFunctionInfoMsg
*
)
msg
;
strcpy
(
pFuncInfo
->
name
,
buf
);
pFuncInfo
->
len
=
htonl
(
pFuncObj
->
contLen
);
memcpy
(
pFuncInfo
->
content
,
pFuncObj
->
cont
,
pFuncObj
->
contLen
);
pFuncInfo
->
funcType
=
htonl
(
pFuncObj
->
funcType
);
pFuncInfo
->
resType
=
pFuncObj
->
resType
;
pFuncInfo
->
resBytes
=
htons
(
pFuncObj
->
resBytes
);
pFuncInfo
->
bufSize
=
htonl
(
pFuncObj
->
bufSize
);
msg
+=
sizeof
(
SFunctionInfoMsg
)
+
pFuncObj
->
contLen
;
}
pMultiMeta
->
contLen
=
(
int32_t
)
(
msg
-
(
char
*
)
pMultiMeta
);
pMultiMeta
->
numOfUdf
=
htonl
(
pInfo
->
numOfUdfs
);
pMsg
->
rpcRsp
.
rsp
=
pMultiMeta
;
pMsg
->
rpcRsp
.
rsp
=
pMultiMeta
;
pMsg
->
rpcRsp
.
len
=
pMultiMeta
->
contLen
;
pMsg
->
rpcRsp
.
len
=
pMultiMeta
->
contLen
;
code
=
TSDB_CODE_SUCCESS
;
code
=
TSDB_CODE_SUCCESS
;
...
...
src/query/inc/qSqlparser.h
浏览文件 @
149a0d54
...
@@ -236,6 +236,7 @@ typedef struct SSqlInfo {
...
@@ -236,6 +236,7 @@ typedef struct SSqlInfo {
bool
valid
;
bool
valid
;
SArray
*
list
;
// todo refactor
SArray
*
list
;
// todo refactor
char
msg
[
256
];
char
msg
[
256
];
SArray
*
funcs
;
union
{
union
{
SCreateTableSql
*
pCreateTableInfo
;
SCreateTableSql
*
pCreateTableInfo
;
SAlterTableInfo
*
pAlterInfo
;
SAlterTableInfo
*
pAlterInfo
;
...
@@ -279,6 +280,7 @@ SRelationInfo *addSubqueryElem(SRelationInfo* pRelationInfo, SArray* pSub, SStrT
...
@@ -279,6 +280,7 @@ SRelationInfo *addSubqueryElem(SRelationInfo* pRelationInfo, SArray* pSub, SStrT
// sql expr leaf node
// sql expr leaf node
tSqlExpr
*
tSqlExprCreateIdValue
(
SStrToken
*
pToken
,
int32_t
optrType
);
tSqlExpr
*
tSqlExprCreateIdValue
(
SStrToken
*
pToken
,
int32_t
optrType
);
tSqlExpr
*
tSqlExprCreateFunction
(
SArray
*
pParam
,
SStrToken
*
pFuncToken
,
SStrToken
*
endToken
,
int32_t
optType
);
tSqlExpr
*
tSqlExprCreateFunction
(
SArray
*
pParam
,
SStrToken
*
pFuncToken
,
SStrToken
*
endToken
,
int32_t
optType
);
SArray
*
tStrTokenAppend
(
SArray
*
pList
,
SStrToken
*
pToken
);
tSqlExpr
*
tSqlExprCreate
(
tSqlExpr
*
pLeft
,
tSqlExpr
*
pRight
,
int32_t
optrType
);
tSqlExpr
*
tSqlExprCreate
(
tSqlExpr
*
pLeft
,
tSqlExpr
*
pRight
,
int32_t
optrType
);
tSqlExpr
*
tSqlExprClone
(
tSqlExpr
*
pSrc
);
tSqlExpr
*
tSqlExprClone
(
tSqlExpr
*
pSrc
);
...
...
src/query/inc/qTableMeta.h
浏览文件 @
149a0d54
...
@@ -123,6 +123,8 @@ typedef struct SQueryInfo {
...
@@ -123,6 +123,8 @@ typedef struct SQueryInfo {
int32_t
round
;
// 0/1/....
int32_t
round
;
// 0/1/....
int32_t
bufLen
;
int32_t
bufLen
;
char
*
buf
;
char
*
buf
;
bool
udfCopy
;
SArray
*
pUdfInfo
;
SArray
*
pUdfInfo
;
struct
SQInfo
*
pQInfo
;
// global merge operator
struct
SQInfo
*
pQInfo
;
// global merge operator
...
...
src/query/inc/sql.y
浏览文件 @
149a0d54
...
@@ -697,10 +697,10 @@ expr(A) ::= BOOL(X). { A = tSqlExprCreateIdValue(&X, TK_BOOL);}
...
@@ -697,10 +697,10 @@ expr(A) ::= BOOL(X). { A = tSqlExprCreateIdValue(&X, TK_BOOL);}
expr(A) ::= NULL(X). { A = tSqlExprCreateIdValue(&X, TK_NULL);}
expr(A) ::= NULL(X). { A = tSqlExprCreateIdValue(&X, TK_NULL);}
// ordinary functions: min(x), max(x), top(k, 20)
// ordinary functions: min(x), max(x), top(k, 20)
expr(A) ::= ID(X) LP exprlist(Y) RP(E). { A = tSqlExprCreateFunction(Y, &X, &E, X.type); }
expr(A) ::= ID(X) LP exprlist(Y) RP(E). {
tStrTokenAppend(pInfo->funcs, &X);
A = tSqlExprCreateFunction(Y, &X, &E, X.type); }
// for parsing sql functions with wildcard for parameters. e.g., count(*)/first(*)/last(*) operation
// for parsing sql functions with wildcard for parameters. e.g., count(*)/first(*)/last(*) operation
expr(A) ::= ID(X) LP STAR RP(Y). { A = tSqlExprCreateFunction(NULL, &X, &Y, X.type); }
expr(A) ::= ID(X) LP STAR RP(Y). {
tStrTokenAppend(pInfo->funcs, &X);
A = tSqlExprCreateFunction(NULL, &X, &Y, X.type); }
// is (not) null expression
// is (not) null expression
expr(A) ::= expr(X) IS NULL. {A = tSqlExprCreate(X, NULL, TK_ISNULL);}
expr(A) ::= expr(X) IS NULL. {A = tSqlExprCreate(X, NULL, TK_ISNULL);}
...
...
src/query/src/qSqlParser.c
浏览文件 @
149a0d54
...
@@ -28,6 +28,7 @@ SSqlInfo qSqlParse(const char *pStr) {
...
@@ -28,6 +28,7 @@ SSqlInfo qSqlParse(const char *pStr) {
SSqlInfo
sqlInfo
=
{
0
};
SSqlInfo
sqlInfo
=
{
0
};
sqlInfo
.
valid
=
true
;
sqlInfo
.
valid
=
true
;
sqlInfo
.
funcs
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
int32_t
i
=
0
;
int32_t
i
=
0
;
while
(
1
)
{
while
(
1
)
{
...
@@ -120,6 +121,19 @@ void tSqlExprListDestroy(SArray *pList) {
...
@@ -120,6 +121,19 @@ void tSqlExprListDestroy(SArray *pList) {
taosArrayDestroyEx
(
pList
,
freeExprElem
);
taosArrayDestroyEx
(
pList
,
freeExprElem
);
}
}
SArray
*
tStrTokenAppend
(
SArray
*
pList
,
SStrToken
*
pToken
)
{
if
(
pList
==
NULL
)
{
pList
=
taosArrayInit
(
4
,
sizeof
(
tVariantListItem
));
}
if
(
pToken
)
{
taosArrayPush
(
pList
,
pToken
);
}
return
pList
;
}
tSqlExpr
*
tSqlExprCreateIdValue
(
SStrToken
*
pToken
,
int32_t
optrType
)
{
tSqlExpr
*
tSqlExprCreateIdValue
(
SStrToken
*
pToken
,
int32_t
optrType
)
{
tSqlExpr
*
pSqlExpr
=
calloc
(
1
,
sizeof
(
tSqlExpr
));
tSqlExpr
*
pSqlExpr
=
calloc
(
1
,
sizeof
(
tSqlExpr
));
...
...
src/query/src/sql.c
浏览文件 @
149a0d54
...
@@ -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,39 +100,46 @@
...
@@ -97,39 +100,46 @@
#endif
#endif
/************* Begin control #defines *****************************************/
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYCODETYPE unsigned short int
#define YYNOCODE 27
3
#define YYNOCODE 27
1
#define YYACTIONTYPE unsigned short int
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken
#define ParseTOKENTYPE SStrToken
typedef
union
{
typedef
union
{
int
yyinit
;
int
yyinit
;
ParseTOKENTYPE
yy0
;
ParseTOKENTYPE
yy0
;
SSqlNode
*
yy24
;
tSqlExpr
*
yy42
;
int
yy60
;
SSessionWindowVal
yy51
;
S
IntervalVal
yy136
;
S
CreateAcctInfo
yy77
;
int
64_t
yy157
;
int
yy82
;
S
CreateAcctInfo
yy171
;
S
RelationInfo
*
yy120
;
SSessionWindowVal
yy25
1
;
TAOS_FIELD
yy18
1
;
S
CreateDbInfo
yy254
;
S
LimitVal
yy188
;
SWindowStateVal
yy256
;
int64_t
yy271
;
S
LimitVal
yy26
2
;
S
CreatedTableInfo
yy28
2
;
SRelationInfo
*
yy29
2
;
tVariant
yy31
2
;
tSqlExpr
*
yy370
;
SIntervalVal
yy314
;
tVariant
yy394
;
SArray
*
yy347
;
S
Array
*
yy413
;
S
WindowStateVal
yy356
;
SCreateTableSql
*
yy
438
;
SCreateTableSql
*
yy
360
;
TAOS_FIELD
yy471
;
SCreateDbInfo
yy540
;
S
CreatedTableInfo
yy544
;
S
SqlNode
*
yy542
;
}
YYMINORTYPE
;
}
YYMINORTYPE
;
#ifndef YYSTACKDEPTH
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
#define YYSTACKDEPTH 100
#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 342
#define YYNSTATE 342
#define YYNRULE 281
#define YYNRULE 281
#define YYNRULE_WITH_ACTION 281
#define YYNTOKEN 193
#define YYNTOKEN 193
#define YY_MAX_SHIFT 341
#define YY_MAX_SHIFT 341
#define YY_MIN_SHIFTREDUCE 543
#define YY_MIN_SHIFTREDUCE 543
...
@@ -140,6 +150,7 @@ typedef union {
...
@@ -140,6 +150,7 @@ typedef union {
#define YY_MIN_REDUCE 827
#define YY_MIN_REDUCE 827
#define YY_MAX_REDUCE 1107
#define YY_MAX_REDUCE 1107
/************* 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.
...
@@ -216,226 +227,226 @@ static const YYACTIONTYPE yy_action[] = {
...
@@ -216,226 +227,226 @@ static const YYACTIONTYPE yy_action[] = {
/* 70 */
266
,
265
,
232
,
44
,
998
,
53
,
283
,
58
,
56
,
60
,
/* 70 */
266
,
265
,
232
,
44
,
998
,
53
,
283
,
58
,
56
,
60
,
/* 80 */
57
,
1085
,
992
,
73
,
305
,
49
,
48
,
980
,
980
,
47
,
/* 80 */
57
,
1085
,
992
,
73
,
305
,
49
,
48
,
980
,
980
,
47
,
/* 90 */
46
,
45
,
50
,
51
,
325
,
54
,
55
,
197
,
259
,
232
,
/* 90 */
46
,
45
,
50
,
51
,
325
,
54
,
55
,
197
,
259
,
232
,
/* 100 */
44
,
91
,
53
,
283
,
58
,
56
,
60
,
57
,
1088
,
33
,
/* 100 */
44
,
244
,
53
,
283
,
58
,
56
,
60
,
57
,
1088
,
33
,
/* 110 */
1084
,
87
,
49
,
48
,
197
,
1037
,
47
,
46
,
45
,
50
,
/* 110 */
167
,
1084
,
49
,
48
,
197
,
1037
,
47
,
46
,
45
,
50
,
/* 120 */
52
,
79
,
54
,
55
,
228
,
1089
,
232
,
44
,
39
,
53
,
/* 120 */
52
,
79
,
54
,
55
,
228
,
1089
,
232
,
44
,
39
,
53
,
/* 130 */
283
,
58
,
56
,
60
,
57
,
280
,
968
,
84
,
13
,
49
,
/* 130 */
283
,
58
,
56
,
60
,
57
,
280
,
772
,
84
,
775
,
49
,
/* 140 */
48
,
244
,
90
,
47
,
46
,
45
,
51
,
152
,
54
,
55
,
/* 140 */
48
,
1083
,
593
,
47
,
46
,
45
,
51
,
152
,
54
,
55
,
/* 150 */
167
,
222
,
232
,
44
,
977
,
53
,
283
,
58
,
56
,
60
,
/* 150 */
594
,
222
,
232
,
44
,
977
,
53
,
283
,
58
,
56
,
60
,
/* 160 */
57
,
780
,
152
,
767
,
33
,
49
,
48
,
1
,
169
,
47
,
/* 160 */
57
,
780
,
152
,
767
,
33
,
49
,
48
,
1
,
169
,
47
,
/* 170 */
46
,
45
,
24
,
303
,
334
,
333
,
302
,
301
,
300
,
332
,
/* 170 */
46
,
45
,
24
,
303
,
334
,
333
,
302
,
301
,
300
,
332
,
/* 180 */
299
,
331
,
330
,
329
,
298
,
328
,
327
,
940
,
1083
,
928
,
/* 180 */
299
,
331
,
330
,
329
,
298
,
328
,
327
,
940
,
214
,
928
,
/* 190 */
929
,
930
,
931
,
932
,
933
,
934
,
935
,
936
,
937
,
938
,
/* 190 */
929
,
930
,
931
,
932
,
933
,
934
,
935
,
936
,
937
,
938
,
/* 200 */
939
,
941
,
942
,
54
,
55
,
19
,
235
,
232
,
44
,
977
,
/* 200 */
939
,
941
,
942
,
54
,
55
,
19
,
235
,
232
,
44
,
977
,
/* 210 */
53
,
283
,
58
,
56
,
60
,
57
,
704
,
1038
,
70
5
,
278
,
/* 210 */
53
,
283
,
58
,
56
,
60
,
57
,
875
,
1038
,
21
5
,
278
,
/* 220 */
49
,
48
,
243
,
205
,
47
,
46
,
45
,
231
,
782
,
67
6
,
/* 220 */
49
,
48
,
181
,
205
,
47
,
46
,
45
,
231
,
782
,
96
6
,
/* 230 */
207
,
771
,
85
,
774
,
2
14
,
777
,
128
,
127
,
206
,
948
,
/* 230 */
207
,
771
,
85
,
774
,
2
51
,
777
,
128
,
127
,
206
,
199
,
/* 240 */
231
,
782
,
946
,
947
,
771
,
284
,
774
,
949
,
777
,
951
,
/* 240 */
231
,
782
,
255
,
254
,
771
,
239
,
774
,
974
,
777
,
33
,
/* 250 */
952
,
950
,
241
,
953
,
954
,
239
,
72
,
315
,
314
,
216
,
/* 250 */
335
,
25
,
200
,
781
,
948
,
33
,
72
,
946
,
947
,
216
,
/* 260 */
217
,
49
,
48
,
282
,
215
,
47
,
46
,
45
,
772
,
33
,
/* 260 */
217
,
243
,
949
,
282
,
951
,
952
,
950
,
91
,
953
,
954
,
/* 270 */
775
,
79
,
216
,
217
,
24
,
966
,
334
,
333
,
39
,
199
,
/* 270 */
980
,
79
,
216
,
217
,
24
,
980
,
334
,
333
,
39
,
76
,
/* 280 */
980
,
332
,
115
,
331
,
330
,
329
,
593
,
328
,
327
,
965
,
/* 280 */
241
,
332
,
33
,
331
,
330
,
329
,
262
,
328
,
327
,
965
,
/* 290 */
700
,
325
,
200
,
697
,
594
,
698
,
245
,
699
,
33
,
312
,
/* 290 */
238
,
236
,
49
,
48
,
977
,
33
,
47
,
46
,
45
,
33
,
/* 300 */
311
,
258
,
33
,
71
,
58
,
56
,
60
,
57
,
202
,
213
,
/* 300 */
976
,
258
,
968
,
71
,
58
,
56
,
60
,
57
,
884
,
213
,
/* 310 */
3
35
,
236
,
49
,
48
,
977
,
33
,
47
,
46
,
45
,
251
,
/* 310 */
3
05
,
33
,
49
,
48
,
181
,
715
,
47
,
46
,
45
,
876
,
/* 320 */
71
5
,
246
,
247
,
5
,
36
,
171
,
242
,
255
,
254
,
30
7
,
/* 320 */
71
2
,
5
,
36
,
171
,
308
,
181
,
8
,
977
,
170
,
9
7
,
/* 330 */
1
70
,
97
,
102
,
93
,
101
,
980
,
59
,
47
,
46
,
45
,
/* 330 */
1
02
,
93
,
101
,
87
,
676
,
245
,
59
,
309
,
312
,
311
,
/* 340 */
308
,
244
,
783
,
977
,
309
,
294
,
786
,
977
,
779
,
59
,
/* 340 */
977
,
313
,
783
,
294
,
977
,
47
,
46
,
45
,
779
,
59
,
/* 350 */
168
,
76
,
33
,
974
,
33
,
783
,
305
,
313
,
262
,
86
,
/* 350 */
338
,
337
,
137
,
317
,
242
,
783
,
977
,
307
,
284
,
86
,
/* 360 */
977
,
779
,
338
,
337
,
137
,
778
,
143
,
141
,
140
,
875
,
/* 360 */
13
,
779
,
315
,
314
,
90
,
778
,
244
,
143
,
141
,
140
,
/* 370 */
113
,
107
,
118
,
74
,
70
,
181
,
67
5
,
117
,
778
,
123
,
/* 370 */
113
,
107
,
118
,
74
,
230
,
168
,
11
5
,
117
,
778
,
123
,
/* 380 */
126
,
116
,
189
,
187
,
185
,
781
,
230
,
120
,
196
,
184
,
/* 380 */
126
,
116
,
189
,
187
,
185
,
325
,
244
,
120
,
769
,
184
,
/* 390 */
132
,
131
,
130
,
129
,
317
,
25
,
238
,
977
,
244
,
976
,
/* 390 */
132
,
131
,
130
,
129
,
700
,
978
,
260
,
697
,
719
,
698
,
/* 400 */
884
,
260
,
876
,
719
,
701
,
34
,
181
,
978
,
181
,
3
,
/* 400 */
34
,
699
,
3
,
182
,
748
,
749
,
77
,
731
,
739
,
64
,
/* 410 */
182
,
748
,
749
,
712
,
769
,
77
,
731
,
739
,
203
,
8
,
/* 410 */
740
,
147
,
63
,
262
,
21
,
67
,
803
,
784
,
202
,
29
,
/* 420 */
147
,
63
,
262
,
740
,
803
,
784
,
64
,
21
,
20
,
20
,
/* 420 */
20
,
20
,
289
,
6
,
770
,
246
,
247
,
1099
,
686
,
286
,
/* 430 */
204
,
67
,
686
,
286
,
688
,
6
,
34
,
34
,
63
,
288
,
/* 430 */
196
,
65
,
34
,
34
,
688
,
68
,
288
,
687
,
63
,
979
,
/* 440 */
687
,
210
,
29
,
89
,
63
,
289
,
106
,
105
,
65
,
211
,
/* 440 */
89
,
63
,
70
,
203
,
675
,
106
,
105
,
15
,
14
,
1048
,
/* 450 */
7
70
,
68
,
15
,
14
,
112
,
111
,
702
,
209
,
703
,
17
,
/* 450 */
7
04
,
702
,
705
,
703
,
112
,
111
,
17
,
16
,
204
,
786
,
/* 460 */
16
,
125
,
124
,
194
,
1099
,
208
,
198
,
1048
,
979
,
1047
,
/* 460 */
125
,
124
,
256
,
210
,
1047
,
211
,
209
,
194
,
208
,
198
,
/* 470 */
233
,
1044
,
1043
,
256
,
144
,
234
,
316
,
1000
,
42
,
1011
,
/* 470 */
233
,
1044
,
144
,
1043
,
234
,
316
,
1000
,
42
,
1011
,
1008
,
/* 480 */
1030
,
10
08
,
1029
,
1009
,
993
,
263
,
1013
,
142
,
146
,
150
,
/* 480 */
1030
,
10
29
,
1009
,
993
,
263
,
1013
,
146
,
150
,
272
,
163
,
/* 490 */
272
,
163
,
975
,
261
,
164
,
267
,
973
,
295
,
165
,
944
,
/* 490 */
142
,
975
,
295
,
267
,
888
,
225
,
269
,
276
,
164
,
156
,
/* 500 */
1
14
,
730
,
160
,
158
,
154
,
990
,
166
,
153
,
155
,
225
,
/* 500 */
1
54
,
990
,
730
,
153
,
155
,
157
,
158
,
973
,
701
,
273
,
/* 510 */
1
56
,
269
,
276
,
277
,
889
,
291
,
69
,
292
,
61
,
281
,
/* 510 */
1
65
,
166
,
889
,
159
,
271
,
275
,
291
,
292
,
293
,
69
,
/* 520 */
66
,
293
,
279
,
296
,
297
,
157
,
275
,
40
,
192
,
273
,
/* 520 */
296
,
61
,
66
,
297
,
40
,
281
,
192
,
37
,
279
,
306
,
/* 530 */
37
,
306
,
883
,
1104
,
103
,
1103
,
1101
,
172
,
310
,
1098
,
/* 530 */
883
,
1104
,
103
,
1103
,
1101
,
172
,
310
,
1098
,
109
,
277
,
/* 540 */
109
,
1097
,
1095
,
173
,
909
,
38
,
35
,
41
,
193
,
872
,
/* 540 */
1097
,
1095
,
173
,
909
,
38
,
35
,
41
,
193
,
872
,
119
,
/* 550 */
119
,
870
,
121
,
122
,
868
,
867
,
248
,
183
,
865
,
864
,
/* 550 */
870
,
121
,
122
,
868
,
867
,
248
,
183
,
865
,
864
,
863
,
/* 560 */
86
3
,
862
,
861
,
860
,
859
,
186
,
188
,
856
,
854
,
852
,
/* 560 */
86
2
,
861
,
860
,
859
,
186
,
188
,
856
,
854
,
852
,
850
,
/* 570 */
850
,
190
,
847
,
191
,
271
,
75
,
80
,
268
,
270
,
1031
,
/* 570 */
190
,
847
,
191
,
268
,
261
,
75
,
80
,
43
,
270
,
326
,
/* 580 */
43
,
326
,
318
,
319
,
320
,
321
,
322
,
218
,
323
,
324
,
/* 580 */
1031
,
114
,
318
,
319
,
320
,
321
,
322
,
323
,
324
,
336
,
/* 590 */
336
,
240
,
290
,
823
,
249
,
250
,
822
,
219
,
252
,
212
,
/* 590 */
823
,
218
,
249
,
250
,
822
,
240
,
290
,
253
,
252
,
821
,
/* 600 */
98
,
99
,
888
,
887
,
253
,
821
,
809
,
808
,
257
,
262
,
/* 600 */
809
,
219
,
212
,
257
,
98
,
99
,
887
,
808
,
78
,
262
,
/* 610 */
285
,
78
,
866
,
9
,
26
,
133
,
176
,
175
,
910
,
134
,
/* 610 */
707
,
285
,
9
,
866
,
732
,
133
,
134
,
858
,
857
,
176
,
/* 620 */
1
74
,
177
,
179
,
178
,
180
,
858
,
2
,
135
,
857
,
4
,
/* 620 */
1
35
,
175
,
910
,
174
,
178
,
177
,
179
,
180
,
136
,
849
,
/* 630 */
136
,
849
,
848
,
707
,
264
,
161
,
159
,
732
,
162
,
8
1
,
/* 630 */
848
,
2
,
26
,
944
,
4
,
264
,
81
,
148
,
160
,
16
1
,
/* 640 */
1
48
,
227
,
956
,
149
,
735
,
82
,
10
,
737
,
83
,
274
,
/* 640 */
1
62
,
735
,
227
,
956
,
149
,
82
,
10
,
737
,
83
,
274
,
/* 650 */
11
,
741
,
151
,
787
,
92
,
785
,
27
,
7
,
28
,
12
,
/* 650 */
787
,
741
,
151
,
11
,
92
,
785
,
27
,
7
,
28
,
12
,
/* 660 */
22
,
287
,
23
,
31
,
94
,
90
,
95
,
607
,
32
,
96
,
/* 660 */
22
,
287
,
23
,
31
,
94
,
90
,
95
,
607
,
32
,
96
,
/* 670 */
639
,
635
,
633
,
632
,
631
,
628
,
597
,
34
,
304
,
100
,
/* 670 */
639
,
635
,
633
,
632
,
631
,
628
,
100
,
34
,
597
,
304
,
/* 680 */
62
,
678
,
677
,
674
,
623
,
621
,
613
,
619
,
615
,
617
,
/* 680 */
678
,
62
,
104
,
677
,
674
,
623
,
621
,
613
,
619
,
615
,
/* 690 */
10
4
,
108
,
611
,
609
,
642
,
641
,
640
,
638
,
110
,
637
,
/* 690 */
10
8
,
110
,
617
,
611
,
609
,
642
,
641
,
640
,
638
,
637
,
/* 700 */
636
,
634
,
630
,
629
,
63
,
595
,
138
,
139
,
561
,
559
,
/* 700 */
636
,
634
,
630
,
629
,
595
,
63
,
138
,
139
,
561
,
559
,
/* 710 */
827
,
/* 710 */
827
,
};
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
2
60
,
1
,
241
,
1
,
260
,
197
,
241
,
1
,
203
,
9
,
/* 0 */
2
59
,
1
,
240
,
1
,
259
,
196
,
240
,
1
,
202
,
9
,
/* 10 */
19
7
,
9
,
260
,
13
,
14
,
9
,
16
,
17
,
257
,
260
,
/* 10 */
19
6
,
9
,
259
,
13
,
14
,
9
,
16
,
17
,
256
,
259
,
/* 20 */
20
,
21
,
25
7
,
23
,
24
,
25
,
26
,
27
,
28
,
270
,
/* 20 */
20
,
21
,
25
6
,
23
,
24
,
25
,
26
,
27
,
28
,
269
,
/* 30 */
27
1
,
196
,
197
,
33
,
34
,
194
,
195
,
37
,
38
,
39
,
/* 30 */
27
0
,
195
,
196
,
33
,
34
,
193
,
194
,
37
,
38
,
39
,
/* 40 */
23
5
,
236
,
237
,
238
,
5
,
197
,
7
,
45
,
46
,
47
,
/* 40 */
23
4
,
235
,
236
,
237
,
5
,
196
,
7
,
45
,
46
,
47
,
/* 50 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 50 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 60 */
58
,
59
,
21
8
,
218
,
62
,
13
,
14
,
197
,
16
,
17
,
/* 60 */
58
,
59
,
21
7
,
217
,
62
,
13
,
14
,
196
,
16
,
17
,
/* 70 */
26
2
,
263
,
20
,
21
,
261
,
23
,
24
,
25
,
26
,
27
,
/* 70 */
26
1
,
262
,
20
,
21
,
260
,
23
,
24
,
25
,
26
,
27
,
/* 80 */
28
,
2
60
,
241
,
83
,
81
,
33
,
34
,
243
,
243
,
37
,
/* 80 */
28
,
2
59
,
240
,
83
,
81
,
33
,
34
,
242
,
242
,
37
,
/* 90 */
38
,
39
,
13
,
14
,
87
,
16
,
17
,
2
60
,
257
,
20
,
/* 90 */
38
,
39
,
13
,
14
,
87
,
16
,
17
,
2
59
,
256
,
20
,
/* 100 */
21
,
203
,
23
,
24
,
25
,
26
,
27
,
28
,
271
,
197
,
/* 100 */
21
,
196
,
23
,
24
,
25
,
26
,
27
,
28
,
270
,
196
,
/* 110 */
2
60
,
83
,
33
,
34
,
260
,
267
,
37
,
38
,
39
,
13
,
/* 110 */
2
05
,
259
,
33
,
34
,
259
,
266
,
37
,
38
,
39
,
13
,
/* 120 */
14
,
110
,
16
,
17
,
2
70
,
271
,
20
,
21
,
117
,
23
,
/* 120 */
14
,
110
,
16
,
17
,
2
69
,
270
,
20
,
21
,
117
,
23
,
/* 130 */
24
,
25
,
26
,
27
,
28
,
26
5
,
238
,
267
,
110
,
33
,
/* 130 */
24
,
25
,
26
,
27
,
28
,
26
4
,
5
,
266
,
7
,
33
,
/* 140 */
34
,
197
,
114
,
37
,
38
,
39
,
14
,
197
,
16
,
17
,
/* 140 */
34
,
259
,
1
,
37
,
38
,
39
,
14
,
196
,
16
,
17
,
/* 150 */
206
,
239
,
20
,
21
,
242
,
23
,
24
,
25
,
26
,
27
,
/* 150 */
9
,
238
,
20
,
21
,
241
,
23
,
24
,
25
,
26
,
27
,
/* 160 */
28
,
122
,
19
7
,
111
,
197
,
33
,
34
,
204
,
205
,
37
,
/* 160 */
28
,
122
,
19
6
,
111
,
196
,
33
,
34
,
203
,
204
,
37
,
/* 170 */
38
,
39
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
101
,
/* 170 */
38
,
39
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
101
,
/* 180 */
102
,
103
,
104
,
105
,
106
,
107
,
108
,
21
7
,
260
,
219
,
/* 180 */
102
,
103
,
104
,
105
,
106
,
107
,
108
,
21
6
,
259
,
218
,
/* 190 */
2
20
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
229
,
/* 190 */
2
19
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
/* 200 */
2
30
,
231
,
232
,
16
,
17
,
44
,
239
,
20
,
21
,
242
,
/* 200 */
2
29
,
230
,
231
,
16
,
17
,
44
,
238
,
20
,
21
,
241
,
/* 210 */
23
,
24
,
25
,
26
,
27
,
28
,
5
,
267
,
7
,
269
,
/* 210 */
23
,
24
,
25
,
26
,
27
,
28
,
201
,
266
,
259
,
268
,
/* 220 */
33
,
34
,
69
,
62
,
37
,
38
,
39
,
1
,
2
,
5
,
/* 220 */
33
,
34
,
207
,
62
,
37
,
38
,
39
,
1
,
2
,
0
,
/* 230 */
69
,
5
,
26
7
,
7
,
260
,
9
,
75
,
76
,
77
,
217
,
/* 230 */
69
,
5
,
26
6
,
7
,
141
,
9
,
75
,
76
,
77
,
259
,
/* 240 */
1
,
2
,
220
,
221
,
5
,
15
,
7
,
225
,
9
,
227
,
/* 240 */
1
,
2
,
149
,
150
,
5
,
217
,
7
,
196
,
9
,
196
,
/* 250 */
2
28
,
229
,
69
,
231
,
232
,
218
,
203
,
33
,
34
,
33
,
/* 250 */
2
17
,
110
,
259
,
122
,
216
,
196
,
202
,
219
,
220
,
33
,
/* 260 */
34
,
33
,
34
,
37
,
260
,
37
,
38
,
39
,
5
,
197
,
/* 260 */
34
,
69
,
224
,
37
,
226
,
227
,
228
,
202
,
230
,
231
,
/* 270 */
7
,
110
,
33
,
34
,
94
,
0
,
96
,
97
,
117
,
260
,
/* 270 */
242
,
110
,
33
,
34
,
94
,
242
,
96
,
97
,
117
,
111
,
/* 280 */
243
,
101
,
78
,
103
,
104
,
105
,
1
,
107
,
108
,
236
,
/* 280 */
69
,
101
,
196
,
103
,
104
,
105
,
118
,
107
,
108
,
235
,
/* 290 */
2
,
87
,
260
,
5
,
9
,
7
,
143
,
9
,
197
,
14
6
,
/* 290 */
239
,
238
,
33
,
34
,
241
,
196
,
37
,
38
,
39
,
19
6
,
/* 300 */
147
,
140
,
197
,
142
,
25
,
26
,
27
,
28
,
260
,
148
,
/* 300 */
241
,
140
,
237
,
142
,
25
,
26
,
27
,
28
,
201
,
148
,
/* 310 */
218
,
239
,
33
,
34
,
242
,
197
,
37
,
38
,
39
,
14
1
,
/* 310 */
81
,
196
,
33
,
34
,
207
,
37
,
37
,
38
,
39
,
20
1
,
/* 320 */
37
,
33
,
34
,
63
,
64
,
65
,
143
,
149
,
150
,
146
,
/* 320 */
115
,
63
,
64
,
65
,
238
,
207
,
121
,
241
,
70
,
71
,
/* 330 */
7
0
,
71
,
72
,
73
,
74
,
243
,
110
,
37
,
38
,
39
,
/* 330 */
7
2
,
73
,
74
,
83
,
5
,
143
,
110
,
238
,
146
,
147
,
/* 340 */
2
39
,
197
,
116
,
242
,
239
,
85
,
116
,
242
,
122
,
110
,
/* 340 */
2
41
,
238
,
116
,
85
,
241
,
37
,
38
,
39
,
122
,
110
,
/* 350 */
206
,
111
,
197
,
197
,
197
,
116
,
81
,
239
,
118
,
244
,
/* 350 */
66
,
67
,
68
,
238
,
143
,
116
,
241
,
146
,
15
,
243
,
/* 360 */
242
,
122
,
66
,
67
,
68
,
139
,
63
,
64
,
65
,
202
,
/* 360 */
110
,
122
,
33
,
34
,
114
,
139
,
196
,
63
,
64
,
65
,
/* 370 */
63
,
64
,
65
,
25
8
,
110
,
208
,
112
,
70
,
139
,
72
,
/* 370 */
63
,
64
,
65
,
25
7
,
61
,
205
,
78
,
70
,
139
,
72
,
/* 380 */
73
,
74
,
63
,
64
,
65
,
122
,
61
,
80
,
260
,
70
,
/* 380 */
73
,
74
,
63
,
64
,
65
,
87
,
196
,
80
,
1
,
70
,
/* 390 */
71
,
72
,
73
,
74
,
239
,
110
,
240
,
242
,
197
,
242
,
/* 390 */
71
,
72
,
73
,
74
,
2
,
205
,
111
,
5
,
120
,
7
,
/* 400 */
202
,
111
,
202
,
120
,
116
,
115
,
208
,
206
,
208
,
200
,
/* 400 */
115
,
9
,
199
,
200
,
130
,
131
,
111
,
111
,
111
,
115
,
/* 410 */
201
,
130
,
131
,
115
,
1
,
111
,
111
,
111
,
260
,
121
,
/* 410 */
111
,
115
,
115
,
118
,
115
,
115
,
111
,
111
,
259
,
110
,
/* 420 */
115
,
115
,
11
8
,
111
,
111
,
111
,
115
,
115
,
115
,
115
,
/* 420 */
115
,
115
,
11
3
,
110
,
37
,
33
,
34
,
242
,
111
,
111
,
/* 430 */
2
60
,
115
,
111
,
111
,
111
,
110
,
115
,
115
,
115
,
111
,
/* 430 */
2
59
,
137
,
115
,
115
,
111
,
135
,
111
,
111
,
115
,
242
,
/* 440 */
11
1
,
260
,
110
,
115
,
115
,
113
,
144
,
145
,
137
,
260
,
/* 440 */
11
5
,
115
,
110
,
259
,
112
,
144
,
145
,
144
,
145
,
233
,
/* 450 */
37
,
135
,
144
,
145
,
144
,
145
,
5
,
260
,
7
,
144
,
/* 450 */
5
,
5
,
7
,
7
,
144
,
145
,
144
,
145
,
259
,
116
,
/* 460 */
145
,
78
,
79
,
260
,
243
,
260
,
260
,
234
,
243
,
234
,
/* 460 */
78
,
79
,
196
,
259
,
233
,
259
,
259
,
259
,
259
,
259
,
/* 470 */
23
4
,
234
,
234
,
197
,
197
,
234
,
234
,
197
,
259
,
197
,
/* 470 */
23
3
,
233
,
196
,
233
,
233
,
233
,
196
,
258
,
196
,
196
,
/* 480 */
26
8
,
197
,
268
,
197
,
241
,
241
,
197
,
61
,
197
,
197
,
/* 480 */
26
7
,
267
,
196
,
240
,
240
,
196
,
196
,
196
,
196
,
244
,
/* 490 */
197
,
245
,
241
,
198
,
197
,
264
,
197
,
86
,
197
,
233
,
/* 490 */
61
,
240
,
86
,
263
,
206
,
263
,
263
,
263
,
196
,
251
,
/* 500 */
93
,
122
,
248
,
250
,
254
,
256
,
197
,
255
,
253
,
264
,
/* 500 */
253
,
255
,
122
,
254
,
252
,
250
,
249
,
196
,
116
,
125
,
/* 510 */
252
,
264
,
264
,
127
,
197
,
197
,
134
,
197
,
133
,
128
,
/* 510 */
196
,
196
,
196
,
248
,
124
,
126
,
196
,
196
,
196
,
134
,
/* 520 */
1
36
,
197
,
132
,
197
,
197
,
251
,
126
,
197
,
197
,
125
,
/* 520 */
1
96
,
133
,
136
,
196
,
196
,
128
,
196
,
196
,
132
,
196
,
/* 530 */
19
7
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
19
7
,
/* 530 */
19
6
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
12
7
,
/* 540 */
19
7
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 540 */
19
6
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
/* 550 */
19
7
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 550 */
19
6
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
/* 560 */
19
7
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 560 */
19
6
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
196
,
/* 570 */
19
7
,
197
,
197
,
197
,
124
,
198
,
198
,
123
,
198
,
198
,
/* 570 */
19
6
,
196
,
196
,
123
,
197
,
197
,
197
,
138
,
197
,
109
,
/* 580 */
1
38
,
109
,
92
,
51
,
89
,
91
,
55
,
198
,
90
,
88
,
/* 580 */
1
97
,
93
,
92
,
51
,
89
,
91
,
55
,
90
,
88
,
81
,
/* 590 */
81
,
198
,
198
,
5
,
151
,
5
,
5
,
198
,
151
,
198
,
/* 590 */
5
,
197
,
151
,
5
,
5
,
197
,
197
,
5
,
151
,
5
,
/* 600 */
203
,
203
,
207
,
207
,
5
,
5
,
96
,
95
,
141
,
118
,
/* 600 */
96
,
197
,
197
,
141
,
202
,
202
,
206
,
95
,
119
,
118
,
/* 610 */
11
3
,
119
,
198
,
110
,
110
,
199
,
210
,
214
,
216
,
19
9
,
/* 610 */
11
1
,
113
,
110
,
197
,
111
,
198
,
198
,
197
,
197
,
20
9
,
/* 620 */
215
,
213
,
212
,
211
,
209
,
198
,
204
,
199
,
198
,
200
,
/* 620 */
198
,
213
,
215
,
214
,
210
,
212
,
211
,
208
,
198
,
197
,
/* 630 */
19
9
,
198
,
198
,
111
,
115
,
247
,
249
,
111
,
246
,
115
,
/* 630 */
19
7
,
203
,
110
,
232
,
199
,
115
,
115
,
110
,
247
,
246
,
/* 640 */
110
,
1
,
233
,
115
,
111
,
110
,
129
,
111
,
110
,
110
,
/* 640 */
245
,
111
,
1
,
232
,
115
,
110
,
129
,
111
,
110
,
110
,
/* 650 */
1
29
,
111
,
110
,
116
,
78
,
111
,
115
,
110
,
115
,
110
,
/* 650 */
1
16
,
111
,
110
,
129
,
78
,
111
,
115
,
110
,
115
,
110
,
/* 660 */
110
,
113
,
110
,
84
,
83
,
114
,
71
,
5
,
84
,
83
,
/* 660 */
110
,
113
,
110
,
84
,
83
,
114
,
71
,
5
,
84
,
83
,
/* 670 */
9
,
5
,
5
,
5
,
5
,
5
,
82
,
115
,
15
,
78
,
/* 670 */
9
,
5
,
5
,
5
,
5
,
5
,
78
,
115
,
82
,
15
,
/* 680 */
16
,
5
,
5
,
111
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 680 */
5
,
16
,
145
,
5
,
111
,
5
,
5
,
5
,
5
,
5
,
/* 690 */
145
,
145
,
5
,
5
,
5
,
5
,
5
,
5
,
14
5
,
5
,
/* 690 */
145
,
145
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 700 */
5
,
5
,
5
,
5
,
115
,
82
,
21
,
21
,
61
,
60
,
/* 700 */
5
,
5
,
5
,
5
,
82
,
115
,
21
,
21
,
61
,
60
,
/* 710 */
0
,
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 710 */
0
,
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 720 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 720 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 730 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 730 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 740 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 740 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 750 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 750 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 760 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 760 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 770 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 770 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 780 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 780 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 790 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 790 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 800 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 800 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 810 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 810 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 820 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 820 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 830 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 830 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 840 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 840 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 850 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 850 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 860 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 860 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 870 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 870 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 880 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 880 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 890 */
27
2
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 890 */
27
1
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
271
,
/* 900 */
27
2
,
272
,
272
,
272
,
/* 900 */
27
1
,
271
,
271
,
271
,
};
};
#define YY_SHIFT_COUNT (341)
#define YY_SHIFT_COUNT (341)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (710)
#define YY_SHIFT_MAX (710)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
161
,
78
,
78
,
180
,
180
,
3
,
226
,
239
,
285
,
6
,
/* 0 */
161
,
78
,
78
,
180
,
180
,
3
,
226
,
239
,
141
,
6
,
/* 10 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
0
,
2
,
/* 10 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
0
,
2
,
/* 20 */
239
,
288
,
288
,
288
,
288
,
11
,
11
,
6
,
6
,
6
,
/* 20 */
239
,
392
,
392
,
392
,
392
,
11
,
11
,
6
,
6
,
6
,
/* 30 */
2
75
,
6
,
6
,
6
,
6
,
204
,
3
,
7
,
7
,
711
,
/* 30 */
2
29
,
6
,
6
,
6
,
6
,
298
,
3
,
7
,
7
,
711
,
/* 40 */
711
,
711
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
/* 40 */
711
,
711
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
/* 50 */
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
/* 50 */
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
/* 60 */
239
,
239
,
288
,
288
,
224
,
224
,
224
,
224
,
224
,
224
,
/* 60 */
239
,
239
,
392
,
392
,
329
,
329
,
329
,
329
,
329
,
329
,
/* 70 */
224
,
6
,
6
,
6
,
283
,
6
,
6
,
6
,
11
,
11
,
/* 70 */
329
,
6
,
6
,
6
,
278
,
6
,
6
,
6
,
11
,
11
,
/* 80 */
6
,
6
,
6
,
6
,
2
81
,
281
,
298
,
11
,
6
,
6
,
/* 80 */
6
,
6
,
6
,
6
,
2
74
,
274
,
205
,
11
,
6
,
6
,
/* 90 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 90 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 100 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 100 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 110 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 110 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 120 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 120 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 130 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 130 */
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
6
,
/* 140 */
6
,
6
,
6
,
6
,
42
6
,
426
,
426
,
379
,
379
,
379
,
/* 140 */
6
,
6
,
6
,
6
,
42
9
,
429
,
429
,
380
,
380
,
380
,
/* 150 */
42
6
,
379
,
426
,
382
,
384
,
385
,
391
,
390
,
386
,
400
,
/* 150 */
42
9
,
380
,
429
,
385
,
386
,
388
,
397
,
396
,
412
,
389
,
/* 160 */
404
,
450
,
454
,
442
,
426
,
426
,
426
,
411
,
411
,
472
,
/* 160 */
384
,
390
,
450
,
439
,
429
,
429
,
429
,
406
,
406
,
470
,
/* 170 */
3
,
3
,
42
6
,
426
,
407
,
490
,
532
,
495
,
494
,
531
,
/* 170 */
3
,
3
,
42
9
,
429
,
488
,
490
,
532
,
495
,
494
,
531
,
/* 180 */
49
8
,
501
,
472
,
426
,
509
,
509
,
426
,
509
,
426
,
509
,
/* 180 */
49
7
,
500
,
470
,
429
,
508
,
508
,
429
,
508
,
429
,
508
,
/* 190 */
42
6
,
426
,
711
,
711
,
52
,
79
,
106
,
79
,
79
,
132
,
/* 190 */
42
9
,
429
,
711
,
711
,
52
,
79
,
106
,
79
,
79
,
132
,
/* 200 */
187
,
279
,
279
,
279
,
279
,
2
60
,
307
,
319
,
228
,
228
,
/* 200 */
187
,
279
,
279
,
279
,
279
,
2
58
,
307
,
319
,
259
,
259
,
/* 210 */
2
28
,
228
,
153
,
178
,
300
,
300
,
39
,
263
,
28
,
183
,
/* 210 */
2
59
,
259
,
192
,
93
,
308
,
308
,
39
,
131
,
250
,
211
,
/* 220 */
2
96
,
303
,
290
,
240
,
304
,
305
,
306
,
312
,
313
,
314
,
/* 220 */
2
84
,
304
,
285
,
168
,
295
,
296
,
297
,
299
,
305
,
306
,
/* 230 */
413
,
325
,
230
,
311
,
316
,
321
,
322
,
323
,
328
,
329
,
/* 230 */
387
,
313
,
343
,
294
,
300
,
317
,
318
,
323
,
325
,
326
,
/* 240 */
3
32
,
302
,
308
,
310
,
264
,
315
,
211
,
451
,
383
,
588
,
/* 240 */
3
09
,
301
,
303
,
310
,
332
,
312
,
445
,
446
,
382
,
585
,
/* 250 */
44
3
,
590
,
591
,
447
,
599
,
600
,
510
,
512
,
467
,
491
,
/* 250 */
44
1
,
588
,
589
,
447
,
592
,
594
,
504
,
512
,
462
,
491
,
/* 260 */
49
7
,
503
,
492
,
522
,
504
,
519
,
524
,
526
,
530
,
533
,
/* 260 */
49
8
,
502
,
489
,
499
,
522
,
520
,
521
,
503
,
527
,
530
,
/* 270 */
52
8
,
535
,
536
,
538
,
640
,
539
,
540
,
542
,
541
,
517
,
/* 270 */
52
9
,
535
,
536
,
538
,
641
,
539
,
540
,
542
,
541
,
517
,
/* 280 */
543
,
52
1
,
544
,
547
,
537
,
549
,
497
,
550
,
548
,
552
,
/* 280 */
543
,
52
4
,
544
,
547
,
534
,
549
,
498
,
550
,
548
,
552
,
/* 290 */
551
,
576
,
579
,
581
,
595
,
662
,
584
,
586
,
661
,
666
,
/* 290 */
551
,
576
,
579
,
581
,
595
,
662
,
584
,
586
,
661
,
666
,
/* 300 */
667
,
668
,
669
,
670
,
59
4
,
663
,
601
,
545
,
562
,
562
,
/* 300 */
667
,
668
,
669
,
670
,
59
6
,
664
,
598
,
537
,
562
,
562
,
/* 310 */
66
4
,
546
,
553
,
562
,
676
,
677
,
572
,
562
,
679
,
680
,
/* 310 */
66
5
,
545
,
546
,
562
,
675
,
678
,
573
,
562
,
680
,
681
,
/* 320 */
68
1
,
682
,
683
,
684
,
687
,
688
,
689
,
690
,
691
,
692
,
/* 320 */
68
2
,
683
,
684
,
687
,
688
,
689
,
690
,
691
,
692
,
693
,
/* 330 */
694
,
695
,
696
,
697
,
698
,
5
89
,
623
,
685
,
686
,
647
,
/* 330 */
694
,
695
,
696
,
697
,
698
,
5
90
,
622
,
685
,
686
,
647
,
/* 340 */
649
,
710
,
/* 340 */
649
,
710
,
};
};
#define YY_REDUCE_COUNT (193)
#define YY_REDUCE_COUNT (193)
#define YY_REDUCE_MIN (-2
60
)
#define YY_REDUCE_MIN (-2
59
)
#define YY_REDUCE_MAX (43
4
)
#define YY_REDUCE_MAX (43
5
)
static
const
short
yy_reduce_ofst
[]
=
{
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
15
9
,
-
30
,
-
30
,
22
,
22
,
-
195
,
-
241
,
-
146
,
-
192
,
-
88
,
/* 0 */
-
15
8
,
-
29
,
-
29
,
38
,
38
,
-
194
,
-
240
,
-
145
,
-
191
,
-
87
,
/* 10 */
-
50
,
-
130
,
-
33
,
72
,
101
,
105
,
118
,
155
,
-
187
,
-
165
,
/* 10 */
-
49
,
-
129
,
-
32
,
53
,
86
,
99
,
103
,
115
,
-
186
,
-
164
,
/* 20 */
-
16
3
,
-
156
,
-
155
,
37
,
92
,
-
239
,
-
235
,
-
152
,
-
35
,
156
,
/* 20 */
-
16
2
,
-
155
,
-
154
,
28
,
33
,
-
238
,
-
234
,
-
151
,
-
34
,
51
,
/* 30 */
-
102
,
-
56
,
144
,
201
,
157
,
167
,
53
,
198
,
200
,
115
,
/* 30 */
65
,
-
95
,
170
,
190
,
59
,
15
,
54
,
107
,
118
,
116
,
/* 40 */
-
3
7
,
209
,
-
260
,
-
256
,
-
248
,
-
179
,
-
150
,
-
72
,
-
26
,
4
,
/* 40 */
-
3
6
,
203
,
-
259
,
-
255
,
-
247
,
-
178
,
-
148
,
-
118
,
-
71
,
-
41
,
/* 50 */
19
,
32
,
48
,
128
,
158
,
170
,
181
,
189
,
197
,
203
,
/* 50 */
-
20
,
-
7
,
159
,
171
,
184
,
199
,
204
,
206
,
207
,
208
,
/* 60 */
20
5
,
206
,
221
,
225
,
233
,
235
,
236
,
237
,
238
,
241
,
/* 60 */
20
9
,
210
,
185
,
197
,
216
,
231
,
237
,
238
,
240
,
241
,
/* 70 */
242
,
2
76
,
277
,
280
,
219
,
282
,
284
,
286
,
243
,
244
,
/* 70 */
242
,
2
66
,
276
,
280
,
219
,
282
,
283
,
286
,
243
,
244
,
/* 80 */
289
,
29
1
,
292
,
293
,
212
,
214
,
246
,
251
,
297
,
299
,
/* 80 */
289
,
29
0
,
291
,
292
,
213
,
214
,
245
,
251
,
302
,
311
,
/* 90 */
3
01
,
309
,
317
,
318
,
320
,
324
,
326
,
327
,
330
,
331
,
/* 90 */
3
14
,
315
,
316
,
320
,
321
,
322
,
324
,
327
,
328
,
330
,
/* 100 */
33
3
,
334
,
335
,
336
,
337
,
338
,
339
,
340
,
341
,
342
,
/* 100 */
33
1
,
333
,
334
,
335
,
336
,
337
,
338
,
339
,
340
,
341
,
/* 110 */
34
3
,
344
,
345
,
346
,
347
,
348
,
349
,
350
,
351
,
352
,
/* 110 */
34
2
,
344
,
345
,
346
,
347
,
348
,
349
,
350
,
351
,
352
,
/* 120 */
353
,
354
,
355
,
356
,
357
,
358
,
359
,
360
,
361
,
362
,
/* 120 */
353
,
354
,
355
,
356
,
357
,
358
,
359
,
360
,
361
,
362
,
/* 130 */
363
,
364
,
365
,
366
,
367
,
368
,
369
,
370
,
371
,
372
,
/* 130 */
363
,
364
,
365
,
366
,
367
,
368
,
369
,
370
,
371
,
372
,
/* 140 */
373
,
374
,
375
,
376
,
295
,
377
,
378
,
231
,
245
,
247
,
/* 140 */
373
,
374
,
375
,
376
,
377
,
378
,
379
,
230
,
232
,
233
,
/* 150 */
38
0
,
248
,
381
,
249
,
252
,
250
,
255
,
258
,
274
,
253
,
/* 150 */
38
1
,
234
,
383
,
246
,
249
,
247
,
252
,
248
,
255
,
257
,
/* 160 */
387
,
254
,
388
,
392
,
389
,
393
,
394
,
395
,
396
,
266
,
/* 160 */
265
,
391
,
393
,
395
,
394
,
398
,
399
,
288
,
400
,
401
,
/* 170 */
397
,
398
,
399
,
401
,
402
,
405
,
403
,
406
,
408
,
412
,
/* 170 */
402
,
403
,
404
,
405
,
407
,
409
,
408
,
410
,
413
,
414
,
/* 180 */
41
0
,
415
,
409
,
414
,
416
,
420
,
427
,
428
,
430
,
431
,
/* 180 */
41
5
,
419
,
411
,
416
,
417
,
418
,
420
,
422
,
421
,
430
,
/* 190 */
43
3
,
434
,
422
,
429
,
/* 190 */
43
2
,
433
,
428
,
435
,
};
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
824
,
943
,
885
,
955
,
873
,
882
,
1091
,
1091
,
824
,
824
,
/* 0 */
824
,
943
,
885
,
955
,
873
,
882
,
1091
,
1091
,
824
,
824
,
...
@@ -724,6 +735,7 @@ struct yyParser {
...
@@ -724,6 +735,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 */
...
@@ -964,85 +976,84 @@ static const char *const yyTokenName[] = {
...
@@ -964,85 +976,84 @@ static const char *const yyTokenName[] = {
/* 190 */
"INSERT"
,
/* 190 */
"INSERT"
,
/* 191 */
"INTO"
,
/* 191 */
"INTO"
,
/* 192 */
"VALUES"
,
/* 192 */
"VALUES"
,
/* 193 */
"error"
,
/* 193 */
"program"
,
/* 194 */
"program"
,
/* 194 */
"cmd"
,
/* 195 */
"cmd"
,
/* 195 */
"dbPrefix"
,
/* 196 */
"dbPrefix"
,
/* 196 */
"ids"
,
/* 197 */
"ids"
,
/* 197 */
"cpxName"
,
/* 198 */
"cpxName"
,
/* 198 */
"ifexists"
,
/* 199 */
"ifexists"
,
/* 199 */
"alter_db_optr"
,
/* 200 */
"alter_db_optr"
,
/* 200 */
"alter_topic_optr"
,
/* 201 */
"alter_topic_optr"
,
/* 201 */
"acct_optr"
,
/* 202 */
"acct_optr"
,
/* 202 */
"ifnotexists"
,
/* 203 */
"ifnotexists"
,
/* 203 */
"db_optr"
,
/* 204 */
"db_optr"
,
/* 204 */
"topic_optr"
,
/* 205 */
"topic_optr"
,
/* 205 */
"typename"
,
/* 206 */
"typename"
,
/* 206 */
"bufsize"
,
/* 207 */
"bufsize"
,
/* 207 */
"pps"
,
/* 208 */
"pps"
,
/* 208 */
"tseries"
,
/* 209 */
"tseries"
,
/* 209 */
"dbs"
,
/* 210 */
"dbs"
,
/* 210 */
"streams"
,
/* 211 */
"streams"
,
/* 211 */
"storage"
,
/* 212 */
"storage"
,
/* 212 */
"qtime"
,
/* 213 */
"qtime"
,
/* 213 */
"users"
,
/* 214 */
"users"
,
/* 214 */
"conns"
,
/* 215 */
"conns"
,
/* 215 */
"state"
,
/* 216 */
"state"
,
/* 216 */
"keep"
,
/* 217 */
"keep"
,
/* 217 */
"tagitemlist"
,
/* 218 */
"tagitemlist"
,
/* 218 */
"cache"
,
/* 219 */
"cache"
,
/* 219 */
"replica"
,
/* 220 */
"replica"
,
/* 220 */
"quorum"
,
/* 221 */
"quorum"
,
/* 221 */
"days"
,
/* 222 */
"days"
,
/* 222 */
"minrows"
,
/* 223 */
"minrows"
,
/* 223 */
"maxrows"
,
/* 224 */
"maxrows"
,
/* 224 */
"blocks"
,
/* 225 */
"blocks"
,
/* 225 */
"ctime"
,
/* 226 */
"ctime"
,
/* 226 */
"wal"
,
/* 227 */
"wal"
,
/* 227 */
"fsync"
,
/* 228 */
"fsync"
,
/* 228 */
"comp"
,
/* 229 */
"comp"
,
/* 229 */
"prec"
,
/* 230 */
"prec"
,
/* 230 */
"update"
,
/* 231 */
"update"
,
/* 231 */
"cachelast"
,
/* 232 */
"cachelast"
,
/* 232 */
"partitions"
,
/* 233 */
"partitions"
,
/* 233 */
"signed"
,
/* 234 */
"signed"
,
/* 234 */
"create_table_args"
,
/* 235 */
"create_table_args"
,
/* 235 */
"create_stable_args"
,
/* 236 */
"create_stable_args"
,
/* 236 */
"create_table_list"
,
/* 237 */
"create_table_list"
,
/* 237 */
"create_from_stable"
,
/* 238 */
"create_from_stable"
,
/* 238 */
"columnlist"
,
/* 239 */
"columnlist"
,
/* 239 */
"tagNamelist"
,
/* 240 */
"tagNamelist"
,
/* 240 */
"select"
,
/* 241 */
"select"
,
/* 241 */
"column"
,
/* 242 */
"column"
,
/* 242 */
"tagitem"
,
/* 243 */
"tagitem"
,
/* 243 */
"selcollist"
,
/* 244 */
"selcollist"
,
/* 244 */
"from"
,
/* 245 */
"from"
,
/* 245 */
"where_opt"
,
/* 246 */
"where_opt"
,
/* 246 */
"interval_opt"
,
/* 247 */
"interval_opt"
,
/* 247 */
"session_option"
,
/* 248 */
"session_option"
,
/* 248 */
"windowstate_option"
,
/* 249 */
"windowstate_option"
,
/* 249 */
"fill_opt"
,
/* 250 */
"fill_opt"
,
/* 250 */
"sliding_opt"
,
/* 251 */
"sliding_opt"
,
/* 251 */
"groupby_opt"
,
/* 252 */
"groupby_opt"
,
/* 252 */
"orderby_opt"
,
/* 253 */
"orderby_opt"
,
/* 253 */
"having_opt"
,
/* 254 */
"having_opt"
,
/* 254 */
"slimit_opt"
,
/* 255 */
"slimit_opt"
,
/* 255 */
"limit_opt"
,
/* 256 */
"limit_opt"
,
/* 256 */
"union"
,
/* 257 */
"union"
,
/* 257 */
"sclp"
,
/* 258 */
"sclp"
,
/* 258 */
"distinct"
,
/* 259 */
"distinct"
,
/* 259 */
"expr"
,
/* 260 */
"expr"
,
/* 260 */
"as"
,
/* 261 */
"as"
,
/* 261 */
"tablelist"
,
/* 262 */
"tablelist"
,
/* 262 */
"sub"
,
/* 263 */
"sub"
,
/* 263 */
"tmvar"
,
/* 264 */
"tmvar"
,
/* 264 */
"sortlist"
,
/* 265 */
"sortlist"
,
/* 265 */
"sortitem"
,
/* 266 */
"sortitem"
,
/* 266 */
"item"
,
/* 267 */
"item"
,
/* 267 */
"sortorder"
,
/* 268 */
"sortorder"
,
/* 268 */
"grouplist"
,
/* 269 */
"grouplist"
,
/* 269 */
"exprlist"
,
/* 270 */
"exprlist"
,
/* 270 */
"expritem"
,
/* 271 */
"expritem"
,
};
};
#endif
/* defined(YYCOVERAGE) || !defined(NDEBUG) */
#endif
/* defined(YYCOVERAGE) || !defined(NDEBUG) */
...
@@ -1379,28 +1390,29 @@ static int yyGrowStack(yyParser *p){
...
@@ -1379,28 +1390,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
}
}
...
@@ -1417,11 +1429,14 @@ void ParseInit(void *yypParser){
...
@@ -1417,11 +1429,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 */
...
@@ -1438,7 +1453,8 @@ static void yy_destructor(
...
@@ -1438,7 +1453,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
...
@@ -1451,59 +1467,59 @@ static void yy_destructor(
...
@@ -1451,59 +1467,59 @@ static void yy_destructor(
** inside the C code.
** inside the C code.
*/
*/
/********* Begin destructor definitions ***************************************/
/********* Begin destructor definitions ***************************************/
case
21
7
:
/* keep */
case
21
6
:
/* keep */
case
21
8
:
/* tagitemlist */
case
21
7
:
/* tagitemlist */
case
23
9
:
/* columnlist */
case
23
8
:
/* columnlist */
case
2
40
:
/* tagNamelist */
case
2
39
:
/* tagNamelist */
case
2
50
:
/* fill_opt */
case
2
49
:
/* fill_opt */
case
25
2
:
/* groupby_opt */
case
25
1
:
/* groupby_opt */
case
25
3
:
/* orderby_opt */
case
25
2
:
/* orderby_opt */
case
26
5
:
/* sortlist */
case
26
4
:
/* sortlist */
case
26
9
:
/* grouplist */
case
26
8
:
/* grouplist */
{
{
taosArrayDestroy
((
yypminor
->
yy
413
));
taosArrayDestroy
((
yypminor
->
yy
347
));
}
}
break
;
break
;
case
23
7
:
/* create_table_list */
case
23
6
:
/* create_table_list */
{
{
destroyCreateTableSql
((
yypminor
->
yy
438
));
destroyCreateTableSql
((
yypminor
->
yy
360
));
}
}
break
;
break
;
case
24
1
:
/* select */
case
24
0
:
/* select */
{
{
destroySqlNode
((
yypminor
->
yy
24
));
destroySqlNode
((
yypminor
->
yy
542
));
}
}
break
;
break
;
case
24
4
:
/* selcollist */
case
24
3
:
/* selcollist */
case
25
8
:
/* sclp */
case
25
7
:
/* sclp */
case
2
70
:
/* exprlist */
case
2
69
:
/* exprlist */
{
{
tSqlExprListDestroy
((
yypminor
->
yy
413
));
tSqlExprListDestroy
((
yypminor
->
yy
347
));
}
}
break
;
break
;
case
24
5
:
/* from */
case
24
4
:
/* from */
case
26
2
:
/* tablelist */
case
26
1
:
/* tablelist */
case
26
3
:
/* sub */
case
26
2
:
/* sub */
{
{
destroyRelationInfo
((
yypminor
->
yy
292
));
destroyRelationInfo
((
yypminor
->
yy
120
));
}
}
break
;
break
;
case
24
6
:
/* where_opt */
case
24
5
:
/* where_opt */
case
25
4
:
/* having_opt */
case
25
3
:
/* having_opt */
case
2
60
:
/* expr */
case
2
59
:
/* expr */
case
27
1
:
/* expritem */
case
27
0
:
/* expritem */
{
{
tSqlExprDestroy
((
yypminor
->
yy
370
));
tSqlExprDestroy
((
yypminor
->
yy
42
));
}
}
break
;
break
;
case
25
7
:
/* union */
case
25
6
:
/* union */
{
{
destroyAllSqlNode
((
yypminor
->
yy
413
));
destroyAllSqlNode
((
yypminor
->
yy
347
));
}
}
break
;
break
;
case
26
6
:
/* sortitem */
case
26
5
:
/* sortitem */
{
{
tVariantDestroy
(
&
(
yypminor
->
yy3
94
));
tVariantDestroy
(
&
(
yypminor
->
yy3
12
));
}
}
break
;
break
;
/********* End destructor definitions *****************************************/
/********* End destructor definitions *****************************************/
...
@@ -1615,12 +1631,11 @@ int ParseCoverage(FILE *out){
...
@@ -1615,12 +1631,11 @@ 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
);
...
@@ -1629,15 +1644,19 @@ static unsigned int yy_find_shift_action(
...
@@ -1629,15 +1644,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
"
,
...
@@ -1652,15 +1671,8 @@ static unsigned int yy_find_shift_action(
...
@@ -1652,15 +1671,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
"
,
...
@@ -1674,6 +1686,7 @@ static unsigned int yy_find_shift_action(
...
@@ -1674,6 +1686,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
);
...
@@ -1683,8 +1696,8 @@ static unsigned int yy_find_shift_action(
...
@@ -1683,8 +1696,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
;
...
@@ -1713,7 +1726,8 @@ static int yy_find_reduce_action(
...
@@ -1713,7 +1726,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
);
...
@@ -1724,7 +1738,8 @@ static void yyStackOverflow(yyParser *yypParser){
...
@@ -1724,7 +1738,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
}
}
/*
/*
...
@@ -1753,8 +1768,8 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){
...
@@ -1753,8 +1768,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
;
...
@@ -1784,300 +1799,582 @@ static void yy_shift(
...
@@ -1784,300 +1799,582 @@ 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
{
193
,
/* (0) program ::= cmd */
YYCODETYPE
lhs
;
/* Symbol on the left-hand side of the rule */
194
,
/* (1) cmd ::= SHOW DATABASES */
signed
char
nrhs
;
/* Negative of the number of RHS symbols in the rule */
194
,
/* (2) cmd ::= SHOW TOPICS */
}
yyRuleInfo
[]
=
{
194
,
/* (3) cmd ::= SHOW FUNCTIONS */
{
194
,
-
1
},
/* (0) program ::= cmd */
194
,
/* (4) cmd ::= SHOW MNODES */
{
195
,
-
2
},
/* (1) cmd ::= SHOW DATABASES */
194
,
/* (5) cmd ::= SHOW DNODES */
{
195
,
-
2
},
/* (2) cmd ::= SHOW TOPICS */
194
,
/* (6) cmd ::= SHOW ACCOUNTS */
{
195
,
-
2
},
/* (3) cmd ::= SHOW FUNCTIONS */
194
,
/* (7) cmd ::= SHOW USERS */
{
195
,
-
2
},
/* (4) cmd ::= SHOW MNODES */
194
,
/* (8) cmd ::= SHOW MODULES */
{
195
,
-
2
},
/* (5) cmd ::= SHOW DNODES */
194
,
/* (9) cmd ::= SHOW QUERIES */
{
195
,
-
2
},
/* (6) cmd ::= SHOW ACCOUNTS */
194
,
/* (10) cmd ::= SHOW CONNECTIONS */
{
195
,
-
2
},
/* (7) cmd ::= SHOW USERS */
194
,
/* (11) cmd ::= SHOW STREAMS */
{
195
,
-
2
},
/* (8) cmd ::= SHOW MODULES */
194
,
/* (12) cmd ::= SHOW VARIABLES */
{
195
,
-
2
},
/* (9) cmd ::= SHOW QUERIES */
194
,
/* (13) cmd ::= SHOW SCORES */
{
195
,
-
2
},
/* (10) cmd ::= SHOW CONNECTIONS */
194
,
/* (14) cmd ::= SHOW GRANTS */
{
195
,
-
2
},
/* (11) cmd ::= SHOW STREAMS */
194
,
/* (15) cmd ::= SHOW VNODES */
{
195
,
-
2
},
/* (12) cmd ::= SHOW VARIABLES */
194
,
/* (16) cmd ::= SHOW VNODES IPTOKEN */
{
195
,
-
2
},
/* (13) cmd ::= SHOW SCORES */
195
,
/* (17) dbPrefix ::= */
{
195
,
-
2
},
/* (14) cmd ::= SHOW GRANTS */
195
,
/* (18) dbPrefix ::= ids DOT */
{
195
,
-
2
},
/* (15) cmd ::= SHOW VNODES */
197
,
/* (19) cpxName ::= */
{
195
,
-
3
},
/* (16) cmd ::= SHOW VNODES IPTOKEN */
197
,
/* (20) cpxName ::= DOT ids */
{
196
,
0
},
/* (17) dbPrefix ::= */
194
,
/* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
{
196
,
-
2
},
/* (18) dbPrefix ::= ids DOT */
194
,
/* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
{
198
,
0
},
/* (19) cpxName ::= */
194
,
/* (23) cmd ::= SHOW CREATE DATABASE ids */
{
198
,
-
2
},
/* (20) cpxName ::= DOT ids */
194
,
/* (24) cmd ::= SHOW dbPrefix TABLES */
{
195
,
-
5
},
/* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
194
,
/* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */
{
195
,
-
5
},
/* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
194
,
/* (26) cmd ::= SHOW dbPrefix STABLES */
{
195
,
-
4
},
/* (23) cmd ::= SHOW CREATE DATABASE ids */
194
,
/* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */
{
195
,
-
3
},
/* (24) cmd ::= SHOW dbPrefix TABLES */
194
,
/* (28) cmd ::= SHOW dbPrefix VGROUPS */
{
195
,
-
5
},
/* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */
194
,
/* (29) cmd ::= SHOW dbPrefix VGROUPS ids */
{
195
,
-
3
},
/* (26) cmd ::= SHOW dbPrefix STABLES */
194
,
/* (30) cmd ::= DROP TABLE ifexists ids cpxName */
{
195
,
-
5
},
/* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */
194
,
/* (31) cmd ::= DROP STABLE ifexists ids cpxName */
{
195
,
-
3
},
/* (28) cmd ::= SHOW dbPrefix VGROUPS */
194
,
/* (32) cmd ::= DROP DATABASE ifexists ids */
{
195
,
-
4
},
/* (29) cmd ::= SHOW dbPrefix VGROUPS ids */
194
,
/* (33) cmd ::= DROP TOPIC ifexists ids */
{
195
,
-
5
},
/* (30) cmd ::= DROP TABLE ifexists ids cpxName */
194
,
/* (34) cmd ::= DROP FUNCTION ids */
{
195
,
-
5
},
/* (31) cmd ::= DROP STABLE ifexists ids cpxName */
194
,
/* (35) cmd ::= DROP DNODE ids */
{
195
,
-
4
},
/* (32) cmd ::= DROP DATABASE ifexists ids */
194
,
/* (36) cmd ::= DROP USER ids */
{
195
,
-
4
},
/* (33) cmd ::= DROP TOPIC ifexists ids */
194
,
/* (37) cmd ::= DROP ACCOUNT ids */
{
195
,
-
3
},
/* (34) cmd ::= DROP FUNCTION ids */
194
,
/* (38) cmd ::= USE ids */
{
195
,
-
3
},
/* (35) cmd ::= DROP DNODE ids */
194
,
/* (39) cmd ::= DESCRIBE ids cpxName */
{
195
,
-
3
},
/* (36) cmd ::= DROP USER ids */
194
,
/* (40) cmd ::= ALTER USER ids PASS ids */
{
195
,
-
3
},
/* (37) cmd ::= DROP ACCOUNT ids */
194
,
/* (41) cmd ::= ALTER USER ids PRIVILEGE ids */
{
195
,
-
2
},
/* (38) cmd ::= USE ids */
194
,
/* (42) cmd ::= ALTER DNODE ids ids */
{
195
,
-
3
},
/* (39) cmd ::= DESCRIBE ids cpxName */
194
,
/* (43) cmd ::= ALTER DNODE ids ids ids */
{
195
,
-
5
},
/* (40) cmd ::= ALTER USER ids PASS ids */
194
,
/* (44) cmd ::= ALTER LOCAL ids */
{
195
,
-
5
},
/* (41) cmd ::= ALTER USER ids PRIVILEGE ids */
194
,
/* (45) cmd ::= ALTER LOCAL ids ids */
{
195
,
-
4
},
/* (42) cmd ::= ALTER DNODE ids ids */
194
,
/* (46) cmd ::= ALTER DATABASE ids alter_db_optr */
{
195
,
-
5
},
/* (43) cmd ::= ALTER DNODE ids ids ids */
194
,
/* (47) cmd ::= ALTER TOPIC ids alter_topic_optr */
{
195
,
-
3
},
/* (44) cmd ::= ALTER LOCAL ids */
194
,
/* (48) cmd ::= ALTER ACCOUNT ids acct_optr */
{
195
,
-
4
},
/* (45) cmd ::= ALTER LOCAL ids ids */
194
,
/* (49) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
195
,
-
4
},
/* (46) cmd ::= ALTER DATABASE ids alter_db_optr */
196
,
/* (50) ids ::= ID */
{
195
,
-
4
},
/* (47) cmd ::= ALTER TOPIC ids alter_topic_optr */
196
,
/* (51) ids ::= STRING */
{
195
,
-
4
},
/* (48) cmd ::= ALTER ACCOUNT ids acct_optr */
198
,
/* (52) ifexists ::= IF EXISTS */
{
195
,
-
6
},
/* (49) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
198
,
/* (53) ifexists ::= */
{
197
,
-
1
},
/* (50) ids ::= ID */
202
,
/* (54) ifnotexists ::= IF NOT EXISTS */
{
197
,
-
1
},
/* (51) ids ::= STRING */
202
,
/* (55) ifnotexists ::= */
{
199
,
-
2
},
/* (52) ifexists ::= IF EXISTS */
194
,
/* (56) cmd ::= CREATE DNODE ids */
{
199
,
0
},
/* (53) ifexists ::= */
194
,
/* (57) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
203
,
-
3
},
/* (54) ifnotexists ::= IF NOT EXISTS */
194
,
/* (58) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
203
,
0
},
/* (55) ifnotexists ::= */
194
,
/* (59) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
{
195
,
-
3
},
/* (56) cmd ::= CREATE DNODE ids */
194
,
/* (60) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
195
,
-
6
},
/* (57) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
194
,
/* (61) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
195
,
-
5
},
/* (58) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
194
,
/* (62) cmd ::= CREATE USER ids PASS ids */
{
195
,
-
5
},
/* (59) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
206
,
/* (63) bufsize ::= */
{
195
,
-
8
},
/* (60) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
206
,
/* (64) bufsize ::= BUFSIZE INTEGER */
{
195
,
-
9
},
/* (61) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
207
,
/* (65) pps ::= */
{
195
,
-
5
},
/* (62) cmd ::= CREATE USER ids PASS ids */
207
,
/* (66) pps ::= PPS INTEGER */
{
207
,
0
},
/* (63) bufsize ::= */
208
,
/* (67) tseries ::= */
{
207
,
-
2
},
/* (64) bufsize ::= BUFSIZE INTEGER */
208
,
/* (68) tseries ::= TSERIES INTEGER */
{
208
,
0
},
/* (65) pps ::= */
209
,
/* (69) dbs ::= */
{
208
,
-
2
},
/* (66) pps ::= PPS INTEGER */
209
,
/* (70) dbs ::= DBS INTEGER */
{
209
,
0
},
/* (67) tseries ::= */
210
,
/* (71) streams ::= */
{
209
,
-
2
},
/* (68) tseries ::= TSERIES INTEGER */
210
,
/* (72) streams ::= STREAMS INTEGER */
{
210
,
0
},
/* (69) dbs ::= */
211
,
/* (73) storage ::= */
{
210
,
-
2
},
/* (70) dbs ::= DBS INTEGER */
211
,
/* (74) storage ::= STORAGE INTEGER */
{
211
,
0
},
/* (71) streams ::= */
212
,
/* (75) qtime ::= */
{
211
,
-
2
},
/* (72) streams ::= STREAMS INTEGER */
212
,
/* (76) qtime ::= QTIME INTEGER */
{
212
,
0
},
/* (73) storage ::= */
213
,
/* (77) users ::= */
{
212
,
-
2
},
/* (74) storage ::= STORAGE INTEGER */
213
,
/* (78) users ::= USERS INTEGER */
{
213
,
0
},
/* (75) qtime ::= */
214
,
/* (79) conns ::= */
{
213
,
-
2
},
/* (76) qtime ::= QTIME INTEGER */
214
,
/* (80) conns ::= CONNS INTEGER */
{
214
,
0
},
/* (77) users ::= */
215
,
/* (81) state ::= */
{
214
,
-
2
},
/* (78) users ::= USERS INTEGER */
215
,
/* (82) state ::= STATE ids */
{
215
,
0
},
/* (79) conns ::= */
201
,
/* (83) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
215
,
-
2
},
/* (80) conns ::= CONNS INTEGER */
216
,
/* (84) keep ::= KEEP tagitemlist */
{
216
,
0
},
/* (81) state ::= */
218
,
/* (85) cache ::= CACHE INTEGER */
{
216
,
-
2
},
/* (82) state ::= STATE ids */
219
,
/* (86) replica ::= REPLICA INTEGER */
{
202
,
-
9
},
/* (83) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
220
,
/* (87) quorum ::= QUORUM INTEGER */
{
217
,
-
2
},
/* (84) keep ::= KEEP tagitemlist */
221
,
/* (88) days ::= DAYS INTEGER */
{
219
,
-
2
},
/* (85) cache ::= CACHE INTEGER */
222
,
/* (89) minrows ::= MINROWS INTEGER */
{
220
,
-
2
},
/* (86) replica ::= REPLICA INTEGER */
223
,
/* (90) maxrows ::= MAXROWS INTEGER */
{
221
,
-
2
},
/* (87) quorum ::= QUORUM INTEGER */
224
,
/* (91) blocks ::= BLOCKS INTEGER */
{
222
,
-
2
},
/* (88) days ::= DAYS INTEGER */
225
,
/* (92) ctime ::= CTIME INTEGER */
{
223
,
-
2
},
/* (89) minrows ::= MINROWS INTEGER */
226
,
/* (93) wal ::= WAL INTEGER */
{
224
,
-
2
},
/* (90) maxrows ::= MAXROWS INTEGER */
227
,
/* (94) fsync ::= FSYNC INTEGER */
{
225
,
-
2
},
/* (91) blocks ::= BLOCKS INTEGER */
228
,
/* (95) comp ::= COMP INTEGER */
{
226
,
-
2
},
/* (92) ctime ::= CTIME INTEGER */
229
,
/* (96) prec ::= PRECISION STRING */
{
227
,
-
2
},
/* (93) wal ::= WAL INTEGER */
230
,
/* (97) update ::= UPDATE INTEGER */
{
228
,
-
2
},
/* (94) fsync ::= FSYNC INTEGER */
231
,
/* (98) cachelast ::= CACHELAST INTEGER */
{
229
,
-
2
},
/* (95) comp ::= COMP INTEGER */
232
,
/* (99) partitions ::= PARTITIONS INTEGER */
{
230
,
-
2
},
/* (96) prec ::= PRECISION STRING */
203
,
/* (100) db_optr ::= */
{
231
,
-
2
},
/* (97) update ::= UPDATE INTEGER */
203
,
/* (101) db_optr ::= db_optr cache */
{
232
,
-
2
},
/* (98) cachelast ::= CACHELAST INTEGER */
203
,
/* (102) db_optr ::= db_optr replica */
{
233
,
-
2
},
/* (99) partitions ::= PARTITIONS INTEGER */
203
,
/* (103) db_optr ::= db_optr quorum */
{
204
,
0
},
/* (100) db_optr ::= */
203
,
/* (104) db_optr ::= db_optr days */
{
204
,
-
2
},
/* (101) db_optr ::= db_optr cache */
203
,
/* (105) db_optr ::= db_optr minrows */
{
204
,
-
2
},
/* (102) db_optr ::= db_optr replica */
203
,
/* (106) db_optr ::= db_optr maxrows */
{
204
,
-
2
},
/* (103) db_optr ::= db_optr quorum */
203
,
/* (107) db_optr ::= db_optr blocks */
{
204
,
-
2
},
/* (104) db_optr ::= db_optr days */
203
,
/* (108) db_optr ::= db_optr ctime */
{
204
,
-
2
},
/* (105) db_optr ::= db_optr minrows */
203
,
/* (109) db_optr ::= db_optr wal */
{
204
,
-
2
},
/* (106) db_optr ::= db_optr maxrows */
203
,
/* (110) db_optr ::= db_optr fsync */
{
204
,
-
2
},
/* (107) db_optr ::= db_optr blocks */
203
,
/* (111) db_optr ::= db_optr comp */
{
204
,
-
2
},
/* (108) db_optr ::= db_optr ctime */
203
,
/* (112) db_optr ::= db_optr prec */
{
204
,
-
2
},
/* (109) db_optr ::= db_optr wal */
203
,
/* (113) db_optr ::= db_optr keep */
{
204
,
-
2
},
/* (110) db_optr ::= db_optr fsync */
203
,
/* (114) db_optr ::= db_optr update */
{
204
,
-
2
},
/* (111) db_optr ::= db_optr comp */
203
,
/* (115) db_optr ::= db_optr cachelast */
{
204
,
-
2
},
/* (112) db_optr ::= db_optr prec */
204
,
/* (116) topic_optr ::= db_optr */
{
204
,
-
2
},
/* (113) db_optr ::= db_optr keep */
204
,
/* (117) topic_optr ::= topic_optr partitions */
{
204
,
-
2
},
/* (114) db_optr ::= db_optr update */
199
,
/* (118) alter_db_optr ::= */
{
204
,
-
2
},
/* (115) db_optr ::= db_optr cachelast */
199
,
/* (119) alter_db_optr ::= alter_db_optr replica */
{
205
,
-
1
},
/* (116) topic_optr ::= db_optr */
199
,
/* (120) alter_db_optr ::= alter_db_optr quorum */
{
205
,
-
2
},
/* (117) topic_optr ::= topic_optr partitions */
199
,
/* (121) alter_db_optr ::= alter_db_optr keep */
{
200
,
0
},
/* (118) alter_db_optr ::= */
199
,
/* (122) alter_db_optr ::= alter_db_optr blocks */
{
200
,
-
2
},
/* (119) alter_db_optr ::= alter_db_optr replica */
199
,
/* (123) alter_db_optr ::= alter_db_optr comp */
{
200
,
-
2
},
/* (120) alter_db_optr ::= alter_db_optr quorum */
199
,
/* (124) alter_db_optr ::= alter_db_optr wal */
{
200
,
-
2
},
/* (121) alter_db_optr ::= alter_db_optr keep */
199
,
/* (125) alter_db_optr ::= alter_db_optr fsync */
{
200
,
-
2
},
/* (122) alter_db_optr ::= alter_db_optr blocks */
199
,
/* (126) alter_db_optr ::= alter_db_optr update */
{
200
,
-
2
},
/* (123) alter_db_optr ::= alter_db_optr comp */
199
,
/* (127) alter_db_optr ::= alter_db_optr cachelast */
{
200
,
-
2
},
/* (124) alter_db_optr ::= alter_db_optr wal */
200
,
/* (128) alter_topic_optr ::= alter_db_optr */
{
200
,
-
2
},
/* (125) alter_db_optr ::= alter_db_optr fsync */
200
,
/* (129) alter_topic_optr ::= alter_topic_optr partitions */
{
200
,
-
2
},
/* (126) alter_db_optr ::= alter_db_optr update */
205
,
/* (130) typename ::= ids */
{
200
,
-
2
},
/* (127) alter_db_optr ::= alter_db_optr cachelast */
205
,
/* (131) typename ::= ids LP signed RP */
{
201
,
-
1
},
/* (128) alter_topic_optr ::= alter_db_optr */
205
,
/* (132) typename ::= ids UNSIGNED */
{
201
,
-
2
},
/* (129) alter_topic_optr ::= alter_topic_optr partitions */
233
,
/* (133) signed ::= INTEGER */
{
206
,
-
1
},
/* (130) typename ::= ids */
233
,
/* (134) signed ::= PLUS INTEGER */
{
206
,
-
4
},
/* (131) typename ::= ids LP signed RP */
233
,
/* (135) signed ::= MINUS INTEGER */
{
206
,
-
2
},
/* (132) typename ::= ids UNSIGNED */
194
,
/* (136) cmd ::= CREATE TABLE create_table_args */
{
234
,
-
1
},
/* (133) signed ::= INTEGER */
194
,
/* (137) cmd ::= CREATE TABLE create_stable_args */
{
234
,
-
2
},
/* (134) signed ::= PLUS INTEGER */
194
,
/* (138) cmd ::= CREATE STABLE create_stable_args */
{
234
,
-
2
},
/* (135) signed ::= MINUS INTEGER */
194
,
/* (139) cmd ::= CREATE TABLE create_table_list */
{
195
,
-
3
},
/* (136) cmd ::= CREATE TABLE create_table_args */
236
,
/* (140) create_table_list ::= create_from_stable */
{
195
,
-
3
},
/* (137) cmd ::= CREATE TABLE create_stable_args */
236
,
/* (141) create_table_list ::= create_table_list create_from_stable */
{
195
,
-
3
},
/* (138) cmd ::= CREATE STABLE create_stable_args */
234
,
/* (142) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
195
,
-
3
},
/* (139) cmd ::= CREATE TABLE create_table_list */
235
,
/* (143) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
237
,
-
1
},
/* (140) create_table_list ::= create_from_stable */
237
,
/* (144) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
237
,
-
2
},
/* (141) create_table_list ::= create_table_list create_from_stable */
237
,
/* (145) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
{
235
,
-
6
},
/* (142) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
239
,
/* (146) tagNamelist ::= tagNamelist COMMA ids */
{
236
,
-
10
},
/* (143) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
239
,
/* (147) tagNamelist ::= ids */
{
238
,
-
10
},
/* (144) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
234
,
/* (148) create_table_args ::= ifnotexists ids cpxName AS select */
{
238
,
-
13
},
/* (145) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
238
,
/* (149) columnlist ::= columnlist COMMA column */
{
240
,
-
3
},
/* (146) tagNamelist ::= tagNamelist COMMA ids */
238
,
/* (150) columnlist ::= column */
{
240
,
-
1
},
/* (147) tagNamelist ::= ids */
241
,
/* (151) column ::= ids typename */
{
235
,
-
5
},
/* (148) create_table_args ::= ifnotexists ids cpxName AS select */
217
,
/* (152) tagitemlist ::= tagitemlist COMMA tagitem */
{
239
,
-
3
},
/* (149) columnlist ::= columnlist COMMA column */
217
,
/* (153) tagitemlist ::= tagitem */
{
239
,
-
1
},
/* (150) columnlist ::= column */
242
,
/* (154) tagitem ::= INTEGER */
{
242
,
-
2
},
/* (151) column ::= ids typename */
242
,
/* (155) tagitem ::= FLOAT */
{
218
,
-
3
},
/* (152) tagitemlist ::= tagitemlist COMMA tagitem */
242
,
/* (156) tagitem ::= STRING */
{
218
,
-
1
},
/* (153) tagitemlist ::= tagitem */
242
,
/* (157) tagitem ::= BOOL */
{
243
,
-
1
},
/* (154) tagitem ::= INTEGER */
242
,
/* (158) tagitem ::= NULL */
{
243
,
-
1
},
/* (155) tagitem ::= FLOAT */
242
,
/* (159) tagitem ::= MINUS INTEGER */
{
243
,
-
1
},
/* (156) tagitem ::= STRING */
242
,
/* (160) tagitem ::= MINUS FLOAT */
{
243
,
-
1
},
/* (157) tagitem ::= BOOL */
242
,
/* (161) tagitem ::= PLUS INTEGER */
{
243
,
-
1
},
/* (158) tagitem ::= NULL */
242
,
/* (162) tagitem ::= PLUS FLOAT */
{
243
,
-
2
},
/* (159) tagitem ::= MINUS INTEGER */
240
,
/* (163) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
243
,
-
2
},
/* (160) tagitem ::= MINUS FLOAT */
240
,
/* (164) select ::= LP select RP */
{
243
,
-
2
},
/* (161) tagitem ::= PLUS INTEGER */
256
,
/* (165) union ::= select */
{
243
,
-
2
},
/* (162) tagitem ::= PLUS FLOAT */
256
,
/* (166) union ::= union UNION ALL select */
{
241
,
-
14
},
/* (163) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
194
,
/* (167) cmd ::= union */
{
241
,
-
3
},
/* (164) select ::= LP select RP */
240
,
/* (168) select ::= SELECT selcollist */
{
257
,
-
1
},
/* (165) union ::= select */
257
,
/* (169) sclp ::= selcollist COMMA */
{
257
,
-
4
},
/* (166) union ::= union UNION ALL select */
257
,
/* (170) sclp ::= */
{
195
,
-
1
},
/* (167) cmd ::= union */
243
,
/* (171) selcollist ::= sclp distinct expr as */
{
241
,
-
2
},
/* (168) select ::= SELECT selcollist */
243
,
/* (172) selcollist ::= sclp STAR */
{
258
,
-
2
},
/* (169) sclp ::= selcollist COMMA */
260
,
/* (173) as ::= AS ids */
{
258
,
0
},
/* (170) sclp ::= */
260
,
/* (174) as ::= ids */
{
244
,
-
4
},
/* (171) selcollist ::= sclp distinct expr as */
260
,
/* (175) as ::= */
{
244
,
-
2
},
/* (172) selcollist ::= sclp STAR */
258
,
/* (176) distinct ::= DISTINCT */
{
261
,
-
2
},
/* (173) as ::= AS ids */
258
,
/* (177) distinct ::= */
{
261
,
-
1
},
/* (174) as ::= ids */
244
,
/* (178) from ::= FROM tablelist */
{
261
,
0
},
/* (175) as ::= */
244
,
/* (179) from ::= FROM sub */
{
259
,
-
1
},
/* (176) distinct ::= DISTINCT */
262
,
/* (180) sub ::= LP union RP */
{
259
,
0
},
/* (177) distinct ::= */
262
,
/* (181) sub ::= LP union RP ids */
{
245
,
-
2
},
/* (178) from ::= FROM tablelist */
262
,
/* (182) sub ::= sub COMMA LP union RP ids */
{
245
,
-
2
},
/* (179) from ::= FROM sub */
261
,
/* (183) tablelist ::= ids cpxName */
{
263
,
-
3
},
/* (180) sub ::= LP union RP */
261
,
/* (184) tablelist ::= ids cpxName ids */
{
263
,
-
4
},
/* (181) sub ::= LP union RP ids */
261
,
/* (185) tablelist ::= tablelist COMMA ids cpxName */
{
263
,
-
6
},
/* (182) sub ::= sub COMMA LP union RP ids */
261
,
/* (186) tablelist ::= tablelist COMMA ids cpxName ids */
{
262
,
-
2
},
/* (183) tablelist ::= ids cpxName */
263
,
/* (187) tmvar ::= VARIABLE */
{
262
,
-
3
},
/* (184) tablelist ::= ids cpxName ids */
246
,
/* (188) interval_opt ::= INTERVAL LP tmvar RP */
{
262
,
-
4
},
/* (185) tablelist ::= tablelist COMMA ids cpxName */
246
,
/* (189) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
262
,
-
5
},
/* (186) tablelist ::= tablelist COMMA ids cpxName ids */
246
,
/* (190) interval_opt ::= */
{
264
,
-
1
},
/* (187) tmvar ::= VARIABLE */
247
,
/* (191) session_option ::= */
{
247
,
-
4
},
/* (188) interval_opt ::= INTERVAL LP tmvar RP */
247
,
/* (192) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
247
,
-
6
},
/* (189) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
248
,
/* (193) windowstate_option ::= */
{
247
,
0
},
/* (190) interval_opt ::= */
248
,
/* (194) windowstate_option ::= STATE_WINDOW LP ids RP */
{
248
,
0
},
/* (191) session_option ::= */
249
,
/* (195) fill_opt ::= */
{
248
,
-
7
},
/* (192) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
249
,
/* (196) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
249
,
0
},
/* (193) windowstate_option ::= */
249
,
/* (197) fill_opt ::= FILL LP ID RP */
{
249
,
-
4
},
/* (194) windowstate_option ::= STATE_WINDOW LP ids RP */
250
,
/* (198) sliding_opt ::= SLIDING LP tmvar RP */
{
250
,
0
},
/* (195) fill_opt ::= */
250
,
/* (199) sliding_opt ::= */
{
250
,
-
6
},
/* (196) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
252
,
/* (200) orderby_opt ::= */
{
250
,
-
4
},
/* (197) fill_opt ::= FILL LP ID RP */
252
,
/* (201) orderby_opt ::= ORDER BY sortlist */
{
251
,
-
4
},
/* (198) sliding_opt ::= SLIDING LP tmvar RP */
264
,
/* (202) sortlist ::= sortlist COMMA item sortorder */
{
251
,
0
},
/* (199) sliding_opt ::= */
264
,
/* (203) sortlist ::= item sortorder */
{
253
,
0
},
/* (200) orderby_opt ::= */
266
,
/* (204) item ::= ids cpxName */
{
253
,
-
3
},
/* (201) orderby_opt ::= ORDER BY sortlist */
267
,
/* (205) sortorder ::= ASC */
{
265
,
-
4
},
/* (202) sortlist ::= sortlist COMMA item sortorder */
267
,
/* (206) sortorder ::= DESC */
{
265
,
-
2
},
/* (203) sortlist ::= item sortorder */
267
,
/* (207) sortorder ::= */
{
267
,
-
2
},
/* (204) item ::= ids cpxName */
251
,
/* (208) groupby_opt ::= */
{
268
,
-
1
},
/* (205) sortorder ::= ASC */
251
,
/* (209) groupby_opt ::= GROUP BY grouplist */
{
268
,
-
1
},
/* (206) sortorder ::= DESC */
268
,
/* (210) grouplist ::= grouplist COMMA item */
{
268
,
0
},
/* (207) sortorder ::= */
268
,
/* (211) grouplist ::= item */
{
252
,
0
},
/* (208) groupby_opt ::= */
253
,
/* (212) having_opt ::= */
{
252
,
-
3
},
/* (209) groupby_opt ::= GROUP BY grouplist */
253
,
/* (213) having_opt ::= HAVING expr */
{
269
,
-
3
},
/* (210) grouplist ::= grouplist COMMA item */
255
,
/* (214) limit_opt ::= */
{
269
,
-
1
},
/* (211) grouplist ::= item */
255
,
/* (215) limit_opt ::= LIMIT signed */
{
254
,
0
},
/* (212) having_opt ::= */
255
,
/* (216) limit_opt ::= LIMIT signed OFFSET signed */
{
254
,
-
2
},
/* (213) having_opt ::= HAVING expr */
255
,
/* (217) limit_opt ::= LIMIT signed COMMA signed */
{
256
,
0
},
/* (214) limit_opt ::= */
254
,
/* (218) slimit_opt ::= */
{
256
,
-
2
},
/* (215) limit_opt ::= LIMIT signed */
254
,
/* (219) slimit_opt ::= SLIMIT signed */
{
256
,
-
4
},
/* (216) limit_opt ::= LIMIT signed OFFSET signed */
254
,
/* (220) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
256
,
-
4
},
/* (217) limit_opt ::= LIMIT signed COMMA signed */
254
,
/* (221) slimit_opt ::= SLIMIT signed COMMA signed */
{
255
,
0
},
/* (218) slimit_opt ::= */
245
,
/* (222) where_opt ::= */
{
255
,
-
2
},
/* (219) slimit_opt ::= SLIMIT signed */
245
,
/* (223) where_opt ::= WHERE expr */
{
255
,
-
4
},
/* (220) slimit_opt ::= SLIMIT signed SOFFSET signed */
259
,
/* (224) expr ::= LP expr RP */
{
255
,
-
4
},
/* (221) slimit_opt ::= SLIMIT signed COMMA signed */
259
,
/* (225) expr ::= ID */
{
246
,
0
},
/* (222) where_opt ::= */
259
,
/* (226) expr ::= ID DOT ID */
{
246
,
-
2
},
/* (223) where_opt ::= WHERE expr */
259
,
/* (227) expr ::= ID DOT STAR */
{
260
,
-
3
},
/* (224) expr ::= LP expr RP */
259
,
/* (228) expr ::= INTEGER */
{
260
,
-
1
},
/* (225) expr ::= ID */
259
,
/* (229) expr ::= MINUS INTEGER */
{
260
,
-
3
},
/* (226) expr ::= ID DOT ID */
259
,
/* (230) expr ::= PLUS INTEGER */
{
260
,
-
3
},
/* (227) expr ::= ID DOT STAR */
259
,
/* (231) expr ::= FLOAT */
{
260
,
-
1
},
/* (228) expr ::= INTEGER */
259
,
/* (232) expr ::= MINUS FLOAT */
{
260
,
-
2
},
/* (229) expr ::= MINUS INTEGER */
259
,
/* (233) expr ::= PLUS FLOAT */
{
260
,
-
2
},
/* (230) expr ::= PLUS INTEGER */
259
,
/* (234) expr ::= STRING */
{
260
,
-
1
},
/* (231) expr ::= FLOAT */
259
,
/* (235) expr ::= NOW */
{
260
,
-
2
},
/* (232) expr ::= MINUS FLOAT */
259
,
/* (236) expr ::= VARIABLE */
{
260
,
-
2
},
/* (233) expr ::= PLUS FLOAT */
259
,
/* (237) expr ::= PLUS VARIABLE */
{
260
,
-
1
},
/* (234) expr ::= STRING */
259
,
/* (238) expr ::= MINUS VARIABLE */
{
260
,
-
1
},
/* (235) expr ::= NOW */
259
,
/* (239) expr ::= BOOL */
{
260
,
-
1
},
/* (236) expr ::= VARIABLE */
259
,
/* (240) expr ::= NULL */
{
260
,
-
2
},
/* (237) expr ::= PLUS VARIABLE */
259
,
/* (241) expr ::= ID LP exprlist RP */
{
260
,
-
2
},
/* (238) expr ::= MINUS VARIABLE */
259
,
/* (242) expr ::= ID LP STAR RP */
{
260
,
-
1
},
/* (239) expr ::= BOOL */
259
,
/* (243) expr ::= expr IS NULL */
{
260
,
-
1
},
/* (240) expr ::= NULL */
259
,
/* (244) expr ::= expr IS NOT NULL */
{
260
,
-
4
},
/* (241) expr ::= ID LP exprlist RP */
259
,
/* (245) expr ::= expr LT expr */
{
260
,
-
4
},
/* (242) expr ::= ID LP STAR RP */
259
,
/* (246) expr ::= expr GT expr */
{
260
,
-
3
},
/* (243) expr ::= expr IS NULL */
259
,
/* (247) expr ::= expr LE expr */
{
260
,
-
4
},
/* (244) expr ::= expr IS NOT NULL */
259
,
/* (248) expr ::= expr GE expr */
{
260
,
-
3
},
/* (245) expr ::= expr LT expr */
259
,
/* (249) expr ::= expr NE expr */
{
260
,
-
3
},
/* (246) expr ::= expr GT expr */
259
,
/* (250) expr ::= expr EQ expr */
{
260
,
-
3
},
/* (247) expr ::= expr LE expr */
259
,
/* (251) expr ::= expr BETWEEN expr AND expr */
{
260
,
-
3
},
/* (248) expr ::= expr GE expr */
259
,
/* (252) expr ::= expr AND expr */
{
260
,
-
3
},
/* (249) expr ::= expr NE expr */
259
,
/* (253) expr ::= expr OR expr */
{
260
,
-
3
},
/* (250) expr ::= expr EQ expr */
259
,
/* (254) expr ::= expr PLUS expr */
{
260
,
-
5
},
/* (251) expr ::= expr BETWEEN expr AND expr */
259
,
/* (255) expr ::= expr MINUS expr */
{
260
,
-
3
},
/* (252) expr ::= expr AND expr */
259
,
/* (256) expr ::= expr STAR expr */
{
260
,
-
3
},
/* (253) expr ::= expr OR expr */
259
,
/* (257) expr ::= expr SLASH expr */
{
260
,
-
3
},
/* (254) expr ::= expr PLUS expr */
259
,
/* (258) expr ::= expr REM expr */
{
260
,
-
3
},
/* (255) expr ::= expr MINUS expr */
259
,
/* (259) expr ::= expr LIKE expr */
{
260
,
-
3
},
/* (256) expr ::= expr STAR expr */
259
,
/* (260) expr ::= expr IN LP exprlist RP */
{
260
,
-
3
},
/* (257) expr ::= expr SLASH expr */
269
,
/* (261) exprlist ::= exprlist COMMA expritem */
{
260
,
-
3
},
/* (258) expr ::= expr REM expr */
269
,
/* (262) exprlist ::= expritem */
{
260
,
-
3
},
/* (259) expr ::= expr LIKE expr */
270
,
/* (263) expritem ::= expr */
{
260
,
-
5
},
/* (260) expr ::= expr IN LP exprlist RP */
270
,
/* (264) expritem ::= */
{
270
,
-
3
},
/* (261) exprlist ::= exprlist COMMA expritem */
194
,
/* (265) cmd ::= RESET QUERY CACHE */
{
270
,
-
1
},
/* (262) exprlist ::= expritem */
194
,
/* (266) cmd ::= SYNCDB ids REPLICA */
{
271
,
-
1
},
/* (263) expritem ::= expr */
194
,
/* (267) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
271
,
0
},
/* (264) expritem ::= */
194
,
/* (268) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
195
,
-
3
},
/* (265) cmd ::= RESET QUERY CACHE */
194
,
/* (269) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
195
,
-
3
},
/* (266) cmd ::= SYNCDB ids REPLICA */
194
,
/* (270) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
195
,
-
7
},
/* (267) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
194
,
/* (271) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
195
,
-
7
},
/* (268) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
194
,
/* (272) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
195
,
-
7
},
/* (269) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
194
,
/* (273) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
195
,
-
7
},
/* (270) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
194
,
/* (274) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
195
,
-
8
},
/* (271) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
194
,
/* (275) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
195
,
-
9
},
/* (272) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
194
,
/* (276) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
195
,
-
7
},
/* (273) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
194
,
/* (277) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
195
,
-
7
},
/* (274) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
194
,
/* (278) cmd ::= KILL CONNECTION INTEGER */
{
195
,
-
7
},
/* (275) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
194
,
/* (279) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
195
,
-
7
},
/* (276) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
194
,
/* (280) cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
195
,
-
8
},
/* (277) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
};
{
195
,
-
3
},
/* (278) cmd ::= KILL CONNECTION INTEGER */
{
195
,
-
5
},
/* (279) cmd ::= KILL STREAM INTEGER COLON INTEGER */
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
{
195
,
-
5
},
/* (280) cmd ::= KILL QUERY INTEGER COLON INTEGER */
** 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 TOPICS */
-
2
,
/* (3) cmd ::= SHOW FUNCTIONS */
-
2
,
/* (4) cmd ::= SHOW MNODES */
-
2
,
/* (5) cmd ::= SHOW DNODES */
-
2
,
/* (6) cmd ::= SHOW ACCOUNTS */
-
2
,
/* (7) cmd ::= SHOW USERS */
-
2
,
/* (8) cmd ::= SHOW MODULES */
-
2
,
/* (9) cmd ::= SHOW QUERIES */
-
2
,
/* (10) cmd ::= SHOW CONNECTIONS */
-
2
,
/* (11) cmd ::= SHOW STREAMS */
-
2
,
/* (12) cmd ::= SHOW VARIABLES */
-
2
,
/* (13) cmd ::= SHOW SCORES */
-
2
,
/* (14) cmd ::= SHOW GRANTS */
-
2
,
/* (15) cmd ::= SHOW VNODES */
-
3
,
/* (16) cmd ::= SHOW VNODES IPTOKEN */
0
,
/* (17) dbPrefix ::= */
-
2
,
/* (18) dbPrefix ::= ids DOT */
0
,
/* (19) cpxName ::= */
-
2
,
/* (20) cpxName ::= DOT ids */
-
5
,
/* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
-
5
,
/* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
-
4
,
/* (23) cmd ::= SHOW CREATE DATABASE ids */
-
3
,
/* (24) cmd ::= SHOW dbPrefix TABLES */
-
5
,
/* (25) cmd ::= SHOW dbPrefix TABLES LIKE ids */
-
3
,
/* (26) cmd ::= SHOW dbPrefix STABLES */
-
5
,
/* (27) cmd ::= SHOW dbPrefix STABLES LIKE ids */
-
3
,
/* (28) cmd ::= SHOW dbPrefix VGROUPS */
-
4
,
/* (29) cmd ::= SHOW dbPrefix VGROUPS ids */
-
5
,
/* (30) cmd ::= DROP TABLE ifexists ids cpxName */
-
5
,
/* (31) cmd ::= DROP STABLE ifexists ids cpxName */
-
4
,
/* (32) cmd ::= DROP DATABASE ifexists ids */
-
4
,
/* (33) cmd ::= DROP TOPIC ifexists ids */
-
3
,
/* (34) cmd ::= DROP FUNCTION ids */
-
3
,
/* (35) cmd ::= DROP DNODE ids */
-
3
,
/* (36) cmd ::= DROP USER ids */
-
3
,
/* (37) cmd ::= DROP ACCOUNT ids */
-
2
,
/* (38) cmd ::= USE ids */
-
3
,
/* (39) cmd ::= DESCRIBE ids cpxName */
-
5
,
/* (40) cmd ::= ALTER USER ids PASS ids */
-
5
,
/* (41) cmd ::= ALTER USER ids PRIVILEGE ids */
-
4
,
/* (42) cmd ::= ALTER DNODE ids ids */
-
5
,
/* (43) cmd ::= ALTER DNODE ids ids ids */
-
3
,
/* (44) cmd ::= ALTER LOCAL ids */
-
4
,
/* (45) cmd ::= ALTER LOCAL ids ids */
-
4
,
/* (46) cmd ::= ALTER DATABASE ids alter_db_optr */
-
4
,
/* (47) cmd ::= ALTER TOPIC ids alter_topic_optr */
-
4
,
/* (48) cmd ::= ALTER ACCOUNT ids acct_optr */
-
6
,
/* (49) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
-
1
,
/* (50) ids ::= ID */
-
1
,
/* (51) ids ::= STRING */
-
2
,
/* (52) ifexists ::= IF EXISTS */
0
,
/* (53) ifexists ::= */
-
3
,
/* (54) ifnotexists ::= IF NOT EXISTS */
0
,
/* (55) ifnotexists ::= */
-
3
,
/* (56) cmd ::= CREATE DNODE ids */
-
6
,
/* (57) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
-
5
,
/* (58) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-
5
,
/* (59) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
-
8
,
/* (60) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
-
9
,
/* (61) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
-
5
,
/* (62) cmd ::= CREATE USER ids PASS ids */
0
,
/* (63) bufsize ::= */
-
2
,
/* (64) bufsize ::= BUFSIZE INTEGER */
0
,
/* (65) pps ::= */
-
2
,
/* (66) pps ::= PPS INTEGER */
0
,
/* (67) tseries ::= */
-
2
,
/* (68) tseries ::= TSERIES INTEGER */
0
,
/* (69) dbs ::= */
-
2
,
/* (70) dbs ::= DBS INTEGER */
0
,
/* (71) streams ::= */
-
2
,
/* (72) streams ::= STREAMS INTEGER */
0
,
/* (73) storage ::= */
-
2
,
/* (74) storage ::= STORAGE INTEGER */
0
,
/* (75) qtime ::= */
-
2
,
/* (76) qtime ::= QTIME INTEGER */
0
,
/* (77) users ::= */
-
2
,
/* (78) users ::= USERS INTEGER */
0
,
/* (79) conns ::= */
-
2
,
/* (80) conns ::= CONNS INTEGER */
0
,
/* (81) state ::= */
-
2
,
/* (82) state ::= STATE ids */
-
9
,
/* (83) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
-
2
,
/* (84) keep ::= KEEP tagitemlist */
-
2
,
/* (85) cache ::= CACHE INTEGER */
-
2
,
/* (86) replica ::= REPLICA INTEGER */
-
2
,
/* (87) quorum ::= QUORUM INTEGER */
-
2
,
/* (88) days ::= DAYS INTEGER */
-
2
,
/* (89) minrows ::= MINROWS INTEGER */
-
2
,
/* (90) maxrows ::= MAXROWS INTEGER */
-
2
,
/* (91) blocks ::= BLOCKS INTEGER */
-
2
,
/* (92) ctime ::= CTIME INTEGER */
-
2
,
/* (93) wal ::= WAL INTEGER */
-
2
,
/* (94) fsync ::= FSYNC INTEGER */
-
2
,
/* (95) comp ::= COMP INTEGER */
-
2
,
/* (96) prec ::= PRECISION STRING */
-
2
,
/* (97) update ::= UPDATE INTEGER */
-
2
,
/* (98) cachelast ::= CACHELAST INTEGER */
-
2
,
/* (99) partitions ::= PARTITIONS INTEGER */
0
,
/* (100) db_optr ::= */
-
2
,
/* (101) db_optr ::= db_optr cache */
-
2
,
/* (102) db_optr ::= db_optr replica */
-
2
,
/* (103) db_optr ::= db_optr quorum */
-
2
,
/* (104) db_optr ::= db_optr days */
-
2
,
/* (105) db_optr ::= db_optr minrows */
-
2
,
/* (106) db_optr ::= db_optr maxrows */
-
2
,
/* (107) db_optr ::= db_optr blocks */
-
2
,
/* (108) db_optr ::= db_optr ctime */
-
2
,
/* (109) db_optr ::= db_optr wal */
-
2
,
/* (110) db_optr ::= db_optr fsync */
-
2
,
/* (111) db_optr ::= db_optr comp */
-
2
,
/* (112) db_optr ::= db_optr prec */
-
2
,
/* (113) db_optr ::= db_optr keep */
-
2
,
/* (114) db_optr ::= db_optr update */
-
2
,
/* (115) db_optr ::= db_optr cachelast */
-
1
,
/* (116) topic_optr ::= db_optr */
-
2
,
/* (117) topic_optr ::= topic_optr partitions */
0
,
/* (118) alter_db_optr ::= */
-
2
,
/* (119) alter_db_optr ::= alter_db_optr replica */
-
2
,
/* (120) alter_db_optr ::= alter_db_optr quorum */
-
2
,
/* (121) alter_db_optr ::= alter_db_optr keep */
-
2
,
/* (122) alter_db_optr ::= alter_db_optr blocks */
-
2
,
/* (123) alter_db_optr ::= alter_db_optr comp */
-
2
,
/* (124) alter_db_optr ::= alter_db_optr wal */
-
2
,
/* (125) alter_db_optr ::= alter_db_optr fsync */
-
2
,
/* (126) alter_db_optr ::= alter_db_optr update */
-
2
,
/* (127) alter_db_optr ::= alter_db_optr cachelast */
-
1
,
/* (128) alter_topic_optr ::= alter_db_optr */
-
2
,
/* (129) alter_topic_optr ::= alter_topic_optr partitions */
-
1
,
/* (130) typename ::= ids */
-
4
,
/* (131) typename ::= ids LP signed RP */
-
2
,
/* (132) typename ::= ids UNSIGNED */
-
1
,
/* (133) signed ::= INTEGER */
-
2
,
/* (134) signed ::= PLUS INTEGER */
-
2
,
/* (135) signed ::= MINUS INTEGER */
-
3
,
/* (136) cmd ::= CREATE TABLE create_table_args */
-
3
,
/* (137) cmd ::= CREATE TABLE create_stable_args */
-
3
,
/* (138) cmd ::= CREATE STABLE create_stable_args */
-
3
,
/* (139) cmd ::= CREATE TABLE create_table_list */
-
1
,
/* (140) create_table_list ::= create_from_stable */
-
2
,
/* (141) create_table_list ::= create_table_list create_from_stable */
-
6
,
/* (142) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
-
10
,
/* (143) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
-
10
,
/* (144) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
-
13
,
/* (145) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
-
3
,
/* (146) tagNamelist ::= tagNamelist COMMA ids */
-
1
,
/* (147) tagNamelist ::= ids */
-
5
,
/* (148) create_table_args ::= ifnotexists ids cpxName AS select */
-
3
,
/* (149) columnlist ::= columnlist COMMA column */
-
1
,
/* (150) columnlist ::= column */
-
2
,
/* (151) column ::= ids typename */
-
3
,
/* (152) tagitemlist ::= tagitemlist COMMA tagitem */
-
1
,
/* (153) tagitemlist ::= tagitem */
-
1
,
/* (154) tagitem ::= INTEGER */
-
1
,
/* (155) tagitem ::= FLOAT */
-
1
,
/* (156) tagitem ::= STRING */
-
1
,
/* (157) tagitem ::= BOOL */
-
1
,
/* (158) tagitem ::= NULL */
-
2
,
/* (159) tagitem ::= MINUS INTEGER */
-
2
,
/* (160) tagitem ::= MINUS FLOAT */
-
2
,
/* (161) tagitem ::= PLUS INTEGER */
-
2
,
/* (162) tagitem ::= PLUS FLOAT */
-
14
,
/* (163) select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
-
3
,
/* (164) select ::= LP select RP */
-
1
,
/* (165) union ::= select */
-
4
,
/* (166) union ::= union UNION ALL select */
-
1
,
/* (167) cmd ::= union */
-
2
,
/* (168) select ::= SELECT selcollist */
-
2
,
/* (169) sclp ::= selcollist COMMA */
0
,
/* (170) sclp ::= */
-
4
,
/* (171) selcollist ::= sclp distinct expr as */
-
2
,
/* (172) selcollist ::= sclp STAR */
-
2
,
/* (173) as ::= AS ids */
-
1
,
/* (174) as ::= ids */
0
,
/* (175) as ::= */
-
1
,
/* (176) distinct ::= DISTINCT */
0
,
/* (177) distinct ::= */
-
2
,
/* (178) from ::= FROM tablelist */
-
2
,
/* (179) from ::= FROM sub */
-
3
,
/* (180) sub ::= LP union RP */
-
4
,
/* (181) sub ::= LP union RP ids */
-
6
,
/* (182) sub ::= sub COMMA LP union RP ids */
-
2
,
/* (183) tablelist ::= ids cpxName */
-
3
,
/* (184) tablelist ::= ids cpxName ids */
-
4
,
/* (185) tablelist ::= tablelist COMMA ids cpxName */
-
5
,
/* (186) tablelist ::= tablelist COMMA ids cpxName ids */
-
1
,
/* (187) tmvar ::= VARIABLE */
-
4
,
/* (188) interval_opt ::= INTERVAL LP tmvar RP */
-
6
,
/* (189) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
0
,
/* (190) interval_opt ::= */
0
,
/* (191) session_option ::= */
-
7
,
/* (192) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
0
,
/* (193) windowstate_option ::= */
-
4
,
/* (194) windowstate_option ::= STATE_WINDOW LP ids RP */
0
,
/* (195) fill_opt ::= */
-
6
,
/* (196) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
4
,
/* (197) fill_opt ::= FILL LP ID RP */
-
4
,
/* (198) sliding_opt ::= SLIDING LP tmvar RP */
0
,
/* (199) sliding_opt ::= */
0
,
/* (200) orderby_opt ::= */
-
3
,
/* (201) orderby_opt ::= ORDER BY sortlist */
-
4
,
/* (202) sortlist ::= sortlist COMMA item sortorder */
-
2
,
/* (203) sortlist ::= item sortorder */
-
2
,
/* (204) item ::= ids cpxName */
-
1
,
/* (205) sortorder ::= ASC */
-
1
,
/* (206) sortorder ::= DESC */
0
,
/* (207) sortorder ::= */
0
,
/* (208) groupby_opt ::= */
-
3
,
/* (209) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (210) grouplist ::= grouplist COMMA item */
-
1
,
/* (211) grouplist ::= item */
0
,
/* (212) having_opt ::= */
-
2
,
/* (213) having_opt ::= HAVING expr */
0
,
/* (214) limit_opt ::= */
-
2
,
/* (215) limit_opt ::= LIMIT signed */
-
4
,
/* (216) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (217) limit_opt ::= LIMIT signed COMMA signed */
0
,
/* (218) slimit_opt ::= */
-
2
,
/* (219) slimit_opt ::= SLIMIT signed */
-
4
,
/* (220) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (221) slimit_opt ::= SLIMIT signed COMMA signed */
0
,
/* (222) where_opt ::= */
-
2
,
/* (223) where_opt ::= WHERE expr */
-
3
,
/* (224) expr ::= LP expr RP */
-
1
,
/* (225) expr ::= ID */
-
3
,
/* (226) expr ::= ID DOT ID */
-
3
,
/* (227) expr ::= ID DOT STAR */
-
1
,
/* (228) expr ::= INTEGER */
-
2
,
/* (229) expr ::= MINUS INTEGER */
-
2
,
/* (230) expr ::= PLUS INTEGER */
-
1
,
/* (231) expr ::= FLOAT */
-
2
,
/* (232) expr ::= MINUS FLOAT */
-
2
,
/* (233) expr ::= PLUS FLOAT */
-
1
,
/* (234) expr ::= STRING */
-
1
,
/* (235) expr ::= NOW */
-
1
,
/* (236) expr ::= VARIABLE */
-
2
,
/* (237) expr ::= PLUS VARIABLE */
-
2
,
/* (238) expr ::= MINUS VARIABLE */
-
1
,
/* (239) expr ::= BOOL */
-
1
,
/* (240) expr ::= NULL */
-
4
,
/* (241) expr ::= ID LP exprlist RP */
-
4
,
/* (242) expr ::= ID LP STAR RP */
-
3
,
/* (243) expr ::= expr IS NULL */
-
4
,
/* (244) expr ::= expr IS NOT NULL */
-
3
,
/* (245) expr ::= expr LT expr */
-
3
,
/* (246) expr ::= expr GT expr */
-
3
,
/* (247) expr ::= expr LE expr */
-
3
,
/* (248) expr ::= expr GE expr */
-
3
,
/* (249) expr ::= expr NE expr */
-
3
,
/* (250) expr ::= expr EQ expr */
-
5
,
/* (251) expr ::= expr BETWEEN expr AND expr */
-
3
,
/* (252) expr ::= expr AND expr */
-
3
,
/* (253) expr ::= expr OR expr */
-
3
,
/* (254) expr ::= expr PLUS expr */
-
3
,
/* (255) expr ::= expr MINUS expr */
-
3
,
/* (256) expr ::= expr STAR expr */
-
3
,
/* (257) expr ::= expr SLASH expr */
-
3
,
/* (258) expr ::= expr REM expr */
-
3
,
/* (259) expr ::= expr LIKE expr */
-
5
,
/* (260) expr ::= expr IN LP exprlist RP */
-
3
,
/* (261) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (262) exprlist ::= expritem */
-
1
,
/* (263) expritem ::= expr */
0
,
/* (264) expritem ::= */
-
3
,
/* (265) cmd ::= RESET QUERY CACHE */
-
3
,
/* (266) cmd ::= SYNCDB ids REPLICA */
-
7
,
/* (267) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (268) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (269) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (270) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (271) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (272) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (273) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (274) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (275) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (276) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (277) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
3
,
/* (278) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (279) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (280) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
@@ -2092,30 +2389,34 @@ static void yy_accept(yyParser*); /* Forward Declaration */
...
@@ -2092,30 +2389,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 */
...
@@ -2123,7 +2424,7 @@ static void yy_reduce(
...
@@ -2123,7 +2424,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
++
;
...
@@ -2133,13 +2434,19 @@ static void yy_reduce(
...
@@ -2133,13 +2434,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
;
}
}
...
@@ -2336,13 +2643,13 @@ static void yy_reduce(
...
@@ -2336,13 +2643,13 @@ static void yy_reduce(
break
;
break
;
case
46
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
case
46
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
case
47
:
/* cmd ::= ALTER TOPIC ids alter_topic_optr */
yytestcase
(
yyruleno
==
47
);
case
47
:
/* cmd ::= ALTER TOPIC ids alter_topic_optr */
yytestcase
(
yyruleno
==
47
);
{
SStrToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
254
,
&
t
);}
{
SStrToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
540
,
&
t
);}
break
;
break
;
case
48
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
case
48
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
171
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
77
);}
break
;
break
;
case
49
:
/* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
case
49
:
/* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
171
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
77
);}
break
;
break
;
case
50
:
/* ids ::= ID */
case
50
:
/* ids ::= ID */
case
51
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
51
);
case
51
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
51
);
...
@@ -2364,17 +2671,17 @@ static void yy_reduce(
...
@@ -2364,17 +2671,17 @@ static void yy_reduce(
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
break
;
case
57
:
/* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
case
57
:
/* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
171
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
77
);}
break
;
break
;
case
58
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case
58
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case
59
:
/* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
yytestcase
(
yyruleno
==
59
);
case
59
:
/* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
yytestcase
(
yyruleno
==
59
);
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
254
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
540
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
break
;
case
60
:
/* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
case
60
:
/* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
47
1
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
18
1
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
break
;
break
;
case
61
:
/* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
case
61
:
/* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
47
1
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
18
1
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
break
;
break
;
case
62
:
/* cmd ::= CREATE USER ids PASS ids */
case
62
:
/* cmd ::= CREATE USER ids PASS ids */
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
...
@@ -2405,20 +2712,20 @@ static void yy_reduce(
...
@@ -2405,20 +2712,20 @@ static void yy_reduce(
break
;
break
;
case
83
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
case
83
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
{
yylhsminor
.
yy
171
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
77
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
171
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
77
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
171
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
77
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
171
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
77
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
171
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
77
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
171
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
77
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
171
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
77
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
171
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
77
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
171
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
yylhsminor
.
yy
77
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
}
yymsp
[
-
8
].
minor
.
yy
171
=
yylhsminor
.
yy171
;
yymsp
[
-
8
].
minor
.
yy
77
=
yylhsminor
.
yy77
;
break
;
break
;
case
84
:
/* keep ::= KEEP tagitemlist */
case
84
:
/* keep ::= KEEP tagitemlist */
{
yymsp
[
-
1
].
minor
.
yy
413
=
yymsp
[
0
].
minor
.
yy413
;
}
{
yymsp
[
-
1
].
minor
.
yy
347
=
yymsp
[
0
].
minor
.
yy347
;
}
break
;
break
;
case
85
:
/* cache ::= CACHE INTEGER */
case
85
:
/* cache ::= CACHE INTEGER */
case
86
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
86
);
case
86
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
86
);
...
@@ -2438,234 +2745,234 @@ static void yy_reduce(
...
@@ -2438,234 +2745,234 @@ static void yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
break
;
case
100
:
/* db_optr ::= */
case
100
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
254
);
yymsp
[
1
].
minor
.
yy254
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
540
);
yymsp
[
1
].
minor
.
yy540
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
break
;
case
101
:
/* db_optr ::= db_optr cache */
case
101
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
102
:
/* db_optr ::= db_optr replica */
case
102
:
/* db_optr ::= db_optr replica */
case
119
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
119
);
case
119
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
119
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
103
:
/* db_optr ::= db_optr quorum */
case
103
:
/* db_optr ::= db_optr quorum */
case
120
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
120
);
case
120
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
120
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
104
:
/* db_optr ::= db_optr days */
case
104
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
105
:
/* db_optr ::= db_optr minrows */
case
105
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
106
:
/* db_optr ::= db_optr maxrows */
case
106
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
107
:
/* db_optr ::= db_optr blocks */
case
107
:
/* db_optr ::= db_optr blocks */
case
122
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
122
);
case
122
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
122
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
108
:
/* db_optr ::= db_optr ctime */
case
108
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
109
:
/* db_optr ::= db_optr wal */
case
109
:
/* db_optr ::= db_optr wal */
case
124
:
/* alter_db_optr ::= alter_db_optr wal */
yytestcase
(
yyruleno
==
124
);
case
124
:
/* alter_db_optr ::= alter_db_optr wal */
yytestcase
(
yyruleno
==
124
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
110
:
/* db_optr ::= db_optr fsync */
case
110
:
/* db_optr ::= db_optr fsync */
case
125
:
/* alter_db_optr ::= alter_db_optr fsync */
yytestcase
(
yyruleno
==
125
);
case
125
:
/* alter_db_optr ::= alter_db_optr fsync */
yytestcase
(
yyruleno
==
125
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
111
:
/* db_optr ::= db_optr comp */
case
111
:
/* db_optr ::= db_optr comp */
case
123
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
123
);
case
123
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
123
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
112
:
/* db_optr ::= db_optr prec */
case
112
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
113
:
/* db_optr ::= db_optr keep */
case
113
:
/* db_optr ::= db_optr keep */
case
121
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
121
);
case
121
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
121
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
keep
=
yymsp
[
0
].
minor
.
yy413
;
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
keep
=
yymsp
[
0
].
minor
.
yy347
;
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
114
:
/* db_optr ::= db_optr update */
case
114
:
/* db_optr ::= db_optr update */
case
126
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
126
);
case
126
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
126
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
115
:
/* db_optr ::= db_optr cachelast */
case
115
:
/* db_optr ::= db_optr cachelast */
case
127
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
127
);
case
127
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
127
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
116
:
/* topic_optr ::= db_optr */
case
116
:
/* topic_optr ::= db_optr */
case
128
:
/* alter_topic_optr ::= alter_db_optr */
yytestcase
(
yyruleno
==
128
);
case
128
:
/* alter_topic_optr ::= alter_db_optr */
yytestcase
(
yyruleno
==
128
);
{
yylhsminor
.
yy
254
=
yymsp
[
0
].
minor
.
yy254
;
yylhsminor
.
yy254
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
{
yylhsminor
.
yy
540
=
yymsp
[
0
].
minor
.
yy540
;
yylhsminor
.
yy540
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
yymsp
[
0
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
0
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
117
:
/* topic_optr ::= topic_optr partitions */
case
117
:
/* topic_optr ::= topic_optr partitions */
case
129
:
/* alter_topic_optr ::= alter_topic_optr partitions */
yytestcase
(
yyruleno
==
129
);
case
129
:
/* alter_topic_optr ::= alter_topic_optr partitions */
yytestcase
(
yyruleno
==
129
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
540
=
yymsp
[
-
1
].
minor
.
yy540
;
yylhsminor
.
yy540
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
yymsp
[
-
1
].
minor
.
yy
540
=
yylhsminor
.
yy540
;
break
;
break
;
case
118
:
/* alter_db_optr ::= */
case
118
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
254
);
yymsp
[
1
].
minor
.
yy254
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
540
);
yymsp
[
1
].
minor
.
yy540
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
break
;
case
130
:
/* typename ::= ids */
case
130
:
/* typename ::= ids */
{
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
47
1
,
&
yymsp
[
0
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
18
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
}
yymsp
[
0
].
minor
.
yy
471
=
yylhsminor
.
yy47
1
;
yymsp
[
0
].
minor
.
yy
181
=
yylhsminor
.
yy18
1
;
break
;
break
;
case
131
:
/* typename ::= ids LP signed RP */
case
131
:
/* typename ::= ids LP signed RP */
{
{
if
(
yymsp
[
-
1
].
minor
.
yy
157
<=
0
)
{
if
(
yymsp
[
-
1
].
minor
.
yy
271
<=
0
)
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
47
1
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
18
1
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
else
{
}
else
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
157
;
// negative value of name length
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
271
;
// negative value of name length
tSetColumnType
(
&
yylhsminor
.
yy
47
1
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
18
1
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
}
}
}
yymsp
[
-
3
].
minor
.
yy
471
=
yylhsminor
.
yy47
1
;
yymsp
[
-
3
].
minor
.
yy
181
=
yylhsminor
.
yy18
1
;
break
;
break
;
case
132
:
/* typename ::= ids UNSIGNED */
case
132
:
/* typename ::= ids UNSIGNED */
{
{
yymsp
[
-
1
].
minor
.
yy0
.
type
=
0
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
0
;
yymsp
[
-
1
].
minor
.
yy0
.
n
=
((
yymsp
[
0
].
minor
.
yy0
.
z
+
yymsp
[
0
].
minor
.
yy0
.
n
)
-
yymsp
[
-
1
].
minor
.
yy0
.
z
);
yymsp
[
-
1
].
minor
.
yy0
.
n
=
((
yymsp
[
0
].
minor
.
yy0
.
z
+
yymsp
[
0
].
minor
.
yy0
.
n
)
-
yymsp
[
-
1
].
minor
.
yy0
.
z
);
tSetColumnType
(
&
yylhsminor
.
yy
47
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
18
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
}
yymsp
[
-
1
].
minor
.
yy
471
=
yylhsminor
.
yy47
1
;
yymsp
[
-
1
].
minor
.
yy
181
=
yylhsminor
.
yy18
1
;
break
;
break
;
case
133
:
/* signed ::= INTEGER */
case
133
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy
157
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yylhsminor
.
yy
271
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
157
=
yylhsminor
.
yy157
;
yymsp
[
0
].
minor
.
yy
271
=
yylhsminor
.
yy271
;
break
;
break
;
case
134
:
/* signed ::= PLUS INTEGER */
case
134
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
157
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yymsp
[
-
1
].
minor
.
yy
271
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
break
;
break
;
case
135
:
/* signed ::= MINUS INTEGER */
case
135
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
157
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
{
yymsp
[
-
1
].
minor
.
yy
271
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
break
;
case
139
:
/* cmd ::= CREATE TABLE create_table_list */
case
139
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
438
;}
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
360
;}
break
;
break
;
case
140
:
/* create_table_list ::= create_from_stable */
case
140
:
/* create_table_list ::= create_from_stable */
{
{
SCreateTableSql
*
pCreateTable
=
calloc
(
1
,
sizeof
(
SCreateTableSql
));
SCreateTableSql
*
pCreateTable
=
calloc
(
1
,
sizeof
(
SCreateTableSql
));
pCreateTable
->
childTableInfo
=
taosArrayInit
(
4
,
sizeof
(
SCreatedTableInfo
));
pCreateTable
->
childTableInfo
=
taosArrayInit
(
4
,
sizeof
(
SCreatedTableInfo
));
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy
544
);
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy
282
);
pCreateTable
->
type
=
TSQL_CREATE_TABLE_FROM_STABLE
;
pCreateTable
->
type
=
TSQL_CREATE_TABLE_FROM_STABLE
;
yylhsminor
.
yy
438
=
pCreateTable
;
yylhsminor
.
yy
360
=
pCreateTable
;
}
}
yymsp
[
0
].
minor
.
yy
438
=
yylhsminor
.
yy438
;
yymsp
[
0
].
minor
.
yy
360
=
yylhsminor
.
yy360
;
break
;
break
;
case
141
:
/* create_table_list ::= create_table_list create_from_stable */
case
141
:
/* create_table_list ::= create_table_list create_from_stable */
{
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
438
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy544
);
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
360
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy282
);
yylhsminor
.
yy
438
=
yymsp
[
-
1
].
minor
.
yy438
;
yylhsminor
.
yy
360
=
yymsp
[
-
1
].
minor
.
yy360
;
}
}
yymsp
[
-
1
].
minor
.
yy
438
=
yylhsminor
.
yy438
;
yymsp
[
-
1
].
minor
.
yy
360
=
yylhsminor
.
yy360
;
break
;
break
;
case
142
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
case
142
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
{
yylhsminor
.
yy
438
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy413
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
yylhsminor
.
yy
360
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy347
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
360
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
);
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
);
}
}
yymsp
[
-
5
].
minor
.
yy
438
=
yylhsminor
.
yy438
;
yymsp
[
-
5
].
minor
.
yy
360
=
yylhsminor
.
yy360
;
break
;
break
;
case
143
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
case
143
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
{
yylhsminor
.
yy
438
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy413
,
yymsp
[
-
1
].
minor
.
yy413
,
NULL
,
TSQL_CREATE_STABLE
);
yylhsminor
.
yy
360
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy347
,
yymsp
[
-
1
].
minor
.
yy347
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
360
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
}
yymsp
[
-
9
].
minor
.
yy
438
=
yylhsminor
.
yy438
;
yymsp
[
-
9
].
minor
.
yy
360
=
yylhsminor
.
yy360
;
break
;
break
;
case
144
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
case
144
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
{
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
.
yy
544
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy413
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
yylhsminor
.
yy
282
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy347
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
}
yymsp
[
-
9
].
minor
.
yy
544
=
yylhsminor
.
yy544
;
yymsp
[
-
9
].
minor
.
yy
282
=
yylhsminor
.
yy282
;
break
;
break
;
case
145
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
case
145
:
/* 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
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
11
].
minor
.
yy0
.
n
+=
yymsp
[
-
10
].
minor
.
yy0
.
n
;
yymsp
[
-
11
].
minor
.
yy0
.
n
+=
yymsp
[
-
10
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
544
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy413
,
yymsp
[
-
1
].
minor
.
yy413
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
yylhsminor
.
yy
282
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy347
,
yymsp
[
-
1
].
minor
.
yy347
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
}
}
yymsp
[
-
12
].
minor
.
yy
544
=
yylhsminor
.
yy544
;
yymsp
[
-
12
].
minor
.
yy
282
=
yylhsminor
.
yy282
;
break
;
break
;
case
146
:
/* tagNamelist ::= tagNamelist COMMA ids */
case
146
:
/* tagNamelist ::= tagNamelist COMMA ids */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
413
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy413
=
yymsp
[
-
2
].
minor
.
yy413
;
}
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
347
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy347
=
yymsp
[
-
2
].
minor
.
yy347
;
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
2
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
147
:
/* tagNamelist ::= ids */
case
147
:
/* tagNamelist ::= ids */
{
yylhsminor
.
yy
413
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
yylhsminor
.
yy
347
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy347
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
0
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
148
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
case
148
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
{
{
yylhsminor
.
yy
438
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy24
,
TSQL_CREATE_STREAM
);
yylhsminor
.
yy
360
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy542
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
360
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
3
].
minor
.
yy0
.
n
+=
yymsp
[
-
2
].
minor
.
yy0
.
n
;
yymsp
[
-
3
].
minor
.
yy0
.
n
+=
yymsp
[
-
2
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
4
].
minor
.
yy0
);
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
4
].
minor
.
yy0
);
}
}
yymsp
[
-
4
].
minor
.
yy
438
=
yylhsminor
.
yy438
;
yymsp
[
-
4
].
minor
.
yy
360
=
yylhsminor
.
yy360
;
break
;
break
;
case
149
:
/* columnlist ::= columnlist COMMA column */
case
149
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
413
,
&
yymsp
[
0
].
minor
.
yy471
);
yylhsminor
.
yy413
=
yymsp
[
-
2
].
minor
.
yy413
;
}
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
347
,
&
yymsp
[
0
].
minor
.
yy181
);
yylhsminor
.
yy347
=
yymsp
[
-
2
].
minor
.
yy347
;
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
2
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
150
:
/* columnlist ::= column */
case
150
:
/* columnlist ::= column */
{
yylhsminor
.
yy
413
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy47
1
);}
{
yylhsminor
.
yy
347
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy347
,
&
yymsp
[
0
].
minor
.
yy18
1
);}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
0
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
151
:
/* column ::= ids typename */
case
151
:
/* column ::= ids typename */
{
{
tSetColumnInfo
(
&
yylhsminor
.
yy
471
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy47
1
);
tSetColumnInfo
(
&
yylhsminor
.
yy
181
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy18
1
);
}
}
yymsp
[
-
1
].
minor
.
yy
471
=
yylhsminor
.
yy47
1
;
yymsp
[
-
1
].
minor
.
yy
181
=
yylhsminor
.
yy18
1
;
break
;
break
;
case
152
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
case
152
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
{
yylhsminor
.
yy
413
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy394
,
-
1
);
}
{
yylhsminor
.
yy
347
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy347
,
&
yymsp
[
0
].
minor
.
yy312
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
2
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
153
:
/* tagitemlist ::= tagitem */
case
153
:
/* tagitemlist ::= tagitem */
{
yylhsminor
.
yy
413
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy394
,
-
1
);
}
{
yylhsminor
.
yy
347
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy312
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
0
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
154
:
/* tagitem ::= INTEGER */
case
154
:
/* tagitem ::= INTEGER */
case
155
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
155
);
case
155
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
155
);
case
156
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
156
);
case
156
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
156
);
case
157
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
157
);
case
157
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
157
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy3
94
,
&
yymsp
[
0
].
minor
.
yy0
);
}
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy3
12
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy3
94
=
yylhsminor
.
yy394
;
yymsp
[
0
].
minor
.
yy3
12
=
yylhsminor
.
yy312
;
break
;
break
;
case
158
:
/* tagitem ::= NULL */
case
158
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy3
94
,
&
yymsp
[
0
].
minor
.
yy0
);
}
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy3
12
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy3
94
=
yylhsminor
.
yy394
;
yymsp
[
0
].
minor
.
yy3
12
=
yylhsminor
.
yy312
;
break
;
break
;
case
159
:
/* tagitem ::= MINUS INTEGER */
case
159
:
/* tagitem ::= MINUS INTEGER */
case
160
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
160
);
case
160
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
160
);
...
@@ -2675,56 +2982,56 @@ static void yy_reduce(
...
@@ -2675,56 +2982,56 @@ static void yy_reduce(
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
;
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy3
94
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tVariantCreate
(
&
yylhsminor
.
yy3
12
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
}
yymsp
[
-
1
].
minor
.
yy3
94
=
yylhsminor
.
yy394
;
yymsp
[
-
1
].
minor
.
yy3
12
=
yylhsminor
.
yy312
;
break
;
break
;
case
163
:
/* select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
case
163
:
/* select ::= SELECT selcollist from where_opt interval_opt session_option windowstate_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
{
yylhsminor
.
yy
24
=
tSetQuerySqlNode
(
&
yymsp
[
-
13
].
minor
.
yy0
,
yymsp
[
-
12
].
minor
.
yy413
,
yymsp
[
-
11
].
minor
.
yy292
,
yymsp
[
-
10
].
minor
.
yy370
,
yymsp
[
-
4
].
minor
.
yy413
,
yymsp
[
-
3
].
minor
.
yy413
,
&
yymsp
[
-
9
].
minor
.
yy136
,
&
yymsp
[
-
8
].
minor
.
yy251
,
&
yymsp
[
-
7
].
minor
.
yy256
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy262
,
&
yymsp
[
-
1
].
minor
.
yy262
,
yymsp
[
-
2
].
minor
.
yy370
);
yylhsminor
.
yy
542
=
tSetQuerySqlNode
(
&
yymsp
[
-
13
].
minor
.
yy0
,
yymsp
[
-
12
].
minor
.
yy347
,
yymsp
[
-
11
].
minor
.
yy120
,
yymsp
[
-
10
].
minor
.
yy42
,
yymsp
[
-
4
].
minor
.
yy347
,
yymsp
[
-
3
].
minor
.
yy347
,
&
yymsp
[
-
9
].
minor
.
yy314
,
&
yymsp
[
-
8
].
minor
.
yy51
,
&
yymsp
[
-
7
].
minor
.
yy356
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy347
,
&
yymsp
[
0
].
minor
.
yy188
,
&
yymsp
[
-
1
].
minor
.
yy188
,
yymsp
[
-
2
].
minor
.
yy42
);
}
}
yymsp
[
-
13
].
minor
.
yy
24
=
yylhsminor
.
yy24
;
yymsp
[
-
13
].
minor
.
yy
542
=
yylhsminor
.
yy542
;
break
;
break
;
case
164
:
/* select ::= LP select RP */
case
164
:
/* select ::= LP select RP */
{
yymsp
[
-
2
].
minor
.
yy
24
=
yymsp
[
-
1
].
minor
.
yy24
;}
{
yymsp
[
-
2
].
minor
.
yy
542
=
yymsp
[
-
1
].
minor
.
yy542
;}
break
;
break
;
case
165
:
/* union ::= select */
case
165
:
/* union ::= select */
{
yylhsminor
.
yy
413
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy24
);
}
{
yylhsminor
.
yy
347
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy542
);
}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
0
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
166
:
/* union ::= union UNION ALL select */
case
166
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy
413
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy413
,
yymsp
[
0
].
minor
.
yy24
);
}
{
yylhsminor
.
yy
347
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy347
,
yymsp
[
0
].
minor
.
yy542
);
}
yymsp
[
-
3
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
3
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
167
:
/* cmd ::= union */
case
167
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_SQL_SELECT
);
}
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
347
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
break
;
case
168
:
/* select ::= SELECT selcollist */
case
168
:
/* select ::= SELECT selcollist */
{
{
yylhsminor
.
yy
24
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy413
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
yylhsminor
.
yy
542
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy347
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
}
yymsp
[
-
1
].
minor
.
yy
24
=
yylhsminor
.
yy24
;
yymsp
[
-
1
].
minor
.
yy
542
=
yylhsminor
.
yy542
;
break
;
break
;
case
169
:
/* sclp ::= selcollist COMMA */
case
169
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy
413
=
yymsp
[
-
1
].
minor
.
yy413
;}
{
yylhsminor
.
yy
347
=
yymsp
[
-
1
].
minor
.
yy347
;}
yymsp
[
-
1
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
1
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
170
:
/* sclp ::= */
case
170
:
/* sclp ::= */
case
200
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
200
);
case
200
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
200
);
{
yymsp
[
1
].
minor
.
yy
413
=
0
;}
{
yymsp
[
1
].
minor
.
yy
347
=
0
;}
break
;
break
;
case
171
:
/* selcollist ::= sclp distinct expr as */
case
171
:
/* selcollist ::= sclp distinct expr as */
{
{
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy413
,
yymsp
[
-
1
].
minor
.
yy370
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
yylhsminor
.
yy
347
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy347
,
yymsp
[
-
1
].
minor
.
yy42
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
}
yymsp
[
-
3
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
3
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
172
:
/* selcollist ::= sclp STAR */
case
172
:
/* selcollist ::= sclp STAR */
{
{
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
NULL
,
TK_ALL
);
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
NULL
,
TK_ALL
);
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy413
,
pNode
,
0
,
0
);
yylhsminor
.
yy
347
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy347
,
pNode
,
0
,
0
);
}
}
yymsp
[
-
1
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
1
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
173
:
/* as ::= AS ids */
case
173
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
...
@@ -2742,79 +3049,79 @@ static void yy_reduce(
...
@@ -2742,79 +3049,79 @@ static void yy_reduce(
break
;
break
;
case
178
:
/* from ::= FROM tablelist */
case
178
:
/* from ::= FROM tablelist */
case
179
:
/* from ::= FROM sub */
yytestcase
(
yyruleno
==
179
);
case
179
:
/* from ::= FROM sub */
yytestcase
(
yyruleno
==
179
);
{
yymsp
[
-
1
].
minor
.
yy
292
=
yymsp
[
0
].
minor
.
yy292
;}
{
yymsp
[
-
1
].
minor
.
yy
120
=
yymsp
[
0
].
minor
.
yy120
;}
break
;
break
;
case
180
:
/* sub ::= LP union RP */
case
180
:
/* sub ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy
292
=
addSubqueryElem
(
NULL
,
yymsp
[
-
1
].
minor
.
yy413
,
NULL
);}
{
yymsp
[
-
2
].
minor
.
yy
120
=
addSubqueryElem
(
NULL
,
yymsp
[
-
1
].
minor
.
yy347
,
NULL
);}
break
;
break
;
case
181
:
/* sub ::= LP union RP ids */
case
181
:
/* sub ::= LP union RP ids */
{
yymsp
[
-
3
].
minor
.
yy
292
=
addSubqueryElem
(
NULL
,
yymsp
[
-
2
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
yymsp
[
-
3
].
minor
.
yy
120
=
addSubqueryElem
(
NULL
,
yymsp
[
-
2
].
minor
.
yy347
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
break
;
case
182
:
/* sub ::= sub COMMA LP union RP ids */
case
182
:
/* sub ::= sub COMMA LP union RP ids */
{
yylhsminor
.
yy
292
=
addSubqueryElem
(
yymsp
[
-
5
].
minor
.
yy292
,
yymsp
[
-
2
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
yylhsminor
.
yy
120
=
addSubqueryElem
(
yymsp
[
-
5
].
minor
.
yy120
,
yymsp
[
-
2
].
minor
.
yy347
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
-
5
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
5
].
minor
.
yy
120
=
yylhsminor
.
yy120
;
break
;
break
;
case
183
:
/* tablelist ::= ids cpxName */
case
183
:
/* tablelist ::= ids cpxName */
{
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
120
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
}
yymsp
[
-
1
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
1
].
minor
.
yy
120
=
yylhsminor
.
yy120
;
break
;
break
;
case
184
:
/* tablelist ::= ids cpxName ids */
case
184
:
/* tablelist ::= ids cpxName ids */
{
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
120
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
}
yymsp
[
-
2
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
2
].
minor
.
yy
120
=
yylhsminor
.
yy120
;
break
;
break
;
case
185
:
/* tablelist ::= tablelist COMMA ids cpxName */
case
185
:
/* tablelist ::= tablelist COMMA ids cpxName */
{
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy292
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
120
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy120
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
}
yymsp
[
-
3
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
3
].
minor
.
yy
120
=
yylhsminor
.
yy120
;
break
;
break
;
case
186
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
case
186
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
{
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy292
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
120
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy120
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
}
yymsp
[
-
4
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
4
].
minor
.
yy
120
=
yylhsminor
.
yy120
;
break
;
break
;
case
187
:
/* tmvar ::= VARIABLE */
case
187
:
/* 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
188
:
/* interval_opt ::= INTERVAL LP tmvar RP */
case
188
:
/* interval_opt ::= INTERVAL LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy
136
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy136
.
offset
.
n
=
0
;}
{
yymsp
[
-
3
].
minor
.
yy
314
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy314
.
offset
.
n
=
0
;}
break
;
break
;
case
189
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
case
189
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
yymsp
[
-
5
].
minor
.
yy
136
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy136
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
{
yymsp
[
-
5
].
minor
.
yy
314
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy314
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
break
;
break
;
case
190
:
/* interval_opt ::= */
case
190
:
/* interval_opt ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy
136
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy136
));}
{
memset
(
&
yymsp
[
1
].
minor
.
yy
314
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy314
));}
break
;
break
;
case
191
:
/* session_option ::= */
case
191
:
/* session_option ::= */
{
yymsp
[
1
].
minor
.
yy
251
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy2
51
.
gap
.
n
=
0
;}
{
yymsp
[
1
].
minor
.
yy
51
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy
51
.
gap
.
n
=
0
;}
break
;
break
;
case
192
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
case
192
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy
2
51
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy51
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
2
51
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy51
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
}
}
break
;
break
;
case
193
:
/* windowstate_option ::= */
case
193
:
/* windowstate_option ::= */
{
yymsp
[
1
].
minor
.
yy
2
56
.
col
.
n
=
0
;}
{
yymsp
[
1
].
minor
.
yy
3
56
.
col
.
n
=
0
;}
break
;
break
;
case
194
:
/* windowstate_option ::= STATE_WINDOW LP ids RP */
case
194
:
/* windowstate_option ::= STATE_WINDOW LP ids RP */
{
{
yymsp
[
-
3
].
minor
.
yy
2
56
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy
3
56
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
}
}
break
;
break
;
case
195
:
/* fill_opt ::= */
case
195
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy
413
=
0
;
}
{
yymsp
[
1
].
minor
.
yy
347
=
0
;
}
break
;
break
;
case
196
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
case
196
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
{
...
@@ -2822,14 +3129,14 @@ static void yy_reduce(
...
@@ -2822,14 +3129,14 @@ static void yy_reduce(
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
A
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tVariantCreate
(
&
A
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
413
,
&
A
,
-
1
,
0
);
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
347
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
413
=
yymsp
[
-
1
].
minor
.
yy413
;
yymsp
[
-
5
].
minor
.
yy
347
=
yymsp
[
-
1
].
minor
.
yy347
;
}
}
break
;
break
;
case
197
:
/* fill_opt ::= FILL LP ID RP */
case
197
:
/* fill_opt ::= FILL LP ID RP */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy
413
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yymsp
[
-
3
].
minor
.
yy
347
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
}
break
;
break
;
case
198
:
/* sliding_opt ::= SLIDING LP tmvar RP */
case
198
:
/* sliding_opt ::= SLIDING LP tmvar RP */
...
@@ -2839,235 +3146,235 @@ static void yy_reduce(
...
@@ -2839,235 +3146,235 @@ static void yy_reduce(
{
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
201
:
/* orderby_opt ::= ORDER BY sortlist */
case
201
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy
413
=
yymsp
[
0
].
minor
.
yy413
;}
{
yymsp
[
-
2
].
minor
.
yy
347
=
yymsp
[
0
].
minor
.
yy347
;}
break
;
break
;
case
202
:
/* sortlist ::= sortlist COMMA item sortorder */
case
202
:
/* sortlist ::= sortlist COMMA item sortorder */
{
{
yylhsminor
.
yy
413
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy413
,
&
yymsp
[
-
1
].
minor
.
yy394
,
yymsp
[
0
].
minor
.
yy60
);
yylhsminor
.
yy
347
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy347
,
&
yymsp
[
-
1
].
minor
.
yy312
,
yymsp
[
0
].
minor
.
yy82
);
}
}
yymsp
[
-
3
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
3
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
203
:
/* sortlist ::= item sortorder */
case
203
:
/* sortlist ::= item sortorder */
{
{
yylhsminor
.
yy
413
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy394
,
yymsp
[
0
].
minor
.
yy60
);
yylhsminor
.
yy
347
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy312
,
yymsp
[
0
].
minor
.
yy82
);
}
}
yymsp
[
-
1
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
1
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
204
:
/* item ::= ids cpxName */
case
204
:
/* 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
;
tVariantCreate
(
&
yylhsminor
.
yy3
94
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tVariantCreate
(
&
yylhsminor
.
yy3
12
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
}
yymsp
[
-
1
].
minor
.
yy3
94
=
yylhsminor
.
yy394
;
yymsp
[
-
1
].
minor
.
yy3
12
=
yylhsminor
.
yy312
;
break
;
break
;
case
205
:
/* sortorder ::= ASC */
case
205
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy
60
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
0
].
minor
.
yy
82
=
TSDB_ORDER_ASC
;
}
break
;
break
;
case
206
:
/* sortorder ::= DESC */
case
206
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy
60
=
TSDB_ORDER_DESC
;}
{
yymsp
[
0
].
minor
.
yy
82
=
TSDB_ORDER_DESC
;}
break
;
break
;
case
207
:
/* sortorder ::= */
case
207
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy
60
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
1
].
minor
.
yy
82
=
TSDB_ORDER_ASC
;
}
break
;
break
;
case
208
:
/* groupby_opt ::= */
case
208
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy
413
=
0
;}
{
yymsp
[
1
].
minor
.
yy
347
=
0
;}
break
;
break
;
case
209
:
/* groupby_opt ::= GROUP BY grouplist */
case
209
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy
413
=
yymsp
[
0
].
minor
.
yy413
;}
{
yymsp
[
-
2
].
minor
.
yy
347
=
yymsp
[
0
].
minor
.
yy347
;}
break
;
break
;
case
210
:
/* grouplist ::= grouplist COMMA item */
case
210
:
/* grouplist ::= grouplist COMMA item */
{
{
yylhsminor
.
yy
413
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy394
,
-
1
);
yylhsminor
.
yy
347
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy347
,
&
yymsp
[
0
].
minor
.
yy312
,
-
1
);
}
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
2
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
211
:
/* grouplist ::= item */
case
211
:
/* grouplist ::= item */
{
{
yylhsminor
.
yy
413
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy394
,
-
1
);
yylhsminor
.
yy
347
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy312
,
-
1
);
}
}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
0
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
212
:
/* having_opt ::= */
case
212
:
/* having_opt ::= */
case
222
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
222
);
case
222
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
222
);
case
264
:
/* expritem ::= */
yytestcase
(
yyruleno
==
264
);
case
264
:
/* expritem ::= */
yytestcase
(
yyruleno
==
264
);
{
yymsp
[
1
].
minor
.
yy
370
=
0
;}
{
yymsp
[
1
].
minor
.
yy
42
=
0
;}
break
;
break
;
case
213
:
/* having_opt ::= HAVING expr */
case
213
:
/* having_opt ::= HAVING expr */
case
223
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
223
);
case
223
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
223
);
{
yymsp
[
-
1
].
minor
.
yy
370
=
yymsp
[
0
].
minor
.
yy370
;}
{
yymsp
[
-
1
].
minor
.
yy
42
=
yymsp
[
0
].
minor
.
yy42
;}
break
;
break
;
case
214
:
/* limit_opt ::= */
case
214
:
/* limit_opt ::= */
case
218
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
218
);
case
218
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
218
);
{
yymsp
[
1
].
minor
.
yy
262
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy262
.
offset
=
0
;}
{
yymsp
[
1
].
minor
.
yy
188
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy188
.
offset
=
0
;}
break
;
break
;
case
215
:
/* limit_opt ::= LIMIT signed */
case
215
:
/* limit_opt ::= LIMIT signed */
case
219
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
219
);
case
219
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
219
);
{
yymsp
[
-
1
].
minor
.
yy
262
.
limit
=
yymsp
[
0
].
minor
.
yy157
;
yymsp
[
-
1
].
minor
.
yy262
.
offset
=
0
;}
{
yymsp
[
-
1
].
minor
.
yy
188
.
limit
=
yymsp
[
0
].
minor
.
yy271
;
yymsp
[
-
1
].
minor
.
yy188
.
offset
=
0
;}
break
;
break
;
case
216
:
/* limit_opt ::= LIMIT signed OFFSET signed */
case
216
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
262
.
limit
=
yymsp
[
-
2
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy262
.
offset
=
yymsp
[
0
].
minor
.
yy157
;}
{
yymsp
[
-
3
].
minor
.
yy
188
.
limit
=
yymsp
[
-
2
].
minor
.
yy271
;
yymsp
[
-
3
].
minor
.
yy188
.
offset
=
yymsp
[
0
].
minor
.
yy271
;}
break
;
break
;
case
217
:
/* limit_opt ::= LIMIT signed COMMA signed */
case
217
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
262
.
limit
=
yymsp
[
0
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy262
.
offset
=
yymsp
[
-
2
].
minor
.
yy157
;}
{
yymsp
[
-
3
].
minor
.
yy
188
.
limit
=
yymsp
[
0
].
minor
.
yy271
;
yymsp
[
-
3
].
minor
.
yy188
.
offset
=
yymsp
[
-
2
].
minor
.
yy271
;}
break
;
break
;
case
220
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
case
220
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
262
.
limit
=
yymsp
[
-
2
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy262
.
offset
=
yymsp
[
0
].
minor
.
yy157
;}
{
yymsp
[
-
3
].
minor
.
yy
188
.
limit
=
yymsp
[
-
2
].
minor
.
yy271
;
yymsp
[
-
3
].
minor
.
yy188
.
offset
=
yymsp
[
0
].
minor
.
yy271
;}
break
;
break
;
case
221
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
case
221
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
262
.
limit
=
yymsp
[
0
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy262
.
offset
=
yymsp
[
-
2
].
minor
.
yy157
;}
{
yymsp
[
-
3
].
minor
.
yy
188
.
limit
=
yymsp
[
0
].
minor
.
yy271
;
yymsp
[
-
3
].
minor
.
yy188
.
offset
=
yymsp
[
-
2
].
minor
.
yy271
;}
break
;
break
;
case
224
:
/* expr ::= LP expr RP */
case
224
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy
370
=
yymsp
[
-
1
].
minor
.
yy370
;
yylhsminor
.
yy370
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy370
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
{
yylhsminor
.
yy
42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy42
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
225
:
/* expr ::= ID */
case
225
:
/* expr ::= ID */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
226
:
/* expr ::= ID DOT ID */
case
226
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
227
:
/* expr ::= ID DOT STAR */
case
227
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
228
:
/* expr ::= INTEGER */
case
228
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
229
:
/* expr ::= MINUS INTEGER */
case
229
:
/* expr ::= MINUS INTEGER */
case
230
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
230
);
case
230
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
230
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
1
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
231
:
/* expr ::= FLOAT */
case
231
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
232
:
/* expr ::= MINUS FLOAT */
case
232
:
/* expr ::= MINUS FLOAT */
case
233
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
233
);
case
233
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
233
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
1
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
234
:
/* expr ::= STRING */
case
234
:
/* expr ::= STRING */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
235
:
/* expr ::= NOW */
case
235
:
/* expr ::= NOW */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
236
:
/* expr ::= VARIABLE */
case
236
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
237
:
/* expr ::= PLUS VARIABLE */
case
237
:
/* expr ::= PLUS VARIABLE */
case
238
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
238
);
case
238
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
238
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
-
1
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
1
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
239
:
/* expr ::= BOOL */
case
239
:
/* expr ::= BOOL */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
240
:
/* expr ::= NULL */
case
240
:
/* expr ::= NULL */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
241
:
/* expr ::= ID LP exprlist RP */
case
241
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy370
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy413
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy42
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy347
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
3
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
242
:
/* expr ::= ID LP STAR RP */
case
242
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy370
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy42
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
3
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
243
:
/* expr ::= expr IS NULL */
case
243
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
NULL
,
TK_ISNULL
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
244
:
/* expr ::= expr IS NOT NULL */
case
244
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy370
,
NULL
,
TK_NOTNULL
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy42
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
3
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
245
:
/* expr ::= expr LT expr */
case
245
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LT
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
246
:
/* expr ::= expr GT expr */
case
246
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GT
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
247
:
/* expr ::= expr LE expr */
case
247
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LE
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
248
:
/* expr ::= expr GE expr */
case
248
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GE
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
249
:
/* expr ::= expr NE expr */
case
249
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_NE
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
250
:
/* expr ::= expr EQ expr */
case
250
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_EQ
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
251
:
/* expr ::= expr BETWEEN expr AND expr */
case
251
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
370
);
yylhsminor
.
yy370
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy370
,
yymsp
[
-
2
].
minor
.
yy370
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy370
,
TK_LE
),
TK_AND
);}
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
42
);
yylhsminor
.
yy42
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy42
,
yymsp
[
-
2
].
minor
.
yy42
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy42
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
4
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
252
:
/* expr ::= expr AND expr */
case
252
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_AND
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
253
:
/* expr ::= expr OR expr */
case
253
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_OR
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
254
:
/* expr ::= expr PLUS expr */
case
254
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_PLUS
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
255
:
/* expr ::= expr MINUS expr */
case
255
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_MINUS
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
256
:
/* expr ::= expr STAR expr */
case
256
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_STAR
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
257
:
/* expr ::= expr SLASH expr */
case
257
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_DIVIDE
);}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
258
:
/* expr ::= expr REM expr */
case
258
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_REM
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
259
:
/* expr ::= expr LIKE expr */
case
259
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LIKE
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy42
,
yymsp
[
0
].
minor
.
yy42
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
2
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
260
:
/* expr ::= expr IN LP exprlist RP */
case
260
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy370
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy413
,
TK_IN
);
}
{
yylhsminor
.
yy
42
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy42
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy347
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
-
4
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
261
:
/* exprlist ::= exprlist COMMA expritem */
case
261
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy413
,
yymsp
[
0
].
minor
.
yy370
,
0
,
0
);}
{
yylhsminor
.
yy
347
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy347
,
yymsp
[
0
].
minor
.
yy42
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
2
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
262
:
/* exprlist ::= expritem */
case
262
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy370
,
0
,
0
);}
{
yylhsminor
.
yy
347
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy42
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
0
].
minor
.
yy
347
=
yylhsminor
.
yy347
;
break
;
break
;
case
263
:
/* expritem ::= expr */
case
263
:
/* expritem ::= expr */
{
yylhsminor
.
yy
370
=
yymsp
[
0
].
minor
.
yy370
;}
{
yylhsminor
.
yy
42
=
yymsp
[
0
].
minor
.
yy42
;}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
yymsp
[
0
].
minor
.
yy
42
=
yylhsminor
.
yy42
;
break
;
break
;
case
265
:
/* cmd ::= RESET QUERY CACHE */
case
265
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
...
@@ -3078,7 +3385,7 @@ static void yy_reduce(
...
@@ -3078,7 +3385,7 @@ static void yy_reduce(
case
267
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
267
:
/* 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
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
347
,
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
;
...
@@ -3096,7 +3403,7 @@ static void yy_reduce(
...
@@ -3096,7 +3403,7 @@ static void yy_reduce(
case
269
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
269
:
/* 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
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
347
,
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
;
...
@@ -3131,7 +3438,7 @@ static void yy_reduce(
...
@@ -3131,7 +3438,7 @@ static void yy_reduce(
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy3
94
,
-
1
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy3
12
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
...
@@ -3140,7 +3447,7 @@ static void yy_reduce(
...
@@ -3140,7 +3447,7 @@ static void yy_reduce(
case
273
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
case
273
:
/* 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
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
347
,
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
;
...
@@ -3158,7 +3465,7 @@ static void yy_reduce(
...
@@ -3158,7 +3465,7 @@ static void yy_reduce(
case
275
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
case
275
:
/* 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
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
347
,
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
;
...
@@ -3200,9 +3507,9 @@ static void yy_reduce(
...
@@ -3200,9 +3507,9 @@ static void yy_reduce(
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
...
@@ -3217,6 +3524,7 @@ static void yy_reduce(
...
@@ -3217,6 +3524,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
;
}
}
/*
/*
...
@@ -3226,7 +3534,8 @@ static void yy_reduce(
...
@@ -3226,7 +3534,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
);
...
@@ -3237,7 +3546,8 @@ static void yy_parse_failed(
...
@@ -3237,7 +3546,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 */
...
@@ -3249,7 +3559,8 @@ static void yy_syntax_error(
...
@@ -3249,7 +3559,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 ****************************************/
...
@@ -3275,7 +3586,8 @@ static void yy_syntax_error(
...
@@ -3275,7 +3586,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
}
}
/*
/*
...
@@ -3284,7 +3596,8 @@ static void yy_syntax_error(
...
@@ -3284,7 +3596,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
);
...
@@ -3299,7 +3612,8 @@ static void yy_accept(
...
@@ -3299,7 +3612,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.
...
@@ -3328,45 +3642,47 @@ void Parse(
...
@@ -3328,45 +3642,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
);
...
@@ -3417,10 +3733,9 @@ void Parse(
...
@@ -3417,10 +3733,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
);
}
}
...
@@ -3437,6 +3752,8 @@ void Parse(
...
@@ -3437,6 +3752,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
...
@@ -3447,8 +3764,7 @@ void Parse(
...
@@ -3447,8 +3764,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:
**
**
...
@@ -3470,10 +3786,10 @@ void Parse(
...
@@ -3470,10 +3786,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
;
...
@@ -3488,3 +3804,17 @@ void Parse(
...
@@ -3488,3 +3804,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
}
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录