Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
b428c4f1
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b428c4f1
编写于
4月 09, 2022
作者:
X
xywang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fix: added Bitwise AND function
上级
97d728d1
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
1719 addition
and
1612 deletion
+1719
-1612
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+24
-3
src/common/src/tarithoperator.c
src/common/src/tarithoperator.c
+273
-1
src/common/src/texpr.c
src/common/src/texpr.c
+174
-3
src/inc/taosdef.h
src/inc/taosdef.h
+2
-1
src/query/inc/sql.y
src/query/inc/sql.y
+1
-0
src/query/src/sql.c
src/query/src/sql.c
+1245
-1604
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
b428c4f1
...
...
@@ -282,6 +282,8 @@ static uint8_t convertRelationalOperator(SStrToken *pToken) {
return
TSDB_BINARY_OP_DIVIDE
;
case
TK_REM
:
return
TSDB_BINARY_OP_REMAINDER
;
case
TK_BITAND
:
return
TSDB_BINARY_OP_BITAND
;
case
TK_LIKE
:
return
TSDB_RELATION_LIKE
;
case
TK_MATCH
:
...
...
@@ -10663,6 +10665,23 @@ int32_t exprTreeFromSqlExpr(SSqlCmd* pCmd, tExprNode **pExpr, const tSqlExpr* pS
}
}
if
(
pSqlExpr
->
tokenId
==
TK_BITAND
&&
pSqlExpr
->
pLeft
!=
NULL
&&
pSqlExpr
->
pRight
!=
NULL
)
{
// for example: col type is "bool" but expr "col & 1" received
uint8_t
colType
=
pLeft
->
pSchema
->
type
;
SStrToken
*
exprToken
=
&
pSqlExpr
->
pRight
->
exprToken
;
if
(
pSqlExpr
->
pLeft
->
type
==
SQL_NODE_TABLE_COLUMN
&&
pSqlExpr
->
pRight
->
type
==
SQL_NODE_VALUE
)
{
if
(
colType
==
TSDB_DATA_TYPE_BOOL
)
{
if
((
exprToken
->
n
!=
4
||
strncasecmp
(
exprToken
->
z
,
"true"
,
4
))
&&
(
exprToken
->
n
!=
5
||
strncasecmp
(
exprToken
->
z
,
"false"
,
5
)))
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
}
else
if
(
IS_SIGNED_NUMERIC_TYPE
(
colType
)
||
IS_UNSIGNED_NUMERIC_TYPE
(
colType
))
{
if
((
exprToken
->
n
==
4
&&
strncasecmp
(
exprToken
->
z
,
"true"
,
4
)
==
0
)
||
(
exprToken
->
n
==
5
||
strncasecmp
(
exprToken
->
z
,
"false"
,
5
)
==
0
))
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
}
}
}
if
(
pSqlExpr
->
pRight
!=
NULL
)
{
int32_t
ret
=
exprTreeFromSqlExpr
(
pCmd
,
&
pRight
,
pSqlExpr
->
pRight
,
pQueryInfo
,
pCols
,
uid
);
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
...
...
@@ -10700,9 +10719,11 @@ int32_t exprTreeFromSqlExpr(SSqlCmd* pCmd, tExprNode **pExpr, const tSqlExpr* pS
if
(
pLeft
->
_node
.
optr
==
TSDB_RELATION_ARROW
){
pLeft
=
pLeft
->
_node
.
pLeft
;
}
if
(
pRight
->
pVal
->
nType
==
TSDB_DATA_TYPE_BOOL
&&
pLeft
->
nodeType
==
TSQL_NODE_COL
&&
(
pLeft
->
pSchema
->
type
==
TSDB_DATA_TYPE_BOOL
||
pLeft
->
pSchema
->
type
==
TSDB_DATA_TYPE_JSON
))
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
if
(
pRight
->
pVal
->
nType
==
TSDB_DATA_TYPE_BOOL
&&
pLeft
->
nodeType
==
TSQL_NODE_COL
)
{
if
(((
*
pExpr
)
->
_node
.
optr
!=
TSDB_BINARY_OP_BITAND
&&
pLeft
->
pSchema
->
type
==
TSDB_DATA_TYPE_BOOL
)
||
pLeft
->
pSchema
->
type
==
TSDB_DATA_TYPE_JSON
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
}
}
}
...
...
src/common/src/tarithoperator.c
浏览文件 @
b428c4f1
...
...
@@ -126,6 +126,9 @@ _arithmetic_getVectorDoubleValue_fn_t getVectorDoubleValueFn(int32_t srcType) {
typedef
void
*
(
*
_arithmetic_getVectorValueAddr_fn_t
)(
void
*
src
,
int32_t
index
);
void
*
getVectorValueAddr_BOOL
(
void
*
src
,
int32_t
index
)
{
return
(
void
*
)((
bool
*
)
src
+
index
);
}
void
*
getVectorValueAddr_TINYINT
(
void
*
src
,
int32_t
index
)
{
return
(
void
*
)((
int8_t
*
)
src
+
index
);
}
...
...
@@ -159,7 +162,9 @@ void* getVectorValueAddr_DOUBLE(void *src, int32_t index) {
_arithmetic_getVectorValueAddr_fn_t
getVectorValueAddrFn
(
int32_t
srcType
)
{
_arithmetic_getVectorValueAddr_fn_t
p
=
NULL
;
if
(
srcType
==
TSDB_DATA_TYPE_TINYINT
)
{
if
(
srcType
==
TSDB_DATA_TYPE_BOOL
)
{
p
=
getVectorValueAddr_BOOL
;
}
else
if
(
srcType
==
TSDB_DATA_TYPE_TINYINT
)
{
p
=
getVectorValueAddr_TINYINT
;
}
else
if
(
srcType
==
TSDB_DATA_TYPE_UTINYINT
)
{
p
=
getVectorValueAddr_UTINYINT
;
...
...
@@ -469,6 +474,271 @@ void vectorRemainder(void *left, int32_t len1, int32_t _left_type, void *right,
}
}
void
vectorBitand
(
void
*
left
,
int32_t
len1
,
int32_t
_left_type
,
void
*
right
,
int32_t
len2
,
int32_t
_right_type
,
void
*
out
,
int32_t
_ord
)
{
int32_t
i
=
(
_ord
==
TSDB_ORDER_ASC
)
?
0
:
MAX
(
len1
,
len2
)
-
1
;
int32_t
step
=
(
_ord
==
TSDB_ORDER_ASC
)
?
1
:
-
1
;
char
*
output
=
out
;
_arithmetic_getVectorValueAddr_fn_t
getVectorValueAddrFnLeft
=
getVectorValueAddrFn
(
_left_type
);
_arithmetic_getVectorValueAddr_fn_t
getVectorValueAddrFnRight
=
getVectorValueAddrFn
(
_right_type
);
if
(
len1
==
(
len2
))
{
for
(;
i
>=
0
&&
i
<
(
len2
);
i
+=
step
)
{
if
(
isNull
(
getVectorValueAddrFnLeft
(
left
,
i
),
_left_type
)
||
isNull
(
getVectorValueAddrFnRight
(
right
,
i
),
_right_type
))
{
switch
(
_left_type
)
{
case
TSDB_DATA_TYPE_BOOL
:
*
(
bool
*
)
output
=
TSDB_DATA_BOOL_NULL
;
output
+=
sizeof
(
bool
);
break
;
case
TSDB_DATA_TYPE_TINYINT
:
*
(
int8_t
*
)
output
=
TSDB_DATA_TINYINT_NULL
;
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
*
(
int16_t
*
)
output
=
TSDB_DATA_SMALLINT_NULL
;
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_INT
:
*
(
int32_t
*
)
output
=
TSDB_DATA_INT_NULL
;
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_BIGINT
:
*
(
int64_t
*
)
output
=
TSDB_DATA_BIGINT_NULL
;
output
+=
sizeof
(
int64_t
);
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
*
(
uint8_t
*
)
output
=
TSDB_DATA_UTINYINT_NULL
;
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
*
(
uint16_t
*
)
output
=
TSDB_DATA_USMALLINT_NULL
;
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_UINT
:
*
(
uint32_t
*
)
output
=
TSDB_DATA_UINT_NULL
;
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
*
(
uint64_t
*
)
output
=
TSDB_DATA_UBIGINT_NULL
;
output
+=
sizeof
(
int64_t
);
break
;
}
continue
;
}
switch
(
_left_type
)
{
case
TSDB_DATA_TYPE_BOOL
:
*
(
bool
*
)
output
=
(
*
((
bool
*
)
left
+
i
))
&
(
*
((
bool
*
)
right
+
i
));
output
+=
sizeof
(
bool
);
break
;
case
TSDB_DATA_TYPE_TINYINT
:
*
(
int8_t
*
)
output
=
(
*
((
int8_t
*
)
left
+
i
))
&
(
*
((
int8_t
*
)
right
+
i
));
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
*
(
int16_t
*
)
output
=
(
*
((
int16_t
*
)
left
+
i
))
&
(
*
((
int16_t
*
)
right
+
i
));
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_INT
:
*
(
int32_t
*
)
output
=
(
*
((
int32_t
*
)
left
+
i
))
&
(
*
((
int32_t
*
)
right
+
i
));
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_BIGINT
:
*
(
int64_t
*
)
output
=
(
*
((
int64_t
*
)
left
+
i
))
&
(
*
((
int64_t
*
)
right
+
i
));
output
+=
sizeof
(
int64_t
);
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
*
(
uint8_t
*
)
output
=
(
*
((
uint8_t
*
)
left
+
i
))
&
(
*
((
uint8_t
*
)
right
+
i
));
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
*
(
uint16_t
*
)
output
=
(
*
((
uint16_t
*
)
left
+
i
))
&
(
*
((
uint16_t
*
)
right
+
i
));
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_UINT
:
*
(
uint32_t
*
)
output
=
(
*
((
uint32_t
*
)
left
+
i
))
&
(
*
((
uint32_t
*
)
right
+
i
));
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
*
(
uint64_t
*
)
output
=
(
*
((
uint64_t
*
)
left
+
i
))
&
(
*
((
uint64_t
*
)
right
+
i
));
output
+=
sizeof
(
int64_t
);
break
;
}
}
}
else
if
(
len1
==
1
)
{
for
(;
i
>=
0
&&
i
<
(
len2
);
i
+=
step
)
{
if
(
isNull
(
getVectorValueAddrFnLeft
(
left
,
0
),
_left_type
)
||
isNull
(
getVectorValueAddrFnRight
(
right
,
i
),
_right_type
))
{
switch
(
_left_type
)
{
case
TSDB_DATA_TYPE_BOOL
:
*
(
bool
*
)
output
=
TSDB_DATA_BOOL_NULL
;
output
+=
sizeof
(
bool
);
break
;
case
TSDB_DATA_TYPE_TINYINT
:
*
(
int8_t
*
)
output
=
TSDB_DATA_TINYINT_NULL
;
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
*
(
int16_t
*
)
output
=
TSDB_DATA_SMALLINT_NULL
;
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_INT
:
*
(
int32_t
*
)
output
=
TSDB_DATA_INT_NULL
;
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_BIGINT
:
*
(
int64_t
*
)
output
=
TSDB_DATA_BIGINT_NULL
;
output
+=
sizeof
(
int64_t
);
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
*
(
uint8_t
*
)
output
=
TSDB_DATA_UTINYINT_NULL
;
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
*
(
uint16_t
*
)
output
=
TSDB_DATA_USMALLINT_NULL
;
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_UINT
:
*
(
uint32_t
*
)
output
=
TSDB_DATA_UINT_NULL
;
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
*
(
uint64_t
*
)
output
=
TSDB_DATA_UBIGINT_NULL
;
output
+=
sizeof
(
int64_t
);
break
;
}
continue
;
}
switch
(
_left_type
)
{
case
TSDB_DATA_TYPE_BOOL
:
*
(
bool
*
)
output
=
(
*
(
bool
*
)
left
)
&
(
*
((
bool
*
)
right
+
i
));
output
+=
sizeof
(
bool
);
break
;
case
TSDB_DATA_TYPE_TINYINT
:
*
(
int8_t
*
)
output
=
(
*
(
int8_t
*
)
left
)
&
(
*
((
int8_t
*
)
right
+
i
));
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
*
(
int16_t
*
)
output
=
(
*
(
int16_t
*
)
left
)
&
(
*
((
int16_t
*
)
right
+
i
));
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_INT
:
*
(
int32_t
*
)
output
=
(
*
(
int32_t
*
)
left
)
&
(
*
((
int32_t
*
)
right
+
i
));
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_BIGINT
:
*
(
int64_t
*
)
output
=
(
*
(
int64_t
*
)
left
)
&
(
*
((
int64_t
*
)
right
+
i
));
output
+=
sizeof
(
int64_t
);
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
*
(
uint8_t
*
)
output
=
(
*
(
uint8_t
*
)
left
)
&
(
*
((
uint8_t
*
)
right
+
i
));
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
*
(
uint16_t
*
)
output
=
(
*
(
uint16_t
*
)
left
)
&
(
*
((
uint16_t
*
)
right
+
i
));
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_UINT
:
*
(
uint32_t
*
)
output
=
(
*
(
uint32_t
*
)
left
)
&
(
*
((
uint32_t
*
)
right
+
i
));
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
*
(
uint64_t
*
)
output
=
(
*
(
uint64_t
*
)
left
)
&
(
*
((
uint64_t
*
)
right
+
i
));
output
+=
sizeof
(
int64_t
);
break
;
}
}
}
else
if
((
len2
)
==
1
)
{
for
(;
i
>=
0
&&
i
<
len1
;
i
+=
step
)
{
if
(
isNull
(
getVectorValueAddrFnLeft
(
left
,
i
),
_left_type
)
||
isNull
(
getVectorValueAddrFnRight
(
right
,
0
),
_right_type
))
{
switch
(
_left_type
)
{
case
TSDB_DATA_TYPE_BOOL
:
*
(
bool
*
)
output
=
TSDB_DATA_BOOL_NULL
;
output
+=
sizeof
(
bool
);
break
;
case
TSDB_DATA_TYPE_TINYINT
:
*
(
int8_t
*
)
output
=
TSDB_DATA_TINYINT_NULL
;
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
*
(
int16_t
*
)
output
=
TSDB_DATA_SMALLINT_NULL
;
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_INT
:
*
(
int32_t
*
)
output
=
TSDB_DATA_INT_NULL
;
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_BIGINT
:
*
(
int64_t
*
)
output
=
TSDB_DATA_BIGINT_NULL
;
output
+=
sizeof
(
int64_t
);
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
*
(
uint8_t
*
)
output
=
TSDB_DATA_UTINYINT_NULL
;
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
*
(
uint16_t
*
)
output
=
TSDB_DATA_USMALLINT_NULL
;
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_UINT
:
*
(
uint32_t
*
)
output
=
TSDB_DATA_UINT_NULL
;
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
*
(
uint64_t
*
)
output
=
TSDB_DATA_UBIGINT_NULL
;
output
+=
sizeof
(
int64_t
);
break
;
}
continue
;
}
switch
(
_left_type
)
{
case
TSDB_DATA_TYPE_BOOL
:
*
(
bool
*
)
output
=
(
*
((
bool
*
)
left
+
i
))
&
(
*
(
bool
*
)
right
);
output
+=
sizeof
(
bool
);
break
;
case
TSDB_DATA_TYPE_TINYINT
:
*
(
int8_t
*
)
output
=
(
*
((
int8_t
*
)
left
+
i
))
&
(
*
(
int8_t
*
)
right
);
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
*
(
int16_t
*
)
output
=
(
*
((
int16_t
*
)
left
+
i
))
&
(
*
(
int16_t
*
)
right
);
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_INT
:
*
(
int32_t
*
)
output
=
(
*
((
int32_t
*
)
left
+
i
))
&
(
*
(
int32_t
*
)
right
);
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_BIGINT
:
*
(
int64_t
*
)
output
=
(
*
((
int64_t
*
)
left
+
i
))
&
(
*
(
int64_t
*
)
right
);
output
+=
sizeof
(
int64_t
);
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
*
(
uint8_t
*
)
output
=
(
*
((
uint8_t
*
)
left
+
i
))
&
(
*
(
uint8_t
*
)
right
);
output
+=
sizeof
(
int8_t
);
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
*
(
uint16_t
*
)
output
=
(
*
((
uint16_t
*
)
left
+
i
))
&
(
*
(
uint16_t
*
)
right
);
output
+=
sizeof
(
int16_t
);
break
;
case
TSDB_DATA_TYPE_UINT
:
*
(
uint32_t
*
)
output
=
(
*
((
uint32_t
*
)
left
+
i
))
&
(
*
(
uint32_t
*
)
right
);
output
+=
sizeof
(
int32_t
);
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
*
(
uint64_t
*
)
output
=
(
*
((
uint64_t
*
)
left
+
i
))
&
(
*
(
uint64_t
*
)
right
);
output
+=
sizeof
(
int64_t
);
break
;
}
}
}
}
_arithmetic_operator_fn_t
getArithmeticOperatorFn
(
int32_t
arithmeticOptr
)
{
switch
(
arithmeticOptr
)
{
case
TSDB_BINARY_OP_ADD
:
...
...
@@ -481,6 +751,8 @@ _arithmetic_operator_fn_t getArithmeticOperatorFn(int32_t arithmeticOptr) {
return
vectorDivide
;
case
TSDB_BINARY_OP_REMAINDER
:
return
vectorRemainder
;
case
TSDB_BINARY_OP_BITAND
:
return
vectorBitand
;
default:
assert
(
0
);
return
NULL
;
...
...
src/common/src/texpr.c
浏览文件 @
b428c4f1
...
...
@@ -107,11 +107,13 @@ int32_t exprTreeValidateFunctionNode(char* msgbuf, tExprNode *pExpr) {
}
int32_t
exprTreeValidateExprNode
(
tExprNode
*
pExpr
)
{
int16_t
leftType
=
pExpr
->
_node
.
pLeft
->
resultType
;
int16_t
rightType
=
pExpr
->
_node
.
pRight
->
resultType
;
int16_t
resultType
=
leftType
;
if
(
pExpr
->
_node
.
optr
==
TSDB_BINARY_OP_ADD
||
pExpr
->
_node
.
optr
==
TSDB_BINARY_OP_SUBTRACT
||
pExpr
->
_node
.
optr
==
TSDB_BINARY_OP_MULTIPLY
||
pExpr
->
_node
.
optr
==
TSDB_BINARY_OP_DIVIDE
||
pExpr
->
_node
.
optr
==
TSDB_BINARY_OP_REMAINDER
)
{
int16_t
leftType
=
pExpr
->
_node
.
pLeft
->
resultType
;
int16_t
rightType
=
pExpr
->
_node
.
pRight
->
resultType
;
if
((
!
IS_NUMERIC_TYPE
(
leftType
)
&&
!
IS_TIMESTAMP_TYPE
(
leftType
))
||
(
!
IS_NUMERIC_TYPE
(
rightType
)
&&
!
IS_TIMESTAMP_TYPE
(
rightType
)))
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
...
...
@@ -133,6 +135,171 @@ int32_t exprTreeValidateExprNode(tExprNode *pExpr) {
pExpr
->
resultBytes
=
tDataTypes
[
TSDB_DATA_TYPE_DOUBLE
].
bytes
;
}
return
TSDB_CODE_SUCCESS
;
}
else
if
(
pExpr
->
_node
.
optr
==
TSDB_BINARY_OP_BITAND
)
{
if
((
leftType
!=
TSDB_DATA_TYPE_BOOL
&&
!
IS_SIGNED_NUMERIC_TYPE
(
leftType
)
&&
!
IS_UNSIGNED_NUMERIC_TYPE
(
leftType
))
||
(
rightType
!=
TSDB_DATA_TYPE_BOOL
&&
!
IS_SIGNED_NUMERIC_TYPE
(
rightType
)
&&
!
IS_UNSIGNED_NUMERIC_TYPE
(
rightType
)))
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
uint8_t
schemaType
;
// now leftType and rightType are both numeric
if
(
pExpr
->
_node
.
pLeft
->
nodeType
==
TSQL_NODE_COL
&&
pExpr
->
_node
.
pRight
->
nodeType
==
TSQL_NODE_COL
)
{
if
(
leftType
!=
rightType
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
}
else
if
(
pExpr
->
_node
.
pLeft
->
nodeType
==
TSQL_NODE_COL
)
{
if
(
pExpr
->
_node
.
pRight
->
nodeType
!=
TSQL_NODE_VALUE
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
else
{
schemaType
=
pExpr
->
_node
.
pLeft
->
pSchema
->
type
;
int64_t
sVal
=
pExpr
->
_node
.
pRight
->
pVal
->
i64
;
uint64_t
uVal
=
pExpr
->
_node
.
pRight
->
pVal
->
u64
;
switch
(
schemaType
)
{
case
TSDB_DATA_TYPE_BOOL
:
if
((
pExpr
->
_node
.
pRight
->
pVal
->
nType
!=
TSDB_DATA_TYPE_BOOL
)
||
(
pExpr
->
_node
.
pRight
->
pVal
->
i64
!=
0
&&
pExpr
->
_node
.
pRight
->
pVal
->
i64
!=
1
&&
pExpr
->
_node
.
pRight
->
pVal
->
i64
!=
TSDB_DATA_BOOL_NULL
))
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_TINYINT
:
if
(
sVal
<
-
128
||
sVal
>
127
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
if
(
sVal
<
-
65536
||
sVal
>
65535
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_INT
:
if
(
sVal
<
INT32_MIN
||
sVal
>
INT32_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_BIGINT
:
if
(
sVal
<
INT64_MIN
||
sVal
>
INT64_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
if
(
uVal
>
128
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
if
(
uVal
>
65536
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_UINT
:
if
(
uVal
>
UINT32_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
if
(
uVal
>
UINT64_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
break
;
}
pExpr
->
_node
.
pRight
->
pSchema
->
type
=
schemaType
;
pExpr
->
_node
.
pRight
->
pVal
->
nType
=
schemaType
;
pExpr
->
_node
.
pRight
->
resultType
=
schemaType
;
pExpr
->
_node
.
pRight
->
resultBytes
=
tDataTypes
[
schemaType
].
bytes
;
}
}
else
{
if
(
pExpr
->
_node
.
pLeft
->
nodeType
!=
TSQL_NODE_VALUE
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
else
{
schemaType
=
pExpr
->
_node
.
pRight
->
pSchema
->
type
;
int64_t
sVal
=
pExpr
->
_node
.
pLeft
->
pVal
->
i64
;
uint64_t
uVal
=
pExpr
->
_node
.
pLeft
->
pVal
->
u64
;
switch
(
schemaType
)
{
case
TSDB_DATA_TYPE_BOOL
:
if
((
pExpr
->
_node
.
pLeft
->
pVal
->
nType
!=
TSDB_DATA_TYPE_BOOL
)
||
(
pExpr
->
_node
.
pLeft
->
pVal
->
i64
!=
0
&&
pExpr
->
_node
.
pLeft
->
pVal
->
i64
!=
1
&&
pExpr
->
_node
.
pLeft
->
pVal
->
i64
!=
TSDB_DATA_BOOL_NULL
))
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
1
;
break
;
case
TSDB_DATA_TYPE_TINYINT
:
if
(
sVal
<
-
128
||
sVal
>
127
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
1
;
break
;
case
TSDB_DATA_TYPE_SMALLINT
:
if
(
sVal
<
-
65536
||
sVal
>
65535
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
2
;
break
;
case
TSDB_DATA_TYPE_INT
:
if
(
sVal
<
INT32_MIN
||
sVal
>
INT32_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
4
;
break
;
case
TSDB_DATA_TYPE_BIGINT
:
if
(
sVal
<
INT64_MIN
||
sVal
>
INT64_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
8
;
break
;
case
TSDB_DATA_TYPE_UTINYINT
:
if
(
uVal
>
128
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
1
;
break
;
case
TSDB_DATA_TYPE_USMALLINT
:
if
(
uVal
>
65536
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
2
;
break
;
case
TSDB_DATA_TYPE_UINT
:
if
(
uVal
>
UINT32_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
4
;
break
;
case
TSDB_DATA_TYPE_UBIGINT
:
if
(
uVal
>
UINT64_MAX
)
{
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
pExpr
->
_node
.
pLeft
->
pVal
->
nLen
=
8
;
break
;
}
pExpr
->
_node
.
pLeft
->
pSchema
->
type
=
schemaType
;
pExpr
->
_node
.
pLeft
->
pVal
->
nType
=
schemaType
;
pExpr
->
_node
.
pLeft
->
resultType
=
schemaType
;
pExpr
->
_node
.
pLeft
->
resultBytes
=
tDataTypes
[
schemaType
].
bytes
;
}
resultType
=
schemaType
;
}
if
(
resultType
==
TSDB_DATA_TYPE_BOOL
)
{
pExpr
->
resultType
=
TSDB_DATA_TYPE_BOOL
;
pExpr
->
resultBytes
=
tDataTypes
[
TSDB_DATA_TYPE_BOOL
].
bytes
;
}
else
{
pExpr
->
resultType
=
resultType
;
pExpr
->
resultBytes
=
tDataTypes
[
resultType
].
bytes
;
}
return
TSDB_CODE_SUCCESS
;
}
else
{
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -535,7 +702,11 @@ void exprTreeExprNodeTraverse(tExprNode *pExpr, int32_t numOfRows, tExprOperandI
if
(
leftType
==
TSDB_DATA_TYPE_TIMESTAMP
||
rightType
==
TSDB_DATA_TYPE_TIMESTAMP
)
{
output
->
type
=
TSDB_DATA_TYPE_BIGINT
;
}
else
{
output
->
type
=
TSDB_DATA_TYPE_DOUBLE
;
if
(
pExpr
->
_node
.
optr
==
TSDB_BINARY_OP_BITAND
)
{
output
->
type
=
leftType
;
// rightType must be the same as leftType
}
else
{
output
->
type
=
TSDB_DATA_TYPE_DOUBLE
;
}
}
output
->
bytes
=
tDataTypes
[
output
->
type
].
bytes
;
...
...
src/inc/taosdef.h
浏览文件 @
b428c4f1
...
...
@@ -183,10 +183,11 @@ do { \
#define TSDB_BINARY_OP_MULTIPLY 32
#define TSDB_BINARY_OP_DIVIDE 33
#define TSDB_BINARY_OP_REMAINDER 34
#define TSDB_BINARY_OP_BITAND 35
#define IS_RELATION_OPTR(op) (((op) >= TSDB_RELATION_LESS) && ((op) < TSDB_RELATION_IN))
#define IS_ARITHMETIC_OPTR(op) (((op) >= TSDB_BINARY_OP_ADD) && ((op) <= TSDB_BINARY_OP_
REMAINDER
))
#define IS_ARITHMETIC_OPTR(op) (((op) >= TSDB_BINARY_OP_ADD) && ((op) <= TSDB_BINARY_OP_
BITAND
))
#define TS_PATH_DELIMITER_LEN 1
...
...
src/query/inc/sql.y
浏览文件 @
b428c4f1
...
...
@@ -801,6 +801,7 @@ expr(A) ::= expr(X) MINUS expr(Y). {A = tSqlExprCreate(X, Y, TK_MINUS); }
expr(A) ::= expr(X) STAR expr(Y). {A = tSqlExprCreate(X, Y, TK_STAR); }
expr(A) ::= expr(X) SLASH expr(Y). {A = tSqlExprCreate(X, Y, TK_DIVIDE);}
expr(A) ::= expr(X) REM expr(Y). {A = tSqlExprCreate(X, Y, TK_REM); }
expr(A) ::= expr(X) BITAND expr(Y). {A = tSqlExprCreate(X, Y, TK_BITAND);}
// like expression
expr(A) ::= expr(X) LIKE expr(Y). {A = tSqlExprCreate(X, Y, TK_LIKE); }
...
...
src/query/src/sql.c
浏览文件 @
b428c4f1
...
...
@@ -23,7 +23,6 @@
** input grammar file:
*/
#include <stdio.h>
#include <assert.h>
/************ Begin %include sections from the grammar ************************/
#include <stdio.h>
...
...
@@ -77,10 +76,8 @@
** zero the stack is dynamically sized using realloc()
** ParseARG_SDECL A static variable 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_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
** defined, then do no error processing.
** YYNSTATE the combined number of states.
...
...
@@ -100,59 +97,51 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYNOCODE 29
0
#define YYNOCODE 29
2
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken
typedef
union
{
int
yyinit
;
ParseTOKENTYPE
yy0
;
S
RelationInfo
*
yy84
;
S
Array
*
yy161
;
SSessionWindowVal
yy219
;
TAOS_FIELD
yy
223
;
SCreateAcctInfo
yy231
;
S
SqlNode
*
yy276
;
S
IntervalVal
yy300
;
S
CreateDbInfo
yy302
;
S
CreatedTableInfo
yy356
;
int64_t
yy369
;
S
LimitVal
yy394
;
SRangeVal
yy420
;
int
yy452
;
S
CreateTableSql
*
yy462
;
int
32_t
yy520
;
tVariant
yy52
6
;
tSqlExpr
*
yy546
;
SWindowStateVal
yy548
;
S
LimitVal
yy6
;
S
SqlNode
*
yy86
;
tVariant
yy110
;
TAOS_FIELD
yy
115
;
tSqlExpr
*
yy142
;
S
IntervalVal
yy238
;
S
SessionWindowVal
yy319
;
S
RelationInfo
*
yy328
;
S
RangeVal
yy330
;
SCreateDbInfo
yy436
;
S
CreatedTableInfo
yy480
;
int32_t
yy508
;
SCreateAcctInfo
yy517
;
S
Array
*
yy525
;
int
64_t
yy543
;
SWindowStateVal
yy54
6
;
SCreateTableSql
*
yy572
;
int
yy580
;
}
YYMINORTYPE
;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
#endif
#define ParseARG_SDECL SSqlInfo* pInfo;
#define ParseARG_PDECL ,SSqlInfo* pInfo
#define ParseARG_PARAM ,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 ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define YYFALLBACK 1
#define YYNSTATE 398
#define YYNRULE 320
#define YYNRULE_WITH_ACTION 320
#define YYNSTATE 400
#define YYNRULE 321
#define YYNTOKEN 204
#define YY_MAX_SHIFT 39
7
#define YY_MIN_SHIFTREDUCE 62
5
#define YY_MAX_SHIFTREDUCE 94
4
#define YY_ERROR_ACTION 94
5
#define YY_ACCEPT_ACTION 94
6
#define YY_NO_ACTION 9
47
#define YY_MIN_REDUCE 9
48
#define YY_MAX_REDUCE 12
67
#define YY_MAX_SHIFT 39
9
#define YY_MIN_SHIFTREDUCE 62
7
#define YY_MAX_SHIFTREDUCE 94
7
#define YY_ERROR_ACTION 94
8
#define YY_ACCEPT_ACTION 94
9
#define YY_NO_ACTION 9
50
#define YY_MIN_REDUCE 9
51
#define YY_MAX_REDUCE 12
71
/************* 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
** otherwise.
...
...
@@ -217,318 +206,322 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (8
65
)
#define YY_ACTTAB_COUNT (8
82
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
105
,
676
,
1097
,
1131
,
946
,
397
,
262
,
760
,
676
,
677
,
/* 10 */
1183
,
712
,
1184
,
314
,
37
,
38
,
677
,
41
,
42
,
396
,
/* 20 */
243
,
265
,
31
,
30
,
29
,
1089
,
163
,
40
,
347
,
45
,
/* 30 */
43
,
46
,
44
,
1086
,
1087
,
55
,
1090
,
36
,
35
,
372
,
/* 40 */
371
,
34
,
33
,
32
,
37
,
38
,
252
,
41
,
42
,
258
,
/* 50 */
85
,
265
,
31
,
30
,
29
,
24
,
1122
,
40
,
347
,
45
,
/* 60 */
43
,
46
,
44
,
318
,
100
,
1241
,
99
,
36
,
35
,
218
,
/* 70 */
214
,
34
,
33
,
32
,
288
,
1128
,
131
,
125
,
136
,
1241
,
/* 80 */
1241
,
1243
,
1244
,
135
,
1088
,
141
,
144
,
134
,
37
,
38
,
/* 90 */
88
,
41
,
42
,
51
,
138
,
265
,
31
,
30
,
29
,
295
,
/* 100 */
294
,
40
,
347
,
45
,
43
,
46
,
44
,
343
,
34
,
33
,
/* 110 */
32
,
36
,
35
,
343
,
216
,
34
,
33
,
32
,
37
,
38
,
/* 120 */
58
,
41
,
42
,
59
,
1241
,
265
,
31
,
30
,
29
,
275
,
/* 130 */
676
,
40
,
347
,
45
,
43
,
46
,
44
,
880
,
677
,
883
,
/* 140 */
185
,
36
,
35
,
676
,
217
,
34
,
33
,
32
,
13
,
37
,
/* 150 */
39
,
677
,
41
,
42
,
1241
,
382
,
265
,
31
,
30
,
29
,
/* 160 */
1106
,
874
,
40
,
347
,
45
,
43
,
46
,
44
,
245
,
395
,
/* 170 */
393
,
653
,
36
,
35
,
59
,
1104
,
34
,
33
,
32
,
209
,
/* 180 */
207
,
205
,
107
,
86
,
390
,
1034
,
204
,
151
,
150
,
149
,
/* 190 */
148
,
626
,
627
,
628
,
629
,
630
,
631
,
632
,
633
,
634
,
/* 200 */
635
,
636
,
637
,
638
,
639
,
160
,
250
,
244
,
38
,
1263
,
/* 210 */
41
,
42
,
345
,
1107
,
265
,
31
,
30
,
29
,
280
,
255
,
/* 220 */
40
,
347
,
45
,
43
,
46
,
44
,
1104
,
284
,
283
,
317
,
/* 230 */
36
,
35
,
1
,
187
,
34
,
33
,
32
,
223
,
41
,
42
,
/* 240 */
268
,
178
,
265
,
31
,
30
,
29
,
1255
,
1241
,
40
,
347
,
/* 250 */
45
,
43
,
46
,
44
,
879
,
296
,
882
,
888
,
36
,
35
,
/* 260 */
304
,
94
,
34
,
33
,
32
,
67
,
341
,
389
,
388
,
340
,
/* 270 */
339
,
338
,
387
,
337
,
336
,
335
,
386
,
334
,
385
,
384
,
/* 280 */
25
,
59
,
1065
,
1053
,
1054
,
1055
,
1056
,
1057
,
1058
,
1059
,
/* 290 */
1060
,
1061
,
1062
,
1063
,
1064
,
1066
,
1067
,
222
,
224
,
237
,
/* 300 */
890
,
68
,
297
,
878
,
230
,
881
,
352
,
884
,
1241
,
1122
,
/* 310 */
147
,
146
,
145
,
229
,
181
,
237
,
890
,
355
,
94
,
878
,
/* 320 */
269
,
881
,
267
,
884
,
358
,
357
,
256
,
246
,
59
,
45
,
/* 330 */
43
,
46
,
44
,
1104
,
225
,
241
,
242
,
36
,
35
,
349
,
/* 340 */
261
,
34
,
33
,
32
,
1241
,
59
,
5
,
62
,
189
,
1194
,
/* 350 */
1122
,
241
,
242
,
188
,
114
,
119
,
110
,
118
,
68
,
788
,
/* 360 */
274
,
1233
,
785
,
257
,
786
,
108
,
787
,
266
,
247
,
1232
,
/* 370 */
1107
,
1241
,
330
,
359
,
889
,
67
,
1193
,
389
,
388
,
1241
,
/* 380 */
1104
,
287
,
387
,
84
,
47
,
285
,
386
,
822
,
385
,
384
,
/* 390 */
238
,
825
,
1231
,
346
,
270
,
271
,
1073
,
1103
,
1071
,
1072
,
/* 400 */
47
,
1091
,
1241
,
1074
,
218
,
59
,
59
,
1075
,
59
,
1076
,
/* 410 */
1077
,
59
,
161
,
895
,
1241
,
345
,
1244
,
239
,
79
,
300
,
/* 420 */
301
,
891
,
885
,
887
,
36
,
35
,
59
,
1241
,
34
,
33
,
/* 430 */
32
,
218
,
264
,
159
,
157
,
156
,
133
,
891
,
885
,
887
,
/* 440 */
276
,
1241
,
273
,
1244
,
367
,
366
,
886
,
59
,
382
,
59
,
/* 450 */
360
,
361
,
806
,
362
,
6
,
240
,
368
,
1104
,
1104
,
220
,
/* 460 */
1104
,
80
,
886
,
1104
,
221
,
1241
,
226
,
219
,
275
,
1241
,
/* 470 */
854
,
369
,
227
,
228
,
1241
,
232
,
1241
,
1241
,
1104
,
186
,
/* 480 */
789
,
272
,
1241
,
1241
,
91
,
1241
,
233
,
92
,
234
,
275
,
/* 490 */
259
,
275
,
370
,
231
,
374
,
215
,
1241
,
1107
,
1241
,
1104
,
/* 500 */
348
,
1104
,
1105
,
1241
,
996
,
1241
,
248
,
834
,
835
,
1006
,
/* 510 */
1181
,
199
,
1182
,
102
,
997
,
101
,
199
,
103
,
3
,
200
,
/* 520 */
289
,
199
,
803
,
831
,
291
,
299
,
298
,
291
,
841
,
842
,
/* 530 */
853
,
76
,
89
,
770
,
60
,
322
,
772
,
165
,
324
,
771
,
/* 540 */
810
,
54
,
71
,
48
,
919
,
892
,
351
,
60
,
263
,
60
,
/* 550 */
71
,
10
,
106
,
71
,
15
,
675
,
14
,
83
,
9
,
9
,
/* 560 */
124
,
17
,
123
,
16
,
795
,
793
,
796
,
794
,
350
,
9
,
/* 570 */
364
,
363
,
253
,
19
,
325
,
18
,
77
,
130
,
21
,
129
,
/* 580 */
20
,
143
,
142
,
1190
,
1189
,
254
,
373
,
162
,
877
,
759
,
/* 590 */
1102
,
1130
,
26
,
1173
,
1141
,
1138
,
1172
,
1139
,
1123
,
292
,
/* 600 */
1143
,
164
,
169
,
1098
,
310
,
1171
,
1170
,
180
,
182
,
1096
,
/* 610 */
183
,
184
,
1011
,
158
,
821
,
327
,
328
,
303
,
329
,
332
,
/* 620 */
333
,
69
,
212
,
65
,
344
,
1005
,
249
,
170
,
356
,
1262
,
/* 630 */
305
,
307
,
121
,
1261
,
1258
,
190
,
81
,
365
,
1254
,
1120
,
/* 640 */
127
,
1253
,
78
,
1250
,
191
,
1031
,
66
,
319
,
171
,
61
,
/* 650 */
70
,
213
,
28
,
993
,
315
,
173
,
137
,
309
,
313
,
991
,
/* 660 */
139
,
311
,
140
,
172
,
306
,
989
,
988
,
277
,
202
,
203
,
/* 670 */
985
,
984
,
983
,
982
,
302
,
981
,
980
,
27
,
979
,
206
,
/* 680 */
208
,
971
,
210
,
968
,
211
,
964
,
87
,
331
,
290
,
1100
,
/* 690 */
90
,
95
,
308
,
383
,
376
,
132
,
375
,
377
,
378
,
379
,
/* 700 */
82
,
380
,
381
,
260
,
391
,
944
,
326
,
279
,
943
,
282
,
/* 710 */
942
,
278
,
235
,
236
,
281
,
925
,
924
,
115
,
1010
,
1009
,
/* 720 */
116
,
286
,
321
,
291
,
11
,
293
,
987
,
93
,
798
,
52
,
/* 730 */
96
,
830
,
986
,
193
,
1032
,
194
,
195
,
192
,
196
,
198
,
/* 740 */
197
,
152
,
828
,
153
,
978
,
977
,
320
,
1069
,
154
,
1033
,
/* 750 */
155
,
74
,
176
,
174
,
175
,
177
,
970
,
53
,
179
,
969
,
/* 760 */
1079
,
2
,
4
,
824
,
823
,
75
,
166
,
827
,
832
,
843
,
/* 770 */
167
,
168
,
837
,
97
,
251
,
839
,
98
,
312
,
63
,
350
,
/* 780 */
316
,
12
,
104
,
49
,
22
,
23
,
323
,
64
,
107
,
109
,
/* 790 */
56
,
111
,
50
,
112
,
690
,
725
,
723
,
722
,
721
,
57
,
/* 800 */
113
,
719
,
718
,
717
,
714
,
680
,
342
,
117
,
7
,
916
,
/* 810 */
914
,
894
,
917
,
893
,
915
,
8
,
896
,
354
,
120
,
72
,
/* 820 */
122
,
60
,
353
,
792
,
73
,
762
,
126
,
128
,
761
,
758
,
/* 830 */
706
,
704
,
696
,
702
,
791
,
698
,
700
,
694
,
692
,
728
,
/* 840 */
727
,
726
,
724
,
720
,
716
,
715
,
201
,
643
,
948
,
678
,
/* 850 */
652
,
392
,
650
,
947
,
947
,
947
,
947
,
947
,
947
,
947
,
/* 860 */
947
,
947
,
947
,
947
,
394
,
/* 0 */
219
,
678
,
1100
,
164
,
949
,
399
,
24
,
762
,
1134
,
679
,
/* 10 */
1245
,
678
,
1247
,
252
,
38
,
39
,
1245
,
42
,
43
,
679
,
/* 20 */
1110
,
267
,
31
,
30
,
29
,
398
,
245
,
41
,
349
,
46
,
/* 30 */
44
,
47
,
45
,
32
,
109
,
1109
,
217
,
37
,
36
,
374
,
/* 40 */
373
,
35
,
34
,
33
,
38
,
39
,
1245
,
42
,
43
,
260
,
/* 50 */
179
,
267
,
31
,
30
,
29
,
254
,
1125
,
41
,
349
,
46
,
/* 60 */
44
,
47
,
45
,
32
,
35
,
34
,
33
,
37
,
36
,
306
,
/* 70 */
1094
,
35
,
34
,
33
,
290
,
678
,
297
,
296
,
38
,
39
,
/* 80 */
1131
,
42
,
43
,
679
,
714
,
267
,
31
,
30
,
29
,
60
,
/* 90 */
89
,
41
,
349
,
46
,
44
,
47
,
45
,
32
,
397
,
395
,
/* 100 */
655
,
37
,
36
,
218
,
223
,
35
,
34
,
33
,
38
,
39
,
/* 110 */
13
,
42
,
43
,
1245
,
1245
,
267
,
31
,
30
,
29
,
224
,
/* 120 */
59
,
41
,
349
,
46
,
44
,
47
,
45
,
32
,
882
,
1245
,
/* 130 */
885
,
37
,
36
,
345
,
247
,
35
,
34
,
33
,
60
,
38
,
/* 140 */
40
,
1107
,
42
,
43
,
108
,
87
,
267
,
31
,
30
,
29
,
/* 150 */
277
,
876
,
41
,
349
,
46
,
44
,
47
,
45
,
32
,
86
,
/* 160 */
52
,
186
,
37
,
36
,
225
,
678
,
35
,
34
,
33
,
39
,
/* 170 */
236
,
42
,
43
,
679
,
1245
,
267
,
31
,
30
,
29
,
1236
,
/* 180 */
1245
,
41
,
349
,
46
,
44
,
47
,
45
,
32
,
60
,
1245
,
/* 190 */
1106
,
37
,
36
,
1091
,
95
,
35
,
34
,
33
,
68
,
343
,
/* 200 */
391
,
390
,
342
,
341
,
340
,
389
,
339
,
338
,
337
,
388
,
/* 210 */
336
,
387
,
386
,
628
,
629
,
630
,
631
,
632
,
633
,
634
,
/* 220 */
635
,
636
,
637
,
638
,
639
,
640
,
641
,
161
,
881
,
246
,
/* 230 */
884
,
42
,
43
,
257
,
69
,
267
,
31
,
30
,
29
,
1235
,
/* 240 */
1107
,
41
,
349
,
46
,
44
,
47
,
45
,
32
,
890
,
1245
,
/* 250 */
384
,
37
,
36
,
60
,
1267
,
35
,
34
,
33
,
25
,
1068
,
/* 260 */
1056
,
1057
,
1058
,
1059
,
1060
,
1061
,
1062
,
1063
,
1064
,
1065
,
/* 270 */
1066
,
1067
,
1069
,
1070
,
1125
,
229
,
1259
,
239
,
892
,
836
,
/* 280 */
837
,
880
,
231
,
883
,
1186
,
886
,
1187
,
316
,
148
,
147
,
/* 290 */
146
,
230
,
248
,
239
,
892
,
357
,
95
,
880
,
258
,
883
,
/* 300 */
1184
,
886
,
1185
,
264
,
103
,
1107
,
102
,
46
,
44
,
47
,
/* 310 */
45
,
32
,
1234
,
243
,
244
,
37
,
36
,
351
,
282
,
35
,
/* 320 */
34
,
33
,
1245
,
1092
,
5
,
63
,
190
,
286
,
285
,
243
,
/* 330 */
244
,
189
,
115
,
120
,
111
,
119
,
69
,
790
,
320
,
101
,
/* 340 */
787
,
100
,
788
,
298
,
789
,
132
,
126
,
137
,
891
,
353
,
/* 350 */
332
,
60
,
136
,
106
,
142
,
145
,
135
,
259
,
261
,
289
,
/* 360 */
241
,
85
,
48
,
139
,
1110
,
1110
,
270
,
215
,
240
,
277
,
/* 370 */
1245
,
352
,
272
,
273
,
210
,
208
,
206
,
1245
,
48
,
1248
,
/* 380 */
187
,
205
,
152
,
151
,
150
,
149
,
1089
,
1090
,
56
,
1093
,
/* 390 */
276
,
68
,
263
,
391
,
390
,
277
,
361
,
268
,
389
,
893
,
/* 400 */
887
,
889
,
388
,
1107
,
387
,
386
,
350
,
1076
,
60
,
1074
,
/* 410 */
1075
,
345
,
60
,
104
,
1077
,
893
,
887
,
889
,
1078
,
299
,
/* 420 */
1079
,
1080
,
824
,
348
,
888
,
32
,
827
,
134
,
90
,
37
,
/* 430 */
36
,
60
,
1197
,
35
,
34
,
33
,
1196
,
37
,
36
,
384
,
/* 440 */
888
,
35
,
34
,
33
,
60
,
347
,
271
,
1125
,
269
,
60
,
/* 450 */
360
,
359
,
60
,
362
,
302
,
303
,
219
,
363
,
791
,
274
,
/* 460 */
1107
,
219
,
266
,
60
,
1107
,
249
,
1245
,
808
,
1248
,
354
,
/* 470 */
278
,
1245
,
275
,
1248
,
369
,
368
,
364
,
160
,
158
,
157
,
/* 480 */
242
,
221
,
222
,
1107
,
6
,
226
,
856
,
277
,
291
,
370
,
/* 490 */
1245
,
1245
,
1245
,
220
,
371
,
1245
,
1107
,
372
,
1108
,
227
,
/* 500 */
228
,
1107
,
61
,
1245
,
1107
,
805
,
233
,
234
,
376
,
1245
,
/* 510 */
1245
,
235
,
232
,
999
,
216
,
1107
,
1245
,
1245
,
1009
,
1000
,
/* 520 */
200
,
1245
,
1245
,
92
,
1245
,
200
,
200
,
392
,
1037
,
1
,
/* 530 */
188
,
3
,
201
,
93
,
10
,
301
,
300
,
833
,
843
,
844
,
/* 540 */
347
,
250
,
77
,
80
,
772
,
324
,
855
,
774
,
326
,
265
,
/* 550 */
773
,
166
,
72
,
49
,
922
,
812
,
894
,
319
,
61
,
61
,
/* 560 */
55
,
72
,
107
,
293
,
72
,
677
,
84
,
15
,
9
,
14
,
/* 570 */
9
,
182
,
125
,
293
,
124
,
17
,
897
,
16
,
797
,
9
,
/* 580 */
798
,
795
,
287
,
796
,
366
,
365
,
81
,
78
,
19
,
879
,
/* 590 */
18
,
255
,
131
,
327
,
130
,
144
,
143
,
21
,
761
,
20
,
/* 600 */
1193
,
1192
,
256
,
375
,
162
,
26
,
163
,
1126
,
294
,
1105
,
/* 610 */
1133
,
181
,
1144
,
1176
,
1141
,
1142
,
1146
,
165
,
1175
,
170
,
/* 620 */
312
,
1174
,
1101
,
1173
,
159
,
183
,
1123
,
1099
,
184
,
823
,
/* 630 */
185
,
1014
,
329
,
173
,
330
,
331
,
334
,
335
,
70
,
213
,
/* 640 */
66
,
346
,
305
,
251
,
1008
,
358
,
307
,
1266
,
309
,
82
,
/* 650 */
122
,
171
,
1265
,
79
,
1262
,
191
,
367
,
321
,
172
,
28
,
/* 660 */
174
,
1258
,
128
,
1257
,
317
,
315
,
1254
,
313
,
311
,
192
,
/* 670 */
308
,
1034
,
67
,
62
,
304
,
71
,
88
,
214
,
996
,
138
,
/* 680 */
994
,
178
,
140
,
141
,
992
,
175
,
991
,
27
,
279
,
203
,
/* 690 */
204
,
988
,
987
,
986
,
985
,
984
,
983
,
982
,
207
,
209
,
/* 700 */
333
,
974
,
211
,
971
,
212
,
385
,
967
,
378
,
133
,
292
,
/* 710 */
1103
,
91
,
96
,
377
,
310
,
379
,
380
,
381
,
382
,
383
,
/* 720 */
393
,
83
,
947
,
281
,
262
,
328
,
280
,
946
,
283
,
284
,
/* 730 */
945
,
928
,
927
,
237
,
288
,
238
,
116
,
1013
,
293
,
1012
,
/* 740 */
117
,
323
,
11
,
94
,
800
,
53
,
295
,
97
,
832
,
75
,
/* 750 */
830
,
990
,
826
,
195
,
194
,
1035
,
153
,
193
,
989
,
197
,
/* 760 */
196
,
198
,
199
,
154
,
981
,
829
,
155
,
322
,
1072
,
1036
,
/* 770 */
980
,
825
,
156
,
973
,
54
,
176
,
177
,
180
,
972
,
2
,
/* 780 */
76
,
4
,
834
,
167
,
1082
,
845
,
168
,
169
,
839
,
98
,
/* 790 */
253
,
841
,
99
,
314
,
64
,
352
,
318
,
65
,
105
,
22
,
/* 800 */
12
,
23
,
50
,
325
,
57
,
51
,
113
,
108
,
110
,
692
,
/* 810 */
112
,
727
,
58
,
114
,
725
,
724
,
723
,
721
,
720
,
719
,
/* 820 */
716
,
344
,
682
,
118
,
7
,
919
,
917
,
896
,
920
,
895
,
/* 830 */
918
,
8
,
898
,
356
,
355
,
73
,
121
,
123
,
61
,
74
,
/* 840 */
794
,
764
,
763
,
127
,
129
,
760
,
708
,
706
,
698
,
704
,
/* 850 */
700
,
702
,
793
,
696
,
694
,
730
,
729
,
728
,
726
,
722
,
/* 860 */
718
,
717
,
202
,
680
,
645
,
951
,
654
,
652
,
950
,
394
,
/* 870 */
950
,
950
,
950
,
950
,
950
,
950
,
950
,
950
,
950
,
950
,
/* 880 */
950
,
396
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
214
,
1
,
206
,
206
,
204
,
205
,
213
,
5
,
1
,
9
,
/* 10 */
285
,
5
,
287
,
288
,
14
,
15
,
9
,
17
,
18
,
206
,
/* 20 */
207
,
21
,
22
,
23
,
24
,
0
,
206
,
27
,
28
,
29
,
/* 30 */
30
,
31
,
32
,
247
,
248
,
249
,
250
,
37
,
38
,
37
,
/* 40 */
38
,
41
,
42
,
43
,
14
,
15
,
1
,
17
,
18
,
253
,
/* 50 */
214
,
21
,
22
,
23
,
24
,
277
,
256
,
27
,
28
,
29
,
/* 60 */
30
,
31
,
32
,
284
,
285
,
287
,
287
,
37
,
38
,
277
,
/* 70 */
277
,
41
,
42
,
43
,
274
,
278
,
66
,
67
,
68
,
287
,
/* 80 */
287
,
289
,
289
,
73
,
248
,
75
,
76
,
77
,
14
,
15
,
/* 90 */
90
,
17
,
18
,
86
,
84
,
21
,
22
,
23
,
24
,
279
,
/* 100 */
280
,
27
,
28
,
29
,
30
,
31
,
32
,
88
,
41
,
42
,
/* 110 */
43
,
37
,
38
,
88
,
277
,
41
,
42
,
43
,
14
,
15
,
/* 120 */
90
,
17
,
18
,
206
,
287
,
21
,
22
,
23
,
24
,
206
,
/* 130 */
1
,
27
,
28
,
29
,
30
,
31
,
32
,
5
,
9
,
7
,
/* 140 */
217
,
37
,
38
,
1
,
277
,
41
,
42
,
43
,
86
,
14
,
/* 150 */
15
,
9
,
17
,
18
,
287
,
94
,
21
,
22
,
23
,
24
,
/* 160 */
259
,
87
,
27
,
28
,
29
,
30
,
31
,
32
,
251
,
69
,
/* 170 */
70
,
71
,
37
,
38
,
206
,
258
,
41
,
42
,
43
,
66
,
/* 180 */
67
,
68
,
120
,
121
,
228
,
229
,
73
,
74
,
75
,
76
,
/* 190 */
77
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 200 */
58
,
59
,
60
,
61
,
62
,
63
,
252
,
65
,
15
,
259
,
/* 210 */
17
,
18
,
47
,
259
,
21
,
22
,
23
,
24
,
150
,
251
,
/* 220 */
27
,
28
,
29
,
30
,
31
,
32
,
258
,
159
,
160
,
64
,
/* 230 */
37
,
38
,
215
,
216
,
41
,
42
,
43
,
277
,
17
,
18
,
/* 240 */
72
,
264
,
21
,
22
,
23
,
24
,
259
,
287
,
27
,
28
,
/* 250 */
29
,
30
,
31
,
32
,
5
,
282
,
7
,
125
,
37
,
38
,
/* 260 */
283
,
86
,
41
,
42
,
43
,
102
,
103
,
104
,
105
,
106
,
/* 270 */
107
,
108
,
109
,
110
,
111
,
112
,
113
,
114
,
115
,
116
,
/* 280 */
48
,
206
,
230
,
231
,
232
,
233
,
234
,
235
,
236
,
237
,
/* 290 */
238
,
239
,
240
,
241
,
242
,
243
,
244
,
65
,
277
,
1
,
/* 300 */
2
,
126
,
282
,
5
,
72
,
7
,
16
,
9
,
287
,
256
,
/* 310 */
78
,
79
,
80
,
81
,
254
,
1
,
2
,
85
,
86
,
5
,
/* 320 */
152
,
7
,
154
,
9
,
156
,
157
,
251
,
274
,
206
,
29
,
/* 330 */
30
,
31
,
32
,
258
,
277
,
37
,
38
,
37
,
38
,
41
,
/* 340 */
213
,
41
,
42
,
43
,
287
,
206
,
66
,
67
,
68
,
246
,
/* 350 */
256
,
37
,
38
,
73
,
74
,
75
,
76
,
77
,
126
,
2
,
/* 360 */
72
,
277
,
5
,
252
,
7
,
214
,
9
,
213
,
274
,
277
,
/* 370 */
259
,
287
,
92
,
251
,
125
,
102
,
246
,
104
,
105
,
287
,
/* 380 */
258
,
149
,
109
,
151
,
86
,
206
,
113
,
5
,
115
,
116
,
/* 390 */
158
,
9
,
277
,
25
,
37
,
38
,
230
,
258
,
232
,
233
,
/* 400 */
86
,
250
,
287
,
237
,
277
,
206
,
206
,
241
,
206
,
243
,
/* 410 */
244
,
206
,
206
,
123
,
287
,
47
,
289
,
277
,
101
,
37
,
/* 420 */
38
,
123
,
124
,
125
,
37
,
38
,
206
,
287
,
41
,
42
,
/* 430 */
43
,
277
,
64
,
66
,
67
,
68
,
82
,
123
,
124
,
125
,
/* 440 */
152
,
287
,
154
,
289
,
156
,
157
,
148
,
206
,
94
,
206
,
/* 450 */
251
,
251
,
41
,
251
,
86
,
277
,
251
,
258
,
258
,
277
,
/* 460 */
258
,
144
,
148
,
258
,
277
,
287
,
277
,
277
,
206
,
287
,
/* 470 */
80
,
251
,
277
,
277
,
287
,
277
,
287
,
287
,
258
,
217
,
/* 480 */
123
,
124
,
287
,
287
,
87
,
287
,
277
,
87
,
277
,
206
,
/* 490 */
252
,
206
,
251
,
277
,
251
,
277
,
287
,
259
,
287
,
258
,
/* 500 */
217
,
258
,
217
,
287
,
212
,
287
,
124
,
132
,
133
,
212
,
/* 510 */
285
,
219
,
287
,
285
,
212
,
287
,
219
,
260
,
210
,
211
,
/* 520 */
87
,
219
,
101
,
87
,
127
,
37
,
38
,
127
,
87
,
87
,
/* 530 */
140
,
101
,
275
,
87
,
101
,
87
,
87
,
101
,
87
,
87
,
/* 540 */
129
,
86
,
101
,
101
,
87
,
87
,
25
,
101
,
1
,
101
,
/* 550 */
101
,
130
,
101
,
101
,
153
,
87
,
155
,
86
,
101
,
101
,
/* 560 */
153
,
153
,
155
,
155
,
5
,
5
,
7
,
7
,
47
,
101
,
/* 570 */
37
,
38
,
246
,
153
,
119
,
155
,
146
,
153
,
153
,
155
,
/* 580 */
155
,
82
,
83
,
246
,
246
,
246
,
246
,
206
,
41
,
118
,
/* 590 */
206
,
206
,
276
,
286
,
206
,
206
,
286
,
206
,
256
,
256
,
/* 600 */
206
,
206
,
206
,
256
,
206
,
286
,
286
,
261
,
206
,
206
,
/* 610 */
206
,
206
,
206
,
64
,
125
,
206
,
206
,
281
,
206
,
206
,
/* 620 */
206
,
206
,
206
,
206
,
206
,
206
,
281
,
272
,
206
,
206
,
/* 630 */
281
,
281
,
206
,
206
,
206
,
206
,
143
,
206
,
206
,
273
,
/* 640 */
206
,
206
,
145
,
206
,
206
,
206
,
206
,
138
,
271
,
206
,
/* 650 */
206
,
206
,
142
,
206
,
141
,
269
,
206
,
134
,
136
,
206
,
/* 660 */
206
,
135
,
206
,
270
,
137
,
206
,
206
,
206
,
206
,
206
,
/* 670 */
206
,
206
,
206
,
206
,
131
,
206
,
206
,
147
,
206
,
206
,
/* 680 */
206
,
206
,
206
,
206
,
206
,
206
,
122
,
93
,
208
,
208
,
/* 690 */
208
,
208
,
208
,
117
,
55
,
100
,
99
,
96
,
98
,
59
,
/* 700 */
208
,
97
,
95
,
208
,
88
,
5
,
208
,
5
,
5
,
5
,
/* 710 */
5
,
161
,
208
,
208
,
161
,
104
,
103
,
214
,
218
,
218
,
/* 720 */
214
,
150
,
119
,
127
,
86
,
101
,
208
,
128
,
87
,
86
,
/* 730 */
101
,
87
,
208
,
225
,
227
,
221
,
224
,
226
,
222
,
220
,
/* 740 */
223
,
209
,
125
,
209
,
208
,
208
,
255
,
245
,
209
,
229
,
/* 750 */
209
,
101
,
266
,
268
,
267
,
265
,
208
,
263
,
262
,
208
,
/* 760 */
245
,
215
,
210
,
5
,
5
,
86
,
86
,
125
,
87
,
87
,
/* 770 */
86
,
101
,
87
,
86
,
1
,
87
,
86
,
86
,
101
,
47
,
/* 780 */
1
,
86
,
90
,
86
,
139
,
139
,
119
,
101
,
120
,
82
,
/* 790 */
91
,
90
,
86
,
74
,
5
,
9
,
5
,
5
,
5
,
91
,
/* 800 */
90
,
5
,
5
,
5
,
5
,
89
,
16
,
82
,
86
,
9
,
/* 810 */
9
,
87
,
9
,
87
,
9
,
86
,
123
,
63
,
155
,
17
,
/* 820 */
155
,
101
,
28
,
125
,
17
,
5
,
155
,
155
,
5
,
87
,
/* 830 */
5
,
5
,
5
,
5
,
125
,
5
,
5
,
5
,
5
,
5
,
/* 840 */
5
,
5
,
5
,
5
,
5
,
5
,
101
,
64
,
0
,
89
,
/* 850 */
9
,
22
,
9
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 860 */
290
,
290
,
290
,
290
,
22
,
290
,
290
,
290
,
290
,
290
,
/* 870 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 880 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 890 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 900 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 910 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 920 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 930 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 940 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 950 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 960 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 970 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 980 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 990 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 1000 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 1010 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 1020 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 1030 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 1040 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 1050 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 1060 */
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
290
,
/* 0 */
278
,
1
,
207
,
207
,
205
,
206
,
278
,
5
,
207
,
9
,
/* 10 */
288
,
1
,
290
,
253
,
14
,
15
,
288
,
17
,
18
,
9
,
/* 20 */
260
,
21
,
22
,
23
,
24
,
207
,
208
,
27
,
28
,
29
,
/* 30 */
30
,
31
,
32
,
33
,
215
,
260
,
278
,
37
,
38
,
37
,
/* 40 */
38
,
41
,
42
,
43
,
14
,
15
,
288
,
17
,
18
,
254
,
/* 50 */
265
,
21
,
22
,
23
,
24
,
1
,
257
,
27
,
28
,
29
,
/* 60 */
30
,
31
,
32
,
33
,
41
,
42
,
43
,
37
,
38
,
284
,
/* 70 */
251
,
41
,
42
,
43
,
275
,
1
,
280
,
281
,
14
,
15
,
/* 80 */
279
,
17
,
18
,
9
,
5
,
21
,
22
,
23
,
24
,
207
,
/* 90 */
90
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
69
,
70
,
/* 100 */
71
,
37
,
38
,
278
,
278
,
41
,
42
,
43
,
14
,
15
,
/* 110 */
86
,
17
,
18
,
288
,
288
,
21
,
22
,
23
,
24
,
278
,
/* 120 */
90
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
5
,
288
,
/* 130 */
7
,
37
,
38
,
88
,
252
,
41
,
42
,
43
,
207
,
14
,
/* 140 */
15
,
259
,
17
,
18
,
120
,
121
,
21
,
22
,
23
,
24
,
/* 150 */
207
,
87
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
215
,
/* 160 */
86
,
218
,
37
,
38
,
278
,
1
,
41
,
42
,
43
,
15
,
/* 170 */
278
,
17
,
18
,
9
,
288
,
21
,
22
,
23
,
24
,
278
,
/* 180 */
288
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
207
,
288
,
/* 190 */
259
,
37
,
38
,
249
,
86
,
41
,
42
,
43
,
102
,
103
,
/* 200 */
104
,
105
,
106
,
107
,
108
,
109
,
110
,
111
,
112
,
113
,
/* 210 */
114
,
115
,
116
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
/* 220 */
56
,
57
,
58
,
59
,
60
,
61
,
62
,
63
,
5
,
65
,
/* 230 */
7
,
17
,
18
,
252
,
126
,
21
,
22
,
23
,
24
,
278
,
/* 240 */
259
,
27
,
28
,
29
,
30
,
31
,
32
,
33
,
125
,
288
,
/* 250 */
94
,
37
,
38
,
207
,
260
,
41
,
42
,
43
,
48
,
231
,
/* 260 */
232
,
233
,
234
,
235
,
236
,
237
,
238
,
239
,
240
,
241
,
/* 270 */
242
,
243
,
244
,
245
,
257
,
65
,
260
,
1
,
2
,
132
,
/* 280 */
133
,
5
,
72
,
7
,
286
,
9
,
288
,
289
,
78
,
79
,
/* 290 */
80
,
81
,
275
,
1
,
2
,
85
,
86
,
5
,
252
,
7
,
/* 300 */
286
,
9
,
288
,
214
,
286
,
259
,
288
,
29
,
30
,
31
,
/* 310 */
32
,
33
,
278
,
37
,
38
,
37
,
38
,
41
,
150
,
41
,
/* 320 */
42
,
43
,
288
,
0
,
66
,
67
,
68
,
159
,
160
,
37
,
/* 330 */
38
,
73
,
74
,
75
,
76
,
77
,
126
,
2
,
285
,
286
,
/* 340 */
5
,
288
,
7
,
283
,
9
,
66
,
67
,
68
,
125
,
25
,
/* 350 */
92
,
207
,
73
,
215
,
75
,
76
,
77
,
253
,
253
,
149
,
/* 360 */
278
,
151
,
86
,
84
,
260
,
260
,
72
,
278
,
158
,
207
,
/* 370 */
288
,
47
,
37
,
38
,
66
,
67
,
68
,
288
,
86
,
290
,
/* 380 */
218
,
73
,
74
,
75
,
76
,
77
,
248
,
249
,
250
,
251
,
/* 390 */
72
,
102
,
214
,
104
,
105
,
207
,
252
,
214
,
109
,
123
,
/* 400 */
124
,
125
,
113
,
259
,
115
,
116
,
218
,
231
,
207
,
233
,
/* 410 */
234
,
88
,
207
,
261
,
238
,
123
,
124
,
125
,
242
,
283
,
/* 420 */
244
,
245
,
5
,
25
,
148
,
33
,
9
,
82
,
276
,
37
,
/* 430 */
38
,
207
,
247
,
41
,
42
,
43
,
247
,
37
,
38
,
94
,
/* 440 */
148
,
41
,
42
,
43
,
207
,
47
,
152
,
257
,
154
,
207
,
/* 450 */
156
,
157
,
207
,
252
,
37
,
38
,
278
,
252
,
123
,
124
,
/* 460 */
259
,
278
,
64
,
207
,
259
,
275
,
288
,
41
,
290
,
16
,
/* 470 */
152
,
288
,
154
,
290
,
156
,
157
,
252
,
66
,
67
,
68
,
/* 480 */
278
,
278
,
278
,
259
,
86
,
278
,
80
,
207
,
87
,
252
,
/* 490 */
288
,
288
,
288
,
278
,
252
,
288
,
259
,
252
,
218
,
278
,
/* 500 */
278
,
259
,
101
,
288
,
259
,
101
,
278
,
278
,
252
,
288
,
/* 510 */
288
,
278
,
278
,
213
,
278
,
259
,
288
,
288
,
213
,
213
,
/* 520 */
220
,
288
,
288
,
87
,
288
,
220
,
220
,
229
,
230
,
216
,
/* 530 */
217
,
211
,
212
,
87
,
130
,
37
,
38
,
87
,
87
,
87
,
/* 540 */
47
,
124
,
101
,
101
,
87
,
87
,
140
,
87
,
87
,
1
,
/* 550 */
87
,
101
,
101
,
101
,
87
,
129
,
87
,
64
,
101
,
101
,
/* 560 */
86
,
101
,
101
,
127
,
101
,
87
,
86
,
153
,
101
,
155
,
/* 570 */
101
,
255
,
153
,
127
,
155
,
153
,
123
,
155
,
5
,
101
,
/* 580 */
7
,
5
,
207
,
7
,
37
,
38
,
144
,
146
,
153
,
41
,
/* 590 */
155
,
247
,
153
,
119
,
155
,
82
,
83
,
153
,
118
,
155
,
/* 600 */
247
,
247
,
247
,
247
,
207
,
277
,
207
,
257
,
257
,
207
,
/* 610 */
207
,
262
,
207
,
287
,
207
,
207
,
207
,
207
,
287
,
207
,
/* 620 */
207
,
287
,
257
,
287
,
64
,
207
,
274
,
207
,
207
,
125
,
/* 630 */
207
,
207
,
207
,
271
,
207
,
207
,
207
,
207
,
207
,
207
,
/* 640 */
207
,
207
,
282
,
282
,
207
,
207
,
282
,
207
,
282
,
143
,
/* 650 */
207
,
273
,
207
,
145
,
207
,
207
,
207
,
138
,
272
,
142
,
/* 660 */
270
,
207
,
207
,
207
,
141
,
136
,
207
,
135
,
134
,
207
,
/* 670 */
137
,
207
,
207
,
207
,
131
,
207
,
122
,
207
,
207
,
207
,
/* 680 */
207
,
266
,
207
,
207
,
207
,
269
,
207
,
147
,
207
,
207
,
/* 690 */
207
,
207
,
207
,
207
,
207
,
207
,
207
,
207
,
207
,
207
,
/* 700 */
93
,
207
,
207
,
207
,
207
,
117
,
207
,
55
,
100
,
209
,
/* 710 */
209
,
209
,
209
,
99
,
209
,
96
,
98
,
59
,
97
,
95
,
/* 720 */
88
,
209
,
5
,
5
,
209
,
209
,
161
,
5
,
161
,
5
,
/* 730 */
5
,
104
,
103
,
209
,
150
,
209
,
215
,
219
,
127
,
219
,
/* 740 */
215
,
119
,
86
,
128
,
87
,
86
,
101
,
101
,
87
,
101
,
/* 750 */
125
,
209
,
5
,
222
,
226
,
228
,
210
,
227
,
209
,
223
,
/* 760 */
225
,
224
,
221
,
210
,
209
,
125
,
210
,
256
,
246
,
230
,
/* 770 */
209
,
5
,
210
,
209
,
264
,
268
,
267
,
263
,
209
,
216
,
/* 780 */
86
,
211
,
87
,
86
,
246
,
87
,
86
,
101
,
87
,
86
,
/* 790 */
1
,
87
,
86
,
86
,
101
,
47
,
1
,
101
,
90
,
139
,
/* 800 */
86
,
139
,
86
,
119
,
91
,
86
,
74
,
120
,
82
,
5
,
/* 810 */
90
,
9
,
91
,
90
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 820 */
5
,
16
,
89
,
82
,
86
,
9
,
9
,
87
,
9
,
87
,
/* 830 */
9
,
86
,
123
,
63
,
28
,
17
,
155
,
155
,
101
,
17
,
/* 840 */
125
,
5
,
5
,
155
,
155
,
87
,
5
,
5
,
5
,
5
,
/* 850 */
5
,
5
,
125
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 860 */
5
,
5
,
101
,
89
,
64
,
0
,
9
,
9
,
291
,
22
,
/* 870 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 880 */
291
,
22
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 890 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 900 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 910 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 920 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 930 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 940 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 950 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 960 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 970 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 980 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 990 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1000 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1010 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1020 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1030 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1040 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1050 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1060 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1070 */
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
291
,
/* 1080 */
291
,
291
,
291
,
291
,
291
,
291
,
};
#define YY_SHIFT_COUNT (39
7
)
#define YY_SHIFT_COUNT (39
9
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (8
48
)
#define YY_SHIFT_MAX (8
65
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
2
32
,
163
,
163
,
273
,
273
,
19
,
298
,
314
,
314
,
314
,
/* 10 */
7
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
/* 20 */
129
,
129
,
45
,
45
,
0
,
142
,
314
,
314
,
314
,
314
,
/* 30 */
314
,
314
,
314
,
314
,
314
,
314
,
314
,
314
,
314
,
314
,
/* 40 */
314
,
314
,
314
,
314
,
314
,
314
,
314
,
314
,
357
,
357
,
/* 50 */
3
57
,
175
,
175
,
375
,
129
,
25
,
129
,
129
,
129
,
129
,
/* 60 */
129
,
354
,
19
,
45
,
45
,
61
,
61
,
6
,
865
,
865
,
/* 70 */
8
65
,
357
,
357
,
357
,
382
,
382
,
2
,
2
,
2
,
2
,
/* 80 */
2
,
2
,
62
,
2
,
129
,
129
,
129
,
129
,
129
,
411
,
/* 90 */
129
,
129
,
129
,
175
,
175
,
129
,
129
,
129
,
129
,
39
0
,
/* 100 */
390
,
390
,
390
,
421
,
175
,
129
,
129
,
129
,
129
,
129
,
/* 110 */
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
/* 120 */
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
/* 130 */
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
/* 140 */
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
/* 150 */
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
129
,
/* 160 */
129
,
549
,
549
,
549
,
549
,
489
,
489
,
489
,
489
,
549
,
/* 170 */
493
,
497
,
509
,
510
,
513
,
522
,
526
,
523
,
527
,
54
3
,
/* 180 */
5
30
,
564
,
549
,
549
,
549
,
594
,
594
,
576
,
19
,
19
,
/* 190 */
549
,
549
,
595
,
597
,
639
,
601
,
600
,
640
,
604
,
607
,
/* 200 */
576
,
6
,
549
,
549
,
616
,
616
,
549
,
616
,
549
,
616
,
/* 210 */
549
,
549
,
865
,
865
,
30
,
74
,
104
,
104
,
104
,
135
,
/* 220 */
1
93
,
221
,
280
,
300
,
300
,
300
,
300
,
300
,
300
,
10
,
/* 230 */
113
,
387
,
387
,
387
,
387
,
168
,
288
,
368
,
68
,
67
,
/* 240 */
67
,
132
,
249
,
100
,
367
,
433
,
397
,
400
,
488
,
43
6
,
/* 250 */
4
41
,
442
,
165
,
430
,
317
,
446
,
448
,
449
,
451
,
452
,
/* 260 */
4
55
,
457
,
458
,
521
,
547
,
290
,
468
,
401
,
407
,
408
,
/* 270 */
559
,
560
,
533
,
420
,
424
,
471
,
425
,
499
,
700
,
550
,
/* 280 */
7
02
,
703
,
553
,
704
,
705
,
611
,
613
,
571
,
596
,
603
,
/* 290 */
6
38
,
599
,
641
,
643
,
624
,
629
,
644
,
650
,
617
,
642
,
/* 300 */
758
,
759
,
679
,
681
,
680
,
682
,
684
,
685
,
670
,
687
,
/* 310 */
68
8
,
690
,
773
,
691
,
677
,
645
,
732
,
779
,
686
,
646
,
/* 320 */
69
2
,
695
,
603
,
697
,
667
,
706
,
668
,
707
,
699
,
701
,
/* 330 */
71
9
,
789
,
708
,
710
,
786
,
791
,
792
,
793
,
796
,
797
,
/* 340 */
798
,
799
,
716
,
790
,
725
,
800
,
801
,
722
,
724
,
726
,
/* 350 */
803
,
805
,
693
,
729
,
794
,
754
,
802
,
663
,
665
,
720
,
/* 360 */
720
,
720
,
720
,
698
,
709
,
807
,
671
,
672
,
720
,
720
,
/* 370 */
7
20
,
820
,
823
,
742
,
720
,
825
,
826
,
827
,
828
,
830
,
/* 380 */
8
31
,
832
,
833
,
834
,
835
,
836
,
837
,
838
,
839
,
840
,
/* 390 */
745
,
760
,
841
,
829
,
843
,
842
,
783
,
848
,
/* 0 */
2
10
,
96
,
96
,
289
,
289
,
45
,
276
,
292
,
292
,
292
,
/* 10 */
74
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
/* 20 */
10
,
10
,
54
,
54
,
0
,
164
,
292
,
292
,
292
,
292
,
/* 30 */
292
,
292
,
292
,
292
,
292
,
292
,
292
,
292
,
292
,
292
,
/* 40 */
292
,
292
,
292
,
292
,
292
,
292
,
292
,
292
,
292
,
335
,
/* 50 */
3
35
,
335
,
108
,
108
,
147
,
10
,
323
,
10
,
10
,
10
,
/* 60 */
10
,
10
,
345
,
45
,
54
,
54
,
156
,
156
,
79
,
882
,
/* 70 */
8
82
,
882
,
335
,
335
,
335
,
417
,
417
,
2
,
2
,
2
,
/* 80 */
2
,
2
,
2
,
24
,
2
,
10
,
10
,
10
,
10
,
10
,
/* 90 */
426
,
10
,
10
,
10
,
108
,
108
,
10
,
10
,
10
,
1
0
,
/* 100 */
406
,
406
,
406
,
406
,
404
,
108
,
10
,
10
,
10
,
10
,
/* 110 */
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
/* 120 */
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
/* 130 */
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
/* 140 */
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
/* 150 */
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
10
,
/* 160 */
10
,
10
,
560
,
560
,
560
,
560
,
504
,
504
,
504
,
504
,
/* 170 */
560
,
506
,
508
,
519
,
517
,
523
,
529
,
532
,
534
,
53
3
,
/* 180 */
5
43
,
540
,
554
,
560
,
560
,
560
,
607
,
607
,
588
,
45
,
/* 190 */
45
,
560
,
560
,
608
,
614
,
652
,
619
,
618
,
658
,
621
,
/* 200 */
624
,
588
,
79
,
560
,
560
,
632
,
632
,
560
,
632
,
560
,
/* 210 */
632
,
560
,
560
,
882
,
882
,
30
,
64
,
94
,
94
,
94
,
/* 220 */
1
25
,
154
,
214
,
278
,
278
,
278
,
278
,
278
,
278
,
258
,
/* 230 */
279
,
308
,
392
,
392
,
392
,
392
,
400
,
294
,
318
,
398
,
/* 240 */
168
,
23
,
23
,
123
,
223
,
29
,
411
,
401
,
436
,
44
6
,
/* 250 */
4
98
,
450
,
451
,
452
,
493
,
441
,
442
,
457
,
458
,
460
,
/* 260 */
4
61
,
463
,
474
,
467
,
469
,
324
,
548
,
453
,
478
,
414
,
/* 270 */
419
,
422
,
573
,
576
,
547
,
435
,
439
,
480
,
444
,
513
,
/* 280 */
7
17
,
565
,
718
,
722
,
567
,
724
,
725
,
627
,
629
,
584
,
/* 290 */
6
11
,
622
,
656
,
615
,
657
,
659
,
645
,
646
,
661
,
648
,
/* 300 */
625
,
640
,
747
,
766
,
694
,
695
,
697
,
698
,
700
,
701
,
/* 310 */
68
6
,
703
,
704
,
706
,
789
,
707
,
693
,
660
,
748
,
795
,
/* 320 */
69
6
,
662
,
708
,
714
,
622
,
716
,
684
,
719
,
687
,
726
,
/* 330 */
71
3
,
720
,
732
,
804
,
721
,
723
,
802
,
809
,
810
,
811
,
/* 340 */
812
,
813
,
814
,
815
,
733
,
805
,
741
,
816
,
817
,
738
,
/* 350 */
740
,
742
,
819
,
821
,
709
,
745
,
806
,
770
,
818
,
681
,
/* 360 */
682
,
737
,
737
,
737
,
737
,
715
,
727
,
822
,
688
,
689
,
/* 370 */
7
37
,
737
,
737
,
836
,
837
,
758
,
737
,
841
,
842
,
843
,
/* 380 */
8
44
,
845
,
846
,
848
,
849
,
850
,
851
,
852
,
853
,
854
,
/* 390 */
855
,
856
,
761
,
774
,
857
,
847
,
858
,
859
,
800
,
865
,
};
#define YY_REDUCE_COUNT (21
3
)
#define YY_REDUCE_MIN (-27
5
)
#define YY_REDUCE_MAX (5
52
)
#define YY_REDUCE_COUNT (21
4
)
#define YY_REDUCE_MIN (-27
8
)
#define YY_REDUCE_MAX (5
70
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
20
0
,
52
,
52
,
166
,
166
,
-
214
,
-
207
,
127
,
154
,
-
20
8
,
/* 10 */
-
180
,
-
83
,
-
32
,
75
,
122
,
199
,
200
,
202
,
205
,
220
,
/* 20 */
24
1
,
243
,
-
275
,
-
221
,
-
203
,
-
187
,
-
222
,
-
163
,
-
133
,
-
40
,
/* 30 */
21
,
57
,
84
,
92
,
115
,
140
,
178
,
182
,
187
,
189
,
/* 40 */
190
,
195
,
196
,
198
,
209
,
211
,
216
,
218
,
-
46
,
111
,
/* 50 */
238
,
53
,
94
,
-
23
,
-
204
,
151
,
-
77
,
262
,
283
,
285
,
/* 60 */
139
,
292
,
-
164
,
225
,
228
,
297
,
302
,
-
44
,
257
,
17
,
/* 70 */
3
08
,
-
99
,
-
50
,
-
13
,
-
27
,
20
,
103
,
130
,
326
,
337
,
/* 80 */
3
38
,
339
,
60
,
340
,
179
,
206
,
381
,
384
,
385
,
316
,
/* 90 */
3
88
,
389
,
391
,
342
,
343
,
394
,
395
,
396
,
398
,
307
,
/* 100 */
3
10
,
319
,
320
,
346
,
347
,
402
,
403
,
404
,
405
,
406
,
/* 110 */
4
09
,
410
,
412
,
413
,
414
,
415
,
416
,
417
,
418
,
419
,
/* 120 */
4
22
,
423
,
426
,
427
,
428
,
429
,
431
,
432
,
434
,
43
5
,
/* 130 */
4
37
,
438
,
439
,
440
,
443
,
444
,
445
,
447
,
450
,
453
,
/* 140 */
4
54
,
456
,
459
,
460
,
461
,
462
,
463
,
464
,
465
,
466
,
/* 150 */
4
67
,
469
,
470
,
472
,
473
,
474
,
475
,
476
,
477
,
478
,
/* 160 */
4
79
,
480
,
481
,
482
,
483
,
336
,
345
,
349
,
350
,
484
,
/* 170 */
366
,
355
,
377
,
393
,
386
,
485
,
487
,
486
,
490
,
494
,
/* 180 */
496
,
491
,
492
,
495
,
498
,
500
,
501
,
502
,
503
,
506
,
/* 190 */
5
04
,
505
,
507
,
511
,
508
,
514
,
512
,
516
,
517
,
519
,
/* 200 */
5
15
,
520
,
518
,
524
,
532
,
534
,
536
,
539
,
537
,
54
1
,
/* 210 */
5
48
,
551
,
546
,
552
,
/* 0 */
-
20
1
,
28
,
28
,
176
,
176
,
138
,
89
,
178
,
183
,
-
27
8
,
/* 10 */
-
204
,
-
118
,
-
19
,
46
,
144
,
201
,
205
,
224
,
237
,
242
,
/* 20 */
24
5
,
256
,
-
2
,
53
,
-
199
,
-
182
,
-
272
,
-
242
,
-
175
,
-
174
,
/* 30 */
-
159
,
-
114
,
-
108
,
-
99
,
-
39
,
34
,
82
,
202
,
203
,
204
,
/* 40 */
207
,
215
,
221
,
222
,
228
,
229
,
233
,
234
,
236
,
-
240
,
/* 50 */
104
,
105
,
17
,
190
,
-
215
,
-
205
,
-
181
,
-
57
,
162
,
188
,
/* 60 */
280
,
-
69
,
300
,
-
56
,
14
,
18
,
305
,
306
,
298
,
152
,
/* 70 */
3
13
,
320
,
-
225
,
-
6
,
16
,
60
,
136
,
185
,
189
,
344
,
/* 80 */
3
53
,
354
,
355
,
316
,
356
,
375
,
397
,
399
,
402
,
403
,
/* 90 */
3
28
,
405
,
407
,
408
,
350
,
351
,
409
,
410
,
412
,
413
,
/* 100 */
3
26
,
331
,
334
,
336
,
349
,
365
,
418
,
420
,
421
,
423
,
/* 110 */
4
24
,
425
,
427
,
428
,
429
,
430
,
431
,
432
,
433
,
434
,
/* 120 */
4
37
,
438
,
440
,
443
,
445
,
447
,
448
,
449
,
454
,
45
5
,
/* 130 */
4
56
,
459
,
462
,
464
,
465
,
466
,
468
,
470
,
471
,
472
,
/* 140 */
4
73
,
475
,
476
,
477
,
479
,
481
,
482
,
483
,
484
,
485
,
/* 150 */
4
86
,
487
,
488
,
489
,
490
,
491
,
492
,
494
,
495
,
496
,
/* 160 */
4
97
,
499
,
500
,
501
,
502
,
503
,
360
,
361
,
364
,
366
,
/* 170 */
505
,
352
,
378
,
386
,
362
,
390
,
416
,
507
,
509
,
415
,
/* 180 */
510
,
514
,
511
,
512
,
515
,
516
,
518
,
520
,
522
,
521
,
/* 190 */
5
25
,
524
,
526
,
527
,
530
,
528
,
531
,
535
,
536
,
537
,
/* 200 */
5
41
,
538
,
539
,
542
,
549
,
546
,
553
,
555
,
556
,
56
1
,
/* 210 */
5
62
,
564
,
569
,
563
,
570
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
94
5
,
1068
,
1007
,
1078
,
994
,
1004
,
1246
,
1246
,
1246
,
1246
,
/* 10 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 20 */
94
5
,
945
,
945
,
945
,
1132
,
965
,
945
,
945
,
945
,
945
,
/* 30 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 40 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 50 */
94
5
,
945
,
945
,
1156
,
945
,
1004
,
945
,
945
,
945
,
945
,
/* 60 */
94
5
,
1014
,
1004
,
945
,
945
,
1014
,
1014
,
945
,
1127
,
1052
,
/* 70 */
10
70
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 80 */
94
5
,
945
,
1099
,
945
,
945
,
945
,
945
,
945
,
945
,
1134
,
/* 90 */
11
40
,
1137
,
945
,
945
,
945
,
1142
,
945
,
945
,
945
,
117
8
,
/* 100 */
11
78
,
1178
,
1178
,
1125
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 110 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 120 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 130 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
992
,
945
,
990
,
/* 140 */
9
45
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 150 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 160 */
9
63
,
967
,
967
,
967
,
967
,
945
,
945
,
945
,
945
,
967
,
/* 170 */
1187
,
1191
,
1168
,
1185
,
1179
,
1163
,
1161
,
1159
,
1167
,
1152
,
/* 180 */
11
95
,
1101
,
967
,
967
,
967
,
1012
,
1012
,
1008
,
1004
,
1004
,
/* 190 */
967
,
967
,
1030
,
1028
,
1026
,
1018
,
1024
,
1020
,
1022
,
1016
,
/* 200 */
995
,
945
,
967
,
967
,
1002
,
1002
,
967
,
1002
,
967
,
1002
,
/* 210 */
967
,
967
,
1052
,
1070
,
1245
,
945
,
1196
,
1186
,
1245
,
945
,
/* 220 */
1228
,
1227
,
945
,
1236
,
1235
,
1234
,
1226
,
1225
,
1224
,
945
,
/* 230 */
94
5
,
1220
,
1223
,
1222
,
1221
,
945
,
945
,
1198
,
945
,
1230
,
/* 240 */
1229
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
1149
,
945
,
/* 250 */
945
,
945
,
1174
,
1192
,
1188
,
945
,
945
,
945
,
945
,
945
,
/* 260 */
94
5
,
945
,
945
,
1199
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 270 */
94
5
,
945
,
1113
,
945
,
945
,
1080
,
945
,
945
,
945
,
945
,
/* 280 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
1124
,
945
,
/* 290 */
945
,
945
,
945
,
945
,
1136
,
1135
,
945
,
945
,
945
,
945
,
/* 300 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 310 */
94
5
,
945
,
945
,
945
,
1180
,
945
,
1175
,
945
,
1169
,
945
,
/* 320 */
945
,
945
,
1092
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 330 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 340 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 350 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
1264
,
/* 360 */
1259
,
1260
,
1257
,
945
,
945
,
945
,
945
,
945
,
1256
,
1251
,
/* 370 */
12
52
,
945
,
945
,
945
,
1249
,
945
,
945
,
945
,
945
,
945
,
/* 380 */
94
5
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
945
,
/* 390 */
1036
,
945
,
945
,
974
,
945
,
972
,
945
,
945
,
/* 0 */
94
8
,
1071
,
1010
,
1081
,
997
,
1007
,
1250
,
1250
,
1250
,
1250
,
/* 10 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 20 */
94
8
,
948
,
948
,
948
,
1135
,
968
,
948
,
948
,
948
,
948
,
/* 30 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 40 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 50 */
94
8
,
948
,
948
,
948
,
1159
,
948
,
1007
,
948
,
948
,
948
,
/* 60 */
94
8
,
948
,
1017
,
1007
,
948
,
948
,
1017
,
1017
,
948
,
1130
,
/* 70 */
10
55
,
1073
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 80 */
94
8
,
948
,
948
,
1102
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 90 */
11
37
,
1143
,
1140
,
948
,
948
,
948
,
1145
,
948
,
948
,
94
8
,
/* 100 */
11
81
,
1181
,
1181
,
1181
,
1128
,
948
,
948
,
948
,
948
,
948
,
/* 110 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 120 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 130 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
995
,
948
,
/* 140 */
9
93
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 150 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 160 */
9
48
,
966
,
970
,
970
,
970
,
970
,
948
,
948
,
948
,
948
,
/* 170 */
970
,
1190
,
1194
,
1171
,
1188
,
1182
,
1166
,
1164
,
1162
,
1170
,
/* 180 */
11
55
,
1198
,
1104
,
970
,
970
,
970
,
1015
,
1015
,
1011
,
1007
,
/* 190 */
1007
,
970
,
970
,
1033
,
1031
,
1029
,
1021
,
1027
,
1023
,
1025
,
/* 200 */
1019
,
998
,
948
,
970
,
970
,
1005
,
1005
,
970
,
1005
,
970
,
/* 210 */
1005
,
970
,
970
,
1055
,
1073
,
1249
,
948
,
1199
,
1189
,
1249
,
/* 220 */
948
,
1231
,
1230
,
1240
,
1239
,
1238
,
1229
,
1228
,
1227
,
948
,
/* 230 */
94
8
,
948
,
1223
,
1226
,
1225
,
1224
,
1237
,
948
,
948
,
1201
,
/* 240 */
948
,
1233
,
1232
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 250 */
1152
,
948
,
948
,
948
,
1177
,
1195
,
1191
,
948
,
948
,
948
,
/* 260 */
94
8
,
948
,
948
,
948
,
948
,
1202
,
948
,
948
,
948
,
948
,
/* 270 */
94
8
,
948
,
948
,
948
,
1116
,
948
,
948
,
1083
,
948
,
948
,
/* 280 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 290 */
1127
,
948
,
948
,
948
,
948
,
948
,
1139
,
1138
,
948
,
948
,
/* 300 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 310 */
94
8
,
948
,
948
,
948
,
948
,
948
,
1183
,
948
,
1178
,
948
,
/* 320 */
1172
,
948
,
948
,
948
,
1095
,
948
,
948
,
948
,
948
,
948
,
/* 330 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 340 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 350 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 360 */
948
,
1268
,
1263
,
1264
,
1261
,
948
,
948
,
948
,
948
,
948
,
/* 370 */
12
60
,
1255
,
1256
,
948
,
948
,
948
,
1253
,
948
,
948
,
948
,
/* 380 */
94
8
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
948
,
/* 390 */
948
,
948
,
1039
,
948
,
948
,
977
,
948
,
975
,
948
,
948
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -791,7 +784,6 @@ struct yyParser {
int
yyerrcnt
;
/* Shifts left before out of the error */
#endif
ParseARG_SDECL
/* A place to hold %extra_argument */
ParseCTX_SDECL
/* A place to hold %extra_context */
#if YYSTACKDEPTH<=0
int
yystksz
;
/* Current side of the stack */
yyStackEntry
*
yystack
;
/* The parser's stack */
...
...
@@ -1043,92 +1035,93 @@ static const char *const yyTokenName[] = {
/* 201 */
"INTO"
,
/* 202 */
"VALUES"
,
/* 203 */
"FILE"
,
/* 204 */
"program"
,
/* 205 */
"cmd"
,
/* 206 */
"ids"
,
/* 207 */
"dbPrefix"
,
/* 208 */
"cpxName"
,
/* 209 */
"ifexists"
,
/* 210 */
"alter_db_optr"
,
/* 211 */
"alter_topic_optr"
,
/* 212 */
"acct_optr"
,
/* 213 */
"exprlist"
,
/* 214 */
"ifnotexists"
,
/* 215 */
"db_optr"
,
/* 216 */
"topic_optr"
,
/* 217 */
"typename"
,
/* 218 */
"bufsize"
,
/* 219 */
"pps"
,
/* 220 */
"tseries"
,
/* 221 */
"dbs"
,
/* 222 */
"streams"
,
/* 223 */
"storage"
,
/* 224 */
"qtime"
,
/* 225 */
"users"
,
/* 226 */
"conns"
,
/* 227 */
"state"
,
/* 228 */
"intitemlist"
,
/* 229 */
"intitem"
,
/* 230 */
"keep"
,
/* 231 */
"cache"
,
/* 232 */
"replica"
,
/* 233 */
"quorum"
,
/* 234 */
"days"
,
/* 235 */
"minrows"
,
/* 236 */
"maxrows"
,
/* 237 */
"blocks"
,
/* 238 */
"ctime"
,
/* 239 */
"wal"
,
/* 240 */
"fsync"
,
/* 241 */
"comp"
,
/* 242 */
"prec"
,
/* 243 */
"update"
,
/* 244 */
"cachelast"
,
/* 245 */
"partitions"
,
/* 246 */
"signed"
,
/* 247 */
"create_table_args"
,
/* 248 */
"create_stable_args"
,
/* 249 */
"create_table_list"
,
/* 250 */
"create_from_stable"
,
/* 251 */
"columnlist"
,
/* 252 */
"tagitemlist"
,
/* 253 */
"tagNamelist"
,
/* 254 */
"to_opt"
,
/* 255 */
"split_opt"
,
/* 256 */
"select"
,
/* 257 */
"to_split"
,
/* 258 */
"column"
,
/* 259 */
"tagitem"
,
/* 260 */
"selcollist"
,
/* 261 */
"from"
,
/* 262 */
"where_opt"
,
/* 263 */
"range_option"
,
/* 264 */
"interval_option"
,
/* 265 */
"sliding_opt"
,
/* 266 */
"session_option"
,
/* 267 */
"windowstate_option"
,
/* 268 */
"fill_opt"
,
/* 269 */
"groupby_opt"
,
/* 270 */
"having_opt"
,
/* 271 */
"orderby_opt"
,
/* 272 */
"slimit_opt"
,
/* 273 */
"limit_opt"
,
/* 274 */
"union"
,
/* 275 */
"sclp"
,
/* 276 */
"distinct"
,
/* 277 */
"expr"
,
/* 278 */
"as"
,
/* 279 */
"tablelist"
,
/* 280 */
"sub"
,
/* 281 */
"tmvar"
,
/* 282 */
"timestamp"
,
/* 283 */
"intervalKey"
,
/* 284 */
"sortlist"
,
/* 285 */
"item"
,
/* 286 */
"sortorder"
,
/* 287 */
"arrow"
,
/* 288 */
"grouplist"
,
/* 289 */
"expritem"
,
/* 204 */
"error"
,
/* 205 */
"program"
,
/* 206 */
"cmd"
,
/* 207 */
"ids"
,
/* 208 */
"dbPrefix"
,
/* 209 */
"cpxName"
,
/* 210 */
"ifexists"
,
/* 211 */
"alter_db_optr"
,
/* 212 */
"alter_topic_optr"
,
/* 213 */
"acct_optr"
,
/* 214 */
"exprlist"
,
/* 215 */
"ifnotexists"
,
/* 216 */
"db_optr"
,
/* 217 */
"topic_optr"
,
/* 218 */
"typename"
,
/* 219 */
"bufsize"
,
/* 220 */
"pps"
,
/* 221 */
"tseries"
,
/* 222 */
"dbs"
,
/* 223 */
"streams"
,
/* 224 */
"storage"
,
/* 225 */
"qtime"
,
/* 226 */
"users"
,
/* 227 */
"conns"
,
/* 228 */
"state"
,
/* 229 */
"intitemlist"
,
/* 230 */
"intitem"
,
/* 231 */
"keep"
,
/* 232 */
"cache"
,
/* 233 */
"replica"
,
/* 234 */
"quorum"
,
/* 235 */
"days"
,
/* 236 */
"minrows"
,
/* 237 */
"maxrows"
,
/* 238 */
"blocks"
,
/* 239 */
"ctime"
,
/* 240 */
"wal"
,
/* 241 */
"fsync"
,
/* 242 */
"comp"
,
/* 243 */
"prec"
,
/* 244 */
"update"
,
/* 245 */
"cachelast"
,
/* 246 */
"partitions"
,
/* 247 */
"signed"
,
/* 248 */
"create_table_args"
,
/* 249 */
"create_stable_args"
,
/* 250 */
"create_table_list"
,
/* 251 */
"create_from_stable"
,
/* 252 */
"columnlist"
,
/* 253 */
"tagitemlist"
,
/* 254 */
"tagNamelist"
,
/* 255 */
"to_opt"
,
/* 256 */
"split_opt"
,
/* 257 */
"select"
,
/* 258 */
"to_split"
,
/* 259 */
"column"
,
/* 260 */
"tagitem"
,
/* 261 */
"selcollist"
,
/* 262 */
"from"
,
/* 263 */
"where_opt"
,
/* 264 */
"range_option"
,
/* 265 */
"interval_option"
,
/* 266 */
"sliding_opt"
,
/* 267 */
"session_option"
,
/* 268 */
"windowstate_option"
,
/* 269 */
"fill_opt"
,
/* 270 */
"groupby_opt"
,
/* 271 */
"having_opt"
,
/* 272 */
"orderby_opt"
,
/* 273 */
"slimit_opt"
,
/* 274 */
"limit_opt"
,
/* 275 */
"union"
,
/* 276 */
"sclp"
,
/* 277 */
"distinct"
,
/* 278 */
"expr"
,
/* 279 */
"as"
,
/* 280 */
"tablelist"
,
/* 281 */
"sub"
,
/* 282 */
"tmvar"
,
/* 283 */
"timestamp"
,
/* 284 */
"intervalKey"
,
/* 285 */
"sortlist"
,
/* 286 */
"item"
,
/* 287 */
"sortorder"
,
/* 288 */
"arrow"
,
/* 289 */
"grouplist"
,
/* 290 */
"expritem"
,
};
#endif
/* defined(YYCOVERAGE) || !defined(NDEBUG) */
...
...
@@ -1422,40 +1415,41 @@ static const char *const yyRuleName[] = {
/* 283 */
"expr ::= expr STAR expr"
,
/* 284 */
"expr ::= expr SLASH expr"
,
/* 285 */
"expr ::= expr REM expr"
,
/* 286 */
"expr ::= expr LIKE expr"
,
/* 287 */
"expr ::= expr MATCH expr"
,
/* 288 */
"expr ::= expr NMATCH expr"
,
/* 289 */
"expr ::= ID CONTAINS STRING"
,
/* 290 */
"expr ::= ID DOT ID CONTAINS STRING"
,
/* 291 */
"arrow ::= ID ARROW STRING"
,
/* 292 */
"arrow ::= ID DOT ID ARROW STRING"
,
/* 293 */
"expr ::= arrow"
,
/* 294 */
"expr ::= expr IN LP exprlist RP"
,
/* 295 */
"exprlist ::= exprlist COMMA expritem"
,
/* 296 */
"exprlist ::= expritem"
,
/* 297 */
"expritem ::= expr"
,
/* 298 */
"expritem ::="
,
/* 299 */
"cmd ::= RESET QUERY CACHE"
,
/* 300 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 301 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 302 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 303 */
"cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 304 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 305 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 306 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 307 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 308 */
"cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist"
,
/* 309 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 310 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 311 */
"cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 312 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 313 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 314 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 315 */
"cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 316 */
"cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist"
,
/* 317 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 318 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 319 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 286 */
"expr ::= expr BITAND expr"
,
/* 287 */
"expr ::= expr LIKE expr"
,
/* 288 */
"expr ::= expr MATCH expr"
,
/* 289 */
"expr ::= expr NMATCH expr"
,
/* 290 */
"expr ::= ID CONTAINS STRING"
,
/* 291 */
"expr ::= ID DOT ID CONTAINS STRING"
,
/* 292 */
"arrow ::= ID ARROW STRING"
,
/* 293 */
"arrow ::= ID DOT ID ARROW STRING"
,
/* 294 */
"expr ::= arrow"
,
/* 295 */
"expr ::= expr IN LP exprlist RP"
,
/* 296 */
"exprlist ::= exprlist COMMA expritem"
,
/* 297 */
"exprlist ::= expritem"
,
/* 298 */
"expritem ::= expr"
,
/* 299 */
"expritem ::="
,
/* 300 */
"cmd ::= RESET QUERY CACHE"
,
/* 301 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 302 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 303 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 304 */
"cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 305 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 306 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 307 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 308 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 309 */
"cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist"
,
/* 310 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 311 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 312 */
"cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 313 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 314 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 315 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 316 */
"cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 317 */
"cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist"
,
/* 318 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 319 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 320 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
#endif
/* NDEBUG */
...
...
@@ -1504,29 +1498,28 @@ static int yyGrowStack(yyParser *p){
/* Initialize a new parser that has already been allocated.
*/
void
ParseInit
(
void
*
yypRawParser
ParseCTX_PDECL
){
yyParser
*
yypParser
=
(
yyParser
*
)
yypRawParser
;
ParseCTX_STORE
void
ParseInit
(
void
*
yypParser
){
yyParser
*
pParser
=
(
yyParser
*
)
yypParser
;
#ifdef YYTRACKMAXSTACKDEPTH
yy
pParser
->
yyhwm
=
0
;
pParser
->
yyhwm
=
0
;
#endif
#if YYSTACKDEPTH<=0
yy
pParser
->
yytos
=
NULL
;
yy
pParser
->
yystack
=
NULL
;
yy
pParser
->
yystksz
=
0
;
if
(
yyGrowStack
(
yy
pParser
)
){
yypParser
->
yystack
=
&
yy
pParser
->
yystk0
;
yy
pParser
->
yystksz
=
1
;
pParser
->
yytos
=
NULL
;
pParser
->
yystack
=
NULL
;
pParser
->
yystksz
=
0
;
if
(
yyGrowStack
(
pParser
)
){
pParser
->
yystack
=
&
pParser
->
yystk0
;
pParser
->
yystksz
=
1
;
}
#endif
#ifndef YYNOERRORRECOVERY
yy
pParser
->
yyerrcnt
=
-
1
;
pParser
->
yyerrcnt
=
-
1
;
#endif
yypParser
->
yytos
=
yy
pParser
->
yystack
;
yy
pParser
->
yystack
[
0
].
stateno
=
0
;
yy
pParser
->
yystack
[
0
].
major
=
0
;
pParser
->
yytos
=
pParser
->
yystack
;
pParser
->
yystack
[
0
].
stateno
=
0
;
pParser
->
yystack
[
0
].
major
=
0
;
#if YYSTACKDEPTH>0
yypParser
->
yystackEnd
=
&
yy
pParser
->
yystack
[
YYSTACKDEPTH
-
1
];
pParser
->
yystackEnd
=
&
pParser
->
yystack
[
YYSTACKDEPTH
-
1
];
#endif
}
...
...
@@ -1543,14 +1536,11 @@ void ParseInit(void *yypRawParser ParseCTX_PDECL){
** A pointer to a parser. This pointer is used in subsequent calls
** to Parse and ParseFree.
*/
void
*
ParseAlloc
(
void
*
(
*
mallocProc
)(
YYMALLOCARGTYPE
)
ParseCTX_PDECL
){
yyParser
*
yypParser
;
yypParser
=
(
yyParser
*
)(
*
mallocProc
)(
(
YYMALLOCARGTYPE
)
sizeof
(
yyParser
)
);
if
(
yypParser
){
ParseCTX_STORE
ParseInit
(
yypParser
ParseCTX_PARAM
);
}
return
(
void
*
)
yypParser
;
void
*
ParseAlloc
(
void
*
(
*
mallocProc
)(
YYMALLOCARGTYPE
)){
yyParser
*
pParser
;
pParser
=
(
yyParser
*
)(
*
mallocProc
)(
(
YYMALLOCARGTYPE
)
sizeof
(
yyParser
)
);
if
(
pParser
)
ParseInit
(
pParser
);
return
pParser
;
}
#endif
/* Parse_ENGINEALWAYSONSTACK */
...
...
@@ -1567,8 +1557,7 @@ static void yy_destructor(
YYCODETYPE
yymajor
,
/* Type code for object to destroy */
YYMINORTYPE
*
yypminor
/* The object to be destroyed */
){
ParseARG_FETCH
ParseCTX_FETCH
ParseARG_FETCH
;
switch
(
yymajor
){
/* Here is inserted the actions which take place when a
** terminal or non-terminal is destroyed. This can happen
...
...
@@ -1581,57 +1570,57 @@ static void yy_destructor(
** inside the C code.
*/
/********* Begin destructor definitions ***************************************/
case
21
3
:
/* exprlist */
case
26
0
:
/* selcollist */
case
27
5
:
/* sclp */
case
21
4
:
/* exprlist */
case
26
1
:
/* selcollist */
case
27
6
:
/* sclp */
{
tSqlExprListDestroy
((
yypminor
->
yy
161
));
tSqlExprListDestroy
((
yypminor
->
yy
525
));
}
break
;
case
22
8
:
/* intitemlist */
case
23
0
:
/* keep */
case
25
1
:
/* columnlist */
case
25
2
:
/* tagitemlist */
case
25
3
:
/* tagNamelist */
case
26
8
:
/* fill_opt */
case
2
69
:
/* groupby_opt */
case
27
1
:
/* orderby_opt */
case
28
4
:
/* sortlist */
case
28
8
:
/* grouplist */
{
taosArrayDestroy
(
&
(
yypminor
->
yy
161
));
case
22
9
:
/* intitemlist */
case
23
1
:
/* keep */
case
25
2
:
/* columnlist */
case
25
3
:
/* tagitemlist */
case
25
4
:
/* tagNamelist */
case
26
9
:
/* fill_opt */
case
2
70
:
/* groupby_opt */
case
27
2
:
/* orderby_opt */
case
28
5
:
/* sortlist */
case
28
9
:
/* grouplist */
{
taosArrayDestroy
(
&
(
yypminor
->
yy
525
));
}
break
;
case
2
49
:
/* create_table_list */
case
2
50
:
/* create_table_list */
{
destroyCreateTableSql
((
yypminor
->
yy
46
2
));
destroyCreateTableSql
((
yypminor
->
yy
57
2
));
}
break
;
case
25
6
:
/* select */
case
25
7
:
/* select */
{
destroySqlNode
((
yypminor
->
yy
27
6
));
destroySqlNode
((
yypminor
->
yy
8
6
));
}
break
;
case
26
1
:
/* from */
case
2
79
:
/* tablelist */
case
28
0
:
/* sub */
case
26
2
:
/* from */
case
2
80
:
/* tablelist */
case
28
1
:
/* sub */
{
destroyRelationInfo
((
yypminor
->
yy
84
));
destroyRelationInfo
((
yypminor
->
yy
328
));
}
break
;
case
26
2
:
/* where_opt */
case
27
0
:
/* having_opt */
case
27
7
:
/* expr */
case
28
2
:
/* timestamp */
case
28
7
:
/* arrow */
case
2
89
:
/* expritem */
case
26
3
:
/* where_opt */
case
27
1
:
/* having_opt */
case
27
8
:
/* expr */
case
28
3
:
/* timestamp */
case
28
8
:
/* arrow */
case
2
90
:
/* expritem */
{
tSqlExprDestroy
((
yypminor
->
yy
546
));
tSqlExprDestroy
((
yypminor
->
yy
142
));
}
break
;
case
27
4
:
/* union */
case
27
5
:
/* union */
{
destroyAllSqlNode
((
yypminor
->
yy
161
));
destroyAllSqlNode
((
yypminor
->
yy
525
));
}
break
;
/********* End destructor definitions *****************************************/
...
...
@@ -1743,12 +1732,13 @@ int ParseCoverage(FILE *out){
** Find the appropriate action for a parser given the terminal
** look-ahead token iLookAhead.
*/
static
YYACTIONTYPE
yy_find_shift_action
(
YYCODETYPE
iLookAhead
,
/* The look-ahead token
*/
YY
ACTIONTYPE
stateno
/* Current state number
*/
static
unsigned
int
yy_find_shift_action
(
yyParser
*
pParser
,
/* The parser
*/
YY
CODETYPE
iLookAhead
/* The look-ahead token
*/
){
int
i
;
int
stateno
=
pParser
->
yytos
->
stateno
;
if
(
stateno
>
YY_MAX_SHIFT
)
return
stateno
;
assert
(
stateno
<=
YY_SHIFT_COUNT
);
#if defined(YYCOVERAGE)
...
...
@@ -1756,19 +1746,15 @@ static YYACTIONTYPE yy_find_shift_action(
#endif
do
{
i
=
yy_shift_ofst
[
stateno
];
assert
(
i
>=
0
);
assert
(
i
<=
YY_ACTTAB_COUNT
);
assert
(
i
+
YYNTOKEN
<=
(
int
)
YY_NLOOKAHEAD
);
assert
(
i
>=
0
&&
i
+
YYNTOKEN
<=
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
])
);
assert
(
iLookAhead
!=
YYNOCODE
);
assert
(
iLookAhead
<
YYNTOKEN
);
i
+=
iLookAhead
;
assert
(
i
<
(
int
)
YY_NLOOKAHEAD
);
if
(
yy_lookahead
[
i
]
!=
iLookAhead
){
#ifdef YYFALLBACK
YYCODETYPE
iFallback
;
/* Fallback token */
assert
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
);
iFallback
=
yyFallback
[
iLookAhead
];
if
(
iFallback
!=
0
){
if
(
iLookAhead
<
sizeof
(
yyFallback
)
/
sizeof
(
yyFallback
[
0
])
&&
(
iFallback
=
yyFallback
[
iLookAhead
])
!=
0
){
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFALLBACK %s => %s
\n
"
,
...
...
@@ -1783,8 +1769,15 @@ static YYACTIONTYPE yy_find_shift_action(
#ifdef YYWILDCARD
{
int
j
=
i
-
iLookAhead
+
YYWILDCARD
;
assert
(
j
<
(
int
)(
sizeof
(
yy_lookahead
)
/
sizeof
(
yy_lookahead
[
0
]))
);
if
(
yy_lookahead
[
j
]
==
YYWILDCARD
&&
iLookAhead
>
0
){
if
(
#if YY_SHIFT_MIN+YYWILDCARD<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
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sWILDCARD %s => %s
\n
"
,
...
...
@@ -1798,7 +1791,6 @@ static YYACTIONTYPE yy_find_shift_action(
#endif
/* YYWILDCARD */
return
yy_default
[
stateno
];
}
else
{
assert
(
i
>=
0
&&
i
<
sizeof
(
yy_action
)
/
sizeof
(
yy_action
[
0
])
);
return
yy_action
[
i
];
}
}
while
(
1
);
...
...
@@ -1808,8 +1800,8 @@ static YYACTIONTYPE yy_find_shift_action(
** Find the appropriate action for a parser given the non-terminal
** look-ahead token iLookAhead.
*/
static
YYACTIONTYPE
yy_find_reduce_action
(
YYACTIONTYPE
stateno
,
/* Current state number */
static
int
yy_find_reduce_action
(
int
stateno
,
/* Current state number */
YYCODETYPE
iLookAhead
/* The look-ahead token */
){
int
i
;
...
...
@@ -1838,8 +1830,7 @@ static YYACTIONTYPE yy_find_reduce_action(
** The following routine is called if the stack overflows.
*/
static
void
yyStackOverflow
(
yyParser
*
yypParser
){
ParseARG_FETCH
ParseCTX_FETCH
ParseARG_FETCH
;
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sStack Overflow!
\n
"
,
yyTracePrompt
);
...
...
@@ -1850,8 +1841,7 @@ static void yyStackOverflow(yyParser *yypParser){
** stack every overflows */
/******** Begin %stack_overflow code ******************************************/
/******** End %stack_overflow code ********************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument var */
ParseCTX_STORE
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument var */
}
/*
...
...
@@ -1880,8 +1870,8 @@ static void yyTraceShift(yyParser *yypParser, int yyNewState, const char *zTag){
*/
static
void
yy_shift
(
yyParser
*
yypParser
,
/* The parser to be shifted */
YYACTIONTYPE
yyNewState
,
/* The new state to shift in */
YYCODETYPE
yyMajor
,
/* The major token to shift in */
int
yyNewState
,
/* The new state to shift in */
int
yyMajor
,
/* The major token to shift in */
ParseTOKENTYPE
yyMinor
/* The minor token to shift in */
){
yyStackEntry
*
yytos
;
...
...
@@ -1911,660 +1901,340 @@ static void yy_shift(
yyNewState
+=
YY_MIN_REDUCE
-
YY_MIN_SHIFTREDUCE
;
}
yytos
=
yypParser
->
yytos
;
yytos
->
stateno
=
yyNewState
;
yytos
->
major
=
yyMajor
;
yytos
->
stateno
=
(
YYACTIONTYPE
)
yyNewState
;
yytos
->
major
=
(
YYCODETYPE
)
yyMajor
;
yytos
->
minor
.
yy0
=
yyMinor
;
yyTraceShift
(
yypParser
,
yyNewState
,
"Shift"
);
}
/* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side
** of that rule */
static
const
YYCODETYPE
yyRuleInfoLhs
[]
=
{
204
,
/* (0) program ::= cmd */
205
,
/* (1) cmd ::= SHOW DATABASES */
205
,
/* (2) cmd ::= SHOW TOPICS */
205
,
/* (3) cmd ::= SHOW FUNCTIONS */
205
,
/* (4) cmd ::= SHOW MNODES */
205
,
/* (5) cmd ::= SHOW DNODES */
205
,
/* (6) cmd ::= SHOW ACCOUNTS */
205
,
/* (7) cmd ::= SHOW USERS */
205
,
/* (8) cmd ::= SHOW MODULES */
205
,
/* (9) cmd ::= SHOW QUERIES */
205
,
/* (10) cmd ::= SHOW CONNECTIONS */
205
,
/* (11) cmd ::= SHOW STREAMS */
205
,
/* (12) cmd ::= SHOW VARIABLES */
205
,
/* (13) cmd ::= SHOW SCORES */
205
,
/* (14) cmd ::= SHOW GRANTS */
205
,
/* (15) cmd ::= SHOW VNODES */
205
,
/* (16) cmd ::= SHOW VNODES ids */
207
,
/* (17) dbPrefix ::= */
207
,
/* (18) dbPrefix ::= ids DOT */
208
,
/* (19) cpxName ::= */
208
,
/* (20) cpxName ::= DOT ids */
205
,
/* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
205
,
/* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
205
,
/* (23) cmd ::= SHOW CREATE DATABASE ids */
205
,
/* (24) cmd ::= SHOW dbPrefix TABLES */
205
,
/* (25) cmd ::= SHOW dbPrefix TABLES LIKE STRING */
205
,
/* (26) cmd ::= SHOW dbPrefix STABLES */
205
,
/* (27) cmd ::= SHOW dbPrefix STABLES LIKE STRING */
205
,
/* (28) cmd ::= SHOW dbPrefix VGROUPS */
205
,
/* (29) cmd ::= DROP TABLE ifexists ids cpxName */
205
,
/* (30) cmd ::= DROP STABLE ifexists ids cpxName */
205
,
/* (31) cmd ::= DROP DATABASE ifexists ids */
205
,
/* (32) cmd ::= DROP TOPIC ifexists ids */
205
,
/* (33) cmd ::= DROP FUNCTION ids */
205
,
/* (34) cmd ::= DROP DNODE ids */
205
,
/* (35) cmd ::= DROP USER ids */
205
,
/* (36) cmd ::= DROP ACCOUNT ids */
205
,
/* (37) cmd ::= USE ids */
205
,
/* (38) cmd ::= DESCRIBE ids cpxName */
205
,
/* (39) cmd ::= DESC ids cpxName */
205
,
/* (40) cmd ::= ALTER USER ids PASS ids */
205
,
/* (41) cmd ::= ALTER USER ids PRIVILEGE ids */
205
,
/* (42) cmd ::= ALTER DNODE ids ids */
205
,
/* (43) cmd ::= ALTER DNODE ids ids ids */
205
,
/* (44) cmd ::= ALTER LOCAL ids */
205
,
/* (45) cmd ::= ALTER LOCAL ids ids */
205
,
/* (46) cmd ::= ALTER DATABASE ids alter_db_optr */
205
,
/* (47) cmd ::= ALTER TOPIC ids alter_topic_optr */
205
,
/* (48) cmd ::= ALTER ACCOUNT ids acct_optr */
205
,
/* (49) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
205
,
/* (50) cmd ::= COMPACT VNODES IN LP exprlist RP */
206
,
/* (51) ids ::= ID */
206
,
/* (52) ids ::= STRING */
209
,
/* (53) ifexists ::= IF EXISTS */
209
,
/* (54) ifexists ::= */
214
,
/* (55) ifnotexists ::= IF NOT EXISTS */
214
,
/* (56) ifnotexists ::= */
205
,
/* (57) cmd ::= CREATE DNODE ids */
205
,
/* (58) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
205
,
/* (59) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
205
,
/* (60) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
205
,
/* (61) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
205
,
/* (62) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
205
,
/* (63) cmd ::= CREATE USER ids PASS ids */
218
,
/* (64) bufsize ::= */
218
,
/* (65) bufsize ::= BUFSIZE INTEGER */
219
,
/* (66) pps ::= */
219
,
/* (67) pps ::= PPS INTEGER */
220
,
/* (68) tseries ::= */
220
,
/* (69) tseries ::= TSERIES INTEGER */
221
,
/* (70) dbs ::= */
221
,
/* (71) dbs ::= DBS INTEGER */
222
,
/* (72) streams ::= */
222
,
/* (73) streams ::= STREAMS INTEGER */
223
,
/* (74) storage ::= */
223
,
/* (75) storage ::= STORAGE INTEGER */
224
,
/* (76) qtime ::= */
224
,
/* (77) qtime ::= QTIME INTEGER */
225
,
/* (78) users ::= */
225
,
/* (79) users ::= USERS INTEGER */
226
,
/* (80) conns ::= */
226
,
/* (81) conns ::= CONNS INTEGER */
227
,
/* (82) state ::= */
227
,
/* (83) state ::= STATE ids */
212
,
/* (84) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
228
,
/* (85) intitemlist ::= intitemlist COMMA intitem */
228
,
/* (86) intitemlist ::= intitem */
229
,
/* (87) intitem ::= INTEGER */
230
,
/* (88) keep ::= KEEP intitemlist */
231
,
/* (89) cache ::= CACHE INTEGER */
232
,
/* (90) replica ::= REPLICA INTEGER */
233
,
/* (91) quorum ::= QUORUM INTEGER */
234
,
/* (92) days ::= DAYS INTEGER */
235
,
/* (93) minrows ::= MINROWS INTEGER */
236
,
/* (94) maxrows ::= MAXROWS INTEGER */
237
,
/* (95) blocks ::= BLOCKS INTEGER */
238
,
/* (96) ctime ::= CTIME INTEGER */
239
,
/* (97) wal ::= WAL INTEGER */
240
,
/* (98) fsync ::= FSYNC INTEGER */
241
,
/* (99) comp ::= COMP INTEGER */
242
,
/* (100) prec ::= PRECISION STRING */
243
,
/* (101) update ::= UPDATE INTEGER */
244
,
/* (102) cachelast ::= CACHELAST INTEGER */
245
,
/* (103) partitions ::= PARTITIONS INTEGER */
215
,
/* (104) db_optr ::= */
215
,
/* (105) db_optr ::= db_optr cache */
215
,
/* (106) db_optr ::= db_optr replica */
215
,
/* (107) db_optr ::= db_optr quorum */
215
,
/* (108) db_optr ::= db_optr days */
215
,
/* (109) db_optr ::= db_optr minrows */
215
,
/* (110) db_optr ::= db_optr maxrows */
215
,
/* (111) db_optr ::= db_optr blocks */
215
,
/* (112) db_optr ::= db_optr ctime */
215
,
/* (113) db_optr ::= db_optr wal */
215
,
/* (114) db_optr ::= db_optr fsync */
215
,
/* (115) db_optr ::= db_optr comp */
215
,
/* (116) db_optr ::= db_optr prec */
215
,
/* (117) db_optr ::= db_optr keep */
215
,
/* (118) db_optr ::= db_optr update */
215
,
/* (119) db_optr ::= db_optr cachelast */
216
,
/* (120) topic_optr ::= db_optr */
216
,
/* (121) topic_optr ::= topic_optr partitions */
210
,
/* (122) alter_db_optr ::= */
210
,
/* (123) alter_db_optr ::= alter_db_optr replica */
210
,
/* (124) alter_db_optr ::= alter_db_optr quorum */
210
,
/* (125) alter_db_optr ::= alter_db_optr keep */
210
,
/* (126) alter_db_optr ::= alter_db_optr blocks */
210
,
/* (127) alter_db_optr ::= alter_db_optr comp */
210
,
/* (128) alter_db_optr ::= alter_db_optr update */
210
,
/* (129) alter_db_optr ::= alter_db_optr cachelast */
211
,
/* (130) alter_topic_optr ::= alter_db_optr */
211
,
/* (131) alter_topic_optr ::= alter_topic_optr partitions */
217
,
/* (132) typename ::= ids */
217
,
/* (133) typename ::= ids LP signed RP */
217
,
/* (134) typename ::= ids UNSIGNED */
246
,
/* (135) signed ::= INTEGER */
246
,
/* (136) signed ::= PLUS INTEGER */
246
,
/* (137) signed ::= MINUS INTEGER */
205
,
/* (138) cmd ::= CREATE TABLE create_table_args */
205
,
/* (139) cmd ::= CREATE TABLE create_stable_args */
205
,
/* (140) cmd ::= CREATE STABLE create_stable_args */
205
,
/* (141) cmd ::= CREATE TABLE create_table_list */
249
,
/* (142) create_table_list ::= create_from_stable */
249
,
/* (143) create_table_list ::= create_table_list create_from_stable */
247
,
/* (144) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
248
,
/* (145) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
250
,
/* (146) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
250
,
/* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
253
,
/* (148) tagNamelist ::= tagNamelist COMMA ids */
253
,
/* (149) tagNamelist ::= ids */
247
,
/* (150) create_table_args ::= ifnotexists ids cpxName to_opt split_opt AS select */
254
,
/* (151) to_opt ::= */
254
,
/* (152) to_opt ::= TO ids cpxName */
255
,
/* (153) split_opt ::= */
255
,
/* (154) split_opt ::= SPLIT ids */
251
,
/* (155) columnlist ::= columnlist COMMA column */
251
,
/* (156) columnlist ::= column */
258
,
/* (157) column ::= ids typename */
252
,
/* (158) tagitemlist ::= tagitemlist COMMA tagitem */
252
,
/* (159) tagitemlist ::= tagitem */
259
,
/* (160) tagitem ::= INTEGER */
259
,
/* (161) tagitem ::= FLOAT */
259
,
/* (162) tagitem ::= STRING */
259
,
/* (163) tagitem ::= BOOL */
259
,
/* (164) tagitem ::= NULL */
259
,
/* (165) tagitem ::= NOW */
259
,
/* (166) tagitem ::= NOW PLUS VARIABLE */
259
,
/* (167) tagitem ::= NOW MINUS VARIABLE */
259
,
/* (168) tagitem ::= MINUS INTEGER */
259
,
/* (169) tagitem ::= MINUS FLOAT */
259
,
/* (170) tagitem ::= PLUS INTEGER */
259
,
/* (171) tagitem ::= PLUS FLOAT */
256
,
/* (172) select ::= SELECT selcollist from where_opt range_option interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
256
,
/* (173) select ::= LP select RP */
274
,
/* (174) union ::= select */
274
,
/* (175) union ::= union UNION ALL select */
205
,
/* (176) cmd ::= union */
256
,
/* (177) select ::= SELECT selcollist */
275
,
/* (178) sclp ::= selcollist COMMA */
275
,
/* (179) sclp ::= */
260
,
/* (180) selcollist ::= sclp distinct expr as */
260
,
/* (181) selcollist ::= sclp STAR */
278
,
/* (182) as ::= AS ids */
278
,
/* (183) as ::= ids */
278
,
/* (184) as ::= */
276
,
/* (185) distinct ::= DISTINCT */
276
,
/* (186) distinct ::= */
261
,
/* (187) from ::= FROM tablelist */
261
,
/* (188) from ::= FROM sub */
280
,
/* (189) sub ::= LP union RP */
280
,
/* (190) sub ::= LP union RP ids */
280
,
/* (191) sub ::= sub COMMA LP union RP ids */
279
,
/* (192) tablelist ::= ids cpxName */
279
,
/* (193) tablelist ::= ids cpxName ids */
279
,
/* (194) tablelist ::= tablelist COMMA ids cpxName */
279
,
/* (195) tablelist ::= tablelist COMMA ids cpxName ids */
281
,
/* (196) tmvar ::= VARIABLE */
282
,
/* (197) timestamp ::= INTEGER */
282
,
/* (198) timestamp ::= MINUS INTEGER */
282
,
/* (199) timestamp ::= PLUS INTEGER */
282
,
/* (200) timestamp ::= STRING */
282
,
/* (201) timestamp ::= NOW */
282
,
/* (202) timestamp ::= NOW PLUS VARIABLE */
282
,
/* (203) timestamp ::= NOW MINUS VARIABLE */
263
,
/* (204) range_option ::= */
263
,
/* (205) range_option ::= RANGE LP timestamp COMMA timestamp RP */
264
,
/* (206) interval_option ::= intervalKey LP tmvar RP */
264
,
/* (207) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
264
,
/* (208) interval_option ::= */
283
,
/* (209) intervalKey ::= INTERVAL */
283
,
/* (210) intervalKey ::= EVERY */
266
,
/* (211) session_option ::= */
266
,
/* (212) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
267
,
/* (213) windowstate_option ::= */
267
,
/* (214) windowstate_option ::= STATE_WINDOW LP ids RP */
268
,
/* (215) fill_opt ::= */
268
,
/* (216) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
268
,
/* (217) fill_opt ::= FILL LP ID RP */
265
,
/* (218) sliding_opt ::= SLIDING LP tmvar RP */
265
,
/* (219) sliding_opt ::= */
271
,
/* (220) orderby_opt ::= */
271
,
/* (221) orderby_opt ::= ORDER BY sortlist */
284
,
/* (222) sortlist ::= sortlist COMMA item sortorder */
284
,
/* (223) sortlist ::= sortlist COMMA arrow sortorder */
284
,
/* (224) sortlist ::= item sortorder */
284
,
/* (225) sortlist ::= arrow sortorder */
285
,
/* (226) item ::= ID */
285
,
/* (227) item ::= ID DOT ID */
286
,
/* (228) sortorder ::= ASC */
286
,
/* (229) sortorder ::= DESC */
286
,
/* (230) sortorder ::= */
269
,
/* (231) groupby_opt ::= */
269
,
/* (232) groupby_opt ::= GROUP BY grouplist */
288
,
/* (233) grouplist ::= grouplist COMMA item */
288
,
/* (234) grouplist ::= grouplist COMMA arrow */
288
,
/* (235) grouplist ::= item */
288
,
/* (236) grouplist ::= arrow */
270
,
/* (237) having_opt ::= */
270
,
/* (238) having_opt ::= HAVING expr */
273
,
/* (239) limit_opt ::= */
273
,
/* (240) limit_opt ::= LIMIT signed */
273
,
/* (241) limit_opt ::= LIMIT signed OFFSET signed */
273
,
/* (242) limit_opt ::= LIMIT signed COMMA signed */
272
,
/* (243) slimit_opt ::= */
272
,
/* (244) slimit_opt ::= SLIMIT signed */
272
,
/* (245) slimit_opt ::= SLIMIT signed SOFFSET signed */
272
,
/* (246) slimit_opt ::= SLIMIT signed COMMA signed */
262
,
/* (247) where_opt ::= */
262
,
/* (248) where_opt ::= WHERE expr */
277
,
/* (249) expr ::= LP expr RP */
277
,
/* (250) expr ::= ID */
277
,
/* (251) expr ::= ID DOT ID */
277
,
/* (252) expr ::= ID DOT STAR */
277
,
/* (253) expr ::= INTEGER */
277
,
/* (254) expr ::= MINUS INTEGER */
277
,
/* (255) expr ::= PLUS INTEGER */
277
,
/* (256) expr ::= FLOAT */
277
,
/* (257) expr ::= MINUS FLOAT */
277
,
/* (258) expr ::= PLUS FLOAT */
277
,
/* (259) expr ::= STRING */
277
,
/* (260) expr ::= NOW */
277
,
/* (261) expr ::= TODAY */
277
,
/* (262) expr ::= VARIABLE */
277
,
/* (263) expr ::= PLUS VARIABLE */
277
,
/* (264) expr ::= MINUS VARIABLE */
277
,
/* (265) expr ::= BOOL */
277
,
/* (266) expr ::= NULL */
277
,
/* (267) expr ::= ID LP exprlist RP */
277
,
/* (268) expr ::= ID LP STAR RP */
277
,
/* (269) expr ::= ID LP expr AS typename RP */
277
,
/* (270) expr ::= expr IS NULL */
277
,
/* (271) expr ::= expr IS NOT NULL */
277
,
/* (272) expr ::= expr LT expr */
277
,
/* (273) expr ::= expr GT expr */
277
,
/* (274) expr ::= expr LE expr */
277
,
/* (275) expr ::= expr GE expr */
277
,
/* (276) expr ::= expr NE expr */
277
,
/* (277) expr ::= expr EQ expr */
277
,
/* (278) expr ::= expr BETWEEN expr AND expr */
277
,
/* (279) expr ::= expr AND expr */
277
,
/* (280) expr ::= expr OR expr */
277
,
/* (281) expr ::= expr PLUS expr */
277
,
/* (282) expr ::= expr MINUS expr */
277
,
/* (283) expr ::= expr STAR expr */
277
,
/* (284) expr ::= expr SLASH expr */
277
,
/* (285) expr ::= expr REM expr */
277
,
/* (286) expr ::= expr LIKE expr */
277
,
/* (287) expr ::= expr MATCH expr */
277
,
/* (288) expr ::= expr NMATCH expr */
277
,
/* (289) expr ::= ID CONTAINS STRING */
277
,
/* (290) expr ::= ID DOT ID CONTAINS STRING */
287
,
/* (291) arrow ::= ID ARROW STRING */
287
,
/* (292) arrow ::= ID DOT ID ARROW STRING */
277
,
/* (293) expr ::= arrow */
277
,
/* (294) expr ::= expr IN LP exprlist RP */
213
,
/* (295) exprlist ::= exprlist COMMA expritem */
213
,
/* (296) exprlist ::= expritem */
289
,
/* (297) expritem ::= expr */
289
,
/* (298) expritem ::= */
205
,
/* (299) cmd ::= RESET QUERY CACHE */
205
,
/* (300) cmd ::= SYNCDB ids REPLICA */
205
,
/* (301) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
205
,
/* (302) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
205
,
/* (303) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
205
,
/* (304) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
205
,
/* (305) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
205
,
/* (306) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
205
,
/* (307) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
205
,
/* (308) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
205
,
/* (309) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
205
,
/* (310) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
205
,
/* (311) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
205
,
/* (312) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
205
,
/* (313) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
205
,
/* (314) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
205
,
/* (315) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
205
,
/* (316) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
205
,
/* (317) cmd ::= KILL CONNECTION INTEGER */
205
,
/* (318) cmd ::= KILL STREAM INTEGER COLON INTEGER */
205
,
/* (319) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
** of symbols on the right-hand side of that rule. */
static
const
signed
char
yyRuleInfoNRhs
[]
=
{
-
1
,
/* (0) program ::= cmd */
-
2
,
/* (1) cmd ::= SHOW DATABASES */
-
2
,
/* (2) cmd ::= SHOW 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 ids */
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 STRING */
-
3
,
/* (26) cmd ::= SHOW dbPrefix STABLES */
-
5
,
/* (27) cmd ::= SHOW dbPrefix STABLES LIKE STRING */
-
3
,
/* (28) cmd ::= SHOW dbPrefix VGROUPS */
-
5
,
/* (29) cmd ::= DROP TABLE ifexists ids cpxName */
-
5
,
/* (30) cmd ::= DROP STABLE ifexists ids cpxName */
-
4
,
/* (31) cmd ::= DROP DATABASE ifexists ids */
-
4
,
/* (32) cmd ::= DROP TOPIC ifexists ids */
-
3
,
/* (33) cmd ::= DROP FUNCTION ids */
-
3
,
/* (34) cmd ::= DROP DNODE ids */
-
3
,
/* (35) cmd ::= DROP USER ids */
-
3
,
/* (36) cmd ::= DROP ACCOUNT ids */
-
2
,
/* (37) cmd ::= USE ids */
-
3
,
/* (38) cmd ::= DESCRIBE ids cpxName */
-
3
,
/* (39) cmd ::= DESC 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 */
-
6
,
/* (50) cmd ::= COMPACT VNODES IN LP exprlist RP */
-
1
,
/* (51) ids ::= ID */
-
1
,
/* (52) ids ::= STRING */
-
2
,
/* (53) ifexists ::= IF EXISTS */
0
,
/* (54) ifexists ::= */
-
3
,
/* (55) ifnotexists ::= IF NOT EXISTS */
0
,
/* (56) ifnotexists ::= */
-
3
,
/* (57) cmd ::= CREATE DNODE ids */
-
6
,
/* (58) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
-
5
,
/* (59) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-
5
,
/* (60) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
-
8
,
/* (61) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
-
9
,
/* (62) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
-
5
,
/* (63) cmd ::= CREATE USER ids PASS ids */
0
,
/* (64) bufsize ::= */
-
2
,
/* (65) bufsize ::= BUFSIZE INTEGER */
0
,
/* (66) pps ::= */
-
2
,
/* (67) pps ::= PPS INTEGER */
0
,
/* (68) tseries ::= */
-
2
,
/* (69) tseries ::= TSERIES INTEGER */
0
,
/* (70) dbs ::= */
-
2
,
/* (71) dbs ::= DBS INTEGER */
0
,
/* (72) streams ::= */
-
2
,
/* (73) streams ::= STREAMS INTEGER */
0
,
/* (74) storage ::= */
-
2
,
/* (75) storage ::= STORAGE INTEGER */
0
,
/* (76) qtime ::= */
-
2
,
/* (77) qtime ::= QTIME INTEGER */
0
,
/* (78) users ::= */
-
2
,
/* (79) users ::= USERS INTEGER */
0
,
/* (80) conns ::= */
-
2
,
/* (81) conns ::= CONNS INTEGER */
0
,
/* (82) state ::= */
-
2
,
/* (83) state ::= STATE ids */
-
9
,
/* (84) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
-
3
,
/* (85) intitemlist ::= intitemlist COMMA intitem */
-
1
,
/* (86) intitemlist ::= intitem */
-
1
,
/* (87) intitem ::= INTEGER */
-
2
,
/* (88) keep ::= KEEP intitemlist */
-
2
,
/* (89) cache ::= CACHE INTEGER */
-
2
,
/* (90) replica ::= REPLICA INTEGER */
-
2
,
/* (91) quorum ::= QUORUM INTEGER */
-
2
,
/* (92) days ::= DAYS INTEGER */
-
2
,
/* (93) minrows ::= MINROWS INTEGER */
-
2
,
/* (94) maxrows ::= MAXROWS INTEGER */
-
2
,
/* (95) blocks ::= BLOCKS INTEGER */
-
2
,
/* (96) ctime ::= CTIME INTEGER */
-
2
,
/* (97) wal ::= WAL INTEGER */
-
2
,
/* (98) fsync ::= FSYNC INTEGER */
-
2
,
/* (99) comp ::= COMP INTEGER */
-
2
,
/* (100) prec ::= PRECISION STRING */
-
2
,
/* (101) update ::= UPDATE INTEGER */
-
2
,
/* (102) cachelast ::= CACHELAST INTEGER */
-
2
,
/* (103) partitions ::= PARTITIONS INTEGER */
0
,
/* (104) db_optr ::= */
-
2
,
/* (105) db_optr ::= db_optr cache */
-
2
,
/* (106) db_optr ::= db_optr replica */
-
2
,
/* (107) db_optr ::= db_optr quorum */
-
2
,
/* (108) db_optr ::= db_optr days */
-
2
,
/* (109) db_optr ::= db_optr minrows */
-
2
,
/* (110) db_optr ::= db_optr maxrows */
-
2
,
/* (111) db_optr ::= db_optr blocks */
-
2
,
/* (112) db_optr ::= db_optr ctime */
-
2
,
/* (113) db_optr ::= db_optr wal */
-
2
,
/* (114) db_optr ::= db_optr fsync */
-
2
,
/* (115) db_optr ::= db_optr comp */
-
2
,
/* (116) db_optr ::= db_optr prec */
-
2
,
/* (117) db_optr ::= db_optr keep */
-
2
,
/* (118) db_optr ::= db_optr update */
-
2
,
/* (119) db_optr ::= db_optr cachelast */
-
1
,
/* (120) topic_optr ::= db_optr */
-
2
,
/* (121) topic_optr ::= topic_optr partitions */
0
,
/* (122) alter_db_optr ::= */
-
2
,
/* (123) alter_db_optr ::= alter_db_optr replica */
-
2
,
/* (124) alter_db_optr ::= alter_db_optr quorum */
-
2
,
/* (125) alter_db_optr ::= alter_db_optr keep */
-
2
,
/* (126) alter_db_optr ::= alter_db_optr blocks */
-
2
,
/* (127) alter_db_optr ::= alter_db_optr comp */
-
2
,
/* (128) alter_db_optr ::= alter_db_optr update */
-
2
,
/* (129) alter_db_optr ::= alter_db_optr cachelast */
-
1
,
/* (130) alter_topic_optr ::= alter_db_optr */
-
2
,
/* (131) alter_topic_optr ::= alter_topic_optr partitions */
-
1
,
/* (132) typename ::= ids */
-
4
,
/* (133) typename ::= ids LP signed RP */
-
2
,
/* (134) typename ::= ids UNSIGNED */
-
1
,
/* (135) signed ::= INTEGER */
-
2
,
/* (136) signed ::= PLUS INTEGER */
-
2
,
/* (137) signed ::= MINUS INTEGER */
-
3
,
/* (138) cmd ::= CREATE TABLE create_table_args */
-
3
,
/* (139) cmd ::= CREATE TABLE create_stable_args */
-
3
,
/* (140) cmd ::= CREATE STABLE create_stable_args */
-
3
,
/* (141) cmd ::= CREATE TABLE create_table_list */
-
1
,
/* (142) create_table_list ::= create_from_stable */
-
2
,
/* (143) create_table_list ::= create_table_list create_from_stable */
-
6
,
/* (144) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
-
10
,
/* (145) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
-
10
,
/* (146) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
-
13
,
/* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
-
3
,
/* (148) tagNamelist ::= tagNamelist COMMA ids */
-
1
,
/* (149) tagNamelist ::= ids */
-
7
,
/* (150) create_table_args ::= ifnotexists ids cpxName to_opt split_opt AS select */
0
,
/* (151) to_opt ::= */
-
3
,
/* (152) to_opt ::= TO ids cpxName */
0
,
/* (153) split_opt ::= */
-
2
,
/* (154) split_opt ::= SPLIT ids */
-
3
,
/* (155) columnlist ::= columnlist COMMA column */
-
1
,
/* (156) columnlist ::= column */
-
2
,
/* (157) column ::= ids typename */
-
3
,
/* (158) tagitemlist ::= tagitemlist COMMA tagitem */
-
1
,
/* (159) tagitemlist ::= tagitem */
-
1
,
/* (160) tagitem ::= INTEGER */
-
1
,
/* (161) tagitem ::= FLOAT */
-
1
,
/* (162) tagitem ::= STRING */
-
1
,
/* (163) tagitem ::= BOOL */
-
1
,
/* (164) tagitem ::= NULL */
-
1
,
/* (165) tagitem ::= NOW */
-
3
,
/* (166) tagitem ::= NOW PLUS VARIABLE */
-
3
,
/* (167) tagitem ::= NOW MINUS VARIABLE */
-
2
,
/* (168) tagitem ::= MINUS INTEGER */
-
2
,
/* (169) tagitem ::= MINUS FLOAT */
-
2
,
/* (170) tagitem ::= PLUS INTEGER */
-
2
,
/* (171) tagitem ::= PLUS FLOAT */
-
15
,
/* (172) select ::= SELECT selcollist from where_opt range_option interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
-
3
,
/* (173) select ::= LP select RP */
-
1
,
/* (174) union ::= select */
-
4
,
/* (175) union ::= union UNION ALL select */
-
1
,
/* (176) cmd ::= union */
-
2
,
/* (177) select ::= SELECT selcollist */
-
2
,
/* (178) sclp ::= selcollist COMMA */
0
,
/* (179) sclp ::= */
-
4
,
/* (180) selcollist ::= sclp distinct expr as */
-
2
,
/* (181) selcollist ::= sclp STAR */
-
2
,
/* (182) as ::= AS ids */
-
1
,
/* (183) as ::= ids */
0
,
/* (184) as ::= */
-
1
,
/* (185) distinct ::= DISTINCT */
0
,
/* (186) distinct ::= */
-
2
,
/* (187) from ::= FROM tablelist */
-
2
,
/* (188) from ::= FROM sub */
-
3
,
/* (189) sub ::= LP union RP */
-
4
,
/* (190) sub ::= LP union RP ids */
-
6
,
/* (191) sub ::= sub COMMA LP union RP ids */
-
2
,
/* (192) tablelist ::= ids cpxName */
-
3
,
/* (193) tablelist ::= ids cpxName ids */
-
4
,
/* (194) tablelist ::= tablelist COMMA ids cpxName */
-
5
,
/* (195) tablelist ::= tablelist COMMA ids cpxName ids */
-
1
,
/* (196) tmvar ::= VARIABLE */
-
1
,
/* (197) timestamp ::= INTEGER */
-
2
,
/* (198) timestamp ::= MINUS INTEGER */
-
2
,
/* (199) timestamp ::= PLUS INTEGER */
-
1
,
/* (200) timestamp ::= STRING */
-
1
,
/* (201) timestamp ::= NOW */
-
3
,
/* (202) timestamp ::= NOW PLUS VARIABLE */
-
3
,
/* (203) timestamp ::= NOW MINUS VARIABLE */
0
,
/* (204) range_option ::= */
-
6
,
/* (205) range_option ::= RANGE LP timestamp COMMA timestamp RP */
-
4
,
/* (206) interval_option ::= intervalKey LP tmvar RP */
-
6
,
/* (207) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
0
,
/* (208) interval_option ::= */
-
1
,
/* (209) intervalKey ::= INTERVAL */
-
1
,
/* (210) intervalKey ::= EVERY */
0
,
/* (211) session_option ::= */
-
7
,
/* (212) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
0
,
/* (213) windowstate_option ::= */
-
4
,
/* (214) windowstate_option ::= STATE_WINDOW LP ids RP */
0
,
/* (215) fill_opt ::= */
-
6
,
/* (216) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
4
,
/* (217) fill_opt ::= FILL LP ID RP */
-
4
,
/* (218) sliding_opt ::= SLIDING LP tmvar RP */
0
,
/* (219) sliding_opt ::= */
0
,
/* (220) orderby_opt ::= */
-
3
,
/* (221) orderby_opt ::= ORDER BY sortlist */
-
4
,
/* (222) sortlist ::= sortlist COMMA item sortorder */
-
4
,
/* (223) sortlist ::= sortlist COMMA arrow sortorder */
-
2
,
/* (224) sortlist ::= item sortorder */
-
2
,
/* (225) sortlist ::= arrow sortorder */
-
1
,
/* (226) item ::= ID */
-
3
,
/* (227) item ::= ID DOT ID */
-
1
,
/* (228) sortorder ::= ASC */
-
1
,
/* (229) sortorder ::= DESC */
0
,
/* (230) sortorder ::= */
0
,
/* (231) groupby_opt ::= */
-
3
,
/* (232) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (233) grouplist ::= grouplist COMMA item */
-
3
,
/* (234) grouplist ::= grouplist COMMA arrow */
-
1
,
/* (235) grouplist ::= item */
-
1
,
/* (236) grouplist ::= arrow */
0
,
/* (237) having_opt ::= */
-
2
,
/* (238) having_opt ::= HAVING expr */
0
,
/* (239) limit_opt ::= */
-
2
,
/* (240) limit_opt ::= LIMIT signed */
-
4
,
/* (241) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (242) limit_opt ::= LIMIT signed COMMA signed */
0
,
/* (243) slimit_opt ::= */
-
2
,
/* (244) slimit_opt ::= SLIMIT signed */
-
4
,
/* (245) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (246) slimit_opt ::= SLIMIT signed COMMA signed */
0
,
/* (247) where_opt ::= */
-
2
,
/* (248) where_opt ::= WHERE expr */
-
3
,
/* (249) expr ::= LP expr RP */
-
1
,
/* (250) expr ::= ID */
-
3
,
/* (251) expr ::= ID DOT ID */
-
3
,
/* (252) expr ::= ID DOT STAR */
-
1
,
/* (253) expr ::= INTEGER */
-
2
,
/* (254) expr ::= MINUS INTEGER */
-
2
,
/* (255) expr ::= PLUS INTEGER */
-
1
,
/* (256) expr ::= FLOAT */
-
2
,
/* (257) expr ::= MINUS FLOAT */
-
2
,
/* (258) expr ::= PLUS FLOAT */
-
1
,
/* (259) expr ::= STRING */
-
1
,
/* (260) expr ::= NOW */
-
1
,
/* (261) expr ::= TODAY */
-
1
,
/* (262) expr ::= VARIABLE */
-
2
,
/* (263) expr ::= PLUS VARIABLE */
-
2
,
/* (264) expr ::= MINUS VARIABLE */
-
1
,
/* (265) expr ::= BOOL */
-
1
,
/* (266) expr ::= NULL */
-
4
,
/* (267) expr ::= ID LP exprlist RP */
-
4
,
/* (268) expr ::= ID LP STAR RP */
-
6
,
/* (269) expr ::= ID LP expr AS typename RP */
-
3
,
/* (270) expr ::= expr IS NULL */
-
4
,
/* (271) expr ::= expr IS NOT NULL */
-
3
,
/* (272) expr ::= expr LT expr */
-
3
,
/* (273) expr ::= expr GT expr */
-
3
,
/* (274) expr ::= expr LE expr */
-
3
,
/* (275) expr ::= expr GE expr */
-
3
,
/* (276) expr ::= expr NE expr */
-
3
,
/* (277) expr ::= expr EQ expr */
-
5
,
/* (278) expr ::= expr BETWEEN expr AND expr */
-
3
,
/* (279) expr ::= expr AND expr */
-
3
,
/* (280) expr ::= expr OR expr */
-
3
,
/* (281) expr ::= expr PLUS expr */
-
3
,
/* (282) expr ::= expr MINUS expr */
-
3
,
/* (283) expr ::= expr STAR expr */
-
3
,
/* (284) expr ::= expr SLASH expr */
-
3
,
/* (285) expr ::= expr REM expr */
-
3
,
/* (286) expr ::= expr LIKE expr */
-
3
,
/* (287) expr ::= expr MATCH expr */
-
3
,
/* (288) expr ::= expr NMATCH expr */
-
3
,
/* (289) expr ::= ID CONTAINS STRING */
-
5
,
/* (290) expr ::= ID DOT ID CONTAINS STRING */
-
3
,
/* (291) arrow ::= ID ARROW STRING */
-
5
,
/* (292) arrow ::= ID DOT ID ARROW STRING */
-
1
,
/* (293) expr ::= arrow */
-
5
,
/* (294) expr ::= expr IN LP exprlist RP */
-
3
,
/* (295) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (296) exprlist ::= expritem */
-
1
,
/* (297) expritem ::= expr */
0
,
/* (298) expritem ::= */
-
3
,
/* (299) cmd ::= RESET QUERY CACHE */
-
3
,
/* (300) cmd ::= SYNCDB ids REPLICA */
-
7
,
/* (301) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (302) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (303) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
-
7
,
/* (304) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (305) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (306) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (307) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (308) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
-
7
,
/* (309) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (310) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (311) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
-
7
,
/* (312) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (313) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (314) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (315) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (316) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
-
3
,
/* (317) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (318) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (319) cmd ::= KILL QUERY INTEGER COLON INTEGER */
/* The following table contains information about every rule that
** is used during the reduce.
*/
static
const
struct
{
YYCODETYPE
lhs
;
/* Symbol on the left-hand side of the rule */
signed
char
nrhs
;
/* Negative of the number of RHS symbols in the rule */
}
yyRuleInfo
[]
=
{
{
205
,
-
1
},
/* (0) program ::= cmd */
{
206
,
-
2
},
/* (1) cmd ::= SHOW DATABASES */
{
206
,
-
2
},
/* (2) cmd ::= SHOW TOPICS */
{
206
,
-
2
},
/* (3) cmd ::= SHOW FUNCTIONS */
{
206
,
-
2
},
/* (4) cmd ::= SHOW MNODES */
{
206
,
-
2
},
/* (5) cmd ::= SHOW DNODES */
{
206
,
-
2
},
/* (6) cmd ::= SHOW ACCOUNTS */
{
206
,
-
2
},
/* (7) cmd ::= SHOW USERS */
{
206
,
-
2
},
/* (8) cmd ::= SHOW MODULES */
{
206
,
-
2
},
/* (9) cmd ::= SHOW QUERIES */
{
206
,
-
2
},
/* (10) cmd ::= SHOW CONNECTIONS */
{
206
,
-
2
},
/* (11) cmd ::= SHOW STREAMS */
{
206
,
-
2
},
/* (12) cmd ::= SHOW VARIABLES */
{
206
,
-
2
},
/* (13) cmd ::= SHOW SCORES */
{
206
,
-
2
},
/* (14) cmd ::= SHOW GRANTS */
{
206
,
-
2
},
/* (15) cmd ::= SHOW VNODES */
{
206
,
-
3
},
/* (16) cmd ::= SHOW VNODES ids */
{
208
,
0
},
/* (17) dbPrefix ::= */
{
208
,
-
2
},
/* (18) dbPrefix ::= ids DOT */
{
209
,
0
},
/* (19) cpxName ::= */
{
209
,
-
2
},
/* (20) cpxName ::= DOT ids */
{
206
,
-
5
},
/* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
{
206
,
-
5
},
/* (22) cmd ::= SHOW CREATE STABLE ids cpxName */
{
206
,
-
4
},
/* (23) cmd ::= SHOW CREATE DATABASE ids */
{
206
,
-
3
},
/* (24) cmd ::= SHOW dbPrefix TABLES */
{
206
,
-
5
},
/* (25) cmd ::= SHOW dbPrefix TABLES LIKE STRING */
{
206
,
-
3
},
/* (26) cmd ::= SHOW dbPrefix STABLES */
{
206
,
-
5
},
/* (27) cmd ::= SHOW dbPrefix STABLES LIKE STRING */
{
206
,
-
3
},
/* (28) cmd ::= SHOW dbPrefix VGROUPS */
{
206
,
-
5
},
/* (29) cmd ::= DROP TABLE ifexists ids cpxName */
{
206
,
-
5
},
/* (30) cmd ::= DROP STABLE ifexists ids cpxName */
{
206
,
-
4
},
/* (31) cmd ::= DROP DATABASE ifexists ids */
{
206
,
-
4
},
/* (32) cmd ::= DROP TOPIC ifexists ids */
{
206
,
-
3
},
/* (33) cmd ::= DROP FUNCTION ids */
{
206
,
-
3
},
/* (34) cmd ::= DROP DNODE ids */
{
206
,
-
3
},
/* (35) cmd ::= DROP USER ids */
{
206
,
-
3
},
/* (36) cmd ::= DROP ACCOUNT ids */
{
206
,
-
2
},
/* (37) cmd ::= USE ids */
{
206
,
-
3
},
/* (38) cmd ::= DESCRIBE ids cpxName */
{
206
,
-
3
},
/* (39) cmd ::= DESC ids cpxName */
{
206
,
-
5
},
/* (40) cmd ::= ALTER USER ids PASS ids */
{
206
,
-
5
},
/* (41) cmd ::= ALTER USER ids PRIVILEGE ids */
{
206
,
-
4
},
/* (42) cmd ::= ALTER DNODE ids ids */
{
206
,
-
5
},
/* (43) cmd ::= ALTER DNODE ids ids ids */
{
206
,
-
3
},
/* (44) cmd ::= ALTER LOCAL ids */
{
206
,
-
4
},
/* (45) cmd ::= ALTER LOCAL ids ids */
{
206
,
-
4
},
/* (46) cmd ::= ALTER DATABASE ids alter_db_optr */
{
206
,
-
4
},
/* (47) cmd ::= ALTER TOPIC ids alter_topic_optr */
{
206
,
-
4
},
/* (48) cmd ::= ALTER ACCOUNT ids acct_optr */
{
206
,
-
6
},
/* (49) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
206
,
-
6
},
/* (50) cmd ::= COMPACT VNODES IN LP exprlist RP */
{
207
,
-
1
},
/* (51) ids ::= ID */
{
207
,
-
1
},
/* (52) ids ::= STRING */
{
210
,
-
2
},
/* (53) ifexists ::= IF EXISTS */
{
210
,
0
},
/* (54) ifexists ::= */
{
215
,
-
3
},
/* (55) ifnotexists ::= IF NOT EXISTS */
{
215
,
0
},
/* (56) ifnotexists ::= */
{
206
,
-
3
},
/* (57) cmd ::= CREATE DNODE ids */
{
206
,
-
6
},
/* (58) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
206
,
-
5
},
/* (59) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
206
,
-
5
},
/* (60) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
{
206
,
-
8
},
/* (61) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
206
,
-
9
},
/* (62) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
206
,
-
5
},
/* (63) cmd ::= CREATE USER ids PASS ids */
{
219
,
0
},
/* (64) bufsize ::= */
{
219
,
-
2
},
/* (65) bufsize ::= BUFSIZE INTEGER */
{
220
,
0
},
/* (66) pps ::= */
{
220
,
-
2
},
/* (67) pps ::= PPS INTEGER */
{
221
,
0
},
/* (68) tseries ::= */
{
221
,
-
2
},
/* (69) tseries ::= TSERIES INTEGER */
{
222
,
0
},
/* (70) dbs ::= */
{
222
,
-
2
},
/* (71) dbs ::= DBS INTEGER */
{
223
,
0
},
/* (72) streams ::= */
{
223
,
-
2
},
/* (73) streams ::= STREAMS INTEGER */
{
224
,
0
},
/* (74) storage ::= */
{
224
,
-
2
},
/* (75) storage ::= STORAGE INTEGER */
{
225
,
0
},
/* (76) qtime ::= */
{
225
,
-
2
},
/* (77) qtime ::= QTIME INTEGER */
{
226
,
0
},
/* (78) users ::= */
{
226
,
-
2
},
/* (79) users ::= USERS INTEGER */
{
227
,
0
},
/* (80) conns ::= */
{
227
,
-
2
},
/* (81) conns ::= CONNS INTEGER */
{
228
,
0
},
/* (82) state ::= */
{
228
,
-
2
},
/* (83) state ::= STATE ids */
{
213
,
-
9
},
/* (84) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
229
,
-
3
},
/* (85) intitemlist ::= intitemlist COMMA intitem */
{
229
,
-
1
},
/* (86) intitemlist ::= intitem */
{
230
,
-
1
},
/* (87) intitem ::= INTEGER */
{
231
,
-
2
},
/* (88) keep ::= KEEP intitemlist */
{
232
,
-
2
},
/* (89) cache ::= CACHE INTEGER */
{
233
,
-
2
},
/* (90) replica ::= REPLICA INTEGER */
{
234
,
-
2
},
/* (91) quorum ::= QUORUM INTEGER */
{
235
,
-
2
},
/* (92) days ::= DAYS INTEGER */
{
236
,
-
2
},
/* (93) minrows ::= MINROWS INTEGER */
{
237
,
-
2
},
/* (94) maxrows ::= MAXROWS INTEGER */
{
238
,
-
2
},
/* (95) blocks ::= BLOCKS INTEGER */
{
239
,
-
2
},
/* (96) ctime ::= CTIME INTEGER */
{
240
,
-
2
},
/* (97) wal ::= WAL INTEGER */
{
241
,
-
2
},
/* (98) fsync ::= FSYNC INTEGER */
{
242
,
-
2
},
/* (99) comp ::= COMP INTEGER */
{
243
,
-
2
},
/* (100) prec ::= PRECISION STRING */
{
244
,
-
2
},
/* (101) update ::= UPDATE INTEGER */
{
245
,
-
2
},
/* (102) cachelast ::= CACHELAST INTEGER */
{
246
,
-
2
},
/* (103) partitions ::= PARTITIONS INTEGER */
{
216
,
0
},
/* (104) db_optr ::= */
{
216
,
-
2
},
/* (105) db_optr ::= db_optr cache */
{
216
,
-
2
},
/* (106) db_optr ::= db_optr replica */
{
216
,
-
2
},
/* (107) db_optr ::= db_optr quorum */
{
216
,
-
2
},
/* (108) db_optr ::= db_optr days */
{
216
,
-
2
},
/* (109) db_optr ::= db_optr minrows */
{
216
,
-
2
},
/* (110) db_optr ::= db_optr maxrows */
{
216
,
-
2
},
/* (111) db_optr ::= db_optr blocks */
{
216
,
-
2
},
/* (112) db_optr ::= db_optr ctime */
{
216
,
-
2
},
/* (113) db_optr ::= db_optr wal */
{
216
,
-
2
},
/* (114) db_optr ::= db_optr fsync */
{
216
,
-
2
},
/* (115) db_optr ::= db_optr comp */
{
216
,
-
2
},
/* (116) db_optr ::= db_optr prec */
{
216
,
-
2
},
/* (117) db_optr ::= db_optr keep */
{
216
,
-
2
},
/* (118) db_optr ::= db_optr update */
{
216
,
-
2
},
/* (119) db_optr ::= db_optr cachelast */
{
217
,
-
1
},
/* (120) topic_optr ::= db_optr */
{
217
,
-
2
},
/* (121) topic_optr ::= topic_optr partitions */
{
211
,
0
},
/* (122) alter_db_optr ::= */
{
211
,
-
2
},
/* (123) alter_db_optr ::= alter_db_optr replica */
{
211
,
-
2
},
/* (124) alter_db_optr ::= alter_db_optr quorum */
{
211
,
-
2
},
/* (125) alter_db_optr ::= alter_db_optr keep */
{
211
,
-
2
},
/* (126) alter_db_optr ::= alter_db_optr blocks */
{
211
,
-
2
},
/* (127) alter_db_optr ::= alter_db_optr comp */
{
211
,
-
2
},
/* (128) alter_db_optr ::= alter_db_optr update */
{
211
,
-
2
},
/* (129) alter_db_optr ::= alter_db_optr cachelast */
{
212
,
-
1
},
/* (130) alter_topic_optr ::= alter_db_optr */
{
212
,
-
2
},
/* (131) alter_topic_optr ::= alter_topic_optr partitions */
{
218
,
-
1
},
/* (132) typename ::= ids */
{
218
,
-
4
},
/* (133) typename ::= ids LP signed RP */
{
218
,
-
2
},
/* (134) typename ::= ids UNSIGNED */
{
247
,
-
1
},
/* (135) signed ::= INTEGER */
{
247
,
-
2
},
/* (136) signed ::= PLUS INTEGER */
{
247
,
-
2
},
/* (137) signed ::= MINUS INTEGER */
{
206
,
-
3
},
/* (138) cmd ::= CREATE TABLE create_table_args */
{
206
,
-
3
},
/* (139) cmd ::= CREATE TABLE create_stable_args */
{
206
,
-
3
},
/* (140) cmd ::= CREATE STABLE create_stable_args */
{
206
,
-
3
},
/* (141) cmd ::= CREATE TABLE create_table_list */
{
250
,
-
1
},
/* (142) create_table_list ::= create_from_stable */
{
250
,
-
2
},
/* (143) create_table_list ::= create_table_list create_from_stable */
{
248
,
-
6
},
/* (144) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
249
,
-
10
},
/* (145) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
251
,
-
10
},
/* (146) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
251
,
-
13
},
/* (147) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
{
254
,
-
3
},
/* (148) tagNamelist ::= tagNamelist COMMA ids */
{
254
,
-
1
},
/* (149) tagNamelist ::= ids */
{
248
,
-
7
},
/* (150) create_table_args ::= ifnotexists ids cpxName to_opt split_opt AS select */
{
255
,
0
},
/* (151) to_opt ::= */
{
255
,
-
3
},
/* (152) to_opt ::= TO ids cpxName */
{
256
,
0
},
/* (153) split_opt ::= */
{
256
,
-
2
},
/* (154) split_opt ::= SPLIT ids */
{
252
,
-
3
},
/* (155) columnlist ::= columnlist COMMA column */
{
252
,
-
1
},
/* (156) columnlist ::= column */
{
259
,
-
2
},
/* (157) column ::= ids typename */
{
253
,
-
3
},
/* (158) tagitemlist ::= tagitemlist COMMA tagitem */
{
253
,
-
1
},
/* (159) tagitemlist ::= tagitem */
{
260
,
-
1
},
/* (160) tagitem ::= INTEGER */
{
260
,
-
1
},
/* (161) tagitem ::= FLOAT */
{
260
,
-
1
},
/* (162) tagitem ::= STRING */
{
260
,
-
1
},
/* (163) tagitem ::= BOOL */
{
260
,
-
1
},
/* (164) tagitem ::= NULL */
{
260
,
-
1
},
/* (165) tagitem ::= NOW */
{
260
,
-
3
},
/* (166) tagitem ::= NOW PLUS VARIABLE */
{
260
,
-
3
},
/* (167) tagitem ::= NOW MINUS VARIABLE */
{
260
,
-
2
},
/* (168) tagitem ::= MINUS INTEGER */
{
260
,
-
2
},
/* (169) tagitem ::= MINUS FLOAT */
{
260
,
-
2
},
/* (170) tagitem ::= PLUS INTEGER */
{
260
,
-
2
},
/* (171) tagitem ::= PLUS FLOAT */
{
257
,
-
15
},
/* (172) select ::= SELECT selcollist from where_opt range_option interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
{
257
,
-
3
},
/* (173) select ::= LP select RP */
{
275
,
-
1
},
/* (174) union ::= select */
{
275
,
-
4
},
/* (175) union ::= union UNION ALL select */
{
206
,
-
1
},
/* (176) cmd ::= union */
{
257
,
-
2
},
/* (177) select ::= SELECT selcollist */
{
276
,
-
2
},
/* (178) sclp ::= selcollist COMMA */
{
276
,
0
},
/* (179) sclp ::= */
{
261
,
-
4
},
/* (180) selcollist ::= sclp distinct expr as */
{
261
,
-
2
},
/* (181) selcollist ::= sclp STAR */
{
279
,
-
2
},
/* (182) as ::= AS ids */
{
279
,
-
1
},
/* (183) as ::= ids */
{
279
,
0
},
/* (184) as ::= */
{
277
,
-
1
},
/* (185) distinct ::= DISTINCT */
{
277
,
0
},
/* (186) distinct ::= */
{
262
,
-
2
},
/* (187) from ::= FROM tablelist */
{
262
,
-
2
},
/* (188) from ::= FROM sub */
{
281
,
-
3
},
/* (189) sub ::= LP union RP */
{
281
,
-
4
},
/* (190) sub ::= LP union RP ids */
{
281
,
-
6
},
/* (191) sub ::= sub COMMA LP union RP ids */
{
280
,
-
2
},
/* (192) tablelist ::= ids cpxName */
{
280
,
-
3
},
/* (193) tablelist ::= ids cpxName ids */
{
280
,
-
4
},
/* (194) tablelist ::= tablelist COMMA ids cpxName */
{
280
,
-
5
},
/* (195) tablelist ::= tablelist COMMA ids cpxName ids */
{
282
,
-
1
},
/* (196) tmvar ::= VARIABLE */
{
283
,
-
1
},
/* (197) timestamp ::= INTEGER */
{
283
,
-
2
},
/* (198) timestamp ::= MINUS INTEGER */
{
283
,
-
2
},
/* (199) timestamp ::= PLUS INTEGER */
{
283
,
-
1
},
/* (200) timestamp ::= STRING */
{
283
,
-
1
},
/* (201) timestamp ::= NOW */
{
283
,
-
3
},
/* (202) timestamp ::= NOW PLUS VARIABLE */
{
283
,
-
3
},
/* (203) timestamp ::= NOW MINUS VARIABLE */
{
264
,
0
},
/* (204) range_option ::= */
{
264
,
-
6
},
/* (205) range_option ::= RANGE LP timestamp COMMA timestamp RP */
{
265
,
-
4
},
/* (206) interval_option ::= intervalKey LP tmvar RP */
{
265
,
-
6
},
/* (207) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{
265
,
0
},
/* (208) interval_option ::= */
{
284
,
-
1
},
/* (209) intervalKey ::= INTERVAL */
{
284
,
-
1
},
/* (210) intervalKey ::= EVERY */
{
267
,
0
},
/* (211) session_option ::= */
{
267
,
-
7
},
/* (212) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
268
,
0
},
/* (213) windowstate_option ::= */
{
268
,
-
4
},
/* (214) windowstate_option ::= STATE_WINDOW LP ids RP */
{
269
,
0
},
/* (215) fill_opt ::= */
{
269
,
-
6
},
/* (216) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
269
,
-
4
},
/* (217) fill_opt ::= FILL LP ID RP */
{
266
,
-
4
},
/* (218) sliding_opt ::= SLIDING LP tmvar RP */
{
266
,
0
},
/* (219) sliding_opt ::= */
{
272
,
0
},
/* (220) orderby_opt ::= */
{
272
,
-
3
},
/* (221) orderby_opt ::= ORDER BY sortlist */
{
285
,
-
4
},
/* (222) sortlist ::= sortlist COMMA item sortorder */
{
285
,
-
4
},
/* (223) sortlist ::= sortlist COMMA arrow sortorder */
{
285
,
-
2
},
/* (224) sortlist ::= item sortorder */
{
285
,
-
2
},
/* (225) sortlist ::= arrow sortorder */
{
286
,
-
1
},
/* (226) item ::= ID */
{
286
,
-
3
},
/* (227) item ::= ID DOT ID */
{
287
,
-
1
},
/* (228) sortorder ::= ASC */
{
287
,
-
1
},
/* (229) sortorder ::= DESC */
{
287
,
0
},
/* (230) sortorder ::= */
{
270
,
0
},
/* (231) groupby_opt ::= */
{
270
,
-
3
},
/* (232) groupby_opt ::= GROUP BY grouplist */
{
289
,
-
3
},
/* (233) grouplist ::= grouplist COMMA item */
{
289
,
-
3
},
/* (234) grouplist ::= grouplist COMMA arrow */
{
289
,
-
1
},
/* (235) grouplist ::= item */
{
289
,
-
1
},
/* (236) grouplist ::= arrow */
{
271
,
0
},
/* (237) having_opt ::= */
{
271
,
-
2
},
/* (238) having_opt ::= HAVING expr */
{
274
,
0
},
/* (239) limit_opt ::= */
{
274
,
-
2
},
/* (240) limit_opt ::= LIMIT signed */
{
274
,
-
4
},
/* (241) limit_opt ::= LIMIT signed OFFSET signed */
{
274
,
-
4
},
/* (242) limit_opt ::= LIMIT signed COMMA signed */
{
273
,
0
},
/* (243) slimit_opt ::= */
{
273
,
-
2
},
/* (244) slimit_opt ::= SLIMIT signed */
{
273
,
-
4
},
/* (245) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
273
,
-
4
},
/* (246) slimit_opt ::= SLIMIT signed COMMA signed */
{
263
,
0
},
/* (247) where_opt ::= */
{
263
,
-
2
},
/* (248) where_opt ::= WHERE expr */
{
278
,
-
3
},
/* (249) expr ::= LP expr RP */
{
278
,
-
1
},
/* (250) expr ::= ID */
{
278
,
-
3
},
/* (251) expr ::= ID DOT ID */
{
278
,
-
3
},
/* (252) expr ::= ID DOT STAR */
{
278
,
-
1
},
/* (253) expr ::= INTEGER */
{
278
,
-
2
},
/* (254) expr ::= MINUS INTEGER */
{
278
,
-
2
},
/* (255) expr ::= PLUS INTEGER */
{
278
,
-
1
},
/* (256) expr ::= FLOAT */
{
278
,
-
2
},
/* (257) expr ::= MINUS FLOAT */
{
278
,
-
2
},
/* (258) expr ::= PLUS FLOAT */
{
278
,
-
1
},
/* (259) expr ::= STRING */
{
278
,
-
1
},
/* (260) expr ::= NOW */
{
278
,
-
1
},
/* (261) expr ::= TODAY */
{
278
,
-
1
},
/* (262) expr ::= VARIABLE */
{
278
,
-
2
},
/* (263) expr ::= PLUS VARIABLE */
{
278
,
-
2
},
/* (264) expr ::= MINUS VARIABLE */
{
278
,
-
1
},
/* (265) expr ::= BOOL */
{
278
,
-
1
},
/* (266) expr ::= NULL */
{
278
,
-
4
},
/* (267) expr ::= ID LP exprlist RP */
{
278
,
-
4
},
/* (268) expr ::= ID LP STAR RP */
{
278
,
-
6
},
/* (269) expr ::= ID LP expr AS typename RP */
{
278
,
-
3
},
/* (270) expr ::= expr IS NULL */
{
278
,
-
4
},
/* (271) expr ::= expr IS NOT NULL */
{
278
,
-
3
},
/* (272) expr ::= expr LT expr */
{
278
,
-
3
},
/* (273) expr ::= expr GT expr */
{
278
,
-
3
},
/* (274) expr ::= expr LE expr */
{
278
,
-
3
},
/* (275) expr ::= expr GE expr */
{
278
,
-
3
},
/* (276) expr ::= expr NE expr */
{
278
,
-
3
},
/* (277) expr ::= expr EQ expr */
{
278
,
-
5
},
/* (278) expr ::= expr BETWEEN expr AND expr */
{
278
,
-
3
},
/* (279) expr ::= expr AND expr */
{
278
,
-
3
},
/* (280) expr ::= expr OR expr */
{
278
,
-
3
},
/* (281) expr ::= expr PLUS expr */
{
278
,
-
3
},
/* (282) expr ::= expr MINUS expr */
{
278
,
-
3
},
/* (283) expr ::= expr STAR expr */
{
278
,
-
3
},
/* (284) expr ::= expr SLASH expr */
{
278
,
-
3
},
/* (285) expr ::= expr REM expr */
{
278
,
-
3
},
/* (286) expr ::= expr BITAND expr */
{
278
,
-
3
},
/* (287) expr ::= expr LIKE expr */
{
278
,
-
3
},
/* (288) expr ::= expr MATCH expr */
{
278
,
-
3
},
/* (289) expr ::= expr NMATCH expr */
{
278
,
-
3
},
/* (290) expr ::= ID CONTAINS STRING */
{
278
,
-
5
},
/* (291) expr ::= ID DOT ID CONTAINS STRING */
{
288
,
-
3
},
/* (292) arrow ::= ID ARROW STRING */
{
288
,
-
5
},
/* (293) arrow ::= ID DOT ID ARROW STRING */
{
278
,
-
1
},
/* (294) expr ::= arrow */
{
278
,
-
5
},
/* (295) expr ::= expr IN LP exprlist RP */
{
214
,
-
3
},
/* (296) exprlist ::= exprlist COMMA expritem */
{
214
,
-
1
},
/* (297) exprlist ::= expritem */
{
290
,
-
1
},
/* (298) expritem ::= expr */
{
290
,
0
},
/* (299) expritem ::= */
{
206
,
-
3
},
/* (300) cmd ::= RESET QUERY CACHE */
{
206
,
-
3
},
/* (301) cmd ::= SYNCDB ids REPLICA */
{
206
,
-
7
},
/* (302) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
206
,
-
7
},
/* (303) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
206
,
-
7
},
/* (304) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{
206
,
-
7
},
/* (305) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
206
,
-
7
},
/* (306) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
206
,
-
8
},
/* (307) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
206
,
-
9
},
/* (308) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
206
,
-
7
},
/* (309) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{
206
,
-
7
},
/* (310) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
206
,
-
7
},
/* (311) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
206
,
-
7
},
/* (312) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{
206
,
-
7
},
/* (313) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
206
,
-
7
},
/* (314) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
206
,
-
8
},
/* (315) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
206
,
-
9
},
/* (316) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{
206
,
-
7
},
/* (317) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{
206
,
-
3
},
/* (318) cmd ::= KILL CONNECTION INTEGER */
{
206
,
-
5
},
/* (319) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
206
,
-
5
},
/* (320) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2579,34 +2249,30 @@ static void yy_accept(yyParser*); /* Forward Declaration */
** only called from one place, optimizing compilers will in-line it, which
** means that the extra parameters have no performance impact.
*/
static
YYACTIONTYPE
yy_reduce
(
static
void
yy_reduce
(
yyParser
*
yypParser
,
/* The parser */
unsigned
int
yyruleno
,
/* Number of the rule by which to reduce */
int
yyLookahead
,
/* Lookahead token, or YYNOCODE if none */
ParseTOKENTYPE
yyLookaheadToken
/* Value of the lookahead token */
ParseCTX_PDECL
/* %extra_context */
){
int
yygoto
;
/* The next state */
YYACTIONTYPE
yyact
;
/* The next action */
int
yyact
;
/* The next action */
yyStackEntry
*
yymsp
;
/* The top of the parser's stack */
int
yysize
;
/* Amount to pop the stack */
ParseARG_FETCH
ParseARG_FETCH
;
(
void
)
yyLookahead
;
(
void
)
yyLookaheadToken
;
yymsp
=
yypParser
->
yytos
;
#ifndef NDEBUG
if
(
yyTraceFILE
&&
yyruleno
<
(
int
)(
sizeof
(
yyRuleName
)
/
sizeof
(
yyRuleName
[
0
]))
){
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
if
(
yysize
){
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
%s, pop back
to state %d.
\n
"
,
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]
, go
to state %d.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
,
yymsp
[
yysize
].
stateno
);
yyruleno
,
yyRuleName
[
yyruleno
],
yymsp
[
yysize
].
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s]%s.
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
],
yyruleno
<
YYNRULE_WITH_ACTION
?
""
:
" without external action"
);
fprintf
(
yyTraceFILE
,
"%sReduce %d [%s].
\n
"
,
yyTracePrompt
,
yyruleno
,
yyRuleName
[
yyruleno
]);
}
}
#endif
/* NDEBUG */
...
...
@@ -2614,7 +2280,7 @@ static YYACTIONTYPE yy_reduce(
/* 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
** enough on the stack to push the LHS value */
if
(
yyRuleInfo
NRhs
[
yyruleno
]
==
0
){
if
(
yyRuleInfo
[
yyruleno
].
nrhs
==
0
){
#ifdef YYTRACKMAXSTACKDEPTH
if
(
(
int
)(
yypParser
->
yytos
-
yypParser
->
yystack
)
>
yypParser
->
yyhwm
){
yypParser
->
yyhwm
++
;
...
...
@@ -2624,19 +2290,13 @@ static YYACTIONTYPE yy_reduce(
#if YYSTACKDEPTH>0
if
(
yypParser
->
yytos
>=
yypParser
->
yystackEnd
){
yyStackOverflow
(
yypParser
);
/* 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
;
return
;
}
#else
if
(
yypParser
->
yytos
>=&
yypParser
->
yystack
[
yypParser
->
yystksz
-
1
]
){
if
(
yyGrowStack
(
yypParser
)
){
yyStackOverflow
(
yypParser
);
/* 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
;
return
;
}
yymsp
=
yypParser
->
yytos
;
}
...
...
@@ -2827,16 +2487,16 @@ static YYACTIONTYPE yy_reduce(
break
;
case
46
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
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
302
,
&
t
);}
{
SStrToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
436
,
&
t
);}
break
;
case
48
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
231
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
517
);}
break
;
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
231
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
517
);}
break
;
case
50
:
/* cmd ::= COMPACT VNODES IN LP exprlist RP */
{
setCompactVnodeSql
(
pInfo
,
TSDB_SQL_COMPACT_VNODE
,
yymsp
[
-
1
].
minor
.
yy
161
);}
{
setCompactVnodeSql
(
pInfo
,
TSDB_SQL_COMPACT_VNODE
,
yymsp
[
-
1
].
minor
.
yy
525
);}
break
;
case
51
:
/* ids ::= ID */
case
52
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
52
);
...
...
@@ -2858,17 +2518,17 @@ static YYACTIONTYPE yy_reduce(
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
58
:
/* 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
231
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
517
);}
break
;
case
59
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case
60
:
/* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
yytestcase
(
yyruleno
==
60
);
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
302
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
436
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
61
:
/* 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
223
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
115
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
break
;
case
62
:
/* 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
223
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
115
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
break
;
case
63
:
/* cmd ::= CREATE USER ids PASS ids */
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
...
...
@@ -2899,38 +2559,38 @@ static YYACTIONTYPE yy_reduce(
break
;
case
84
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
yylhsminor
.
yy
231
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
231
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
231
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
231
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
231
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
231
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
231
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
231
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
231
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
yylhsminor
.
yy
517
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
517
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
517
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
517
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
517
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
517
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
517
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
517
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
517
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
8
].
minor
.
yy
231
=
yylhsminor
.
yy231
;
yymsp
[
-
8
].
minor
.
yy
517
=
yylhsminor
.
yy517
;
break
;
case
85
:
/* intitemlist ::= intitemlist COMMA intitem */
case
158
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
yytestcase
(
yyruleno
==
158
);
{
yylhsminor
.
yy
161
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy161
,
&
yymsp
[
0
].
minor
.
yy526
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
yylhsminor
.
yy
525
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy525
,
&
yymsp
[
0
].
minor
.
yy110
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
86
:
/* intitemlist ::= intitem */
case
159
:
/* tagitemlist ::= tagitem */
yytestcase
(
yyruleno
==
159
);
{
yylhsminor
.
yy
161
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy526
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
yylhsminor
.
yy
525
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy110
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
87
:
/* intitem ::= INTEGER */
case
160
:
/* tagitem ::= INTEGER */
yytestcase
(
yyruleno
==
160
);
case
161
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
161
);
case
162
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
162
);
case
163
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
163
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy
526
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
526
=
yylhsminor
.
yy526
;
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy
110
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
110
=
yylhsminor
.
yy110
;
break
;
case
88
:
/* keep ::= KEEP intitemlist */
{
yymsp
[
-
1
].
minor
.
yy
161
=
yymsp
[
0
].
minor
.
yy161
;
}
{
yymsp
[
-
1
].
minor
.
yy
525
=
yymsp
[
0
].
minor
.
yy525
;
}
break
;
case
89
:
/* cache ::= CACHE INTEGER */
case
90
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
90
);
...
...
@@ -2950,200 +2610,200 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
104
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
302
);
yymsp
[
1
].
minor
.
yy302
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
436
);
yymsp
[
1
].
minor
.
yy436
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
case
105
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
106
:
/* db_optr ::= db_optr replica */
case
123
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
123
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
107
:
/* db_optr ::= db_optr quorum */
case
124
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
124
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
108
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
109
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
110
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
111
:
/* db_optr ::= db_optr blocks */
case
126
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
126
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
112
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
113
:
/* db_optr ::= db_optr wal */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
114
:
/* db_optr ::= db_optr fsync */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
115
:
/* db_optr ::= db_optr comp */
case
127
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
127
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
116
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
117
:
/* db_optr ::= db_optr keep */
case
125
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
125
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
keep
=
yymsp
[
0
].
minor
.
yy161
;
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
keep
=
yymsp
[
0
].
minor
.
yy525
;
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
118
:
/* db_optr ::= db_optr update */
case
128
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
128
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
119
:
/* db_optr ::= db_optr cachelast */
case
129
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
129
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
120
:
/* topic_optr ::= db_optr */
case
130
:
/* alter_topic_optr ::= alter_db_optr */
yytestcase
(
yyruleno
==
130
);
{
yylhsminor
.
yy
302
=
yymsp
[
0
].
minor
.
yy302
;
yylhsminor
.
yy302
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
yymsp
[
0
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
0
].
minor
.
yy436
;
yylhsminor
.
yy436
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
yymsp
[
0
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
121
:
/* topic_optr ::= topic_optr partitions */
case
131
:
/* alter_topic_optr ::= alter_topic_optr partitions */
yytestcase
(
yyruleno
==
131
);
{
yylhsminor
.
yy
302
=
yymsp
[
-
1
].
minor
.
yy302
;
yylhsminor
.
yy302
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
302
=
yylhsminor
.
yy302
;
{
yylhsminor
.
yy
436
=
yymsp
[
-
1
].
minor
.
yy436
;
yylhsminor
.
yy436
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
436
=
yylhsminor
.
yy436
;
break
;
case
122
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
302
);
yymsp
[
1
].
minor
.
yy302
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
436
);
yymsp
[
1
].
minor
.
yy436
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
case
132
:
/* typename ::= ids */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
223
,
&
yymsp
[
0
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
115
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
223
=
yylhsminor
.
yy223
;
yymsp
[
0
].
minor
.
yy
115
=
yylhsminor
.
yy115
;
break
;
case
133
:
/* typename ::= ids LP signed RP */
{
if
(
yymsp
[
-
1
].
minor
.
yy
369
<=
0
)
{
if
(
yymsp
[
-
1
].
minor
.
yy
543
<=
0
)
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
223
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
115
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
else
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
369
;
// negative value of name length
tSetColumnType
(
&
yylhsminor
.
yy
223
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
543
;
// negative value of name length
tSetColumnType
(
&
yylhsminor
.
yy
115
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
}
yymsp
[
-
3
].
minor
.
yy
223
=
yylhsminor
.
yy223
;
yymsp
[
-
3
].
minor
.
yy
115
=
yylhsminor
.
yy115
;
break
;
case
134
:
/* typename ::= ids UNSIGNED */
{
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
);
tSetColumnType
(
&
yylhsminor
.
yy
223
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
115
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
yymsp
[
-
1
].
minor
.
yy
223
=
yylhsminor
.
yy223
;
yymsp
[
-
1
].
minor
.
yy
115
=
yylhsminor
.
yy115
;
break
;
case
135
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy
369
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
369
=
yylhsminor
.
yy369
;
{
yylhsminor
.
yy
543
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
543
=
yylhsminor
.
yy543
;
break
;
case
136
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
369
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yymsp
[
-
1
].
minor
.
yy
543
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
break
;
case
137
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
369
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
{
yymsp
[
-
1
].
minor
.
yy
543
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
case
141
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
46
2
;}
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
57
2
;}
break
;
case
142
:
/* create_table_list ::= create_from_stable */
{
SCreateTableSql
*
pCreateTable
=
calloc
(
1
,
sizeof
(
SCreateTableSql
));
pCreateTable
->
childTableInfo
=
taosArrayInit
(
4
,
sizeof
(
SCreatedTableInfo
));
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy
356
);
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy
480
);
pCreateTable
->
type
=
TSQL_CREATE_TABLE_FROM_STABLE
;
yylhsminor
.
yy
46
2
=
pCreateTable
;
yylhsminor
.
yy
57
2
=
pCreateTable
;
}
yymsp
[
0
].
minor
.
yy
462
=
yylhsminor
.
yy46
2
;
yymsp
[
0
].
minor
.
yy
572
=
yylhsminor
.
yy57
2
;
break
;
case
143
:
/* create_table_list ::= create_table_list create_from_stable */
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
462
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy356
);
yylhsminor
.
yy
462
=
yymsp
[
-
1
].
minor
.
yy46
2
;
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
572
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy480
);
yylhsminor
.
yy
572
=
yymsp
[
-
1
].
minor
.
yy57
2
;
}
yymsp
[
-
1
].
minor
.
yy
462
=
yylhsminor
.
yy46
2
;
yymsp
[
-
1
].
minor
.
yy
572
=
yylhsminor
.
yy57
2
;
break
;
case
144
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
yylhsminor
.
yy
462
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy161
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
46
2
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
572
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy525
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
57
2
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
);
}
yymsp
[
-
5
].
minor
.
yy
462
=
yylhsminor
.
yy46
2
;
yymsp
[
-
5
].
minor
.
yy
572
=
yylhsminor
.
yy57
2
;
break
;
case
145
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
yylhsminor
.
yy
462
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy161
,
yymsp
[
-
1
].
minor
.
yy161
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
46
2
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
572
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy525
,
yymsp
[
-
1
].
minor
.
yy525
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
57
2
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
yymsp
[
-
9
].
minor
.
yy
462
=
yylhsminor
.
yy46
2
;
yymsp
[
-
9
].
minor
.
yy
572
=
yylhsminor
.
yy57
2
;
break
;
case
146
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
356
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy161
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
yylhsminor
.
yy
480
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy525
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
yymsp
[
-
9
].
minor
.
yy
356
=
yylhsminor
.
yy356
;
yymsp
[
-
9
].
minor
.
yy
480
=
yylhsminor
.
yy480
;
break
;
case
147
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
{
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
11
].
minor
.
yy0
.
n
+=
yymsp
[
-
10
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
356
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy161
,
yymsp
[
-
1
].
minor
.
yy161
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
yylhsminor
.
yy
480
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy525
,
yymsp
[
-
1
].
minor
.
yy525
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
}
yymsp
[
-
12
].
minor
.
yy
356
=
yylhsminor
.
yy356
;
yymsp
[
-
12
].
minor
.
yy
480
=
yylhsminor
.
yy480
;
break
;
case
148
:
/* tagNamelist ::= tagNamelist COMMA ids */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
161
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy161
=
yymsp
[
-
2
].
minor
.
yy161
;
}
yymsp
[
-
2
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
525
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy525
=
yymsp
[
-
2
].
minor
.
yy525
;
}
yymsp
[
-
2
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
149
:
/* tagNamelist ::= ids */
{
yylhsminor
.
yy
161
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy161
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
yylhsminor
.
yy
525
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy525
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
150
:
/* create_table_args ::= ifnotexists ids cpxName to_opt split_opt AS select */
{
yylhsminor
.
yy
462
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy27
6
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
46
2
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
572
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy8
6
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
57
2
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
setCreatedStreamOpt
(
pInfo
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
);
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
6
].
minor
.
yy0
);
}
yymsp
[
-
6
].
minor
.
yy
462
=
yylhsminor
.
yy46
2
;
yymsp
[
-
6
].
minor
.
yy
572
=
yylhsminor
.
yy57
2
;
break
;
case
151
:
/* to_opt ::= */
case
153
:
/* split_opt ::= */
yytestcase
(
yyruleno
==
153
);
...
...
@@ -3159,37 +2819,37 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
break
;
case
155
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
161
,
&
yymsp
[
0
].
minor
.
yy223
);
yylhsminor
.
yy161
=
yymsp
[
-
2
].
minor
.
yy161
;
}
yymsp
[
-
2
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
525
,
&
yymsp
[
0
].
minor
.
yy115
);
yylhsminor
.
yy525
=
yymsp
[
-
2
].
minor
.
yy525
;
}
yymsp
[
-
2
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
156
:
/* columnlist ::= column */
{
yylhsminor
.
yy
161
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy161
,
&
yymsp
[
0
].
minor
.
yy223
);}
yymsp
[
0
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
yylhsminor
.
yy
525
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy525
,
&
yymsp
[
0
].
minor
.
yy115
);}
yymsp
[
0
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
157
:
/* column ::= ids typename */
{
tSetColumnInfo
(
&
yylhsminor
.
yy
223
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy223
);
tSetColumnInfo
(
&
yylhsminor
.
yy
115
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy115
);
}
yymsp
[
-
1
].
minor
.
yy
223
=
yylhsminor
.
yy223
;
yymsp
[
-
1
].
minor
.
yy
115
=
yylhsminor
.
yy115
;
break
;
case
164
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy
526
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
526
=
yylhsminor
.
yy526
;
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy
110
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
110
=
yylhsminor
.
yy110
;
break
;
case
165
:
/* tagitem ::= NOW */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
tVariantCreateExt
(
&
yylhsminor
.
yy
526
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
,
true
);}
yymsp
[
0
].
minor
.
yy
526
=
yylhsminor
.
yy526
;
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
tVariantCreateExt
(
&
yylhsminor
.
yy
110
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
,
true
);}
yymsp
[
0
].
minor
.
yy
110
=
yylhsminor
.
yy110
;
break
;
case
166
:
/* tagitem ::= NOW PLUS VARIABLE */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
tVariantCreateExt
(
&
yymsp
[
-
2
].
minor
.
yy
526
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_PLUS
,
true
);
tVariantCreateExt
(
&
yymsp
[
-
2
].
minor
.
yy
110
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_PLUS
,
true
);
}
break
;
case
167
:
/* tagitem ::= NOW MINUS VARIABLE */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
tVariantCreateExt
(
&
yymsp
[
-
2
].
minor
.
yy
526
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_MINUS
,
true
);
tVariantCreateExt
(
&
yymsp
[
-
2
].
minor
.
yy
110
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_MINUS
,
true
);
}
break
;
case
168
:
/* tagitem ::= MINUS INTEGER */
...
...
@@ -3200,56 +2860,56 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy
526
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tVariantCreate
(
&
yylhsminor
.
yy
110
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
yymsp
[
-
1
].
minor
.
yy
526
=
yylhsminor
.
yy526
;
yymsp
[
-
1
].
minor
.
yy
110
=
yylhsminor
.
yy110
;
break
;
case
172
:
/* select ::= SELECT selcollist from where_opt range_option interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
{
yylhsminor
.
yy
276
=
tSetQuerySqlNode
(
&
yymsp
[
-
14
].
minor
.
yy0
,
yymsp
[
-
13
].
minor
.
yy161
,
yymsp
[
-
12
].
minor
.
yy84
,
yymsp
[
-
11
].
minor
.
yy546
,
yymsp
[
-
4
].
minor
.
yy161
,
yymsp
[
-
2
].
minor
.
yy161
,
&
yymsp
[
-
9
].
minor
.
yy300
,
&
yymsp
[
-
7
].
minor
.
yy219
,
&
yymsp
[
-
6
].
minor
.
yy548
,
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy161
,
&
yymsp
[
0
].
minor
.
yy394
,
&
yymsp
[
-
1
].
minor
.
yy394
,
yymsp
[
-
3
].
minor
.
yy546
,
&
yymsp
[
-
10
].
minor
.
yy42
0
);
yylhsminor
.
yy
86
=
tSetQuerySqlNode
(
&
yymsp
[
-
14
].
minor
.
yy0
,
yymsp
[
-
13
].
minor
.
yy525
,
yymsp
[
-
12
].
minor
.
yy328
,
yymsp
[
-
11
].
minor
.
yy142
,
yymsp
[
-
4
].
minor
.
yy525
,
yymsp
[
-
2
].
minor
.
yy525
,
&
yymsp
[
-
9
].
minor
.
yy238
,
&
yymsp
[
-
7
].
minor
.
yy319
,
&
yymsp
[
-
6
].
minor
.
yy546
,
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy525
,
&
yymsp
[
0
].
minor
.
yy6
,
&
yymsp
[
-
1
].
minor
.
yy6
,
yymsp
[
-
3
].
minor
.
yy142
,
&
yymsp
[
-
10
].
minor
.
yy33
0
);
}
yymsp
[
-
14
].
minor
.
yy
276
=
yylhsminor
.
yy27
6
;
yymsp
[
-
14
].
minor
.
yy
86
=
yylhsminor
.
yy8
6
;
break
;
case
173
:
/* select ::= LP select RP */
{
yymsp
[
-
2
].
minor
.
yy
276
=
yymsp
[
-
1
].
minor
.
yy27
6
;}
{
yymsp
[
-
2
].
minor
.
yy
86
=
yymsp
[
-
1
].
minor
.
yy8
6
;}
break
;
case
174
:
/* union ::= select */
{
yylhsminor
.
yy
161
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy27
6
);
}
yymsp
[
0
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
yylhsminor
.
yy
525
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy8
6
);
}
yymsp
[
0
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
175
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy
161
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy161
,
yymsp
[
0
].
minor
.
yy27
6
);
}
yymsp
[
-
3
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
yylhsminor
.
yy
525
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy525
,
yymsp
[
0
].
minor
.
yy8
6
);
}
yymsp
[
-
3
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
176
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_SQL_SELECT
);
}
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
case
177
:
/* select ::= SELECT selcollist */
{
yylhsminor
.
yy
276
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy161
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
yylhsminor
.
yy
86
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy525
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
276
=
yylhsminor
.
yy27
6
;
yymsp
[
-
1
].
minor
.
yy
86
=
yylhsminor
.
yy8
6
;
break
;
case
178
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy
161
=
yymsp
[
-
1
].
minor
.
yy161
;}
yymsp
[
-
1
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
{
yylhsminor
.
yy
525
=
yymsp
[
-
1
].
minor
.
yy525
;}
yymsp
[
-
1
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
179
:
/* sclp ::= */
case
220
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
220
);
{
yymsp
[
1
].
minor
.
yy
161
=
0
;}
{
yymsp
[
1
].
minor
.
yy
525
=
0
;}
break
;
case
180
:
/* selcollist ::= sclp distinct expr as */
{
yylhsminor
.
yy
161
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy161
,
yymsp
[
-
1
].
minor
.
yy546
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
yylhsminor
.
yy
525
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy525
,
yymsp
[
-
1
].
minor
.
yy142
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
yymsp
[
-
3
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
3
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
181
:
/* selcollist ::= sclp STAR */
{
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
pInfo
,
NULL
,
TK_ALL
);
yylhsminor
.
yy
161
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy161
,
pNode
,
0
,
0
);
yylhsminor
.
yy
525
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy525
,
pNode
,
0
,
0
);
}
yymsp
[
-
1
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
1
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
182
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
...
...
@@ -3267,114 +2927,114 @@ static YYACTIONTYPE yy_reduce(
break
;
case
187
:
/* from ::= FROM tablelist */
case
188
:
/* from ::= FROM sub */
yytestcase
(
yyruleno
==
188
);
{
yymsp
[
-
1
].
minor
.
yy
84
=
yymsp
[
0
].
minor
.
yy84
;}
{
yymsp
[
-
1
].
minor
.
yy
328
=
yymsp
[
0
].
minor
.
yy328
;}
break
;
case
189
:
/* sub ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy
84
=
addSubqueryElem
(
NULL
,
yymsp
[
-
1
].
minor
.
yy161
,
NULL
);}
{
yymsp
[
-
2
].
minor
.
yy
328
=
addSubqueryElem
(
NULL
,
yymsp
[
-
1
].
minor
.
yy525
,
NULL
);}
break
;
case
190
:
/* sub ::= LP union RP ids */
{
yymsp
[
-
3
].
minor
.
yy
84
=
addSubqueryElem
(
NULL
,
yymsp
[
-
2
].
minor
.
yy161
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
yymsp
[
-
3
].
minor
.
yy
328
=
addSubqueryElem
(
NULL
,
yymsp
[
-
2
].
minor
.
yy525
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
191
:
/* sub ::= sub COMMA LP union RP ids */
{
yylhsminor
.
yy
84
=
addSubqueryElem
(
yymsp
[
-
5
].
minor
.
yy84
,
yymsp
[
-
2
].
minor
.
yy161
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
-
5
].
minor
.
yy
84
=
yylhsminor
.
yy84
;
{
yylhsminor
.
yy
328
=
addSubqueryElem
(
yymsp
[
-
5
].
minor
.
yy328
,
yymsp
[
-
2
].
minor
.
yy525
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
-
5
].
minor
.
yy
328
=
yylhsminor
.
yy328
;
break
;
case
192
:
/* tablelist ::= ids cpxName */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
84
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
328
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
84
=
yylhsminor
.
yy84
;
yymsp
[
-
1
].
minor
.
yy
328
=
yylhsminor
.
yy328
;
break
;
case
193
:
/* tablelist ::= ids cpxName ids */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
84
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
328
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy
84
=
yylhsminor
.
yy84
;
yymsp
[
-
2
].
minor
.
yy
328
=
yylhsminor
.
yy328
;
break
;
case
194
:
/* tablelist ::= tablelist COMMA ids cpxName */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
84
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy84
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
328
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy328
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
3
].
minor
.
yy
84
=
yylhsminor
.
yy84
;
yymsp
[
-
3
].
minor
.
yy
328
=
yylhsminor
.
yy328
;
break
;
case
195
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
84
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy84
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
328
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy328
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
4
].
minor
.
yy
84
=
yylhsminor
.
yy84
;
yymsp
[
-
4
].
minor
.
yy
328
=
yylhsminor
.
yy328
;
break
;
case
196
:
/* tmvar ::= VARIABLE */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
197
:
/* timestamp ::= INTEGER */
{
yylhsminor
.
yy
546
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
198
:
/* timestamp ::= MINUS INTEGER */
case
199
:
/* timestamp ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
199
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
546
=
tSqlExprCreateTimestamp
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
142
=
tSqlExprCreateTimestamp
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
200
:
/* timestamp ::= STRING */
{
yylhsminor
.
yy
546
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
201
:
/* timestamp ::= NOW */
{
yylhsminor
.
yy
546
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
202
:
/* timestamp ::= NOW PLUS VARIABLE */
{
yymsp
[
-
2
].
minor
.
yy
546
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_PLUS
);
}
{
yymsp
[
-
2
].
minor
.
yy
142
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_PLUS
);
}
break
;
case
203
:
/* timestamp ::= NOW MINUS VARIABLE */
{
yymsp
[
-
2
].
minor
.
yy
546
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_MINUS
);
}
{
yymsp
[
-
2
].
minor
.
yy
142
=
tSqlExprCreateTimestamp
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_MINUS
);
}
break
;
case
204
:
/* range_option ::= */
{
yymsp
[
1
].
minor
.
yy
420
.
start
=
0
;
yymsp
[
1
].
minor
.
yy42
0
.
end
=
0
;}
{
yymsp
[
1
].
minor
.
yy
330
.
start
=
0
;
yymsp
[
1
].
minor
.
yy33
0
.
end
=
0
;}
break
;
case
205
:
/* range_option ::= RANGE LP timestamp COMMA timestamp RP */
{
yymsp
[
-
5
].
minor
.
yy
420
.
start
=
yymsp
[
-
3
].
minor
.
yy546
;
yymsp
[
-
5
].
minor
.
yy420
.
end
=
yymsp
[
-
1
].
minor
.
yy546
;}
{
yymsp
[
-
5
].
minor
.
yy
330
.
start
=
yymsp
[
-
3
].
minor
.
yy142
;
yymsp
[
-
5
].
minor
.
yy330
.
end
=
yymsp
[
-
1
].
minor
.
yy142
;}
break
;
case
206
:
/* interval_option ::= intervalKey LP tmvar RP */
{
yylhsminor
.
yy
300
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy300
.
offset
.
n
=
0
;
yylhsminor
.
yy300
.
token
=
yymsp
[
-
3
].
minor
.
yy520
;}
yymsp
[
-
3
].
minor
.
yy
300
=
yylhsminor
.
yy300
;
{
yylhsminor
.
yy
238
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy238
.
offset
.
n
=
0
;
yylhsminor
.
yy238
.
token
=
yymsp
[
-
3
].
minor
.
yy508
;}
yymsp
[
-
3
].
minor
.
yy
238
=
yylhsminor
.
yy238
;
break
;
case
207
:
/* interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{
yylhsminor
.
yy
300
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yylhsminor
.
yy300
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy300
.
token
=
yymsp
[
-
5
].
minor
.
yy520
;}
yymsp
[
-
5
].
minor
.
yy
300
=
yylhsminor
.
yy300
;
{
yylhsminor
.
yy
238
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yylhsminor
.
yy238
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy238
.
token
=
yymsp
[
-
5
].
minor
.
yy508
;}
yymsp
[
-
5
].
minor
.
yy
238
=
yylhsminor
.
yy238
;
break
;
case
208
:
/* interval_option ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy
300
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy300
));}
{
memset
(
&
yymsp
[
1
].
minor
.
yy
238
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy238
));}
break
;
case
209
:
/* intervalKey ::= INTERVAL */
{
yymsp
[
0
].
minor
.
yy5
20
=
TK_INTERVAL
;}
{
yymsp
[
0
].
minor
.
yy5
08
=
TK_INTERVAL
;}
break
;
case
210
:
/* intervalKey ::= EVERY */
{
yymsp
[
0
].
minor
.
yy5
20
=
TK_EVERY
;
}
{
yymsp
[
0
].
minor
.
yy5
08
=
TK_EVERY
;
}
break
;
case
211
:
/* session_option ::= */
{
yymsp
[
1
].
minor
.
yy
219
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy2
19
.
gap
.
n
=
0
;}
{
yymsp
[
1
].
minor
.
yy
319
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy3
19
.
gap
.
n
=
0
;}
break
;
case
212
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy
2
19
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
2
19
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
3
19
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
3
19
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
213
:
/* windowstate_option ::= */
{
yymsp
[
1
].
minor
.
yy54
8
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy548
.
col
.
z
=
NULL
;}
{
yymsp
[
1
].
minor
.
yy54
6
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy546
.
col
.
z
=
NULL
;}
break
;
case
214
:
/* windowstate_option ::= STATE_WINDOW LP ids RP */
{
yymsp
[
-
3
].
minor
.
yy54
8
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
}
{
yymsp
[
-
3
].
minor
.
yy54
6
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
215
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy
161
=
0
;
}
{
yymsp
[
1
].
minor
.
yy
525
=
0
;
}
break
;
case
216
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
...
...
@@ -3382,14 +3042,14 @@ static YYACTIONTYPE yy_reduce(
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
A
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
161
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
161
=
yymsp
[
-
1
].
minor
.
yy161
;
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
525
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
525
=
yymsp
[
-
1
].
minor
.
yy525
;
}
break
;
case
217
:
/* fill_opt ::= FILL LP ID RP */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy
161
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
,
true
);
yymsp
[
-
3
].
minor
.
yy
525
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
,
true
);
}
break
;
case
218
:
/* sliding_opt ::= SLIDING LP tmvar RP */
...
...
@@ -3399,313 +3059,317 @@ static YYACTIONTYPE yy_reduce(
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
break
;
case
221
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy
161
=
yymsp
[
0
].
minor
.
yy161
;}
{
yymsp
[
-
2
].
minor
.
yy
525
=
yymsp
[
0
].
minor
.
yy525
;}
break
;
case
222
:
/* sortlist ::= sortlist COMMA item sortorder */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
yymsp
[
-
3
].
minor
.
yy161
,
&
yymsp
[
-
1
].
minor
.
yy526
,
NULL
,
false
,
yymsp
[
0
].
minor
.
yy452
);
yylhsminor
.
yy
525
=
commonItemAppend
(
yymsp
[
-
3
].
minor
.
yy525
,
&
yymsp
[
-
1
].
minor
.
yy110
,
NULL
,
false
,
yymsp
[
0
].
minor
.
yy580
);
}
yymsp
[
-
3
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
3
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
223
:
/* sortlist ::= sortlist COMMA arrow sortorder */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
yymsp
[
-
3
].
minor
.
yy161
,
NULL
,
yymsp
[
-
1
].
minor
.
yy546
,
true
,
yymsp
[
0
].
minor
.
yy452
);
yylhsminor
.
yy
525
=
commonItemAppend
(
yymsp
[
-
3
].
minor
.
yy525
,
NULL
,
yymsp
[
-
1
].
minor
.
yy142
,
true
,
yymsp
[
0
].
minor
.
yy580
);
}
yymsp
[
-
3
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
3
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
224
:
/* sortlist ::= item sortorder */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy526
,
NULL
,
false
,
yymsp
[
0
].
minor
.
yy452
);
yylhsminor
.
yy
525
=
commonItemAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy110
,
NULL
,
false
,
yymsp
[
0
].
minor
.
yy580
);
}
yymsp
[
-
1
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
1
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
225
:
/* sortlist ::= arrow sortorder */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
NULL
,
NULL
,
yymsp
[
-
1
].
minor
.
yy546
,
true
,
yymsp
[
0
].
minor
.
yy452
);
yylhsminor
.
yy
525
=
commonItemAppend
(
NULL
,
NULL
,
yymsp
[
-
1
].
minor
.
yy142
,
true
,
yymsp
[
0
].
minor
.
yy580
);
}
yymsp
[
-
1
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
1
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
226
:
/* item ::= ID */
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy
526
,
&
yymsp
[
0
].
minor
.
yy0
);
tVariantCreate
(
&
yylhsminor
.
yy
110
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
526
=
yylhsminor
.
yy526
;
yymsp
[
0
].
minor
.
yy
110
=
yylhsminor
.
yy110
;
break
;
case
227
:
/* item ::= ID DOT ID */
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
tVariantCreate
(
&
yylhsminor
.
yy
526
,
&
yymsp
[
-
2
].
minor
.
yy0
);
tVariantCreate
(
&
yylhsminor
.
yy
110
,
&
yymsp
[
-
2
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy
526
=
yylhsminor
.
yy526
;
yymsp
[
-
2
].
minor
.
yy
110
=
yylhsminor
.
yy110
;
break
;
case
228
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy
452
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
0
].
minor
.
yy
580
=
TSDB_ORDER_ASC
;
}
break
;
case
229
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy
452
=
TSDB_ORDER_DESC
;}
{
yymsp
[
0
].
minor
.
yy
580
=
TSDB_ORDER_DESC
;}
break
;
case
230
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy
452
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
1
].
minor
.
yy
580
=
TSDB_ORDER_ASC
;
}
break
;
case
231
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy
161
=
0
;}
{
yymsp
[
1
].
minor
.
yy
525
=
0
;}
break
;
case
232
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy
161
=
yymsp
[
0
].
minor
.
yy161
;}
{
yymsp
[
-
2
].
minor
.
yy
525
=
yymsp
[
0
].
minor
.
yy525
;}
break
;
case
233
:
/* grouplist ::= grouplist COMMA item */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
yymsp
[
-
2
].
minor
.
yy161
,
&
yymsp
[
0
].
minor
.
yy526
,
NULL
,
false
,
-
1
);
yylhsminor
.
yy
525
=
commonItemAppend
(
yymsp
[
-
2
].
minor
.
yy525
,
&
yymsp
[
0
].
minor
.
yy110
,
NULL
,
false
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
2
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
234
:
/* grouplist ::= grouplist COMMA arrow */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
yymsp
[
-
2
].
minor
.
yy161
,
NULL
,
yymsp
[
0
].
minor
.
yy546
,
true
,
-
1
);
yylhsminor
.
yy
525
=
commonItemAppend
(
yymsp
[
-
2
].
minor
.
yy525
,
NULL
,
yymsp
[
0
].
minor
.
yy142
,
true
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
-
2
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
235
:
/* grouplist ::= item */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy526
,
NULL
,
false
,
-
1
);
yylhsminor
.
yy
525
=
commonItemAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy110
,
NULL
,
false
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
0
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
236
:
/* grouplist ::= arrow */
{
yylhsminor
.
yy
161
=
commonItemAppend
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy546
,
true
,
-
1
);
yylhsminor
.
yy
525
=
commonItemAppend
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy142
,
true
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
yymsp
[
0
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
237
:
/* having_opt ::= */
case
247
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
247
);
case
29
8
:
/* expritem ::= */
yytestcase
(
yyruleno
==
298
);
{
yymsp
[
1
].
minor
.
yy
546
=
0
;}
case
29
9
:
/* expritem ::= */
yytestcase
(
yyruleno
==
299
);
{
yymsp
[
1
].
minor
.
yy
142
=
0
;}
break
;
case
238
:
/* having_opt ::= HAVING expr */
case
248
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
248
);
{
yymsp
[
-
1
].
minor
.
yy
546
=
yymsp
[
0
].
minor
.
yy546
;}
{
yymsp
[
-
1
].
minor
.
yy
142
=
yymsp
[
0
].
minor
.
yy142
;}
break
;
case
239
:
/* limit_opt ::= */
case
243
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
243
);
{
yymsp
[
1
].
minor
.
yy
394
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy394
.
offset
=
0
;}
{
yymsp
[
1
].
minor
.
yy
6
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy6
.
offset
=
0
;}
break
;
case
240
:
/* limit_opt ::= LIMIT signed */
case
244
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
244
);
{
yymsp
[
-
1
].
minor
.
yy
394
.
limit
=
yymsp
[
0
].
minor
.
yy369
;
yymsp
[
-
1
].
minor
.
yy394
.
offset
=
0
;}
{
yymsp
[
-
1
].
minor
.
yy
6
.
limit
=
yymsp
[
0
].
minor
.
yy543
;
yymsp
[
-
1
].
minor
.
yy6
.
offset
=
0
;}
break
;
case
241
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
394
.
limit
=
yymsp
[
-
2
].
minor
.
yy369
;
yymsp
[
-
3
].
minor
.
yy394
.
offset
=
yymsp
[
0
].
minor
.
yy369
;}
{
yymsp
[
-
3
].
minor
.
yy
6
.
limit
=
yymsp
[
-
2
].
minor
.
yy543
;
yymsp
[
-
3
].
minor
.
yy6
.
offset
=
yymsp
[
0
].
minor
.
yy543
;}
break
;
case
242
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
394
.
limit
=
yymsp
[
0
].
minor
.
yy369
;
yymsp
[
-
3
].
minor
.
yy394
.
offset
=
yymsp
[
-
2
].
minor
.
yy369
;}
{
yymsp
[
-
3
].
minor
.
yy
6
.
limit
=
yymsp
[
0
].
minor
.
yy543
;
yymsp
[
-
3
].
minor
.
yy6
.
offset
=
yymsp
[
-
2
].
minor
.
yy543
;}
break
;
case
245
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
394
.
limit
=
yymsp
[
-
2
].
minor
.
yy369
;
yymsp
[
-
3
].
minor
.
yy394
.
offset
=
yymsp
[
0
].
minor
.
yy369
;}
{
yymsp
[
-
3
].
minor
.
yy
6
.
limit
=
yymsp
[
-
2
].
minor
.
yy543
;
yymsp
[
-
3
].
minor
.
yy6
.
offset
=
yymsp
[
0
].
minor
.
yy543
;}
break
;
case
246
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
394
.
limit
=
yymsp
[
0
].
minor
.
yy369
;
yymsp
[
-
3
].
minor
.
yy394
.
offset
=
yymsp
[
-
2
].
minor
.
yy369
;}
{
yymsp
[
-
3
].
minor
.
yy
6
.
limit
=
yymsp
[
0
].
minor
.
yy543
;
yymsp
[
-
3
].
minor
.
yy6
.
offset
=
yymsp
[
-
2
].
minor
.
yy543
;}
break
;
case
249
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy
546
=
yymsp
[
-
1
].
minor
.
yy546
;
yylhsminor
.
yy546
->
exprToken
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy546
->
exprToken
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
yymsp
[
-
1
].
minor
.
yy142
;
yylhsminor
.
yy142
->
exprToken
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy142
->
exprToken
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
250
:
/* expr ::= ID */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
251
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
252
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
253
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
254
:
/* expr ::= MINUS INTEGER */
case
255
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
255
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
256
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
257
:
/* expr ::= MINUS FLOAT */
case
258
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
258
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
259
:
/* expr ::= STRING */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
260
:
/* expr ::= NOW */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
261
:
/* expr ::= TODAY */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_TODAY
);
}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_TODAY
);
}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
262
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
263
:
/* expr ::= PLUS VARIABLE */
case
264
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
264
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
-
1
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
-
1
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
265
:
/* expr ::= BOOL */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
266
:
/* expr ::= NULL */
{
yylhsminor
.
yy
546
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
267
:
/* expr ::= ID LP exprlist RP */
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
546
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy161
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
142
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy525
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
268
:
/* expr ::= ID LP STAR RP */
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
546
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
142
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
269
:
/* expr ::= ID LP expr AS typename RP */
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
5
].
minor
.
yy0
);
yylhsminor
.
yy
546
=
tSqlExprCreateFuncWithParams
(
pInfo
,
yymsp
[
-
3
].
minor
.
yy546
,
&
yymsp
[
-
1
].
minor
.
yy223
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy0
.
type
);
}
yymsp
[
-
5
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
5
].
minor
.
yy0
);
yylhsminor
.
yy
142
=
tSqlExprCreateFuncWithParams
(
pInfo
,
yymsp
[
-
3
].
minor
.
yy142
,
&
yymsp
[
-
1
].
minor
.
yy115
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy0
.
type
);
}
yymsp
[
-
5
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
270
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
271
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy546
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy142
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
272
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
273
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
274
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
275
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
276
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
277
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
278
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
546
);
yylhsminor
.
yy546
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy546
,
yymsp
[
-
2
].
minor
.
yy546
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy546
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
142
);
yylhsminor
.
yy142
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy142
,
yymsp
[
-
2
].
minor
.
yy142
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy142
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
279
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
280
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
281
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
282
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
283
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
284
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
285
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy546
=
yylhsminor
.
yy546
;
{
yylhsminor
.
yy142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy142
=
yylhsminor
.
yy142
;
break
;
case
286
:
/* expr ::= expr BITAND expr */
{
yylhsminor
.
yy142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_BITAND
);}
yymsp
[
-
2
].
minor
.
yy142
=
yylhsminor
.
yy142
;
break
;
case
28
6
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
28
7
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
28
7
:
/* expr ::= expr MATCH expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_MATCH
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
28
8
:
/* expr ::= expr MATCH expr */
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_MATCH
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
28
8
:
/* expr ::= expr NMATCH expr */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy546
,
yymsp
[
0
].
minor
.
yy546
,
TK_NMATCH
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
28
9
:
/* expr ::= expr NMATCH expr */
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy142
,
yymsp
[
0
].
minor
.
yy142
,
TK_NMATCH
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
2
89
:
/* expr ::= ID CONTAINS STRING */
{
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
546
=
tSqlExprCreate
(
S
,
M
,
TK_CONTAINS
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
2
90
:
/* expr ::= ID CONTAINS STRING */
{
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
142
=
tSqlExprCreate
(
S
,
M
,
TK_CONTAINS
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
29
0
:
/* expr ::= ID DOT ID CONTAINS STRING */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
-
2
].
minor
.
yy0
.
n
);
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
546
=
tSqlExprCreate
(
S
,
M
,
TK_CONTAINS
);
}
yymsp
[
-
4
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
29
1
:
/* expr ::= ID DOT ID CONTAINS STRING */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
-
2
].
minor
.
yy0
.
n
);
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
142
=
tSqlExprCreate
(
S
,
M
,
TK_CONTAINS
);
}
yymsp
[
-
4
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
29
1
:
/* arrow ::= ID ARROW STRING */
{
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
546
=
tSqlExprCreate
(
S
,
M
,
TK_ARROW
);
}
yymsp
[
-
2
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
29
2
:
/* arrow ::= ID ARROW STRING */
{
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
142
=
tSqlExprCreate
(
S
,
M
,
TK_ARROW
);
}
yymsp
[
-
2
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
29
2
:
/* arrow ::= ID DOT ID ARROW STRING */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
-
2
].
minor
.
yy0
.
n
);
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
546
=
tSqlExprCreate
(
S
,
M
,
TK_ARROW
);
}
yymsp
[
-
4
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
29
3
:
/* arrow ::= ID DOT ID ARROW STRING */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
-
2
].
minor
.
yy0
.
n
);
tSqlExpr
*
S
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
TK_ID
);
tSqlExpr
*
M
=
tSqlExprCreateIdValue
(
pInfo
,
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);
yylhsminor
.
yy
142
=
tSqlExprCreate
(
S
,
M
,
TK_ARROW
);
}
yymsp
[
-
4
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
29
3
:
/* expr ::= arrow */
case
29
7
:
/* expritem ::= expr */
yytestcase
(
yyruleno
==
297
);
{
yylhsminor
.
yy
546
=
yymsp
[
0
].
minor
.
yy546
;}
yymsp
[
0
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
29
4
:
/* expr ::= arrow */
case
29
8
:
/* expritem ::= expr */
yytestcase
(
yyruleno
==
298
);
{
yylhsminor
.
yy
142
=
yymsp
[
0
].
minor
.
yy142
;}
yymsp
[
0
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
29
4
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
546
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy546
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy161
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
546
=
yylhsminor
.
yy546
;
case
29
5
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
142
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy142
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy525
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
142
=
yylhsminor
.
yy142
;
break
;
case
29
5
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
161
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy161
,
yymsp
[
0
].
minor
.
yy546
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
case
29
6
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
525
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy525
,
yymsp
[
0
].
minor
.
yy142
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
29
6
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
161
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy546
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy
161
=
yylhsminor
.
yy161
;
case
29
7
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
525
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy142
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy
525
=
yylhsminor
.
yy525
;
break
;
case
299
:
/* cmd ::= RESET QUERY CACHE */
case
300
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
break
;
case
30
0
:
/* cmd ::= SYNCDB ids REPLICA */
case
30
1
:
/* cmd ::= SYNCDB ids REPLICA */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
break
;
case
30
1
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
30
2
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
30
2
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
30
3
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3716,21 +3380,21 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
30
3
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
case
30
4
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
30
4
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
30
5
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
30
5
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
30
6
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3741,7 +3405,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
30
6
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
30
7
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3755,33 +3419,33 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
30
7
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
case
30
8
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
,
false
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy
526
,
-
1
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy
110
,
-
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
);
}
break
;
case
30
8
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
case
30
9
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
3
09
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
case
3
10
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
0
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
case
31
1
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3792,21 +3456,21 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
1
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
case
31
2
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
2
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
case
31
3
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
3
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
case
31
4
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3817,7 +3481,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
4
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
case
31
5
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3831,41 +3495,41 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
5
:
/* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
case
31
6
:
/* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
SArray
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
,
false
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy
526
,
-
1
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy
110
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
6
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
case
31
7
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
161
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
525
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
31
7
:
/* cmd ::= KILL CONNECTION INTEGER */
case
31
8
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
31
8
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
case
31
9
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_STREAM
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
3
19
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
case
3
20
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_QUERY
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
default:
break
;
/********** End reduce actions ************************************************/
};
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
Lhs
)
/
sizeof
(
yyRuleInfoLhs
[
0
])
);
yygoto
=
yyRuleInfo
Lhs
[
yyruleno
]
;
yysize
=
yyRuleInfo
NRhs
[
yyruleno
]
;
assert
(
yyruleno
<
sizeof
(
yyRuleInfo
)
/
sizeof
(
yyRuleInfo
[
0
])
);
yygoto
=
yyRuleInfo
[
yyruleno
].
lhs
;
yysize
=
yyRuleInfo
[
yyruleno
].
nrhs
;
yyact
=
yy_find_reduce_action
(
yymsp
[
yysize
].
stateno
,(
YYCODETYPE
)
yygoto
);
/* There are no SHIFTREDUCE actions on nonterminals because the table
...
...
@@ -3880,7 +3544,6 @@ static YYACTIONTYPE yy_reduce(
yymsp
->
stateno
=
(
YYACTIONTYPE
)
yyact
;
yymsp
->
major
=
(
YYCODETYPE
)
yygoto
;
yyTraceShift
(
yypParser
,
yyact
,
"... then shift"
);
return
yyact
;
}
/*
...
...
@@ -3890,8 +3553,7 @@ static YYACTIONTYPE yy_reduce(
static
void
yy_parse_failed
(
yyParser
*
yypParser
/* The parser */
){
ParseARG_FETCH
ParseCTX_FETCH
ParseARG_FETCH
;
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sFail!
\n
"
,
yyTracePrompt
);
...
...
@@ -3902,8 +3564,7 @@ static void yy_parse_failed(
** parser fails */
/************ Begin %parse_failure code ***************************************/
/************ End %parse_failure code *****************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
}
#endif
/* YYNOERRORRECOVERY */
...
...
@@ -3915,8 +3576,7 @@ static void yy_syntax_error(
int
yymajor
,
/* The major type of the error token */
ParseTOKENTYPE
yyminor
/* The minor type of the error token */
){
ParseARG_FETCH
ParseCTX_FETCH
ParseARG_FETCH
;
#define TOKEN yyminor
/************ Begin %syntax_error code ****************************************/
...
...
@@ -3942,8 +3602,7 @@ static void yy_syntax_error(
assert
(
len
<=
outputBufLen
);
/************ End %syntax_error code ******************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
}
/*
...
...
@@ -3952,8 +3611,7 @@ static void yy_syntax_error(
static
void
yy_accept
(
yyParser
*
yypParser
/* The parser */
){
ParseARG_FETCH
ParseCTX_FETCH
ParseARG_FETCH
;
#ifndef NDEBUG
if
(
yyTraceFILE
){
fprintf
(
yyTraceFILE
,
"%sAccept!
\n
"
,
yyTracePrompt
);
...
...
@@ -3968,8 +3626,7 @@ static void yy_accept(
/*********** Begin %parse_accept code *****************************************/
/*********** End %parse_accept code *******************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
ParseARG_STORE
;
/* Suppress warning about unused %extra_argument variable */
}
/* The main parser program.
...
...
@@ -3998,47 +3655,45 @@ void Parse(
ParseARG_PDECL
/* Optional %extra_argument parameter */
){
YYMINORTYPE
yyminorunion
;
YYACTIONTYPE
yyact
;
/* The parser action. */
unsigned
int
yyact
;
/* The parser action. */
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
int
yyendofinput
;
/* True if we are at the end of input */
#endif
#ifdef YYERRORSYMBOL
int
yyerrorhit
=
0
;
/* True if yymajor has invoked an error */
#endif
yyParser
*
yypParser
=
(
yyParser
*
)
yyp
;
/* The parser */
ParseCTX_FETCH
ParseARG_STORE
yyParser
*
yypParser
;
/* The parser */
yypParser
=
(
yyParser
*
)
yyp
;
assert
(
yypParser
->
yytos
!=
0
);
#if !defined(YYERRORSYMBOL) && !defined(YYNOERRORRECOVERY)
yyendofinput
=
(
yymajor
==
0
);
#endif
ParseARG_STORE
;
yyact
=
yypParser
->
yytos
->
stateno
;
#ifndef NDEBUG
if
(
yyTraceFILE
){
if
(
yyact
<
YY_MIN_REDUCE
){
int
stateno
=
yypParser
->
yytos
->
stateno
;
if
(
stateno
<
YY_MIN_REDUCE
){
fprintf
(
yyTraceFILE
,
"%sInput '%s' in state %d
\n
"
,
yyTracePrompt
,
yyTokenName
[
yymajor
],
yyact
);
yyTracePrompt
,
yyTokenName
[
yymajor
],
stateno
);
}
else
{
fprintf
(
yyTraceFILE
,
"%sInput '%s' with pending reduce %d
\n
"
,
yyTracePrompt
,
yyTokenName
[
yymajor
],
yyact
-
YY_MIN_REDUCE
);
yyTracePrompt
,
yyTokenName
[
yymajor
],
stateno
-
YY_MIN_REDUCE
);
}
}
#endif
do
{
assert
(
yyact
==
yypParser
->
yytos
->
stateno
);
yyact
=
yy_find_shift_action
((
YYCODETYPE
)
yymajor
,
yyact
);
yyact
=
yy_find_shift_action
(
yypParser
,(
YYCODETYPE
)
yymajor
);
if
(
yyact
>=
YY_MIN_REDUCE
){
yyact
=
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
ParseCTX_PARAM
);
yy_reduce
(
yypParser
,
yyact
-
YY_MIN_REDUCE
,
yymajor
,
yyminor
);
}
else
if
(
yyact
<=
YY_MAX_SHIFTREDUCE
){
yy_shift
(
yypParser
,
yyact
,
(
YYCODETYPE
)
yymajor
,
yyminor
);
yy_shift
(
yypParser
,
yyact
,
yymajor
,
yyminor
);
#ifndef YYNOERRORRECOVERY
yypParser
->
yyerrcnt
--
;
#endif
break
;
yymajor
=
YYNOCODE
;
}
else
if
(
yyact
==
YY_ACCEPT_ACTION
){
yypParser
->
yytos
--
;
yy_accept
(
yypParser
);
...
...
@@ -4089,9 +3744,10 @@ void Parse(
yymajor
=
YYNOCODE
;
}
else
{
while
(
yypParser
->
yytos
>=
yypParser
->
yystack
&&
yymx
!=
YYERRORSYMBOL
&&
(
yyact
=
yy_find_reduce_action
(
yypParser
->
yytos
->
stateno
,
YYERRORSYMBOL
))
>
YY_MAX_SHIFT
REDUCE
YYERRORSYMBOL
))
>
=
YY_MIN_
REDUCE
){
yy_pop_parser_stack
(
yypParser
);
}
...
...
@@ -4108,8 +3764,6 @@ void Parse(
}
yypParser
->
yyerrcnt
=
3
;
yyerrorhit
=
1
;
if
(
yymajor
==
YYNOCODE
)
break
;
yyact
=
yypParser
->
yytos
->
stateno
;
#elif defined(YYNOERRORRECOVERY)
/* If the YYNOERRORRECOVERY macro is defined, then do not attempt to
** do any kind of error recovery. Instead, simply invoke the syntax
...
...
@@ -4120,7 +3774,8 @@ void Parse(
*/
yy_syntax_error
(
yypParser
,
yymajor
,
yyminor
);
yy_destructor
(
yypParser
,(
YYCODETYPE
)
yymajor
,
&
yyminorunion
);
break
;
yymajor
=
YYNOCODE
;
#else
/* YYERRORSYMBOL is not defined */
/* This is what we do if the grammar does not define ERROR:
**
...
...
@@ -4142,10 +3797,10 @@ void Parse(
yypParser
->
yyerrcnt
=
-
1
;
#endif
}
break
;
yymajor
=
YYNOCODE
;
#endif
}
}
while
(
yypParser
->
yytos
>
yypParser
->
yystack
);
}
while
(
yy
major
!=
YYNOCODE
&&
yy
pParser
->
yytos
>
yypParser
->
yystack
);
#ifndef NDEBUG
if
(
yyTraceFILE
){
yyStackEntry
*
i
;
...
...
@@ -4160,17 +3815,3 @@ void Parse(
#endif
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.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录