Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
e2ec3fd3
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1193
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
e2ec3fd3
编写于
4月 26, 2021
作者:
D
dapan1121
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
support udf interval
上级
baba270e
变更
28
显示空白变更内容
内联
并排
Showing
28 changed file
with
1939 addition
and
1812 deletion
+1939
-1812
src/client/src/tscLocalMerge.c
src/client/src/tscLocalMerge.c
+7
-4
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+22
-8
src/client/src/tscServer.c
src/client/src/tscServer.c
+4
-0
src/client/src/tscSubquery.c
src/client/src/tscSubquery.c
+1
-1
src/inc/taosdef.h
src/inc/taosdef.h
+1
-0
src/inc/taoserror.h
src/inc/taoserror.h
+1
-0
src/inc/taosmsg.h
src/inc/taosmsg.h
+2
-0
src/inc/ttokendef.h
src/inc/ttokendef.h
+107
-105
src/mnode/inc/mnodeDef.h
src/mnode/inc/mnodeDef.h
+1
-0
src/mnode/inc/mnodeFunc.h
src/mnode/inc/mnodeFunc.h
+1
-1
src/mnode/src/mnodeFunc.c
src/mnode/src/mnodeFunc.c
+21
-4
src/query/inc/qAggMain.h
src/query/inc/qAggMain.h
+2
-1
src/query/inc/qExecutor.h
src/query/inc/qExecutor.h
+1
-1
src/query/inc/qSqlparser.h
src/query/inc/qSqlparser.h
+1
-0
src/query/inc/qUdf.h
src/query/inc/qUdf.h
+4
-3
src/query/inc/sql.y
src/query/inc/sql.y
+5
-2
src/query/src/qAggMain.c
src/query/src/qAggMain.c
+31
-6
src/query/src/qExecutor.c
src/query/src/qExecutor.c
+22
-16
src/query/src/qSqlParser.c
src/query/src/qSqlParser.c
+6
-1
src/query/src/qTokenizer.c
src/query/src/qTokenizer.c
+2
-1
src/query/src/queryMain.c
src/query/src/queryMain.c
+1
-1
src/query/src/sql.c
src/query/src/sql.c
+1656
-1643
src/util/src/terror.c
src/util/src/terror.c
+1
-0
tests/script/general/parser/testSuite.sim
tests/script/general/parser/testSuite.sim
+3
-0
tests/script/sh/add_one.c
tests/script/sh/add_one.c
+1
-1
tests/script/sh/demo.c
tests/script/sh/demo.c
+32
-11
tests/script/sh/prepare_udf.sh
tests/script/sh/prepare_udf.sh
+1
-0
tests/script/sh/sum_double.c
tests/script/sh/sum_double.c
+2
-2
未找到文件。
src/client/src/tscLocalMerge.c
浏览文件 @
e2ec3fd3
...
...
@@ -756,8 +756,9 @@ int32_t tscLocalReducerEnvCreate(SSqlObj *pSql, tExtMemBuffer ***pMemBuffer, tOr
bytes
=
pModel
->
pFields
[
i
].
field
.
bytes
;
}
else
if
(
functionId
<
0
)
{
SUdfInfo
*
pUdfInfo
=
taosArrayGet
(
pCmd
->
pUdfInfo
,
-
1
*
functionId
-
1
);
type
=
pUdfInfo
->
resType
;
bytes
=
pUdfInfo
->
resBytes
;
int32_t
ret
=
getResultDataInfo
(
p1
.
type
,
p1
.
bytes
,
functionId
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
false
,
pUdfInfo
);
assert
(
ret
==
TSDB_CODE_SUCCESS
);
}
else
{
if
(
functionId
==
TSDB_FUNC_FIRST_DST
)
{
functionId
=
TSDB_FUNC_FIRST
;
...
...
@@ -767,7 +768,7 @@ int32_t tscLocalReducerEnvCreate(SSqlObj *pSql, tExtMemBuffer ***pMemBuffer, tOr
functionId
=
TSDB_FUNC_STDDEV
;
}
int32_t
ret
=
getResultDataInfo
(
p1
.
type
,
p1
.
bytes
,
functionId
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
false
);
int32_t
ret
=
getResultDataInfo
(
p1
.
type
,
p1
.
bytes
,
functionId
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
false
,
NULL
);
assert
(
ret
==
TSDB_CODE_SUCCESS
);
}
...
...
@@ -1204,12 +1205,14 @@ int32_t finalizeRes(SSqlCmd *pCmd, SQueryInfo *pQueryInfo, SLocalMerger *pLocalM
if
(
pCtx
->
functionId
<
0
)
{
int32_t
output
=
0
;
SResultRowCellInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
void
*
interBuf
=
(
void
*
)
GET_ROWCELL_INTERBUF
(
pResInfo
);
SUdfInfo
*
pUdfInfo
=
taosArrayGet
(
pCmd
->
pUdfInfo
,
-
1
*
pCtx
->
functionId
-
1
);
assert
(
pUdfInfo
->
funcType
==
TSDB_UDF_TYPE_AGGREGATE
);
if
(
pUdfInfo
&&
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])
{
(
*
(
udfFinalizeFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
->
pOutput
,
&
output
,
&
pUdfInfo
->
init
);
(
*
(
udfFinalizeFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
->
pOutput
,
interBuf
,
&
output
,
&
pUdfInfo
->
init
);
// set the output value exist
pCtx
->
resultInfo
->
numOfRes
=
output
;
...
...
src/client/src/tscSQLParser.c
浏览文件 @
e2ec3fd3
...
...
@@ -341,6 +341,7 @@ int32_t handleUserDefinedFunc(SSqlObj* pSql, struct SSqlInfo* pInfo) {
strcpy
(
pMsg
->
path
,
createInfo
->
path
.
z
);
pMsg
->
funcType
=
htonl
(
createInfo
->
type
);
pMsg
->
bufSize
=
htonl
(
createInfo
->
bufSize
);
pMsg
->
outputType
=
createInfo
->
output
.
type
;
pMsg
->
outputLen
=
htons
(
createInfo
->
output
.
bytes
);
...
...
@@ -2312,7 +2313,7 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
int32_t
intermediateResSize
=
0
;
if
(
getResultDataInfo
(
pSchema
->
type
,
pSchema
->
bytes
,
functionId
,
0
,
&
resultType
,
&
resultSize
,
&
intermediateResSize
,
0
,
false
)
!=
TSDB_CODE_SUCCESS
)
{
&
intermediateResSize
,
0
,
false
,
NULL
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_TSC_INVALID_SQL
;
}
...
...
@@ -2650,7 +2651,7 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
int16_t
type
=
0
;
int32_t
inter
=
0
;
int32_t
ret
=
getResultDataInfo
(
s
.
type
,
s
.
bytes
,
TSDB_FUNC_TID_TAG
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
0
);
int32_t
ret
=
getResultDataInfo
(
s
.
type
,
s
.
bytes
,
TSDB_FUNC_TID_TAG
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
0
,
NULL
);
assert
(
ret
==
TSDB_CODE_SUCCESS
);
s
.
type
=
(
uint8_t
)
type
;
...
...
@@ -2674,7 +2675,7 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
int32_t
inter
=
0
;
int16_t
resType
=
0
;
int16_t
bytes
=
0
;
getResultDataInfo
(
TSDB_DATA_TYPE_INT
,
4
,
TSDB_FUNC_BLKINFO
,
0
,
&
resType
,
&
bytes
,
&
inter
,
0
,
0
);
getResultDataInfo
(
TSDB_DATA_TYPE_INT
,
4
,
TSDB_FUNC_BLKINFO
,
0
,
&
resType
,
&
bytes
,
&
inter
,
0
,
0
,
NULL
);
s
.
bytes
=
bytes
;
s
.
type
=
(
uint8_t
)
resType
;
...
...
@@ -2713,8 +2714,13 @@ int32_t addExprAndResultField(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, int32_t col
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg6
);
}
SSqlExpr
*
pExpr
=
tscSqlExprAppend
(
pQueryInfo
,
functionId
,
&
index
,
pUdfInfo
->
resType
,
pUdfInfo
->
resBytes
,
getNewResColId
(
pQueryInfo
),
pUdfInfo
->
resBytes
,
false
);
int32_t
inter
=
0
;
int16_t
resType
=
0
;
int16_t
bytes
=
0
;
getResultDataInfo
(
TSDB_DATA_TYPE_INT
,
4
,
functionId
,
0
,
&
resType
,
&
bytes
,
&
inter
,
0
,
false
,
pUdfInfo
);
SSqlExpr
*
pExpr
=
tscSqlExprAppend
(
pQueryInfo
,
functionId
,
&
index
,
resType
,
bytes
,
getNewResColId
(
pQueryInfo
),
inter
,
false
);
memset
(
pExpr
->
aliasName
,
0
,
tListLen
(
pExpr
->
aliasName
));
getColumnName
(
pItem
,
pExpr
->
aliasName
,
sizeof
(
pExpr
->
aliasName
)
-
1
);
...
...
@@ -3047,7 +3053,7 @@ int32_t tscTansformFuncForSTableQuery(SQueryInfo* pQueryInfo) {
(
functionId
>=
TSDB_FUNC_FIRST_DST
&&
functionId
<=
TSDB_FUNC_STDDEV_DST
)
||
(
functionId
>=
TSDB_FUNC_RATE
&&
functionId
<=
TSDB_FUNC_AVG_IRATE
))
{
if
(
getResultDataInfo
(
pSrcSchema
->
type
,
pSrcSchema
->
bytes
,
functionId
,
(
int32_t
)
pExpr
->
param
[
0
].
i64
,
&
type
,
&
bytes
,
&
interBytes
,
0
,
true
)
!=
TSDB_CODE_SUCCESS
)
{
&
interBytes
,
0
,
true
,
NULL
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_TSC_INVALID_SQL
;
}
...
...
@@ -3078,6 +3084,10 @@ void tscRestoreFuncForSTableQuery(SQueryInfo* pQueryInfo) {
int32_t
inter
=
0
;
int32_t
functionId
=
pExpr
->
functionId
;
if
(
functionId
<
0
)
{
continue
;
}
if
(
functionId
>=
TSDB_FUNC_TS
&&
functionId
<=
TSDB_FUNC_DIFF
)
{
continue
;
}
...
...
@@ -3091,7 +3101,7 @@ void tscRestoreFuncForSTableQuery(SQueryInfo* pQueryInfo) {
}
getResultDataInfo
(
pSchema
->
type
,
pSchema
->
bytes
,
functionId
,
0
,
&
pExpr
->
resType
,
&
pExpr
->
resBytes
,
&
inter
,
0
,
false
);
&
inter
,
0
,
false
,
NULL
);
}
}
...
...
@@ -6071,11 +6081,15 @@ static void doUpdateSqlFunctionForTagPrj(SQueryInfo* pQueryInfo) {
for
(
int32_t
i
=
0
;
i
<
size
;
++
i
)
{
SSqlExpr
*
pExpr
=
tscSqlExprGet
(
pQueryInfo
,
i
);
if
(
pExpr
->
functionId
<
0
)
{
continue
;
}
if
((
pExpr
->
functionId
!=
TSDB_FUNC_TAG_DUMMY
&&
pExpr
->
functionId
!=
TSDB_FUNC_TS_DUMMY
)
&&
!
(
pExpr
->
functionId
==
TSDB_FUNC_PRJ
&&
TSDB_COL_IS_UD_COL
(
pExpr
->
colInfo
.
flag
)))
{
SSchema
*
pColSchema
=
&
pSchema
[
pExpr
->
colInfo
.
colIndex
];
getResultDataInfo
(
pColSchema
->
type
,
pColSchema
->
bytes
,
pExpr
->
functionId
,
(
int32_t
)
pExpr
->
param
[
0
].
i64
,
&
pExpr
->
resType
,
&
pExpr
->
resBytes
,
&
pExpr
->
interBytes
,
tagLength
,
isSTable
);
&
pExpr
->
resBytes
,
&
pExpr
->
interBytes
,
tagLength
,
isSTable
,
NULL
);
}
}
}
...
...
src/client/src/tscServer.c
浏览文件 @
e2ec3fd3
...
...
@@ -1159,6 +1159,9 @@ int tscBuildQueryMsg(SSqlObj *pSql, SSqlInfo *pInfo) {
*
(
int32_t
*
)
pMsg
=
htonl
(
pUdfInfo
->
funcType
);
pMsg
+=
sizeof
(
pUdfInfo
->
funcType
);
*
(
int32_t
*
)
pMsg
=
htonl
(
pUdfInfo
->
bufSize
);
pMsg
+=
sizeof
(
pUdfInfo
->
bufSize
);
pQueryMsg
->
udfContentLen
=
htonl
(
pUdfInfo
->
contLen
);
memcpy
(
pMsg
,
pUdfInfo
->
content
,
pUdfInfo
->
contLen
);
...
...
@@ -2239,6 +2242,7 @@ int tscProcessRetrieveFuncRsp(SSqlObj* pSql) {
pUdfInfo
->
resType
=
pFunc
->
resType
;
pUdfInfo
->
funcType
=
htonl
(
pFunc
->
funcType
);
pUdfInfo
->
contLen
=
htonl
(
pFunc
->
len
);
pUdfInfo
->
bufSize
=
htonl
(
pFunc
->
bufSize
);
pUdfInfo
->
content
=
malloc
(
pUdfInfo
->
contLen
);
memcpy
(
pUdfInfo
->
content
,
pFunc
->
content
,
pUdfInfo
->
contLen
);
...
...
src/client/src/tscSubquery.c
浏览文件 @
e2ec3fd3
...
...
@@ -1919,7 +1919,7 @@ int32_t tscCreateJoinSubquery(SSqlObj *pSql, int16_t tableIndex, SJoinSupporter
int16_t
type
=
0
;
int32_t
inter
=
0
;
getResultDataInfo
(
s
->
type
,
s
->
bytes
,
TSDB_FUNC_TID_TAG
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
0
);
getResultDataInfo
(
s
->
type
,
s
->
bytes
,
TSDB_FUNC_TID_TAG
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
0
,
NULL
);
SSchema
s1
=
{.
colId
=
s
->
colId
,
.
type
=
(
uint8_t
)
type
,
.
bytes
=
bytes
};
pSupporter
->
tagSize
=
s1
.
bytes
;
...
...
src/inc/taosdef.h
浏览文件 @
e2ec3fd3
...
...
@@ -185,6 +185,7 @@ do { \
#define TSDB_DB_NAME_LEN 33
#define TSDB_FUNC_NAME_LEN 65
#define TSDB_FUNC_CODE_LEN (65535 - 512)
#define TSDB_FUNC_BUF_SIZE 512
#define TSDB_TYPE_STR_MAX_LEN 32
#define TSDB_TABLE_FNAME_LEN (TSDB_ACCT_ID_LEN + TSDB_DB_NAME_LEN + TSDB_TABLE_NAME_LEN)
#define TSDB_COL_NAME_LEN 65
...
...
src/inc/taoserror.h
浏览文件 @
e2ec3fd3
...
...
@@ -180,6 +180,7 @@ int32_t* taosGetErrno();
#define TSDB_CODE_MND_INVALID_FUNC_CODE TAOS_DEF_ERROR_CODE(0, 0x0372) //"Invalid func code")
#define TSDB_CODE_MND_FUNC_ALREADY_EXIST TAOS_DEF_ERROR_CODE(0, 0x0373) //"Func already exists")
#define TSDB_CODE_MND_INVALID_FUNC TAOS_DEF_ERROR_CODE(0, 0x0374) //"Invalid func")
#define TSDB_CODE_MND_INVALID_FUNC_BUFSIZE TAOS_DEF_ERROR_CODE(0, 0x0375) //"Invalid func bufSize")
#define TSDB_CODE_MND_DB_NOT_SELECTED TAOS_DEF_ERROR_CODE(0, 0x0380) //"Database not specified or available")
#define TSDB_CODE_MND_DB_ALREADY_EXIST TAOS_DEF_ERROR_CODE(0, 0x0381) //"Database already exists")
...
...
src/inc/taosmsg.h
浏览文件 @
e2ec3fd3
...
...
@@ -592,6 +592,7 @@ typedef struct {
int32_t
funcType
;
uint8_t
outputType
;
int16_t
outputLen
;
int32_t
bufSize
;
int32_t
codeLen
;
char
code
[];
}
SCreateFuncMsg
;
...
...
@@ -606,6 +607,7 @@ typedef struct {
int32_t
funcType
;
int8_t
resType
;
int16_t
resBytes
;
int32_t
bufSize
;
int32_t
len
;
char
content
[];
}
SFunctionInfoMsg
;
...
...
src/inc/ttokendef.h
浏览文件 @
e2ec3fd3
...
...
@@ -102,111 +102,113 @@
#define TK_AS 83
#define TK_OUTPUTTYPE 84
#define TK_AGGREGATE 85
#define TK_PPS 86
#define TK_TSERIES 87
#define TK_DBS 88
#define TK_STORAGE 89
#define TK_QTIME 90
#define TK_CONNS 91
#define TK_STATE 92
#define TK_KEEP 93
#define TK_CACHE 94
#define TK_REPLICA 95
#define TK_QUORUM 96
#define TK_DAYS 97
#define TK_MINROWS 98
#define TK_MAXROWS 99
#define TK_BLOCKS 100
#define TK_CTIME 101
#define TK_WAL 102
#define TK_FSYNC 103
#define TK_COMP 104
#define TK_PRECISION 105
#define TK_UPDATE 106
#define TK_CACHELAST 107
#define TK_PARTITIONS 108
#define TK_LP 109
#define TK_RP 110
#define TK_UNSIGNED 111
#define TK_TAGS 112
#define TK_USING 113
#define TK_COMMA 114
#define TK_NULL 115
#define TK_SELECT 116
#define TK_UNION 117
#define TK_ALL 118
#define TK_DISTINCT 119
#define TK_FROM 120
#define TK_VARIABLE 121
#define TK_INTERVAL 122
#define TK_SESSION 123
#define TK_FILL 124
#define TK_SLIDING 125
#define TK_ORDER 126
#define TK_BY 127
#define TK_ASC 128
#define TK_DESC 129
#define TK_GROUP 130
#define TK_HAVING 131
#define TK_LIMIT 132
#define TK_OFFSET 133
#define TK_SLIMIT 134
#define TK_SOFFSET 135
#define TK_WHERE 136
#define TK_NOW 137
#define TK_RESET 138
#define TK_QUERY 139
#define TK_SYNCDB 140
#define TK_ADD 141
#define TK_COLUMN 142
#define TK_TAG 143
#define TK_CHANGE 144
#define TK_SET 145
#define TK_KILL 146
#define TK_CONNECTION 147
#define TK_STREAM 148
#define TK_COLON 149
#define TK_ABORT 150
#define TK_AFTER 151
#define TK_ATTACH 152
#define TK_BEFORE 153
#define TK_BEGIN 154
#define TK_CASCADE 155
#define TK_CLUSTER 156
#define TK_CONFLICT 157
#define TK_COPY 158
#define TK_DEFERRED 159
#define TK_DELIMITERS 160
#define TK_DETACH 161
#define TK_EACH 162
#define TK_END 163
#define TK_EXPLAIN 164
#define TK_FAIL 165
#define TK_FOR 166
#define TK_IGNORE 167
#define TK_IMMEDIATE 168
#define TK_INITIALLY 169
#define TK_INSTEAD 170
#define TK_MATCH 171
#define TK_KEY 172
#define TK_OF 173
#define TK_RAISE 174
#define TK_REPLACE 175
#define TK_RESTRICT 176
#define TK_ROW 177
#define TK_STATEMENT 178
#define TK_TRIGGER 179
#define TK_VIEW 180
#define TK_SEMI 181
#define TK_NONE 182
#define TK_PREV 183
#define TK_LINEAR 184
#define TK_IMPORT 185
#define TK_TBNAME 186
#define TK_JOIN 187
#define TK_INSERT 188
#define TK_INTO 189
#define TK_VALUES 190
#define TK_BUFSIZE 86
#define TK_PPS 87
#define TK_TSERIES 88
#define TK_DBS 89
#define TK_STORAGE 90
#define TK_QTIME 91
#define TK_CONNS 92
#define TK_STATE 93
#define TK_KEEP 94
#define TK_CACHE 95
#define TK_REPLICA 96
#define TK_QUORUM 97
#define TK_DAYS 98
#define TK_MINROWS 99
#define TK_MAXROWS 100
#define TK_BLOCKS 101
#define TK_CTIME 102
#define TK_WAL 103
#define TK_FSYNC 104
#define TK_COMP 105
#define TK_PRECISION 106
#define TK_UPDATE 107
#define TK_CACHELAST 108
#define TK_PARTITIONS 109
#define TK_LP 110
#define TK_RP 111
#define TK_UNSIGNED 112
#define TK_TAGS 113
#define TK_USING 114
#define TK_COMMA 115
#define TK_NULL 116
#define TK_SELECT 117
#define TK_UNION 118
#define TK_ALL 119
#define TK_DISTINCT 120
#define TK_FROM 121
#define TK_VARIABLE 122
#define TK_INTERVAL 123
#define TK_SESSION 124
#define TK_FILL 125
#define TK_SLIDING 126
#define TK_ORDER 127
#define TK_BY 128
#define TK_ASC 129
#define TK_DESC 130
#define TK_GROUP 131
#define TK_HAVING 132
#define TK_LIMIT 133
#define TK_OFFSET 134
#define TK_SLIMIT 135
#define TK_SOFFSET 136
#define TK_WHERE 137
#define TK_NOW 138
#define TK_RESET 139
#define TK_QUERY 140
#define TK_SYNCDB 141
#define TK_ADD 142
#define TK_COLUMN 143
#define TK_TAG 144
#define TK_CHANGE 145
#define TK_SET 146
#define TK_KILL 147
#define TK_CONNECTION 148
#define TK_STREAM 149
#define TK_COLON 150
#define TK_ABORT 151
#define TK_AFTER 152
#define TK_ATTACH 153
#define TK_BEFORE 154
#define TK_BEGIN 155
#define TK_CASCADE 156
#define TK_CLUSTER 157
#define TK_CONFLICT 158
#define TK_COPY 159
#define TK_DEFERRED 160
#define TK_DELIMITERS 161
#define TK_DETACH 162
#define TK_EACH 163
#define TK_END 164
#define TK_EXPLAIN 165
#define TK_FAIL 166
#define TK_FOR 167
#define TK_IGNORE 168
#define TK_IMMEDIATE 169
#define TK_INITIALLY 170
#define TK_INSTEAD 171
#define TK_MATCH 172
#define TK_KEY 173
#define TK_OF 174
#define TK_RAISE 175
#define TK_REPLACE 176
#define TK_RESTRICT 177
#define TK_ROW 178
#define TK_STATEMENT 179
#define TK_TRIGGER 180
#define TK_VIEW 181
#define TK_SEMI 182
#define TK_NONE 183
#define TK_PREV 184
#define TK_LINEAR 185
#define TK_IMPORT 186
#define TK_TBNAME 187
#define TK_JOIN 188
#define TK_INSERT 189
#define TK_INTO 190
#define TK_VALUES 191
...
...
src/mnode/inc/mnodeDef.h
浏览文件 @
e2ec3fd3
...
...
@@ -220,6 +220,7 @@ typedef struct SFuncObj {
int32_t
contLen
;
char
cont
[
TSDB_FUNC_CODE_LEN
];
int32_t
funcType
;
int32_t
bufSize
;
int64_t
createdTime
;
uint8_t
resType
;
int16_t
resBytes
;
...
...
src/mnode/inc/mnodeFunc.h
浏览文件 @
e2ec3fd3
...
...
@@ -31,7 +31,7 @@ void mnodeCancelGetNextFunc(void *pIter);
void
mnodeIncFuncRef
(
SFuncObj
*
pFunc
);
void
mnodeDecFuncRef
(
SFuncObj
*
pFunc
);
int32_t
mnodeCreateFunc
(
SAcctObj
*
pAcct
,
char
*
name
,
int32_t
codeLen
,
char
*
code
,
char
*
path
,
uint8_t
outputType
,
int16_t
outputLen
,
int32_t
funcType
,
SMnodeMsg
*
pMsg
);
int32_t
mnodeCreateFunc
(
SAcctObj
*
pAcct
,
char
*
name
,
int32_t
codeLen
,
char
*
code
,
char
*
path
,
uint8_t
outputType
,
int16_t
outputLen
,
int32_t
funcType
,
int32_t
bufSize
,
SMnodeMsg
*
pMsg
);
#ifdef __cplusplus
}
...
...
src/mnode/src/mnodeFunc.c
浏览文件 @
e2ec3fd3
...
...
@@ -190,7 +190,7 @@ static int32_t mnodeUpdateFunc(SFuncObj *pFunc, void *pMsg) {
return code;
}
*/
int32_t
mnodeCreateFunc
(
SAcctObj
*
pAcct
,
char
*
name
,
int32_t
codeLen
,
char
*
codeScript
,
char
*
path
,
uint8_t
outputType
,
int16_t
outputLen
,
int32_t
funcType
,
SMnodeMsg
*
pMsg
)
{
int32_t
mnodeCreateFunc
(
SAcctObj
*
pAcct
,
char
*
name
,
int32_t
codeLen
,
char
*
codeScript
,
char
*
path
,
uint8_t
outputType
,
int16_t
outputLen
,
int32_t
funcType
,
int32_t
bufSize
,
SMnodeMsg
*
pMsg
)
{
if
(
grantCheck
(
TSDB_GRANT_TIME
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_GRANT_EXPIRED
;
}
...
...
@@ -217,8 +217,12 @@ int32_t mnodeCreateFunc(SAcctObj *pAcct, char *name, int32_t codeLen, char *code
return
TSDB_CODE_MND_INVALID_FUNC_CODE
;
}
if
(
codeLen
<
0
||
codeLen
>
TSDB_FUNC_CODE_LEN
-
1
)
{
return
TSDB_CODE_MND_INVALID_FUNC_LEN
;
if
(
codeLen
<
0
||
codeLen
>
TSDB_FUNC_CODE_LEN
)
{
return
TSDB_CODE_MND_INVALID_FUNC_CODE
;
}
if
(
bufSize
<
0
||
bufSize
>
TSDB_FUNC_BUF_SIZE
)
{
return
TSDB_CODE_MND_INVALID_FUNC_BUFSIZE
;
}
SFuncObj
*
pFunc
=
mnodeGetFunc
(
name
);
...
...
@@ -237,6 +241,7 @@ int32_t mnodeCreateFunc(SAcctObj *pAcct, char *name, int32_t codeLen, char *code
pFunc
->
resType
=
outputType
;
pFunc
->
resBytes
=
outputLen
;
pFunc
->
funcType
=
funcType
;
pFunc
->
bufSize
=
bufSize
;
pFunc
->
sig
=
0
;
pFunc
->
type
=
1
;
//lua script, refactor
...
...
@@ -326,6 +331,12 @@ static int32_t mnodeGetFuncMeta(STableMetaMsg *pMeta, SShowObj *pShow, void *pCo
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
cols
++
;
pShow
->
bytes
[
cols
]
=
4
;
pSchema
[
cols
].
type
=
TSDB_DATA_TYPE_INT
;
strcpy
(
pSchema
[
cols
].
name
,
"bufsize"
);
pSchema
[
cols
].
bytes
=
htons
(
pShow
->
bytes
[
cols
]);
cols
++
;
pMeta
->
numOfColumns
=
htons
(
cols
);
strcpy
(
pMeta
->
tableFname
,
"show funcs"
);
pShow
->
numOfColumns
=
cols
;
...
...
@@ -398,6 +409,10 @@ static int32_t mnodeRetrieveFuncs(SShowObj *pShow, char *data, int32_t rows, voi
*
(
int32_t
*
)
pWrite
=
pFunc
->
contLen
;
cols
++
;
pWrite
=
data
+
pShow
->
offset
[
cols
]
*
rows
+
pShow
->
bytes
[
cols
]
*
numOfRows
;
*
(
int32_t
*
)
pWrite
=
pFunc
->
bufSize
;
cols
++
;
numOfRows
++
;
mnodeDecFuncRef
(
pFunc
);
}
...
...
@@ -412,8 +427,9 @@ static int32_t mnodeProcessCreateFuncMsg(SMnodeMsg *pMsg) {
pCreate
->
codeLen
=
htonl
(
pCreate
->
codeLen
);
pCreate
->
outputLen
=
htons
(
pCreate
->
outputLen
);
pCreate
->
funcType
=
htonl
(
pCreate
->
funcType
);
pCreate
->
bufSize
=
htonl
(
pCreate
->
bufSize
);
return
mnodeCreateFunc
(
pMsg
->
pUser
->
pAcct
,
pCreate
->
name
,
pCreate
->
codeLen
,
pCreate
->
code
,
pCreate
->
path
,
pCreate
->
outputType
,
pCreate
->
outputLen
,
pCreate
->
funcType
,
pMsg
);
return
mnodeCreateFunc
(
pMsg
->
pUser
->
pAcct
,
pCreate
->
name
,
pCreate
->
codeLen
,
pCreate
->
code
,
pCreate
->
path
,
pCreate
->
outputType
,
pCreate
->
outputLen
,
pCreate
->
funcType
,
p
Create
->
bufSize
,
p
Msg
);
}
static
int32_t
mnodeProcessDropFuncMsg
(
SMnodeMsg
*
pMsg
)
{
...
...
@@ -457,6 +473,7 @@ static int32_t mnodeProcessRetrieveFuncImplMsg(SMnodeMsg *pMsg) {
pFuncInfo
->
funcType
=
htonl
(
pFuncObj
->
funcType
);
pFuncInfo
->
resType
=
pFuncObj
->
resType
;
pFuncInfo
->
resBytes
=
htons
(
pFuncObj
->
resBytes
);
pFuncInfo
->
bufSize
=
htonl
(
pFuncObj
->
bufSize
);
pOutput
+=
sizeof
(
SFunctionInfoMsg
)
+
pFuncObj
->
contLen
;
name
=
(
tstr
*
)((
char
*
)
name
+
sizeof
(
*
name
)
+
htons
(
name
->
len
));
...
...
src/query/inc/qAggMain.h
浏览文件 @
e2ec3fd3
...
...
@@ -27,6 +27,7 @@ extern "C" {
#include "trpc.h"
#include "tvariant.h"
#include "tsdb.h"
#include "qUdf.h"
#define TSDB_FUNC_INVALID_ID -1
#define TSDB_FUNC_COUNT 0
...
...
@@ -223,7 +224,7 @@ typedef struct SAggFunctionInfo {
#define GET_RES_INFO(ctx) ((ctx)->resultInfo)
int32_t
getResultDataInfo
(
int32_t
dataType
,
int32_t
dataBytes
,
int32_t
functionId
,
int32_t
param
,
int16_t
*
type
,
int16_t
*
len
,
int32_t
*
interBytes
,
int16_t
extLength
,
bool
isSuperTable
);
int16_t
*
len
,
int32_t
*
interBytes
,
int16_t
extLength
,
bool
isSuperTable
,
SUdfInfo
*
pUdfInfo
);
int32_t
isValidFunction
(
const
char
*
name
,
int32_t
len
);
#define IS_STREAM_QUERY_VALID(x) (((x)&TSDB_FUNCSTATE_STREAM) != 0)
...
...
src/query/inc/qExecutor.h
浏览文件 @
e2ec3fd3
...
...
@@ -438,7 +438,7 @@ int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SQueryParam* param);
int32_t
createQueryFuncExprFromMsg
(
SQueryTableMsg
*
pQueryMsg
,
int32_t
numOfOutput
,
SExprInfo
**
pExprInfo
,
SSqlFuncMsg
**
pExprMsg
,
SColumnInfo
*
pTagCols
,
SUdfInfo
*
pUdfInfo
);
int32_t
createIndirectQueryFuncExprFromMsg
(
SQueryTableMsg
*
pQueryMsg
,
int32_t
numOfOutput
,
SExprInfo
**
pExprInfo
,
SSqlFuncMsg
**
pExprMsg
,
SExprInfo
*
prevExpr
);
SSqlFuncMsg
**
pExprMsg
,
SExprInfo
*
prevExpr
,
SUdfInfo
*
pUdfInfo
);
SSqlGroupbyExpr
*
createGroupbyExprFromMsg
(
SQueryTableMsg
*
pQueryMsg
,
SColIndex
*
pColIndex
,
int32_t
*
code
);
SQInfo
*
createQInfoImpl
(
SQueryTableMsg
*
pQueryMsg
,
SSqlGroupbyExpr
*
pGroupbyExpr
,
SExprInfo
*
pExprs
,
...
...
src/query/inc/qSqlparser.h
浏览文件 @
e2ec3fd3
...
...
@@ -179,6 +179,7 @@ typedef struct SCreateFuncInfo {
SStrToken
name
;
SStrToken
path
;
int32_t
type
;
int32_t
bufSize
;
TAOS_FIELD
output
;
}
SCreateFuncInfo
;
...
...
src/query/inc/qUdf.h
浏览文件 @
e2ec3fd3
...
...
@@ -39,6 +39,7 @@ typedef struct SUdfInfo {
int8_t
resType
;
// result type
int16_t
resBytes
;
// result byte
int32_t
contLen
;
// content length
int32_t
bufSize
;
//interbuf size
char
*
name
;
// function name
void
*
handle
;
// handle loaded in mem
void
*
funcs
[
TSDB_UDF_FUNC_MAX_NUM
];
// function ptr
...
...
@@ -62,10 +63,10 @@ typedef void (*scriptMergeFunc)(void *pCtx, char* data, int32_t numOfRows, char*
typedef
void
(
*
scriptDestroyFunc
)(
void
*
pCtx
);
// dynamic lib
typedef
void
(
*
udfNormalFunc
)(
char
*
data
,
int16_t
itype
,
int16_t
iBytes
,
int32_t
numOfRows
,
int64_t
*
ts
,
char
*
dataOutput
,
char
*
tsOutput
,
int32_t
*
numOfOutput
,
int16_t
oType
,
int16_t
oBytes
,
SUdfInit
*
buf
);
typedef
void
(
*
udfNormalFunc
)(
char
*
data
,
int16_t
itype
,
int16_t
iBytes
,
int32_t
numOfRows
,
int64_t
*
ts
,
char
*
dataOutput
,
char
*
interBuf
,
char
*
tsOutput
,
int32_t
*
numOfOutput
,
int16_t
oType
,
int16_t
oBytes
,
SUdfInit
*
buf
);
typedef
int32_t
(
*
udfInitFunc
)(
SUdfInit
*
data
);
typedef
void
(
*
udfFinalizeFunc
)(
char
*
dataOutput
,
int32_t
*
numOfOutput
,
SUdfInit
*
buf
);
typedef
void
(
*
udfFinalizeFunc
)(
char
*
dataOutput
,
char
*
interBuf
,
int32_t
*
numOfOutput
,
SUdfInit
*
buf
);
typedef
void
(
*
udfMergeFunc
)(
char
*
data
,
int32_t
numOfRows
,
char
*
dataOutput
,
int32_t
*
numOfOutput
,
SUdfInit
*
buf
);
typedef
void
(
*
udfDestroyFunc
)(
SUdfInit
*
buf
);
...
...
src/query/inc/sql.y
浏览文件 @
e2ec3fd3
...
...
@@ -194,10 +194,13 @@ cmd ::= CREATE ACCOUNT ids(X) PASS ids(Y) acct_optr(Z).
{ setCreateAcctSql(pInfo, TSDB_SQL_CREATE_ACCT, &X, &Y, &Z);}
cmd ::= CREATE DATABASE ifnotexists(Z) ids(X) db_optr(Y). { setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &X, &Y, &Z);}
cmd ::= CREATE TOPIC ifnotexists(Z) ids(X) topic_optr(Y). { setCreateDbInfo(pInfo, TSDB_SQL_CREATE_DB, &X, &Y, &Z);}
cmd ::= CREATE FUNCTION ids(X) AS ids(Y) OUTPUTTYPE typename(Z)
. { setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &X, &Y, &Z
, 1);}
cmd ::= CREATE AGGREGATE FUNCTION ids(X) AS ids(Y) OUTPUTTYPE typename(Z)
. { setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &X, &Y, &Z
, 2);}
cmd ::= CREATE FUNCTION ids(X) AS ids(Y) OUTPUTTYPE typename(Z)
bufsize(B). { setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &X, &Y, &Z, &B
, 1);}
cmd ::= CREATE AGGREGATE FUNCTION ids(X) AS ids(Y) OUTPUTTYPE typename(Z)
bufsize(B). { setCreateFuncInfo(pInfo, TSDB_SQL_CREATE_FUNCTION, &X, &Y, &Z, &B
, 2);}
cmd ::= CREATE USER ids(X) PASS ids(Y). { setCreateUserSql(pInfo, &X, &Y);}
bufsize(Y) ::= . { Y.n = 0; }
bufsize(Y) ::= BUFSIZE INTEGER(X). { Y = X; }
pps(Y) ::= . { Y.n = 0; }
pps(Y) ::= PPS INTEGER(X). { Y = X; }
...
...
src/query/src/qAggMain.c
浏览文件 @
e2ec3fd3
...
...
@@ -26,6 +26,7 @@
#include "qPercentile.h"
#include "qTsbuf.h"
#include "queryLog.h"
#include "qUdf.h"
#define GET_INPUT_DATA_LIST(x) ((char *)((x)->pInput))
#define GET_INPUT_DATA(x, y) (GET_INPUT_DATA_LIST(x) + (y) * (x)->inputBytes)
...
...
@@ -163,15 +164,12 @@ typedef struct SRateInfo {
}
SRateInfo
;
int32_t
getResultDataInfo
(
int32_t
dataType
,
int32_t
dataBytes
,
int32_t
functionId
,
int32_t
param
,
int16_t
*
type
,
int16_t
*
bytes
,
int32_t
*
interBytes
,
int16_t
extLength
,
bool
isSuperTable
)
{
int16_t
*
bytes
,
int32_t
*
interBytes
,
int16_t
extLength
,
bool
isSuperTable
,
SUdfInfo
*
pUdfInfo
)
{
if
(
!
isValidDataType
(
dataType
))
{
qError
(
"Illegal data type %d or data type length %d"
,
dataType
,
dataBytes
);
return
TSDB_CODE_TSC_INVALID_SQL
;
}
if
(
functionId
<
0
)
{
return
TSDB_CODE_SUCCESS
;
}
if
(
functionId
==
TSDB_FUNC_TS
||
functionId
==
TSDB_FUNC_TS_DUMMY
||
functionId
==
TSDB_FUNC_TAG_DUMMY
||
functionId
==
TSDB_FUNC_DIFF
||
functionId
==
TSDB_FUNC_PRJ
||
functionId
==
TSDB_FUNC_TAGPRJ
||
...
...
@@ -223,6 +221,20 @@ int32_t getResultDataInfo(int32_t dataType, int32_t dataBytes, int32_t functionI
}
if
(
isSuperTable
)
{
if
(
functionId
<
0
)
{
if
(
pUdfInfo
->
bufSize
>
0
)
{
*
type
=
TSDB_DATA_TYPE_BINARY
;
*
bytes
=
pUdfInfo
->
bufSize
;
*
interBytes
=
*
bytes
;
}
else
{
*
type
=
pUdfInfo
->
resType
;
*
bytes
=
pUdfInfo
->
resBytes
;
*
interBytes
=
*
bytes
;
}
return
TSDB_CODE_SUCCESS
;
}
if
(
functionId
==
TSDB_FUNC_MIN
||
functionId
==
TSDB_FUNC_MAX
)
{
*
type
=
TSDB_DATA_TYPE_BINARY
;
*
bytes
=
(
int16_t
)(
dataBytes
+
DATA_SET_FLAG_SIZE
);
...
...
@@ -303,6 +315,19 @@ int32_t getResultDataInfo(int32_t dataType, int32_t dataBytes, int32_t functionI
return
TSDB_CODE_SUCCESS
;
}
if
(
functionId
<
0
)
{
*
type
=
pUdfInfo
->
resType
;
*
bytes
=
pUdfInfo
->
resBytes
;
if
(
pUdfInfo
->
bufSize
>
0
)
{
*
interBytes
=
pUdfInfo
->
bufSize
;
}
else
{
*
interBytes
=
*
bytes
;
}
return
TSDB_CODE_SUCCESS
;
}
if
(
functionId
==
TSDB_FUNC_AVG
)
{
*
type
=
TSDB_DATA_TYPE_DOUBLE
;
*
bytes
=
sizeof
(
double
);
...
...
src/query/src/qExecutor.c
浏览文件 @
e2ec3fd3
...
...
@@ -810,8 +810,12 @@ static void doInvokeUdf(SQueryRuntimeEnv *pRuntimeEnv, SQLFunctionCtx *pCtx, int
(
char
*
)
pCtx
->
pInput
+
idx
*
pCtx
->
inputType
,
pCtx
->
inputType
,
pCtx
->
inputBytes
,
pCtx
->
size
,
pCtx
->
ptsList
,
pCtx
->
pOutput
,
(
char
*
)
pCtx
->
ptsOutputBuf
,
&
output
,
pCtx
->
outputType
,
pCtx
->
outputBytes
);
}
else
{
(
*
(
udfNormalFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_NORMAL
])((
char
*
)
pCtx
->
pInput
+
idx
*
pCtx
->
inputType
,
pCtx
->
inputType
,
pCtx
->
inputBytes
,
pCtx
->
size
,
pCtx
->
ptsList
,
pCtx
->
pOutput
,
(
char
*
)
pCtx
->
ptsOutputBuf
,
&
output
,
pCtx
->
outputType
,
pCtx
->
outputBytes
,
&
pUdfInfo
->
init
);
SResultRowCellInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
void
*
interBuf
=
(
void
*
)
GET_ROWCELL_INTERBUF
(
pResInfo
);
(
*
(
udfNormalFunc
)
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_NORMAL
])((
char
*
)
pCtx
->
pInput
+
idx
*
pCtx
->
inputType
,
pCtx
->
inputType
,
pCtx
->
inputBytes
,
pCtx
->
size
,
pCtx
->
ptsList
,
pCtx
->
pOutput
,
interBuf
,
(
char
*
)
pCtx
->
ptsOutputBuf
,
&
output
,
pCtx
->
outputType
,
pCtx
->
outputBytes
,
&
pUdfInfo
->
init
);
}
if
(
pUdfInfo
->
funcType
==
TSDB_UDF_TYPE_AGGREGATE
)
{
...
...
@@ -3316,12 +3320,14 @@ void finalizeQueryResult(SOperatorInfo* pOperator, SQLFunctionCtx* pCtx, SResult
for
(
int32_t
j
=
0
;
j
<
numOfOutput
;
++
j
)
{
if
(
pCtx
[
j
].
functionId
<
0
)
{
int32_t
output
=
0
;
SResultRowCellInfo
*
pResInfo
=
GET_RES_INFO
(
&
pCtx
[
j
]);
void
*
interBuf
=
(
void
*
)
GET_ROWCELL_INTERBUF
(
pResInfo
);
if
(
pRuntimeEnv
->
pUdfInfo
&&
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])
{
if
(
pRuntimeEnv
->
pUdfInfo
->
isScript
)
{
(
*
(
scriptFinalizeFunc
)
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pRuntimeEnv
->
pUdfInfo
->
pScriptCtx
,
pCtx
[
j
].
pOutput
,
&
output
);
}
else
{
(
*
(
udfFinalizeFunc
)
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
[
j
].
pOutput
,
&
output
,
&
pRuntimeEnv
->
pUdfInfo
->
init
);
(
*
(
udfFinalizeFunc
)
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
[
j
].
pOutput
,
interBuf
,
&
output
,
&
pRuntimeEnv
->
pUdfInfo
->
init
);
}
}
...
...
@@ -3347,12 +3353,14 @@ void finalizeQueryResult(SOperatorInfo* pOperator, SQLFunctionCtx* pCtx, SResult
for
(
int32_t
j
=
0
;
j
<
numOfOutput
;
++
j
)
{
if
(
pCtx
[
j
].
functionId
<
0
)
{
int32_t
output
=
0
;
SResultRowCellInfo
*
pResInfo
=
GET_RES_INFO
(
pCtx
);
void
*
interBuf
=
(
void
*
)
GET_ROWCELL_INTERBUF
(
pResInfo
);
if
(
pRuntimeEnv
->
pUdfInfo
&&
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])
{
if
(
pRuntimeEnv
->
pUdfInfo
->
isScript
)
{
(
*
(
scriptFinalizeFunc
)
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pRuntimeEnv
->
pUdfInfo
->
pScriptCtx
,
pCtx
[
j
].
pOutput
,
&
output
);
}
else
{
(
*
(
udfFinalizeFunc
)
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
[
j
].
pOutput
,
&
output
,
&
pRuntimeEnv
->
pUdfInfo
->
init
);
(
*
(
udfFinalizeFunc
)
pRuntimeEnv
->
pUdfInfo
->
funcs
[
TSDB_UDF_FUNC_FINALIZE
])(
pCtx
[
j
].
pOutput
,
interBuf
,
&
output
,
&
pRuntimeEnv
->
pUdfInfo
->
init
);
}
}
...
...
@@ -6231,6 +6239,9 @@ int32_t convertQueryMsg(SQueryTableMsg *pQueryMsg, SQueryParam* param) {
param
->
pUdfInfo
->
funcType
=
htonl
(
*
(
int32_t
*
)
pMsg
);
pMsg
+=
sizeof
(
int32_t
);
param
->
pUdfInfo
->
bufSize
=
htonl
(
*
(
int32_t
*
)
pMsg
);
pMsg
+=
sizeof
(
int32_t
);
param
->
pUdfInfo
->
content
=
malloc
(
pQueryMsg
->
udfContentLen
);
memcpy
(
param
->
pUdfInfo
->
content
,
pMsg
,
pQueryMsg
->
udfContentLen
);
...
...
@@ -6326,7 +6337,7 @@ static int32_t updateOutputBufForTopBotQuery(SQueryTableMsg* pQueryMsg, SColumnI
}
else
{
SColumnInfo
*
pCol
=
&
pQueryMsg
->
colList
[
j
];
int32_t
ret
=
getResultDataInfo
(
pCol
->
type
,
pCol
->
bytes
,
functId
,
(
int32_t
)
pExprs
[
i
].
base
.
arg
[
0
].
argValue
.
i64
,
&
pExprs
[
i
].
type
,
&
pExprs
[
i
].
bytes
,
&
pExprs
[
i
].
interBytes
,
tagLen
,
superTable
);
&
pExprs
[
i
].
type
,
&
pExprs
[
i
].
bytes
,
&
pExprs
[
i
].
interBytes
,
tagLen
,
superTable
,
NULL
);
assert
(
ret
==
TSDB_CODE_SUCCESS
);
}
}
...
...
@@ -6551,16 +6562,11 @@ int32_t createQueryFuncExprFromMsg(SQueryTableMsg* pQueryMsg, int32_t numOfOutpu
return
TSDB_CODE_QRY_INVALID_MSG
;
}
if
(
pExprs
[
i
].
base
.
functionId
<
0
)
{
pExprs
[
i
].
type
=
pUdfInfo
->
resType
;
pExprs
[
i
].
bytes
=
pUdfInfo
->
resBytes
;
}
else
{
if
(
getResultDataInfo
(
type
,
bytes
,
pExprs
[
i
].
base
.
functionId
,
param
,
&
pExprs
[
i
].
type
,
&
pExprs
[
i
].
bytes
,
&
pExprs
[
i
].
interBytes
,
0
,
isSuperTable
)
!=
TSDB_CODE_SUCCESS
)
{
&
pExprs
[
i
].
interBytes
,
0
,
isSuperTable
,
pUdfInfo
)
!=
TSDB_CODE_SUCCESS
)
{
tfree
(
pExprs
);
return
TSDB_CODE_QRY_INVALID_MSG
;
}
}
if
(
pExprs
[
i
].
base
.
functionId
==
TSDB_FUNC_TAG_DUMMY
||
pExprs
[
i
].
base
.
functionId
==
TSDB_FUNC_TS_DUMMY
)
{
tagLen
+=
pExprs
[
i
].
bytes
;
...
...
@@ -6577,7 +6583,7 @@ int32_t createQueryFuncExprFromMsg(SQueryTableMsg* pQueryMsg, int32_t numOfOutpu
}
int32_t
createIndirectQueryFuncExprFromMsg
(
SQueryTableMsg
*
pQueryMsg
,
int32_t
numOfOutput
,
SExprInfo
**
pExprInfo
,
SSqlFuncMsg
**
pExprMsg
,
SExprInfo
*
prevExpr
)
{
SSqlFuncMsg
**
pExprMsg
,
SExprInfo
*
prevExpr
,
SUdfInfo
*
pUdfInfo
)
{
*
pExprInfo
=
NULL
;
int32_t
code
=
TSDB_CODE_SUCCESS
;
...
...
@@ -6616,7 +6622,7 @@ int32_t createIndirectQueryFuncExprFromMsg(SQueryTableMsg *pQueryMsg, int32_t nu
int32_t
param
=
(
int32_t
)
pExprs
[
i
].
base
.
arg
[
0
].
argValue
.
i64
;
if
(
getResultDataInfo
(
type
,
bytes
,
pExprs
[
i
].
base
.
functionId
,
param
,
&
pExprs
[
i
].
type
,
&
pExprs
[
i
].
bytes
,
&
pExprs
[
i
].
interBytes
,
0
,
isSuperTable
)
!=
TSDB_CODE_SUCCESS
)
{
&
pExprs
[
i
].
interBytes
,
0
,
isSuperTable
,
pUdfInfo
)
!=
TSDB_CODE_SUCCESS
)
{
tfree
(
pExprs
);
return
TSDB_CODE_QRY_INVALID_MSG
;
}
...
...
src/query/src/qSqlParser.c
浏览文件 @
e2ec3fd3
...
...
@@ -1060,7 +1060,7 @@ void setCreateDbInfo(SSqlInfo *pInfo, int32_t type, SStrToken *pToken, SCreateDb
pInfo
->
pMiscInfo
->
dbOpt
.
ignoreExists
=
pIgExists
->
n
;
// sql.y has: ifnotexists(X) ::= IF NOT EXISTS. {X.n = 1;}
}
void
setCreateFuncInfo
(
SSqlInfo
*
pInfo
,
int32_t
type
,
SStrToken
*
pName
,
SStrToken
*
pPath
,
TAOS_FIELD
*
output
,
int32_t
funcType
)
{
void
setCreateFuncInfo
(
SSqlInfo
*
pInfo
,
int32_t
type
,
SStrToken
*
pName
,
SStrToken
*
pPath
,
TAOS_FIELD
*
output
,
SStrToken
*
bufSize
,
int32_t
funcType
)
{
pInfo
->
type
=
type
;
if
(
pInfo
->
pMiscInfo
==
NULL
)
{
pInfo
->
pMiscInfo
=
calloc
(
1
,
sizeof
(
SMiscInfo
));
...
...
@@ -1070,6 +1070,11 @@ void setCreateFuncInfo(SSqlInfo *pInfo, int32_t type, SStrToken *pName, SStrToke
pInfo
->
pMiscInfo
->
funcOpt
.
path
=
*
pPath
;
pInfo
->
pMiscInfo
->
funcOpt
.
output
=
*
output
;
pInfo
->
pMiscInfo
->
funcOpt
.
type
=
funcType
;
if
(
bufSize
->
n
>
0
)
{
pInfo
->
pMiscInfo
->
funcOpt
.
bufSize
=
strtol
(
bufSize
->
z
,
NULL
,
10
);
}
else
{
pInfo
->
pMiscInfo
->
funcOpt
.
bufSize
=
0
;
}
}
...
...
src/query/src/qTokenizer.c
浏览文件 @
e2ec3fd3
...
...
@@ -221,7 +221,8 @@ static SKeyword keywordTable[] = {
{
"FUNCTION"
,
TK_FUNCTION
},
{
"FUNCTIONS"
,
TK_FUNCTIONS
},
{
"OUTPUTTYPE"
,
TK_OUTPUTTYPE
},
{
"AGGREGATE"
,
TK_AGGREGATE
}
{
"AGGREGATE"
,
TK_AGGREGATE
},
{
"BUFSIZE"
,
TK_BUFSIZE
}
};
static
const
char
isIdChar
[]
=
{
...
...
src/query/src/queryMain.c
浏览文件 @
e2ec3fd3
...
...
@@ -96,7 +96,7 @@ int32_t qCreateQueryInfo(void* tsdb, int32_t vgId, SQueryTableMsg* pQueryMsg, qi
}
if
(
param
.
pSecExprMsg
!=
NULL
)
{
if
((
code
=
createIndirectQueryFuncExprFromMsg
(
pQueryMsg
,
pQueryMsg
->
secondStageOutput
,
&
param
.
pSecExprs
,
param
.
pSecExprMsg
,
param
.
pExprs
))
!=
TSDB_CODE_SUCCESS
)
{
if
((
code
=
createIndirectQueryFuncExprFromMsg
(
pQueryMsg
,
pQueryMsg
->
secondStageOutput
,
&
param
.
pSecExprs
,
param
.
pSecExprMsg
,
param
.
pExprs
,
param
.
pUdfInfo
))
!=
TSDB_CODE_SUCCESS
)
{
goto
_over
;
}
}
...
...
src/query/src/sql.c
浏览文件 @
e2ec3fd3
...
...
@@ -100,28 +100,28 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYNOCODE 26
6
#define YYNOCODE 26
8
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SStrToken
typedef
union
{
int
yyinit
;
ParseTOKENTYPE
yy0
;
SSubclauseInfo
*
yy21
;
TAOS_FIELD
yy27
;
SCreateDbInfo
yy114
;
SCreateAcctInfo
yy183
;
SCreatedTableInfo
yy192
;
SArray
*
yy193
;
SCreateTableSql
*
yy270
;
SQuerySqlNode
*
yy286
;
int
yy312
;
SFromInfo
*
yy370
;
SIntervalVal
yy392
;
SCreateDbInfo
yy22
;
TAOS_FIELD
yy47
;
SCreateAcctInfo
yy83
;
SSessionWindowVal
yy84
;
SSubclauseInfo
*
yy145
;
tSqlExpr
*
yy162
;
int
yy196
;
SLimitVal
yy230
;
SArray
*
yy325
;
SIntervalVal
yy328
;
int64_t
yy373
;
SCreateTableSql
*
yy422
;
tVariant
yy442
;
SSessionWindowVal
yy447
;
tSqlExpr
*
yy454
;
int64_t
yy473
;
SLimitVal
yy482
;
SQuerySqlNode
*
yy494
;
SCreatedTableInfo
yy504
;
SFromInfo
*
yy506
;
}
YYMINORTYPE
;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
...
...
@@ -137,18 +137,18 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE 3
27
#define YYNRULE 27
1
#define YYNRULE_WITH_ACTION 27
1
#define YYNTOKEN 19
1
#define YY_MAX_SHIFT 32
6
#define YY_MIN_SHIFTREDUCE 52
2
#define YY_MAX_SHIFTREDUCE 79
2
#define YY_ERROR_ACTION 79
3
#define YY_ACCEPT_ACTION
794
#define YY_NO_ACTION
795
#define YY_MIN_REDUCE
796
#define YY_MAX_REDUCE 10
66
#define YYNSTATE 3
30
#define YYNRULE 27
3
#define YYNRULE_WITH_ACTION 27
3
#define YYNTOKEN 19
2
#define YY_MAX_SHIFT 32
9
#define YY_MIN_SHIFTREDUCE 52
6
#define YY_MAX_SHIFTREDUCE 79
8
#define YY_ERROR_ACTION 79
9
#define YY_ACCEPT_ACTION
800
#define YY_NO_ACTION
801
#define YY_MIN_REDUCE
802
#define YY_MAX_REDUCE 10
74
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -215,264 +215,266 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (6
88
)
#define YY_ACTTAB_COUNT (6
94
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
967
,
571
,
188
,
571
,
209
,
324
,
932
,
17
,
71
,
572
,
/* 10 */
84
,
572
,
1047
,
49
,
50
,
147
,
53
,
54
,
140
,
186
,
/* 20 */
221
,
43
,
188
,
52
,
269
,
57
,
55
,
59
,
56
,
192
,
/* 30 */
32
,
216
,
1048
,
48
,
47
,
1044
,
188
,
46
,
45
,
44
,
/* 40 */
931
,
929
,
930
,
29
,
933
,
215
,
1048
,
523
,
524
,
525
,
/* 50 */
526
,
527
,
528
,
529
,
530
,
531
,
532
,
533
,
534
,
535
,
/* 60 */
536
,
325
,
964
,
213
,
238
,
49
,
50
,
32
,
53
,
54
,
/* 70 */
147
,
210
,
221
,
43
,
943
,
52
,
269
,
57
,
55
,
59
,
/* 80 */
56
,
254
,
999
,
72
,
264
,
48
,
47
,
290
,
946
,
46
,
/* 90 */
45
,
44
,
49
,
50
,
290
,
53
,
54
,
32
,
83
,
221
,
/* 100 */
43
,
571
,
52
,
269
,
57
,
55
,
59
,
56
,
224
,
572
,
/* 110 */
32
,
943
,
48
,
47
,
76
,
310
,
46
,
45
,
44
,
49
,
/* 120 */
51
,
38
,
53
,
54
,
12
,
226
,
221
,
43
,
86
,
52
,
/* 130 */
269
,
57
,
55
,
59
,
56
,
266
,
228
,
80
,
225
,
48
,
/* 140 */
47
,
943
,
320
,
46
,
45
,
44
,
50
,
1043
,
53
,
54
,
/* 150 */
946
,
293
,
221
,
43
,
943
,
52
,
269
,
57
,
55
,
59
,
/* 160 */
56
,
946
,
738
,
233
,
147
,
48
,
47
,
946
,
940
,
46
,
/* 170 */
45
,
44
,
856
,
23
,
288
,
319
,
318
,
287
,
286
,
285
,
/* 180 */
317
,
284
,
316
,
315
,
314
,
283
,
313
,
312
,
906
,
32
,
/* 190 */
894
,
895
,
896
,
897
,
898
,
899
,
900
,
901
,
902
,
903
,
/* 200 */
904
,
905
,
907
,
908
,
53
,
54
,
147
,
1042
,
221
,
43
,
/* 210 */
227
,
52
,
269
,
57
,
55
,
59
,
56
,
205
,
32
,
18
,
/* 220 */
958
,
48
,
47
,
1
,
161
,
46
,
45
,
44
,
220
,
751
,
/* 230 */
294
,
998
,
742
,
943
,
745
,
211
,
748
,
196
,
220
,
751
,
/* 240 */
206
,
571
,
742
,
198
,
745
,
32
,
748
,
5
,
163
,
572
,
/* 250 */
124
,
123
,
197
,
35
,
162
,
93
,
98
,
89
,
97
,
298
,
/* 260 */
217
,
218
,
943
,
28
,
268
,
23
,
275
,
319
,
318
,
280
,
/* 270 */
217
,
218
,
317
,
81
,
316
,
315
,
314
,
1058
,
313
,
312
,
/* 280 */
232
,
691
,
914
,
843
,
76
,
912
,
913
,
32
,
173
,
942
,
/* 290 */
915
,
38
,
917
,
918
,
916
,
82
,
919
,
920
,
57
,
55
,
/* 300 */
59
,
56
,
190
,
87
,
794
,
326
,
48
,
47
,
73
,
852
,
/* 310 */
46
,
45
,
44
,
248
,
173
,
70
,
109
,
114
,
46
,
45
,
/* 320 */
44
,
204
,
103
,
113
,
230
,
119
,
122
,
112
,
302
,
719
,
/* 330 */
720
,
943
,
233
,
116
,
48
,
47
,
58
,
934
,
46
,
45
,
/* 340 */
44
,
855
,
752
,
111
,
3
,
174
,
58
,
219
,
750
,
25
,
/* 350 */
958
,
310
,
752
,
234
,
652
,
250
,
297
,
296
,
750
,
33
,
/* 360 */
181
,
177
,
270
,
695
,
749
,
249
,
179
,
176
,
128
,
127
,
/* 370 */
126
,
125
,
676
,
698
,
749
,
673
,
233
,
674
,
241
,
675
,
/* 380 */
252
,
191
,
300
,
299
,
740
,
944
,
245
,
244
,
323
,
322
,
/* 390 */
133
,
844
,
193
,
688
,
704
,
6
,
173
,
231
,
142
,
24
,
/* 400 */
292
,
710
,
711
,
235
,
236
,
62
,
20
,
63
,
772
,
753
,
/* 410 */
66
,
187
,
19
,
19
,
744
,
743
,
747
,
746
,
662
,
272
,
/* 420 */
741
,
664
,
33
,
33
,
194
,
62
,
274
,
663
,
64
,
67
,
/* 430 */
85
,
62
,
102
,
101
,
121
,
120
,
14
,
13
,
69
,
680
,
/* 440 */
651
,
681
,
108
,
107
,
16
,
15
,
678
,
945
,
679
,
138
,
/* 450 */
136
,
195
,
201
,
202
,
200
,
185
,
1009
,
199
,
189
,
1008
,
/* 460 */
222
,
1005
,
755
,
1004
,
223
,
301
,
246
,
41
,
139
,
966
,
/* 470 */
974
,
976
,
141
,
959
,
145
,
253
,
991
,
990
,
137
,
941
,
/* 480 */
251
,
158
,
157
,
939
,
910
,
677
,
255
,
110
,
703
,
159
,
/* 490 */
212
,
303
,
156
,
154
,
956
,
151
,
148
,
160
,
857
,
277
,
/* 500 */
278
,
279
,
267
,
68
,
281
,
257
,
282
,
39
,
183
,
36
,
/* 510 */
262
,
65
,
291
,
851
,
1063
,
99
,
1062
,
149
,
1060
,
164
,
/* 520 */
295
,
1057
,
105
,
60
,
1056
,
1054
,
165
,
875
,
37
,
34
,
/* 530 */
40
,
184
,
840
,
115
,
838
,
117
,
118
,
836
,
835
,
237
,
/* 540 */
175
,
265
,
833
,
263
,
832
,
831
,
830
,
829
,
828
,
827
,
/* 550 */
261
,
178
,
180
,
824
,
822
,
820
,
818
,
816
,
182
,
259
,
/* 560 */
74
,
77
,
256
,
258
,
992
,
42
,
311
,
304
,
305
,
306
,
/* 570 */
207
,
308
,
307
,
309
,
229
,
276
,
321
,
792
,
240
,
208
,
/* 580 */
203
,
94
,
95
,
791
,
239
,
243
,
834
,
242
,
790
,
778
,
/* 590 */
777
,
247
,
252
,
271
,
8
,
129
,
168
,
130
,
167
,
876
,
/* 600 */
166
,
170
,
169
,
172
,
171
,
2
,
75
,
826
,
683
,
131
,
/* 610 */
825
,
4
,
132
,
78
,
817
,
705
,
143
,
155
,
708
,
152
,
/* 620 */
150
,
79
,
214
,
153
,
144
,
712
,
922
,
260
,
146
,
9
,
/* 630 */
10
,
88
,
754
,
7
,
26
,
27
,
11
,
21
,
756
,
22
,
/* 640 */
30
,
273
,
90
,
92
,
86
,
91
,
31
,
615
,
611
,
609
,
/* 650 */
608
,
607
,
604
,
575
,
289
,
96
,
100
,
33
,
61
,
654
,
/* 660 */
653
,
650
,
599
,
597
,
589
,
595
,
591
,
593
,
104
,
106
,
/* 670 */
587
,
585
,
618
,
617
,
616
,
614
,
613
,
612
,
610
,
606
,
/* 680 */
605
,
62
,
573
,
540
,
134
,
135
,
538
,
796
,
/* 0 */
975
,
575
,
190
,
575
,
211
,
327
,
235
,
17
,
84
,
576
,
/* 10 */
575
,
576
,
1055
,
49
,
50
,
161
,
53
,
54
,
576
,
215
,
/* 20 */
223
,
43
,
190
,
52
,
271
,
57
,
55
,
59
,
56
,
32
,
/* 30 */
140
,
218
,
1056
,
48
,
47
,
800
,
329
,
46
,
45
,
44
,
/* 40 */
937
,
938
,
29
,
941
,
954
,
948
,
87
,
527
,
528
,
529
,
/* 50 */
530
,
531
,
532
,
533
,
534
,
535
,
536
,
537
,
538
,
539
,
/* 60 */
540
,
328
,
228
,
972
,
240
,
49
,
50
,
147
,
53
,
54
,
/* 70 */
147
,
212
,
223
,
43
,
951
,
52
,
271
,
57
,
55
,
59
,
/* 80 */
56
,
942
,
966
,
72
,
293
,
48
,
47
,
954
,
229
,
46
,
/* 90 */
45
,
44
,
49
,
50
,
256
,
53
,
54
,
251
,
313
,
223
,
/* 100 */
43
,
190
,
52
,
271
,
57
,
55
,
59
,
56
,
71
,
32
,
/* 110 */
217
,
1056
,
48
,
47
,
76
,
235
,
46
,
45
,
44
,
49
,
/* 120 */
51
,
38
,
53
,
54
,
162
,
230
,
223
,
43
,
188
,
52
,
/* 130 */
271
,
57
,
55
,
59
,
56
,
1007
,
268
,
266
,
80
,
48
,
/* 140 */
47
,
939
,
232
,
46
,
45
,
44
,
50
,
966
,
53
,
54
,
/* 150 */
954
,
226
,
223
,
43
,
951
,
52
,
271
,
57
,
55
,
59
,
/* 160 */
56
,
849
,
213
,
744
,
32
,
48
,
47
,
175
,
194
,
46
,
/* 170 */
45
,
44
,
23
,
291
,
322
,
321
,
290
,
289
,
288
,
320
,
/* 180 */
287
,
319
,
318
,
317
,
286
,
316
,
315
,
914
,
1052
,
902
,
/* 190 */
903
,
904
,
905
,
906
,
907
,
908
,
909
,
910
,
911
,
912
,
/* 200 */
913
,
915
,
916
,
53
,
54
,
18
,
227
,
223
,
43
,
951
,
/* 210 */
52
,
271
,
57
,
55
,
59
,
56
,
233
,
234
,
940
,
295
,
/* 220 */
48
,
47
,
147
,
198
,
46
,
45
,
44
,
222
,
757
,
200
,
/* 230 */
32
,
748
,
82
,
751
,
1051
,
754
,
124
,
123
,
199
,
922
,
/* 240 */
222
,
757
,
920
,
921
,
748
,
73
,
751
,
923
,
754
,
925
,
/* 250 */
926
,
924
,
1050
,
927
,
928
,
83
,
32
,
1066
,
147
,
219
,
/* 260 */
220
,
48
,
47
,
270
,
697
,
46
,
45
,
44
,
326
,
325
,
/* 270 */
133
,
76
,
219
,
220
,
23
,
950
,
322
,
321
,
38
,
1
,
/* 280 */
163
,
320
,
12
,
319
,
318
,
317
,
86
,
316
,
315
,
32
,
/* 290 */
1006
,
236
,
725
,
726
,
300
,
299
,
32
,
207
,
296
,
293
,
/* 300 */
250
,
951
,
70
,
57
,
55
,
59
,
56
,
208
,
206
,
32
,
/* 310 */
575
,
48
,
47
,
5
,
165
,
46
,
45
,
44
,
576
,
35
,
/* 320 */
164
,
93
,
98
,
89
,
97
,
682
,
81
,
750
,
679
,
753
,
/* 330 */
680
,
297
,
681
,
858
,
951
,
282
,
58
,
658
,
301
,
175
,
/* 340 */
850
,
951
,
758
,
323
,
243
,
272
,
175
,
701
,
756
,
58
,
/* 350 */
192
,
305
,
247
,
246
,
951
,
758
,
237
,
238
,
46
,
45
,
/* 360 */
44
,
756
,
235
,
111
,
755
,
303
,
302
,
193
,
954
,
109
,
/* 370 */
114
,
952
,
313
,
3
,
176
,
103
,
113
,
755
,
119
,
122
,
/* 380 */
112
,
183
,
179
,
749
,
746
,
752
,
116
,
181
,
178
,
128
,
/* 390 */
127
,
126
,
125
,
252
,
694
,
704
,
221
,
33
,
66
,
710
,
/* 400 */
24
,
716
,
254
,
142
,
717
,
62
,
778
,
759
,
20
,
63
,
/* 410 */
19
,
19
,
668
,
686
,
274
,
687
,
33
,
67
,
33
,
25
,
/* 420 */
747
,
670
,
276
,
669
,
953
,
62
,
85
,
62
,
195
,
28
,
/* 430 */
64
,
684
,
277
,
685
,
102
,
101
,
69
,
248
,
657
,
683
,
/* 440 */
14
,
13
,
108
,
107
,
1017
,
6
,
761
,
16
,
15
,
121
,
/* 450 */
120
,
138
,
136
,
189
,
196
,
197
,
203
,
204
,
202
,
187
,
/* 460 */
139
,
1016
,
201
,
191
,
224
,
1013
,
1012
,
225
,
304
,
974
,
/* 470 */
41
,
982
,
984
,
999
,
998
,
141
,
967
,
255
,
137
,
257
,
/* 480 */
949
,
145
,
158
,
157
,
947
,
214
,
283
,
159
,
918
,
156
,
/* 490 */
259
,
264
,
152
,
160
,
709
,
863
,
964
,
279
,
148
,
149
,
/* 500 */
280
,
150
,
281
,
284
,
269
,
151
,
263
,
60
,
285
,
39
,
/* 510 */
185
,
36
,
294
,
68
,
65
,
857
,
267
,
265
,
153
,
1071
,
/* 520 */
99
,
261
,
1070
,
1068
,
166
,
258
,
298
,
154
,
1065
,
105
,
/* 530 */
42
,
1064
,
1062
,
167
,
883
,
37
,
34
,
40
,
186
,
846
,
/* 540 */
115
,
844
,
117
,
118
,
842
,
841
,
239
,
177
,
839
,
838
,
/* 550 */
837
,
836
,
835
,
834
,
833
,
180
,
182
,
830
,
828
,
826
,
/* 560 */
824
,
822
,
184
,
314
,
253
,
74
,
77
,
110
,
306
,
260
,
/* 570 */
1000
,
307
,
308
,
309
,
310
,
311
,
312
,
324
,
209
,
798
,
/* 580 */
231
,
241
,
278
,
242
,
797
,
244
,
245
,
796
,
784
,
783
,
/* 590 */
210
,
94
,
862
,
95
,
861
,
205
,
249
,
254
,
689
,
273
,
/* 600 */
8
,
216
,
711
,
75
,
78
,
840
,
714
,
129
,
169
,
884
,
/* 610 */
172
,
168
,
170
,
174
,
171
,
173
,
130
,
832
,
2
,
131
,
/* 620 */
831
,
155
,
132
,
823
,
143
,
144
,
4
,
79
,
262
,
9
,
/* 630 */
26
,
27
,
718
,
146
,
10
,
760
,
7
,
11
,
930
,
21
,
/* 640 */
88
,
762
,
22
,
275
,
30
,
86
,
90
,
91
,
589
,
31
,
/* 650 */
92
,
621
,
617
,
615
,
614
,
613
,
610
,
579
,
96
,
292
,
/* 660 */
33
,
61
,
660
,
659
,
656
,
605
,
100
,
603
,
595
,
601
,
/* 670 */
597
,
599
,
104
,
593
,
591
,
624
,
623
,
106
,
622
,
620
,
/* 680 */
619
,
618
,
616
,
612
,
611
,
62
,
577
,
544
,
134
,
542
,
/* 690 */
802
,
801
,
801
,
135
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
19
4
,
1
,
255
,
1
,
193
,
194
,
0
,
255
,
200
,
9
,
/* 10 */
200
,
9
,
265
,
13
,
14
,
194
,
16
,
17
,
194
,
255
,
/* 20 */
20
,
21
,
25
5
,
23
,
24
,
25
,
26
,
27
,
28
,
25
5
,
/* 30 */
19
4
,
264
,
265
,
33
,
34
,
255
,
255
,
37
,
38
,
39
,
/* 40 */
23
2
,
231
,
232
,
233
,
234
,
264
,
265
,
45
,
46
,
47
,
/* 0 */
19
5
,
1
,
257
,
1
,
194
,
195
,
195
,
257
,
201
,
9
,
/* 10 */
1
,
9
,
267
,
13
,
14
,
204
,
16
,
17
,
9
,
216
,
/* 20 */
20
,
21
,
25
7
,
23
,
24
,
25
,
26
,
27
,
28
,
19
5
,
/* 30 */
19
5
,
266
,
267
,
33
,
34
,
192
,
193
,
37
,
38
,
39
,
/* 40 */
23
3
,
234
,
235
,
236
,
241
,
195
,
201
,
45
,
46
,
47
,
/* 50 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 60 */
58
,
59
,
256
,
214
,
62
,
13
,
14
,
194
,
16
,
17
,
/* 70 */
194
,
235
,
20
,
21
,
238
,
23
,
24
,
25
,
26
,
27
,
/* 80 */
28
,
257
,
261
,
83
,
263
,
33
,
34
,
81
,
239
,
37
,
/* 90 */
38
,
39
,
13
,
14
,
81
,
16
,
17
,
194
,
83
,
20
,
/* 100 */
21
,
1
,
23
,
24
,
25
,
26
,
27
,
28
,
235
,
9
,
/* 110 */
194
,
238
,
33
,
34
,
109
,
86
,
37
,
38
,
39
,
13
,
/* 120 */
14
,
116
,
16
,
17
,
109
,
214
,
20
,
21
,
113
,
23
,
/* 130 */
24
,
25
,
26
,
27
,
28
,
259
,
214
,
261
,
235
,
33
,
/* 140 */
34
,
238
,
214
,
37
,
38
,
39
,
14
,
255
,
16
,
17
,
/* 150 */
239
,
235
,
20
,
21
,
238
,
23
,
24
,
25
,
26
,
27
,
/* 160 */
28
,
239
,
110
,
194
,
194
,
33
,
34
,
239
,
194
,
37
,
/* 170 */
38
,
39
,
203
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
/* 180 */
100
,
101
,
102
,
103
,
104
,
105
,
106
,
107
,
213
,
194
,
/* 190 */
215
,
216
,
217
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
/* 200 */
225
,
226
,
227
,
228
,
16
,
17
,
194
,
255
,
20
,
21
,
/* 210 */
236
,
23
,
24
,
25
,
26
,
27
,
28
,
255
,
194
,
44
,
/* 220 */
237
,
33
,
34
,
201
,
202
,
37
,
38
,
39
,
1
,
2
,
/* 230 */
235
,
261
,
5
,
238
,
7
,
252
,
9
,
62
,
1
,
2
,
/* 240 */
255
,
1
,
5
,
68
,
7
,
194
,
9
,
63
,
64
,
9
,
/* 250 */
75
,
76
,
77
,
69
,
70
,
71
,
72
,
73
,
74
,
235
,
/* 260 */
33
,
34
,
238
,
109
,
37
,
93
,
112
,
95
,
96
,
85
,
/* 270 */
33
,
34
,
100
,
261
,
102
,
103
,
104
,
239
,
106
,
107
,
/* 280 */
68
,
37
,
213
,
199
,
109
,
216
,
217
,
194
,
204
,
238
,
/* 290 */
221
,
116
,
223
,
224
,
225
,
240
,
227
,
228
,
25
,
26
,
/* 300 */
27
,
28
,
255
,
200
,
191
,
192
,
33
,
34
,
253
,
199
,
/* 310 */
37
,
38
,
39
,
138
,
204
,
140
,
63
,
64
,
37
,
38
,
/* 320 */
39
,
146
,
69
,
70
,
68
,
72
,
73
,
74
,
235
,
128
,
/* 330 */
129
,
238
,
194
,
80
,
33
,
34
,
109
,
234
,
37
,
38
,
/* 340 */
39
,
203
,
115
,
78
,
197
,
198
,
109
,
61
,
121
,
109
,
/* 350 */
237
,
86
,
115
,
141
,
5
,
110
,
144
,
145
,
121
,
114
,
/* 360 */
63
,
64
,
15
,
119
,
137
,
252
,
69
,
70
,
71
,
72
,
/* 370 */
73
,
74
,
2
,
110
,
137
,
5
,
194
,
7
,
139
,
9
,
/* 380 */
117
,
255
,
33
,
34
,
1
,
203
,
147
,
148
,
65
,
66
,
/* 390 */
67
,
199
,
255
,
114
,
110
,
109
,
204
,
141
,
114
,
120
,
/* 400 */
144
,
110
,
110
,
33
,
34
,
114
,
114
,
114
,
110
,
110
,
/* 410 */
114
,
255
,
114
,
114
,
5
,
5
,
7
,
7
,
110
,
110
,
/* 420 */
37
,
110
,
114
,
114
,
255
,
114
,
110
,
110
,
135
,
133
,
/* 430 */
114
,
114
,
142
,
143
,
78
,
79
,
142
,
143
,
109
,
5
,
/* 440 */
111
,
7
,
142
,
143
,
142
,
143
,
5
,
239
,
7
,
63
,
/* 450 */
64
,
255
,
255
,
255
,
255
,
255
,
230
,
255
,
255
,
230
,
/* 460 */
230
,
230
,
115
,
230
,
230
,
230
,
194
,
254
,
194
,
194
,
/* 470 */
194
,
194
,
194
,
237
,
194
,
237
,
262
,
262
,
61
,
237
,
/* 480 */
195
,
194
,
241
,
194
,
229
,
115
,
258
,
92
,
121
,
194
,
/* 490 */
258
,
91
,
242
,
244
,
251
,
247
,
250
,
194
,
194
,
194
,
/* 500 */
194
,
194
,
126
,
132
,
194
,
258
,
194
,
194
,
194
,
194
,
/* 510 */
258
,
134
,
194
,
194
,
194
,
194
,
194
,
249
,
194
,
194
,
/* 520 */
194
,
194
,
194
,
131
,
194
,
194
,
194
,
194
,
194
,
194
,
/* 530 */
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
/* 540 */
194
,
130
,
194
,
125
,
194
,
194
,
194
,
194
,
194
,
194
,
/* 550 */
124
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
123
,
/* 560 */
195
,
195
,
122
,
195
,
195
,
136
,
108
,
51
,
88
,
90
,
/* 570 */
195
,
89
,
55
,
87
,
195
,
195
,
81
,
5
,
5
,
195
,
/* 580 */
195
,
200
,
200
,
5
,
149
,
5
,
195
,
149
,
5
,
95
,
/* 590 */
94
,
139
,
117
,
112
,
109
,
196
,
206
,
196
,
210
,
212
,
/* 600 */
211
,
207
,
209
,
205
,
208
,
201
,
118
,
195
,
110
,
196
,
/* 610 */
195
,
197
,
196
,
114
,
195
,
110
,
109
,
243
,
110
,
246
,
/* 620 */
248
,
109
,
1
,
245
,
114
,
110
,
229
,
109
,
109
,
127
,
/* 630 */
127
,
78
,
110
,
109
,
114
,
114
,
109
,
109
,
115
,
109
,
/* 640 */
84
,
112
,
83
,
83
,
113
,
71
,
84
,
9
,
5
,
5
,
/* 650 */
5
,
5
,
5
,
82
,
15
,
78
,
143
,
114
,
16
,
5
,
/* 660 */
5
,
110
,
5
,
5
,
5
,
5
,
5
,
5
,
143
,
143
,
/* 670 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 680 */
5
,
114
,
82
,
61
,
21
,
21
,
60
,
0
,
266
,
266
,
/* 690 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 700 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 710 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 720 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 730 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 740 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 750 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 760 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 770 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 780 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 790 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 800 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 810 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 820 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 830 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 840 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 850 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 860 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 870 */
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
266
,
/* 60 */
58
,
59
,
216
,
258
,
62
,
13
,
14
,
195
,
16
,
17
,
/* 70 */
195
,
237
,
20
,
21
,
240
,
23
,
24
,
25
,
26
,
27
,
/* 80 */
28
,
236
,
239
,
83
,
81
,
33
,
34
,
241
,
238
,
37
,
/* 90 */
38
,
39
,
13
,
14
,
259
,
16
,
17
,
254
,
87
,
20
,
/* 100 */
21
,
257
,
23
,
24
,
25
,
26
,
27
,
28
,
201
,
195
,
/* 110 */
266
,
267
,
33
,
34
,
110
,
195
,
37
,
38
,
39
,
13
,
/* 120 */
14
,
117
,
16
,
17
,
204
,
216
,
20
,
21
,
257
,
23
,
/* 130 */
24
,
25
,
26
,
27
,
28
,
263
,
261
,
265
,
263
,
33
,
/* 140 */
34
,
234
,
68
,
37
,
38
,
39
,
14
,
239
,
16
,
17
,
/* 150 */
241
,
237
,
20
,
21
,
240
,
23
,
24
,
25
,
26
,
27
,
/* 160 */
28
,
200
,
254
,
111
,
195
,
33
,
34
,
206
,
257
,
37
,
/* 170 */
38
,
39
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
101
,
/* 180 */
102
,
103
,
104
,
105
,
106
,
107
,
108
,
215
,
257
,
217
,
/* 190 */
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
/* 200 */
228
,
229
,
230
,
16
,
17
,
44
,
237
,
20
,
21
,
240
,
/* 210 */
23
,
24
,
25
,
26
,
27
,
28
,
142
,
68
,
0
,
145
,
/* 220 */
33
,
34
,
195
,
62
,
37
,
38
,
39
,
1
,
2
,
68
,
/* 230 */
195
,
5
,
242
,
7
,
257
,
9
,
75
,
76
,
77
,
215
,
/* 240 */
1
,
2
,
218
,
219
,
5
,
255
,
7
,
223
,
9
,
225
,
/* 250 */
226
,
227
,
257
,
229
,
230
,
83
,
195
,
241
,
195
,
33
,
/* 260 */
34
,
33
,
34
,
37
,
37
,
37
,
38
,
39
,
65
,
66
,
/* 270 */
67
,
110
,
33
,
34
,
94
,
240
,
96
,
97
,
117
,
202
,
/* 280 */
203
,
101
,
110
,
103
,
104
,
105
,
114
,
107
,
108
,
195
,
/* 290 */
263
,
142
,
129
,
130
,
145
,
146
,
195
,
257
,
237
,
81
,
/* 300 */
139
,
240
,
141
,
25
,
26
,
27
,
28
,
257
,
147
,
195
,
/* 310 */
1
,
33
,
34
,
63
,
64
,
37
,
38
,
39
,
9
,
69
,
/* 320 */
70
,
71
,
72
,
73
,
74
,
2
,
263
,
5
,
5
,
7
,
/* 330 */
7
,
237
,
9
,
200
,
240
,
85
,
110
,
5
,
237
,
206
,
/* 340 */
200
,
240
,
116
,
216
,
140
,
15
,
206
,
120
,
122
,
110
,
/* 350 */
257
,
237
,
148
,
149
,
240
,
116
,
33
,
34
,
37
,
38
,
/* 360 */
39
,
122
,
195
,
78
,
138
,
33
,
34
,
257
,
241
,
63
,
/* 370 */
64
,
204
,
87
,
198
,
199
,
69
,
70
,
138
,
72
,
73
,
/* 380 */
74
,
63
,
64
,
5
,
1
,
7
,
80
,
69
,
70
,
71
,
/* 390 */
72
,
73
,
74
,
111
,
115
,
111
,
61
,
115
,
115
,
111
,
/* 400 */
121
,
111
,
118
,
115
,
111
,
115
,
111
,
111
,
115
,
115
,
/* 410 */
115
,
115
,
111
,
5
,
111
,
7
,
115
,
134
,
115
,
110
,
/* 420 */
37
,
111
,
111
,
111
,
241
,
115
,
115
,
115
,
257
,
110
,
/* 430 */
136
,
5
,
113
,
7
,
143
,
144
,
110
,
195
,
112
,
116
,
/* 440 */
143
,
144
,
143
,
144
,
232
,
110
,
116
,
143
,
144
,
78
,
/* 450 */
79
,
63
,
64
,
257
,
257
,
257
,
257
,
257
,
257
,
257
,
/* 460 */
195
,
232
,
257
,
257
,
232
,
232
,
232
,
232
,
232
,
195
,
/* 470 */
256
,
195
,
195
,
264
,
264
,
195
,
239
,
239
,
61
,
260
,
/* 480 */
239
,
195
,
195
,
243
,
195
,
260
,
86
,
195
,
231
,
244
,
/* 490 */
260
,
260
,
248
,
195
,
122
,
195
,
253
,
195
,
252
,
251
,
/* 500 */
195
,
250
,
195
,
195
,
127
,
249
,
125
,
132
,
195
,
195
,
/* 510 */
195
,
195
,
195
,
133
,
135
,
195
,
131
,
126
,
247
,
195
,
/* 520 */
195
,
124
,
195
,
195
,
195
,
123
,
195
,
246
,
195
,
195
,
/* 530 */
137
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
/* 540 */
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
/* 550 */
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
195
,
/* 560 */
195
,
195
,
195
,
109
,
196
,
196
,
196
,
93
,
92
,
196
,
/* 570 */
196
,
51
,
89
,
91
,
55
,
90
,
88
,
81
,
196
,
5
,
/* 580 */
196
,
150
,
196
,
5
,
5
,
150
,
5
,
5
,
96
,
95
,
/* 590 */
196
,
201
,
205
,
201
,
205
,
196
,
140
,
118
,
111
,
113
,
/* 600 */
110
,
1
,
111
,
119
,
115
,
196
,
111
,
197
,
212
,
214
,
/* 610 */
209
,
213
,
208
,
207
,
211
,
210
,
197
,
196
,
202
,
197
,
/* 620 */
196
,
245
,
197
,
196
,
110
,
115
,
198
,
110
,
110
,
128
,
/* 630 */
115
,
115
,
111
,
110
,
128
,
111
,
110
,
110
,
231
,
110
,
/* 640 */
78
,
116
,
110
,
113
,
84
,
114
,
83
,
71
,
5
,
84
,
/* 650 */
83
,
9
,
5
,
5
,
5
,
5
,
5
,
82
,
78
,
15
,
/* 660 */
115
,
16
,
5
,
5
,
111
,
5
,
144
,
5
,
5
,
5
,
/* 670 */
5
,
5
,
144
,
5
,
5
,
5
,
5
,
144
,
5
,
5
,
/* 680 */
5
,
5
,
5
,
5
,
5
,
115
,
82
,
61
,
21
,
60
,
/* 690 */
0
,
268
,
268
,
21
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 700 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 710 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 720 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 730 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 740 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 750 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 760 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 770 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 780 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 790 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 800 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 810 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 820 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 830 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 840 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 850 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 860 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 870 */
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 880 */
268
,
268
,
268
,
268
,
268
,
268
,
};
#define YY_SHIFT_COUNT (32
6
)
#define YY_SHIFT_COUNT (32
9
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (6
87
)
#define YY_SHIFT_MAX (6
90
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
1
75
,
80
,
80
,
172
,
172
,
13
,
227
,
237
,
100
,
100
,
/* 10 */
100
,
100
,
100
,
100
,
100
,
100
,
100
,
0
,
2
,
237
,
/* 20 */
3
70
,
370
,
370
,
370
,
240
,
5
,
100
,
100
,
100
,
6
,
/* 30 */
100
,
100
,
100
,
100
,
265
,
13
,
29
,
29
,
688
,
688
,
/* 40 */
6
88
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 50 */
23
7
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
237
,
/* 60 */
23
7
,
370
,
370
,
349
,
349
,
349
,
349
,
349
,
349
,
349
,
/* 70 */
100
,
100
,
100
,
244
,
100
,
5
,
5
,
100
,
100
,
100
,
/* 80 */
201
,
201
,
279
,
5
,
100
,
100
,
100
,
100
,
100
,
100
,
/* 90 */
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
/* 100 */
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
/* 110 */
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
/* 120 */
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
/* 130 */
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
100
,
417
,
/* 140 */
417
,
417
,
3
67
,
367
,
367
,
417
,
367
,
417
,
371
,
377
,
/* 150 */
3
92
,
376
,
411
,
418
,
426
,
436
,
440
,
429
,
417
,
417
,
/* 160 */
417
,
4
58
,
13
,
13
,
417
,
417
,
395
,
400
,
516
,
480
,
/* 170 */
479
,
517
,
482
,
486
,
458
,
417
,
495
,
495
,
417
,
495
,
/* 180 */
417
,
49
5
,
417
,
688
,
688
,
52
,
79
,
106
,
79
,
79
,
/* 190 */
132
,
188
,
273
,
273
,
273
,
273
,
184
,
253
,
297
,
301
,
/* 200 */
3
01
,
301
,
301
,
212
,
239
,
281
,
281
,
15
,
256
,
323
,
/* 210 */
245
,
263
,
284
,
291
,
292
,
298
,
299
,
409
,
410
,
383
,
/* 220 */
286
,
347
,
293
,
296
,
308
,
309
,
311
,
316
,
317
,
154
,
/* 230 */
290
,
294
,
300
,
329
,
302
,
434
,
441
,
356
,
386
,
572
,
/* 240 */
435
,
573
,
578
,
438
,
580
,
583
,
494
,
496
,
452
,
475
,
/* 250 */
4
81
,
485
,
488
,
498
,
499
,
505
,
507
,
508
,
510
,
512
,
/* 260 */
621
,
518
,
515
,
519
,
520
,
502
,
521
,
503
,
522
,
524
,
/* 270 */
52
3
,
527
,
481
,
528
,
529
,
530
,
531
,
553
,
556
,
559
,
/* 280 */
5
74
,
562
,
560
,
638
,
643
,
644
,
645
,
646
,
647
,
571
,
/* 290 */
6
39
,
577
,
513
,
543
,
543
,
642
,
525
,
526
,
543
,
654
,
/* 300 */
655
,
551
,
543
,
657
,
658
,
659
,
660
,
661
,
662
,
665
,
/* 310 */
66
6
,
667
,
668
,
669
,
670
,
671
,
672
,
673
,
674
,
675
,
/* 320 */
567
,
600
,
663
,
664
,
622
,
626
,
687
,
/* 0 */
1
61
,
78
,
78
,
180
,
180
,
3
,
226
,
239
,
9
,
9
,
/* 10 */
9
,
9
,
9
,
9
,
9
,
9
,
9
,
0
,
2
,
239
,
/* 20 */
3
23
,
323
,
323
,
323
,
309
,
4
,
9
,
9
,
9
,
218
,
/* 30 */
9
,
9
,
9
,
9
,
285
,
3
,
11
,
11
,
694
,
694
,
/* 40 */
6
94
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
/* 50 */
23
9
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
239
,
/* 60 */
23
9
,
323
,
323
,
332
,
332
,
332
,
332
,
332
,
332
,
332
,
/* 70 */
9
,
9
,
9
,
227
,
9
,
4
,
4
,
9
,
9
,
9
,
/* 80 */
163
,
163
,
279
,
4
,
9
,
9
,
9
,
9
,
9
,
9
,
/* 90 */
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
/* 100 */
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
/* 110 */
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
/* 120 */
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
/* 130 */
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
9
,
417
,
/* 140 */
417
,
417
,
3
72
,
372
,
372
,
417
,
372
,
417
,
380
,
379
,
/* 150 */
3
75
,
377
,
385
,
391
,
381
,
397
,
402
,
393
,
417
,
417
,
/* 160 */
417
,
4
00
,
400
,
454
,
3
,
3
,
417
,
417
,
474
,
476
,
/* 170 */
520
,
483
,
482
,
519
,
485
,
488
,
454
,
417
,
496
,
496
,
/* 180 */
417
,
49
6
,
417
,
496
,
417
,
694
,
694
,
52
,
79
,
106
,
/* 190 */
79
,
79
,
132
,
187
,
278
,
278
,
278
,
278
,
250
,
306
,
/* 200 */
3
18
,
228
,
228
,
228
,
228
,
149
,
204
,
321
,
321
,
172
,
/* 210 */
74
,
203
,
282
,
284
,
288
,
290
,
293
,
295
,
296
,
322
,
/* 220 */
378
,
383
,
335
,
330
,
294
,
283
,
301
,
303
,
310
,
311
,
/* 230 */
312
,
319
,
291
,
297
,
299
,
326
,
304
,
408
,
426
,
371
,
/* 240 */
388
,
574
,
431
,
578
,
579
,
435
,
581
,
582
,
492
,
494
,
/* 250 */
4
56
,
479
,
486
,
490
,
484
,
487
,
489
,
491
,
514
,
495
,
/* 260 */
510
,
517
,
600
,
518
,
521
,
523
,
515
,
501
,
516
,
506
,
/* 270 */
52
4
,
526
,
525
,
527
,
486
,
529
,
530
,
532
,
531
,
562
,
/* 280 */
5
60
,
563
,
576
,
643
,
565
,
567
,
642
,
647
,
648
,
649
,
/* 290 */
6
50
,
651
,
575
,
644
,
580
,
522
,
545
,
545
,
645
,
528
,
/* 300 */
533
,
545
,
657
,
658
,
553
,
545
,
660
,
662
,
663
,
664
,
/* 310 */
66
5
,
666
,
668
,
669
,
670
,
671
,
673
,
674
,
675
,
676
,
/* 320 */
677
,
678
,
679
,
570
,
604
,
667
,
672
,
626
,
629
,
690
,
};
#define YY_REDUCE_COUNT (18
4
)
#define YY_REDUCE_MIN (-25
3
)
#define YY_REDUCE_MAX (4
19
)
#define YY_REDUCE_COUNT (18
6
)
#define YY_REDUCE_MIN (-25
5
)
#define YY_REDUCE_MAX (4
28
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
113
,
-
25
,
-
25
,
69
,
69
,
-
190
,
-
233
,
-
219
,
-
164
,
-
179
,
/* 10 */
-
12
4
,
-
127
,
-
97
,
-
84
,
-
5
,
24
,
93
,
-
194
,
-
189
,
-
253
,
/* 20 */
-
1
51
,
-
89
,
-
78
,
-
72
,
-
176
,
-
17
,
-
30
,
12
,
-
26
,
103
,
/* 30 */
-
31
,
138
,
182
,
51
,
84
,
-
192
,
110
,
192
,
55
,
22
,
/* 40 */
1
47
,
-
248
,
-
236
,
-
226
,
-
220
,
-
108
,
-
48
,
-
38
,
-
15
,
47
,
/* 50 */
1
26
,
137
,
156
,
169
,
196
,
197
,
198
,
199
,
200
,
202
,
/* 60 */
20
3
,
38
,
208
,
226
,
229
,
230
,
231
,
233
,
234
,
235
,
/* 70 */
2
72
,
274
,
275
,
213
,
276
,
236
,
238
,
277
,
278
,
280
,
/* 80 */
2
14
,
215
,
241
,
242
,
287
,
289
,
295
,
303
,
304
,
305
,
/* 90 */
30
6
,
307
,
310
,
312
,
313
,
314
,
315
,
318
,
319
,
320
,
/* 100 */
32
1
,
322
,
324
,
325
,
326
,
327
,
328
,
330
,
331
,
332
,
/* 110 */
33
3
,
334
,
335
,
336
,
337
,
338
,
339
,
340
,
341
,
342
,
/* 120 */
34
3
,
344
,
345
,
346
,
348
,
350
,
351
,
352
,
353
,
354
,
/* 130 */
35
5
,
357
,
358
,
359
,
360
,
361
,
362
,
363
,
364
,
285
,
/* 140 */
36
5
,
366
,
228
,
232
,
247
,
368
,
252
,
369
,
243
,
246
,
/* 150 */
2
68
,
372
,
248
,
373
,
378
,
249
,
374
,
250
,
375
,
379
,
/* 160 */
38
0
,
255
,
381
,
382
,
384
,
385
,
387
,
389
,
388
,
390
,
/* 170 */
39
3
,
394
,
396
,
398
,
397
,
391
,
399
,
401
,
412
,
413
,
/* 180 */
4
15
,
416
,
419
,
404
,
414
,
/* 0 */
-
157
,
-
28
,
-
28
,
24
,
24
,
-
193
,
-
235
,
-
156
,
-
166
,
-
128
,
/* 10 */
-
12
5
,
-
86
,
-
31
,
61
,
94
,
101
,
114
,
-
195
,
-
190
,
-
255
,
/* 20 */
-
1
97
,
-
154
,
-
91
,
127
,
-
165
,
-
92
,
27
,
63
,
-
150
,
-
155
,
/* 30 */
-
189
,
-
80
,
167
,
35
,
-
39
,
-
93
,
133
,
140
,
-
10
,
77
,
/* 40 */
1
75
,
-
250
,
-
129
,
-
89
,
-
69
,
-
23
,
-
5
,
40
,
50
,
93
,
/* 50 */
1
10
,
171
,
196
,
197
,
198
,
199
,
200
,
201
,
202
,
205
,
/* 60 */
20
6
,
16
,
183
,
212
,
229
,
232
,
233
,
234
,
235
,
236
,
/* 70 */
2
42
,
265
,
274
,
214
,
276
,
237
,
238
,
277
,
280
,
286
,
/* 80 */
2
09
,
210
,
240
,
241
,
287
,
289
,
292
,
298
,
300
,
302
,
/* 90 */
30
5
,
307
,
308
,
313
,
314
,
315
,
316
,
317
,
320
,
324
,
/* 100 */
32
5
,
327
,
328
,
329
,
331
,
333
,
334
,
336
,
337
,
338
,
/* 110 */
33
9
,
340
,
341
,
342
,
343
,
344
,
345
,
346
,
347
,
348
,
/* 120 */
34
9
,
350
,
351
,
352
,
353
,
354
,
355
,
356
,
357
,
358
,
/* 130 */
35
9
,
360
,
361
,
362
,
363
,
364
,
365
,
366
,
367
,
368
,
/* 140 */
36
9
,
370
,
219
,
225
,
230
,
373
,
231
,
374
,
243
,
246
,
/* 150 */
2
48
,
251
,
256
,
244
,
271
,
281
,
376
,
245
,
382
,
384
,
/* 160 */
38
6
,
387
,
389
,
257
,
390
,
392
,
394
,
399
,
395
,
398
,
/* 170 */
39
6
,
404
,
403
,
401
,
405
,
406
,
407
,
409
,
410
,
419
,
/* 180 */
4
21
,
422
,
424
,
425
,
427
,
416
,
428
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
79
3
,
909
,
853
,
921
,
841
,
850
,
1050
,
1050
,
793
,
793
,
/* 10 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
968
,
813
,
1050
,
/* 20 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
850
,
/* 30 */
79
3
,
793
,
793
,
793
,
858
,
850
,
858
,
858
,
963
,
893
,
/* 40 */
91
1
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 50 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 60 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 70 */
79
3
,
793
,
793
,
970
,
973
,
793
,
793
,
975
,
793
,
793
,
/* 80 */
995
,
995
,
961
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 90 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 100 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 110 */
79
3
,
793
,
793
,
793
,
793
,
839
,
793
,
837
,
793
,
793
,
/* 120 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 130 */
79
3
,
793
,
793
,
823
,
793
,
793
,
793
,
793
,
793
,
815
,
/* 140 */
8
15
,
815
,
793
,
793
,
793
,
815
,
793
,
815
,
1002
,
1006
,
/* 150 */
100
0
,
988
,
996
,
987
,
983
,
981
,
980
,
1010
,
815
,
815
,
/* 160 */
8
15
,
854
,
850
,
850
,
815
,
815
,
874
,
872
,
870
,
862
,
/* 170 */
8
68
,
864
,
866
,
860
,
842
,
815
,
848
,
848
,
815
,
848
,
/* 180 */
8
15
,
848
,
815
,
893
,
911
,
793
,
1011
,
793
,
1049
,
1001
,
/* 190 */
10
39
,
1038
,
1045
,
1037
,
1036
,
1035
,
793
,
793
,
793
,
1031
,
/* 200 */
1032
,
1034
,
1033
,
793
,
793
,
1041
,
1040
,
793
,
793
,
793
,
/* 210 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 220 */
1013
,
793
,
1007
,
1003
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 230 */
79
3
,
793
,
793
,
923
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 240 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
960
,
/* 250 */
79
3
,
793
,
793
,
793
,
971
,
793
,
793
,
793
,
793
,
793
,
/* 260 */
79
3
,
793
,
793
,
793
,
997
,
793
,
989
,
793
,
793
,
793
,
/* 270 */
79
3
,
793
,
935
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 280 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 290 */
79
3
,
793
,
793
,
1061
,
1059
,
793
,
793
,
793
,
1055
,
793
,
/* 300 */
79
3
,
793
,
1053
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 310 */
79
3
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
793
,
/* 320 */
877
,
793
,
821
,
819
,
793
,
811
,
793
,
/* 0 */
79
9
,
917
,
859
,
929
,
847
,
856
,
1058
,
1058
,
799
,
799
,
/* 10 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
976
,
819
,
1058
,
/* 20 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
856
,
/* 30 */
79
9
,
799
,
799
,
799
,
866
,
856
,
866
,
866
,
971
,
901
,
/* 40 */
91
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 50 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 60 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 70 */
79
9
,
799
,
799
,
978
,
981
,
799
,
799
,
983
,
799
,
799
,
/* 80 */
1003
,
1003
,
969
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 90 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 100 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 110 */
79
9
,
799
,
799
,
799
,
799
,
845
,
799
,
843
,
799
,
799
,
/* 120 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 130 */
79
9
,
799
,
799
,
829
,
799
,
799
,
799
,
799
,
799
,
821
,
/* 140 */
8
21
,
821
,
799
,
799
,
799
,
821
,
799
,
821
,
1010
,
1014
,
/* 150 */
100
8
,
996
,
1004
,
995
,
991
,
989
,
988
,
1018
,
821
,
821
,
/* 160 */
8
21
,
864
,
864
,
860
,
856
,
856
,
821
,
821
,
882
,
880
,
/* 170 */
8
78
,
870
,
876
,
872
,
874
,
868
,
848
,
821
,
854
,
854
,
/* 180 */
8
21
,
854
,
821
,
854
,
821
,
901
,
919
,
799
,
1019
,
799
,
/* 190 */
10
57
,
1009
,
1047
,
1046
,
1053
,
1045
,
1044
,
1043
,
799
,
799
,
/* 200 */
799
,
1039
,
1040
,
1042
,
1041
,
799
,
799
,
1049
,
1048
,
799
,
/* 210 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 220 */
799
,
799
,
1021
,
799
,
1015
,
1011
,
799
,
799
,
799
,
799
,
/* 230 */
79
9
,
799
,
799
,
799
,
799
,
931
,
799
,
799
,
799
,
799
,
/* 240 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 250 */
79
9
,
968
,
799
,
799
,
799
,
799
,
979
,
799
,
799
,
799
,
/* 260 */
79
9
,
799
,
799
,
799
,
799
,
799
,
1005
,
799
,
997
,
799
,
/* 270 */
79
9
,
799
,
799
,
799
,
943
,
799
,
799
,
799
,
799
,
799
,
/* 280 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 290 */
79
9
,
799
,
799
,
799
,
799
,
799
,
1069
,
1067
,
799
,
799
,
/* 300 */
79
9
,
1063
,
799
,
799
,
799
,
1061
,
799
,
799
,
799
,
799
,
/* 310 */
79
9
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
799
,
/* 320 */
799
,
799
,
799
,
885
,
799
,
827
,
825
,
799
,
817
,
799
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -578,6 +580,7 @@ static const YYCODETYPE yyFallback[] = {
0
,
/* AS => nothing */
0
,
/* OUTPUTTYPE => nothing */
0
,
/* AGGREGATE => nothing */
0
,
/* BUFSIZE => nothing */
0
,
/* PPS => nothing */
0
,
/* TSERIES => nothing */
0
,
/* DBS => nothing */
...
...
@@ -856,186 +859,188 @@ static const char *const yyTokenName[] = {
/* 83 */
"AS"
,
/* 84 */
"OUTPUTTYPE"
,
/* 85 */
"AGGREGATE"
,
/* 86 */
"PPS"
,
/* 87 */
"TSERIES"
,
/* 88 */
"DBS"
,
/* 89 */
"STORAGE"
,
/* 90 */
"QTIME"
,
/* 91 */
"CONNS"
,
/* 92 */
"STATE"
,
/* 93 */
"KEEP"
,
/* 94 */
"CACHE"
,
/* 95 */
"REPLICA"
,
/* 96 */
"QUORUM"
,
/* 97 */
"DAYS"
,
/* 98 */
"MINROWS"
,
/* 99 */
"MAXROWS"
,
/* 100 */
"BLOCKS"
,
/* 101 */
"CTIME"
,
/* 102 */
"WAL"
,
/* 103 */
"FSYNC"
,
/* 104 */
"COMP"
,
/* 105 */
"PRECISION"
,
/* 106 */
"UPDATE"
,
/* 107 */
"CACHELAST"
,
/* 108 */
"PARTITIONS"
,
/* 109 */
"LP"
,
/* 110 */
"RP"
,
/* 111 */
"UNSIGNED"
,
/* 112 */
"TAGS"
,
/* 113 */
"USING"
,
/* 114 */
"COMMA"
,
/* 115 */
"NULL"
,
/* 116 */
"SELECT"
,
/* 117 */
"UNION"
,
/* 118 */
"ALL"
,
/* 119 */
"DISTINCT"
,
/* 120 */
"FROM"
,
/* 121 */
"VARIABLE"
,
/* 122 */
"INTERVAL"
,
/* 123 */
"SESSION"
,
/* 124 */
"FILL"
,
/* 125 */
"SLIDING"
,
/* 126 */
"ORDER"
,
/* 127 */
"BY"
,
/* 128 */
"ASC"
,
/* 129 */
"DESC"
,
/* 130 */
"GROUP"
,
/* 131 */
"HAVING"
,
/* 132 */
"LIMIT"
,
/* 133 */
"OFFSET"
,
/* 134 */
"SLIMIT"
,
/* 135 */
"SOFFSET"
,
/* 136 */
"WHERE"
,
/* 137 */
"NOW"
,
/* 138 */
"RESET"
,
/* 139 */
"QUERY"
,
/* 140 */
"SYNCDB"
,
/* 141 */
"ADD"
,
/* 142 */
"COLUMN"
,
/* 143 */
"TAG"
,
/* 144 */
"CHANGE"
,
/* 145 */
"SET"
,
/* 146 */
"KILL"
,
/* 147 */
"CONNECTION"
,
/* 148 */
"STREAM"
,
/* 149 */
"COLON"
,
/* 150 */
"ABORT"
,
/* 151 */
"AFTER"
,
/* 152 */
"ATTACH"
,
/* 153 */
"BEFORE"
,
/* 154 */
"BEGIN"
,
/* 155 */
"CASCADE"
,
/* 156 */
"CLUSTER"
,
/* 157 */
"CONFLICT"
,
/* 158 */
"COPY"
,
/* 159 */
"DEFERRED"
,
/* 160 */
"DELIMITERS"
,
/* 161 */
"DETACH"
,
/* 162 */
"EACH"
,
/* 163 */
"END"
,
/* 164 */
"EXPLAIN"
,
/* 165 */
"FAIL"
,
/* 166 */
"FOR"
,
/* 167 */
"IGNORE"
,
/* 168 */
"IMMEDIATE"
,
/* 169 */
"INITIALLY"
,
/* 170 */
"INSTEAD"
,
/* 171 */
"MATCH"
,
/* 172 */
"KEY"
,
/* 173 */
"OF"
,
/* 174 */
"RAISE"
,
/* 175 */
"REPLACE"
,
/* 176 */
"RESTRICT"
,
/* 177 */
"ROW"
,
/* 178 */
"STATEMENT"
,
/* 179 */
"TRIGGER"
,
/* 180 */
"VIEW"
,
/* 181 */
"SEMI"
,
/* 182 */
"NONE"
,
/* 183 */
"PREV"
,
/* 184 */
"LINEAR"
,
/* 185 */
"IMPORT"
,
/* 186 */
"TBNAME"
,
/* 187 */
"JOIN"
,
/* 188 */
"INSERT"
,
/* 189 */
"INTO"
,
/* 190 */
"VALUES"
,
/* 191 */
"program"
,
/* 192 */
"cmd"
,
/* 193 */
"dbPrefix"
,
/* 194 */
"ids"
,
/* 195 */
"cpxName"
,
/* 196 */
"ifexists"
,
/* 197 */
"alter_db_optr"
,
/* 198 */
"alter_topic_optr"
,
/* 199 */
"acct_optr"
,
/* 200 */
"ifnotexists"
,
/* 201 */
"db_optr"
,
/* 202 */
"topic_optr"
,
/* 203 */
"typename"
,
/* 204 */
"pps"
,
/* 205 */
"tseries"
,
/* 206 */
"dbs"
,
/* 207 */
"streams"
,
/* 208 */
"storage"
,
/* 209 */
"qtime"
,
/* 210 */
"users"
,
/* 211 */
"conns"
,
/* 212 */
"state"
,
/* 213 */
"keep"
,
/* 214 */
"tagitemlist"
,
/* 215 */
"cache"
,
/* 216 */
"replica"
,
/* 217 */
"quorum"
,
/* 218 */
"days"
,
/* 219 */
"minrows"
,
/* 220 */
"maxrows"
,
/* 221 */
"blocks"
,
/* 222 */
"ctime"
,
/* 223 */
"wal"
,
/* 224 */
"fsync"
,
/* 225 */
"comp"
,
/* 226 */
"prec"
,
/* 227 */
"update"
,
/* 228 */
"cachelast"
,
/* 229 */
"partitions"
,
/* 230 */
"signed"
,
/* 231 */
"create_table_args"
,
/* 232 */
"create_stable_args"
,
/* 233 */
"create_table_list"
,
/* 234 */
"create_from_stable"
,
/* 235 */
"columnlist"
,
/* 236 */
"tagNamelist"
,
/* 237 */
"select"
,
/* 238 */
"column"
,
/* 239 */
"tagitem"
,
/* 240 */
"selcollist"
,
/* 241 */
"from"
,
/* 242 */
"where_opt"
,
/* 243 */
"interval_opt"
,
/* 244 */
"session_option"
,
/* 245 */
"fill_opt"
,
/* 246 */
"sliding_opt"
,
/* 247 */
"groupby_opt"
,
/* 248 */
"orderby_opt"
,
/* 249 */
"having_opt"
,
/* 250 */
"slimit_opt"
,
/* 251 */
"limit_opt"
,
/* 252 */
"union"
,
/* 253 */
"sclp"
,
/* 254 */
"distinct"
,
/* 255 */
"expr"
,
/* 256 */
"as"
,
/* 257 */
"tablelist"
,
/* 258 */
"tmvar"
,
/* 259 */
"sortlist"
,
/* 260 */
"sortitem"
,
/* 261 */
"item"
,
/* 262 */
"sortorder"
,
/* 263 */
"grouplist"
,
/* 264 */
"exprlist"
,
/* 265 */
"expritem"
,
/* 86 */
"BUFSIZE"
,
/* 87 */
"PPS"
,
/* 88 */
"TSERIES"
,
/* 89 */
"DBS"
,
/* 90 */
"STORAGE"
,
/* 91 */
"QTIME"
,
/* 92 */
"CONNS"
,
/* 93 */
"STATE"
,
/* 94 */
"KEEP"
,
/* 95 */
"CACHE"
,
/* 96 */
"REPLICA"
,
/* 97 */
"QUORUM"
,
/* 98 */
"DAYS"
,
/* 99 */
"MINROWS"
,
/* 100 */
"MAXROWS"
,
/* 101 */
"BLOCKS"
,
/* 102 */
"CTIME"
,
/* 103 */
"WAL"
,
/* 104 */
"FSYNC"
,
/* 105 */
"COMP"
,
/* 106 */
"PRECISION"
,
/* 107 */
"UPDATE"
,
/* 108 */
"CACHELAST"
,
/* 109 */
"PARTITIONS"
,
/* 110 */
"LP"
,
/* 111 */
"RP"
,
/* 112 */
"UNSIGNED"
,
/* 113 */
"TAGS"
,
/* 114 */
"USING"
,
/* 115 */
"COMMA"
,
/* 116 */
"NULL"
,
/* 117 */
"SELECT"
,
/* 118 */
"UNION"
,
/* 119 */
"ALL"
,
/* 120 */
"DISTINCT"
,
/* 121 */
"FROM"
,
/* 122 */
"VARIABLE"
,
/* 123 */
"INTERVAL"
,
/* 124 */
"SESSION"
,
/* 125 */
"FILL"
,
/* 126 */
"SLIDING"
,
/* 127 */
"ORDER"
,
/* 128 */
"BY"
,
/* 129 */
"ASC"
,
/* 130 */
"DESC"
,
/* 131 */
"GROUP"
,
/* 132 */
"HAVING"
,
/* 133 */
"LIMIT"
,
/* 134 */
"OFFSET"
,
/* 135 */
"SLIMIT"
,
/* 136 */
"SOFFSET"
,
/* 137 */
"WHERE"
,
/* 138 */
"NOW"
,
/* 139 */
"RESET"
,
/* 140 */
"QUERY"
,
/* 141 */
"SYNCDB"
,
/* 142 */
"ADD"
,
/* 143 */
"COLUMN"
,
/* 144 */
"TAG"
,
/* 145 */
"CHANGE"
,
/* 146 */
"SET"
,
/* 147 */
"KILL"
,
/* 148 */
"CONNECTION"
,
/* 149 */
"STREAM"
,
/* 150 */
"COLON"
,
/* 151 */
"ABORT"
,
/* 152 */
"AFTER"
,
/* 153 */
"ATTACH"
,
/* 154 */
"BEFORE"
,
/* 155 */
"BEGIN"
,
/* 156 */
"CASCADE"
,
/* 157 */
"CLUSTER"
,
/* 158 */
"CONFLICT"
,
/* 159 */
"COPY"
,
/* 160 */
"DEFERRED"
,
/* 161 */
"DELIMITERS"
,
/* 162 */
"DETACH"
,
/* 163 */
"EACH"
,
/* 164 */
"END"
,
/* 165 */
"EXPLAIN"
,
/* 166 */
"FAIL"
,
/* 167 */
"FOR"
,
/* 168 */
"IGNORE"
,
/* 169 */
"IMMEDIATE"
,
/* 170 */
"INITIALLY"
,
/* 171 */
"INSTEAD"
,
/* 172 */
"MATCH"
,
/* 173 */
"KEY"
,
/* 174 */
"OF"
,
/* 175 */
"RAISE"
,
/* 176 */
"REPLACE"
,
/* 177 */
"RESTRICT"
,
/* 178 */
"ROW"
,
/* 179 */
"STATEMENT"
,
/* 180 */
"TRIGGER"
,
/* 181 */
"VIEW"
,
/* 182 */
"SEMI"
,
/* 183 */
"NONE"
,
/* 184 */
"PREV"
,
/* 185 */
"LINEAR"
,
/* 186 */
"IMPORT"
,
/* 187 */
"TBNAME"
,
/* 188 */
"JOIN"
,
/* 189 */
"INSERT"
,
/* 190 */
"INTO"
,
/* 191 */
"VALUES"
,
/* 192 */
"program"
,
/* 193 */
"cmd"
,
/* 194 */
"dbPrefix"
,
/* 195 */
"ids"
,
/* 196 */
"cpxName"
,
/* 197 */
"ifexists"
,
/* 198 */
"alter_db_optr"
,
/* 199 */
"alter_topic_optr"
,
/* 200 */
"acct_optr"
,
/* 201 */
"ifnotexists"
,
/* 202 */
"db_optr"
,
/* 203 */
"topic_optr"
,
/* 204 */
"typename"
,
/* 205 */
"bufsize"
,
/* 206 */
"pps"
,
/* 207 */
"tseries"
,
/* 208 */
"dbs"
,
/* 209 */
"streams"
,
/* 210 */
"storage"
,
/* 211 */
"qtime"
,
/* 212 */
"users"
,
/* 213 */
"conns"
,
/* 214 */
"state"
,
/* 215 */
"keep"
,
/* 216 */
"tagitemlist"
,
/* 217 */
"cache"
,
/* 218 */
"replica"
,
/* 219 */
"quorum"
,
/* 220 */
"days"
,
/* 221 */
"minrows"
,
/* 222 */
"maxrows"
,
/* 223 */
"blocks"
,
/* 224 */
"ctime"
,
/* 225 */
"wal"
,
/* 226 */
"fsync"
,
/* 227 */
"comp"
,
/* 228 */
"prec"
,
/* 229 */
"update"
,
/* 230 */
"cachelast"
,
/* 231 */
"partitions"
,
/* 232 */
"signed"
,
/* 233 */
"create_table_args"
,
/* 234 */
"create_stable_args"
,
/* 235 */
"create_table_list"
,
/* 236 */
"create_from_stable"
,
/* 237 */
"columnlist"
,
/* 238 */
"tagNamelist"
,
/* 239 */
"select"
,
/* 240 */
"column"
,
/* 241 */
"tagitem"
,
/* 242 */
"selcollist"
,
/* 243 */
"from"
,
/* 244 */
"where_opt"
,
/* 245 */
"interval_opt"
,
/* 246 */
"session_option"
,
/* 247 */
"fill_opt"
,
/* 248 */
"sliding_opt"
,
/* 249 */
"groupby_opt"
,
/* 250 */
"orderby_opt"
,
/* 251 */
"having_opt"
,
/* 252 */
"slimit_opt"
,
/* 253 */
"limit_opt"
,
/* 254 */
"union"
,
/* 255 */
"sclp"
,
/* 256 */
"distinct"
,
/* 257 */
"expr"
,
/* 258 */
"as"
,
/* 259 */
"tablelist"
,
/* 260 */
"tmvar"
,
/* 261 */
"sortlist"
,
/* 262 */
"sortitem"
,
/* 263 */
"item"
,
/* 264 */
"sortorder"
,
/* 265 */
"grouplist"
,
/* 266 */
"exprlist"
,
/* 267 */
"expritem"
,
};
#endif
/* defined(YYCOVERAGE) || !defined(NDEBUG) */
...
...
@@ -1102,218 +1107,220 @@ static const char *const yyRuleName[] = {
/* 56 */
"cmd ::= CREATE ACCOUNT ids PASS ids acct_optr"
,
/* 57 */
"cmd ::= CREATE DATABASE ifnotexists ids db_optr"
,
/* 58 */
"cmd ::= CREATE TOPIC ifnotexists ids topic_optr"
,
/* 59 */
"cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename"
,
/* 60 */
"cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename"
,
/* 59 */
"cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename
bufsize
"
,
/* 60 */
"cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename
bufsize
"
,
/* 61 */
"cmd ::= CREATE USER ids PASS ids"
,
/* 62 */
"pps ::="
,
/* 63 */
"pps ::= PPS INTEGER"
,
/* 64 */
"tseries ::="
,
/* 65 */
"tseries ::= TSERIES INTEGER"
,
/* 66 */
"dbs ::="
,
/* 67 */
"dbs ::= DBS INTEGER"
,
/* 68 */
"streams ::="
,
/* 69 */
"streams ::= STREAMS INTEGER"
,
/* 70 */
"storage ::="
,
/* 71 */
"storage ::= STORAGE INTEGER"
,
/* 72 */
"qtime ::="
,
/* 73 */
"qtime ::= QTIME INTEGER"
,
/* 74 */
"users ::="
,
/* 75 */
"users ::= USERS INTEGER"
,
/* 76 */
"conns ::="
,
/* 77 */
"conns ::= CONNS INTEGER"
,
/* 78 */
"state ::="
,
/* 79 */
"state ::= STATE ids"
,
/* 80 */
"acct_optr ::= pps tseries storage streams qtime dbs users conns state"
,
/* 81 */
"keep ::= KEEP tagitemlist"
,
/* 82 */
"cache ::= CACHE INTEGER"
,
/* 83 */
"replica ::= REPLICA INTEGER"
,
/* 84 */
"quorum ::= QUORUM INTEGER"
,
/* 85 */
"days ::= DAYS INTEGER"
,
/* 86 */
"minrows ::= MINROWS INTEGER"
,
/* 87 */
"maxrows ::= MAXROWS INTEGER"
,
/* 88 */
"blocks ::= BLOCKS INTEGER"
,
/* 89 */
"ctime ::= CTIME INTEGER"
,
/* 90 */
"wal ::= WAL INTEGER"
,
/* 91 */
"fsync ::= FSYNC INTEGER"
,
/* 92 */
"comp ::= COMP INTEGER"
,
/* 93 */
"prec ::= PRECISION STRING"
,
/* 94 */
"update ::= UPDATE INTEGER"
,
/* 95 */
"cachelast ::= CACHELAST INTEGER"
,
/* 96 */
"partitions ::= PARTITIONS INTEGER"
,
/* 97 */
"db_optr ::="
,
/* 98 */
"db_optr ::= db_optr cache"
,
/* 99 */
"db_optr ::= db_optr replica"
,
/* 100 */
"db_optr ::= db_optr quorum"
,
/* 101 */
"db_optr ::= db_optr days"
,
/* 102 */
"db_optr ::= db_optr minrows"
,
/* 103 */
"db_optr ::= db_optr maxrows"
,
/* 104 */
"db_optr ::= db_optr blocks"
,
/* 105 */
"db_optr ::= db_optr ctime"
,
/* 106 */
"db_optr ::= db_optr wal"
,
/* 107 */
"db_optr ::= db_optr fsync"
,
/* 108 */
"db_optr ::= db_optr comp"
,
/* 109 */
"db_optr ::= db_optr prec"
,
/* 110 */
"db_optr ::= db_optr keep"
,
/* 111 */
"db_optr ::= db_optr update"
,
/* 112 */
"db_optr ::= db_optr cachelast"
,
/* 113 */
"topic_optr ::= db_optr"
,
/* 114 */
"topic_optr ::= topic_optr partitions"
,
/* 115 */
"alter_db_optr ::="
,
/* 116 */
"alter_db_optr ::= alter_db_optr replica"
,
/* 117 */
"alter_db_optr ::= alter_db_optr quorum"
,
/* 118 */
"alter_db_optr ::= alter_db_optr keep"
,
/* 119 */
"alter_db_optr ::= alter_db_optr blocks"
,
/* 120 */
"alter_db_optr ::= alter_db_optr comp"
,
/* 121 */
"alter_db_optr ::= alter_db_optr wal"
,
/* 122 */
"alter_db_optr ::= alter_db_optr fsync"
,
/* 123 */
"alter_db_optr ::= alter_db_optr update"
,
/* 124 */
"alter_db_optr ::= alter_db_optr cachelast"
,
/* 125 */
"alter_topic_optr ::= alter_db_optr"
,
/* 126 */
"alter_topic_optr ::= alter_topic_optr partitions"
,
/* 127 */
"typename ::= ids"
,
/* 128 */
"typename ::= ids LP signed RP"
,
/* 129 */
"typename ::= ids UNSIGNED"
,
/* 130 */
"signed ::= INTEGER"
,
/* 131 */
"signed ::= PLUS INTEGER"
,
/* 132 */
"signed ::= MINUS INTEGER"
,
/* 133 */
"cmd ::= CREATE TABLE create_table_args"
,
/* 134 */
"cmd ::= CREATE TABLE create_stable_args"
,
/* 135 */
"cmd ::= CREATE STABLE create_stable_args"
,
/* 136 */
"cmd ::= CREATE TABLE create_table_list"
,
/* 137 */
"create_table_list ::= create_from_stable"
,
/* 138 */
"create_table_list ::= create_table_list create_from_stable"
,
/* 139 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 140 */
"create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 141 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP"
,
/* 142 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP"
,
/* 143 */
"tagNamelist ::= tagNamelist COMMA ids"
,
/* 144 */
"tagNamelist ::= ids"
,
/* 145 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 146 */
"columnlist ::= columnlist COMMA column"
,
/* 147 */
"columnlist ::= column"
,
/* 148 */
"column ::= ids typename"
,
/* 149 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 150 */
"tagitemlist ::= tagitem"
,
/* 151 */
"tagitem ::= INTEGER"
,
/* 152 */
"tagitem ::= FLOAT"
,
/* 153 */
"tagitem ::= STRING"
,
/* 154 */
"tagitem ::= BOOL"
,
/* 155 */
"tagitem ::= NULL"
,
/* 156 */
"tagitem ::= MINUS INTEGER"
,
/* 157 */
"tagitem ::= MINUS FLOAT"
,
/* 158 */
"tagitem ::= PLUS INTEGER"
,
/* 159 */
"tagitem ::= PLUS FLOAT"
,
/* 160 */
"select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt"
,
/* 161 */
"select ::= LP select RP"
,
/* 162 */
"union ::= select"
,
/* 163 */
"union ::= union UNION ALL select"
,
/* 164 */
"cmd ::= union"
,
/* 165 */
"select ::= SELECT selcollist"
,
/* 166 */
"sclp ::= selcollist COMMA"
,
/* 167 */
"sclp ::="
,
/* 168 */
"selcollist ::= sclp distinct expr as"
,
/* 169 */
"selcollist ::= sclp STAR"
,
/* 170 */
"as ::= AS ids"
,
/* 171 */
"as ::= ids"
,
/* 172 */
"as ::="
,
/* 173 */
"distinct ::= DISTINCT"
,
/* 174 */
"distinct ::="
,
/* 175 */
"from ::= FROM tablelist"
,
/* 176 */
"from ::= FROM LP union RP"
,
/* 177 */
"tablelist ::= ids cpxName"
,
/* 178 */
"tablelist ::= ids cpxName ids"
,
/* 179 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 180 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 181 */
"tmvar ::= VARIABLE"
,
/* 182 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 183 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 184 */
"interval_opt ::="
,
/* 185 */
"session_option ::="
,
/* 186 */
"session_option ::= SESSION LP ids cpxName COMMA tmvar RP"
,
/* 187 */
"fill_opt ::="
,
/* 188 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 189 */
"fill_opt ::= FILL LP ID RP"
,
/* 190 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 191 */
"sliding_opt ::="
,
/* 192 */
"orderby_opt ::="
,
/* 193 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 194 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 195 */
"sortlist ::= item sortorder"
,
/* 196 */
"item ::= ids cpxName"
,
/* 197 */
"sortorder ::= ASC"
,
/* 198 */
"sortorder ::= DESC"
,
/* 199 */
"sortorder ::="
,
/* 200 */
"groupby_opt ::="
,
/* 201 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 202 */
"grouplist ::= grouplist COMMA item"
,
/* 203 */
"grouplist ::= item"
,
/* 204 */
"having_opt ::="
,
/* 205 */
"having_opt ::= HAVING expr"
,
/* 206 */
"limit_opt ::="
,
/* 207 */
"limit_opt ::= LIMIT signed"
,
/* 208 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 209 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 210 */
"slimit_opt ::="
,
/* 211 */
"slimit_opt ::= SLIMIT signed"
,
/* 212 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 213 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 214 */
"where_opt ::="
,
/* 215 */
"where_opt ::= WHERE expr"
,
/* 216 */
"expr ::= LP expr RP"
,
/* 217 */
"expr ::= ID"
,
/* 218 */
"expr ::= ID DOT ID"
,
/* 219 */
"expr ::= ID DOT STAR"
,
/* 220 */
"expr ::= INTEGER"
,
/* 221 */
"expr ::= MINUS INTEGER"
,
/* 222 */
"expr ::= PLUS INTEGER"
,
/* 223 */
"expr ::= FLOAT"
,
/* 224 */
"expr ::= MINUS FLOAT"
,
/* 225 */
"expr ::= PLUS FLOAT"
,
/* 226 */
"expr ::= STRING"
,
/* 227 */
"expr ::= NOW"
,
/* 228 */
"expr ::= VARIABLE"
,
/* 229 */
"expr ::= BOOL"
,
/* 230 */
"expr ::= NULL"
,
/* 231 */
"expr ::= ID LP exprlist RP"
,
/* 232 */
"expr ::= ID LP STAR RP"
,
/* 233 */
"expr ::= expr IS NULL"
,
/* 234 */
"expr ::= expr IS NOT NULL"
,
/* 235 */
"expr ::= expr LT expr"
,
/* 236 */
"expr ::= expr GT expr"
,
/* 237 */
"expr ::= expr LE expr"
,
/* 238 */
"expr ::= expr GE expr"
,
/* 239 */
"expr ::= expr NE expr"
,
/* 240 */
"expr ::= expr EQ expr"
,
/* 241 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 242 */
"expr ::= expr AND expr"
,
/* 243 */
"expr ::= expr OR expr"
,
/* 244 */
"expr ::= expr PLUS expr"
,
/* 245 */
"expr ::= expr MINUS expr"
,
/* 246 */
"expr ::= expr STAR expr"
,
/* 247 */
"expr ::= expr SLASH expr"
,
/* 248 */
"expr ::= expr REM expr"
,
/* 249 */
"expr ::= expr LIKE expr"
,
/* 250 */
"expr ::= expr IN LP exprlist RP"
,
/* 251 */
"exprlist ::= exprlist COMMA expritem"
,
/* 252 */
"exprlist ::= expritem"
,
/* 253 */
"expritem ::= expr"
,
/* 254 */
"expritem ::="
,
/* 255 */
"cmd ::= RESET QUERY CACHE"
,
/* 256 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 257 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 258 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 259 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 260 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 261 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 262 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 263 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 264 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 265 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 266 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 267 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 268 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 269 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 270 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 62 */
"bufsize ::="
,
/* 63 */
"bufsize ::= BUFSIZE INTEGER"
,
/* 64 */
"pps ::="
,
/* 65 */
"pps ::= PPS INTEGER"
,
/* 66 */
"tseries ::="
,
/* 67 */
"tseries ::= TSERIES INTEGER"
,
/* 68 */
"dbs ::="
,
/* 69 */
"dbs ::= DBS INTEGER"
,
/* 70 */
"streams ::="
,
/* 71 */
"streams ::= STREAMS INTEGER"
,
/* 72 */
"storage ::="
,
/* 73 */
"storage ::= STORAGE INTEGER"
,
/* 74 */
"qtime ::="
,
/* 75 */
"qtime ::= QTIME INTEGER"
,
/* 76 */
"users ::="
,
/* 77 */
"users ::= USERS INTEGER"
,
/* 78 */
"conns ::="
,
/* 79 */
"conns ::= CONNS INTEGER"
,
/* 80 */
"state ::="
,
/* 81 */
"state ::= STATE ids"
,
/* 82 */
"acct_optr ::= pps tseries storage streams qtime dbs users conns state"
,
/* 83 */
"keep ::= KEEP tagitemlist"
,
/* 84 */
"cache ::= CACHE INTEGER"
,
/* 85 */
"replica ::= REPLICA INTEGER"
,
/* 86 */
"quorum ::= QUORUM INTEGER"
,
/* 87 */
"days ::= DAYS INTEGER"
,
/* 88 */
"minrows ::= MINROWS INTEGER"
,
/* 89 */
"maxrows ::= MAXROWS INTEGER"
,
/* 90 */
"blocks ::= BLOCKS INTEGER"
,
/* 91 */
"ctime ::= CTIME INTEGER"
,
/* 92 */
"wal ::= WAL INTEGER"
,
/* 93 */
"fsync ::= FSYNC INTEGER"
,
/* 94 */
"comp ::= COMP INTEGER"
,
/* 95 */
"prec ::= PRECISION STRING"
,
/* 96 */
"update ::= UPDATE INTEGER"
,
/* 97 */
"cachelast ::= CACHELAST INTEGER"
,
/* 98 */
"partitions ::= PARTITIONS INTEGER"
,
/* 99 */
"db_optr ::="
,
/* 100 */
"db_optr ::= db_optr cache"
,
/* 101 */
"db_optr ::= db_optr replica"
,
/* 102 */
"db_optr ::= db_optr quorum"
,
/* 103 */
"db_optr ::= db_optr days"
,
/* 104 */
"db_optr ::= db_optr minrows"
,
/* 105 */
"db_optr ::= db_optr maxrows"
,
/* 106 */
"db_optr ::= db_optr blocks"
,
/* 107 */
"db_optr ::= db_optr ctime"
,
/* 108 */
"db_optr ::= db_optr wal"
,
/* 109 */
"db_optr ::= db_optr fsync"
,
/* 110 */
"db_optr ::= db_optr comp"
,
/* 111 */
"db_optr ::= db_optr prec"
,
/* 112 */
"db_optr ::= db_optr keep"
,
/* 113 */
"db_optr ::= db_optr update"
,
/* 114 */
"db_optr ::= db_optr cachelast"
,
/* 115 */
"topic_optr ::= db_optr"
,
/* 116 */
"topic_optr ::= topic_optr partitions"
,
/* 117 */
"alter_db_optr ::="
,
/* 118 */
"alter_db_optr ::= alter_db_optr replica"
,
/* 119 */
"alter_db_optr ::= alter_db_optr quorum"
,
/* 120 */
"alter_db_optr ::= alter_db_optr keep"
,
/* 121 */
"alter_db_optr ::= alter_db_optr blocks"
,
/* 122 */
"alter_db_optr ::= alter_db_optr comp"
,
/* 123 */
"alter_db_optr ::= alter_db_optr wal"
,
/* 124 */
"alter_db_optr ::= alter_db_optr fsync"
,
/* 125 */
"alter_db_optr ::= alter_db_optr update"
,
/* 126 */
"alter_db_optr ::= alter_db_optr cachelast"
,
/* 127 */
"alter_topic_optr ::= alter_db_optr"
,
/* 128 */
"alter_topic_optr ::= alter_topic_optr partitions"
,
/* 129 */
"typename ::= ids"
,
/* 130 */
"typename ::= ids LP signed RP"
,
/* 131 */
"typename ::= ids UNSIGNED"
,
/* 132 */
"signed ::= INTEGER"
,
/* 133 */
"signed ::= PLUS INTEGER"
,
/* 134 */
"signed ::= MINUS INTEGER"
,
/* 135 */
"cmd ::= CREATE TABLE create_table_args"
,
/* 136 */
"cmd ::= CREATE TABLE create_stable_args"
,
/* 137 */
"cmd ::= CREATE STABLE create_stable_args"
,
/* 138 */
"cmd ::= CREATE TABLE create_table_list"
,
/* 139 */
"create_table_list ::= create_from_stable"
,
/* 140 */
"create_table_list ::= create_table_list create_from_stable"
,
/* 141 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 142 */
"create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 143 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP"
,
/* 144 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP"
,
/* 145 */
"tagNamelist ::= tagNamelist COMMA ids"
,
/* 146 */
"tagNamelist ::= ids"
,
/* 147 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 148 */
"columnlist ::= columnlist COMMA column"
,
/* 149 */
"columnlist ::= column"
,
/* 150 */
"column ::= ids typename"
,
/* 151 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 152 */
"tagitemlist ::= tagitem"
,
/* 153 */
"tagitem ::= INTEGER"
,
/* 154 */
"tagitem ::= FLOAT"
,
/* 155 */
"tagitem ::= STRING"
,
/* 156 */
"tagitem ::= BOOL"
,
/* 157 */
"tagitem ::= NULL"
,
/* 158 */
"tagitem ::= MINUS INTEGER"
,
/* 159 */
"tagitem ::= MINUS FLOAT"
,
/* 160 */
"tagitem ::= PLUS INTEGER"
,
/* 161 */
"tagitem ::= PLUS FLOAT"
,
/* 162 */
"select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt"
,
/* 163 */
"select ::= LP select RP"
,
/* 164 */
"union ::= select"
,
/* 165 */
"union ::= union UNION ALL select"
,
/* 166 */
"cmd ::= union"
,
/* 167 */
"select ::= SELECT selcollist"
,
/* 168 */
"sclp ::= selcollist COMMA"
,
/* 169 */
"sclp ::="
,
/* 170 */
"selcollist ::= sclp distinct expr as"
,
/* 171 */
"selcollist ::= sclp STAR"
,
/* 172 */
"as ::= AS ids"
,
/* 173 */
"as ::= ids"
,
/* 174 */
"as ::="
,
/* 175 */
"distinct ::= DISTINCT"
,
/* 176 */
"distinct ::="
,
/* 177 */
"from ::= FROM tablelist"
,
/* 178 */
"from ::= FROM LP union RP"
,
/* 179 */
"tablelist ::= ids cpxName"
,
/* 180 */
"tablelist ::= ids cpxName ids"
,
/* 181 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 182 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 183 */
"tmvar ::= VARIABLE"
,
/* 184 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 185 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 186 */
"interval_opt ::="
,
/* 187 */
"session_option ::="
,
/* 188 */
"session_option ::= SESSION LP ids cpxName COMMA tmvar RP"
,
/* 189 */
"fill_opt ::="
,
/* 190 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 191 */
"fill_opt ::= FILL LP ID RP"
,
/* 192 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 193 */
"sliding_opt ::="
,
/* 194 */
"orderby_opt ::="
,
/* 195 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 196 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 197 */
"sortlist ::= item sortorder"
,
/* 198 */
"item ::= ids cpxName"
,
/* 199 */
"sortorder ::= ASC"
,
/* 200 */
"sortorder ::= DESC"
,
/* 201 */
"sortorder ::="
,
/* 202 */
"groupby_opt ::="
,
/* 203 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 204 */
"grouplist ::= grouplist COMMA item"
,
/* 205 */
"grouplist ::= item"
,
/* 206 */
"having_opt ::="
,
/* 207 */
"having_opt ::= HAVING expr"
,
/* 208 */
"limit_opt ::="
,
/* 209 */
"limit_opt ::= LIMIT signed"
,
/* 210 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 211 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 212 */
"slimit_opt ::="
,
/* 213 */
"slimit_opt ::= SLIMIT signed"
,
/* 214 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 215 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 216 */
"where_opt ::="
,
/* 217 */
"where_opt ::= WHERE expr"
,
/* 218 */
"expr ::= LP expr RP"
,
/* 219 */
"expr ::= ID"
,
/* 220 */
"expr ::= ID DOT ID"
,
/* 221 */
"expr ::= ID DOT STAR"
,
/* 222 */
"expr ::= INTEGER"
,
/* 223 */
"expr ::= MINUS INTEGER"
,
/* 224 */
"expr ::= PLUS INTEGER"
,
/* 225 */
"expr ::= FLOAT"
,
/* 226 */
"expr ::= MINUS FLOAT"
,
/* 227 */
"expr ::= PLUS FLOAT"
,
/* 228 */
"expr ::= STRING"
,
/* 229 */
"expr ::= NOW"
,
/* 230 */
"expr ::= VARIABLE"
,
/* 231 */
"expr ::= BOOL"
,
/* 232 */
"expr ::= NULL"
,
/* 233 */
"expr ::= ID LP exprlist RP"
,
/* 234 */
"expr ::= ID LP STAR RP"
,
/* 235 */
"expr ::= expr IS NULL"
,
/* 236 */
"expr ::= expr IS NOT NULL"
,
/* 237 */
"expr ::= expr LT expr"
,
/* 238 */
"expr ::= expr GT expr"
,
/* 239 */
"expr ::= expr LE expr"
,
/* 240 */
"expr ::= expr GE expr"
,
/* 241 */
"expr ::= expr NE expr"
,
/* 242 */
"expr ::= expr EQ expr"
,
/* 243 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 244 */
"expr ::= expr AND expr"
,
/* 245 */
"expr ::= expr OR expr"
,
/* 246 */
"expr ::= expr PLUS expr"
,
/* 247 */
"expr ::= expr MINUS expr"
,
/* 248 */
"expr ::= expr STAR expr"
,
/* 249 */
"expr ::= expr SLASH expr"
,
/* 250 */
"expr ::= expr REM expr"
,
/* 251 */
"expr ::= expr LIKE expr"
,
/* 252 */
"expr ::= expr IN LP exprlist RP"
,
/* 253 */
"exprlist ::= exprlist COMMA expritem"
,
/* 254 */
"exprlist ::= expritem"
,
/* 255 */
"expritem ::= expr"
,
/* 256 */
"expritem ::="
,
/* 257 */
"cmd ::= RESET QUERY CACHE"
,
/* 258 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 259 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 260 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 261 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 262 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 263 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 264 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 265 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 266 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 267 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 268 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 269 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 270 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 271 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 272 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
#endif
/* NDEBUG */
...
...
@@ -1439,50 +1446,50 @@ static void yy_destructor(
** inside the C code.
*/
/********* Begin destructor definitions ***************************************/
case
21
3
:
/* keep */
case
21
4
:
/* tagitemlist */
case
23
5
:
/* columnlist */
case
23
6
:
/* tagNamelist */
case
24
5
:
/* fill_opt */
case
24
7
:
/* groupby_opt */
case
2
48
:
/* orderby_opt */
case
2
59
:
/* sortlist */
case
26
3
:
/* grouplist */
case
21
5
:
/* keep */
case
21
6
:
/* tagitemlist */
case
23
7
:
/* columnlist */
case
23
8
:
/* tagNamelist */
case
24
7
:
/* fill_opt */
case
24
9
:
/* groupby_opt */
case
2
50
:
/* orderby_opt */
case
2
61
:
/* sortlist */
case
26
5
:
/* grouplist */
{
taosArrayDestroy
((
yypminor
->
yy
193
));
taosArrayDestroy
((
yypminor
->
yy
325
));
}
break
;
case
23
3
:
/* create_table_list */
case
23
5
:
/* create_table_list */
{
destroyCreateTableSql
((
yypminor
->
yy
270
));
destroyCreateTableSql
((
yypminor
->
yy
422
));
}
break
;
case
23
7
:
/* select */
case
23
9
:
/* select */
{
destroyQuerySqlNode
((
yypminor
->
yy
286
));
destroyQuerySqlNode
((
yypminor
->
yy
494
));
}
break
;
case
24
0
:
/* selcollist */
case
25
3
:
/* sclp */
case
26
4
:
/* exprlist */
case
24
2
:
/* selcollist */
case
25
5
:
/* sclp */
case
26
6
:
/* exprlist */
{
tSqlExprListDestroy
((
yypminor
->
yy
193
));
tSqlExprListDestroy
((
yypminor
->
yy
325
));
}
break
;
case
24
2
:
/* where_opt */
case
2
49
:
/* having_opt */
case
25
5
:
/* expr */
case
26
5
:
/* expritem */
case
24
4
:
/* where_opt */
case
2
51
:
/* having_opt */
case
25
7
:
/* expr */
case
26
7
:
/* expritem */
{
tSqlExprDestroy
((
yypminor
->
yy
454
));
tSqlExprDestroy
((
yypminor
->
yy
162
));
}
break
;
case
25
2
:
/* union */
case
25
4
:
/* union */
{
destroyAllSelectClause
((
yypminor
->
yy
21
));
destroyAllSelectClause
((
yypminor
->
yy
145
));
}
break
;
case
26
0
:
/* sortitem */
case
26
2
:
/* sortitem */
{
tVariantDestroy
(
&
(
yypminor
->
yy442
));
}
...
...
@@ -1773,277 +1780,279 @@ static void yy_shift(
/* For rule J, yyRuleInfoLhs[J] contains the symbol on the left-hand side
** of that rule */
static
const
YYCODETYPE
yyRuleInfoLhs
[]
=
{
191
,
/* (0) program ::= cmd */
192
,
/* (1) cmd ::= SHOW DATABASES */
192
,
/* (2) cmd ::= SHOW TOPICS */
192
,
/* (3) cmd ::= SHOW FUNCTIONS */
192
,
/* (4) cmd ::= SHOW MNODES */
192
,
/* (5) cmd ::= SHOW DNODES */
192
,
/* (6) cmd ::= SHOW ACCOUNTS */
192
,
/* (7) cmd ::= SHOW USERS */
192
,
/* (8) cmd ::= SHOW MODULES */
192
,
/* (9) cmd ::= SHOW QUERIES */
192
,
/* (10) cmd ::= SHOW CONNECTIONS */
192
,
/* (11) cmd ::= SHOW STREAMS */
192
,
/* (12) cmd ::= SHOW VARIABLES */
192
,
/* (13) cmd ::= SHOW SCORES */
192
,
/* (14) cmd ::= SHOW GRANTS */
192
,
/* (15) cmd ::= SHOW VNODES */
192
,
/* (16) cmd ::= SHOW VNODES IPTOKEN */
193
,
/* (17) dbPrefix ::= */
193
,
/* (18) dbPrefix ::= ids DOT */
195
,
/* (19) cpxName ::= */
195
,
/* (20) cpxName ::= DOT ids */
192
,
/* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
192
,
/* (22) cmd ::= SHOW CREATE DATABASE ids */
192
,
/* (23) cmd ::= SHOW dbPrefix TABLES */
192
,
/* (24) cmd ::= SHOW dbPrefix TABLES LIKE ids */
192
,
/* (25) cmd ::= SHOW dbPrefix STABLES */
192
,
/* (26) cmd ::= SHOW dbPrefix STABLES LIKE ids */
192
,
/* (27) cmd ::= SHOW dbPrefix VGROUPS */
192
,
/* (28) cmd ::= SHOW dbPrefix VGROUPS ids */
192
,
/* (29) cmd ::= DROP TABLE ifexists ids cpxName */
192
,
/* (30) cmd ::= DROP STABLE ifexists ids cpxName */
192
,
/* (31) cmd ::= DROP DATABASE ifexists ids */
192
,
/* (32) cmd ::= DROP TOPIC ifexists ids */
192
,
/* (33) cmd ::= DROP FUNCTION ids */
192
,
/* (34) cmd ::= DROP DNODE ids */
192
,
/* (35) cmd ::= DROP USER ids */
192
,
/* (36) cmd ::= DROP ACCOUNT ids */
192
,
/* (37) cmd ::= USE ids */
192
,
/* (38) cmd ::= DESCRIBE ids cpxName */
192
,
/* (39) cmd ::= ALTER USER ids PASS ids */
192
,
/* (40) cmd ::= ALTER USER ids PRIVILEGE ids */
192
,
/* (41) cmd ::= ALTER DNODE ids ids */
192
,
/* (42) cmd ::= ALTER DNODE ids ids ids */
192
,
/* (43) cmd ::= ALTER LOCAL ids */
192
,
/* (44) cmd ::= ALTER LOCAL ids ids */
192
,
/* (45) cmd ::= ALTER DATABASE ids alter_db_optr */
192
,
/* (46) cmd ::= ALTER TOPIC ids alter_topic_optr */
192
,
/* (47) cmd ::= ALTER ACCOUNT ids acct_optr */
192
,
/* (48) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
194
,
/* (49) ids ::= ID */
194
,
/* (50) ids ::= STRING */
196
,
/* (51) ifexists ::= IF EXISTS */
196
,
/* (52) ifexists ::= */
200
,
/* (53) ifnotexists ::= IF NOT EXISTS */
200
,
/* (54) ifnotexists ::= */
192
,
/* (55) cmd ::= CREATE DNODE ids */
192
,
/* (56) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
192
,
/* (57) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
192
,
/* (58) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
192
,
/* (59) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename */
192
,
/* (60) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename */
192
,
/* (61) cmd ::= CREATE USER ids PASS ids */
204
,
/* (62) pps ::= */
204
,
/* (63) pps ::= PPS INTEGER */
205
,
/* (64) tseries ::= */
205
,
/* (65) tseries ::= TSERIES INTEGER */
206
,
/* (66) dbs ::= */
206
,
/* (67) dbs ::= DBS INTEGER */
207
,
/* (68) streams ::= */
207
,
/* (69) streams ::= STREAMS INTEGER */
208
,
/* (70) storage ::= */
208
,
/* (71) storage ::= STORAGE INTEGER */
209
,
/* (72) qtime ::= */
209
,
/* (73) qtime ::= QTIME INTEGER */
210
,
/* (74) users ::= */
210
,
/* (75) users ::= USERS INTEGER */
211
,
/* (76) conns ::= */
211
,
/* (77) conns ::= CONNS INTEGER */
212
,
/* (78) state ::= */
212
,
/* (79) state ::= STATE ids */
199
,
/* (80) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
213
,
/* (81) keep ::= KEEP tagitemlist */
215
,
/* (82) cache ::= CACHE INTEGER */
216
,
/* (83) replica ::= REPLICA INTEGER */
217
,
/* (84) quorum ::= QUORUM INTEGER */
218
,
/* (85) days ::= DAYS INTEGER */
219
,
/* (86) minrows ::= MINROWS INTEGER */
220
,
/* (87) maxrows ::= MAXROWS INTEGER */
221
,
/* (88) blocks ::= BLOCKS INTEGER */
222
,
/* (89) ctime ::= CTIME INTEGER */
223
,
/* (90) wal ::= WAL INTEGER */
224
,
/* (91) fsync ::= FSYNC INTEGER */
225
,
/* (92) comp ::= COMP INTEGER */
226
,
/* (93) prec ::= PRECISION STRING */
227
,
/* (94) update ::= UPDATE INTEGER */
228
,
/* (95) cachelast ::= CACHELAST INTEGER */
229
,
/* (96) partitions ::= PARTITIONS INTEGER */
201
,
/* (97) db_optr ::= */
201
,
/* (98) db_optr ::= db_optr cache */
201
,
/* (99) db_optr ::= db_optr replica */
201
,
/* (100) db_optr ::= db_optr quorum */
201
,
/* (101) db_optr ::= db_optr days */
201
,
/* (102) db_optr ::= db_optr minrows */
201
,
/* (103) db_optr ::= db_optr maxrows */
201
,
/* (104) db_optr ::= db_optr blocks */
201
,
/* (105) db_optr ::= db_optr ctime */
201
,
/* (106) db_optr ::= db_optr wal */
201
,
/* (107) db_optr ::= db_optr fsync */
201
,
/* (108) db_optr ::= db_optr comp */
201
,
/* (109) db_optr ::= db_optr prec */
201
,
/* (110) db_optr ::= db_optr keep */
201
,
/* (111) db_optr ::= db_optr update */
201
,
/* (112) db_optr ::= db_optr cachelast */
202
,
/* (113) topic_optr ::= db_optr */
202
,
/* (114) topic_optr ::= topic_optr partitions */
197
,
/* (115) alter_db_optr ::= */
197
,
/* (116) alter_db_optr ::= alter_db_optr replica */
197
,
/* (117) alter_db_optr ::= alter_db_optr quorum */
197
,
/* (118) alter_db_optr ::= alter_db_optr keep */
197
,
/* (119) alter_db_optr ::= alter_db_optr blocks */
197
,
/* (120) alter_db_optr ::= alter_db_optr comp */
197
,
/* (121) alter_db_optr ::= alter_db_optr wal */
197
,
/* (122) alter_db_optr ::= alter_db_optr fsync */
197
,
/* (123) alter_db_optr ::= alter_db_optr update */
197
,
/* (124) alter_db_optr ::= alter_db_optr cachelast */
198
,
/* (125) alter_topic_optr ::= alter_db_optr */
198
,
/* (126) alter_topic_optr ::= alter_topic_optr partitions */
203
,
/* (127) typename ::= ids */
203
,
/* (128) typename ::= ids LP signed RP */
203
,
/* (129) typename ::= ids UNSIGNED */
230
,
/* (130) signed ::= INTEGER */
230
,
/* (131) signed ::= PLUS INTEGER */
230
,
/* (132) signed ::= MINUS INTEGER */
192
,
/* (133) cmd ::= CREATE TABLE create_table_args */
192
,
/* (134) cmd ::= CREATE TABLE create_stable_args */
192
,
/* (135) cmd ::= CREATE STABLE create_stable_args */
192
,
/* (136) cmd ::= CREATE TABLE create_table_list */
233
,
/* (137) create_table_list ::= create_from_stable */
233
,
/* (138) create_table_list ::= create_table_list create_from_stable */
231
,
/* (139) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
232
,
/* (140) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
234
,
/* (141) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
234
,
/* (142) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
236
,
/* (143) tagNamelist ::= tagNamelist COMMA ids */
236
,
/* (144) tagNamelist ::= ids */
231
,
/* (145) create_table_args ::= ifnotexists ids cpxName AS select */
235
,
/* (146) columnlist ::= columnlist COMMA column */
235
,
/* (147) columnlist ::= column */
238
,
/* (148) column ::= ids typename */
214
,
/* (149) tagitemlist ::= tagitemlist COMMA tagitem */
214
,
/* (150) tagitemlist ::= tagitem */
239
,
/* (151) tagitem ::= INTEGER */
239
,
/* (152) tagitem ::= FLOAT */
239
,
/* (153) tagitem ::= STRING */
239
,
/* (154) tagitem ::= BOOL */
239
,
/* (155) tagitem ::= NULL */
239
,
/* (156) tagitem ::= MINUS INTEGER */
239
,
/* (157) tagitem ::= MINUS FLOAT */
239
,
/* (158) tagitem ::= PLUS INTEGER */
239
,
/* (159) tagitem ::= PLUS FLOAT */
237
,
/* (160) select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
237
,
/* (161) select ::= LP select RP */
252
,
/* (162) union ::= select */
252
,
/* (163) union ::= union UNION ALL select */
192
,
/* (164) cmd ::= union */
237
,
/* (165) select ::= SELECT selcollist */
253
,
/* (166) sclp ::= selcollist COMMA */
253
,
/* (167) sclp ::= */
240
,
/* (168) selcollist ::= sclp distinct expr as */
240
,
/* (169) selcollist ::= sclp STAR */
256
,
/* (170) as ::= AS ids */
256
,
/* (171) as ::= ids */
256
,
/* (172) as ::= */
254
,
/* (173) distinct ::= DISTINCT */
254
,
/* (174) distinct ::= */
241
,
/* (175) from ::= FROM tablelist */
241
,
/* (176) from ::= FROM LP union RP */
257
,
/* (177) tablelist ::= ids cpxName */
257
,
/* (178) tablelist ::= ids cpxName ids */
257
,
/* (179) tablelist ::= tablelist COMMA ids cpxName */
257
,
/* (180) tablelist ::= tablelist COMMA ids cpxName ids */
258
,
/* (181) tmvar ::= VARIABLE */
243
,
/* (182) interval_opt ::= INTERVAL LP tmvar RP */
243
,
/* (183) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
243
,
/* (184) interval_opt ::= */
244
,
/* (185) session_option ::= */
244
,
/* (186) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
245
,
/* (187) fill_opt ::= */
245
,
/* (188) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
245
,
/* (189) fill_opt ::= FILL LP ID RP */
246
,
/* (190) sliding_opt ::= SLIDING LP tmvar RP */
246
,
/* (191) sliding_opt ::= */
248
,
/* (192) orderby_opt ::= */
248
,
/* (193) orderby_opt ::= ORDER BY sortlist */
259
,
/* (194) sortlist ::= sortlist COMMA item sortorder */
259
,
/* (195) sortlist ::= item sortorder */
261
,
/* (196) item ::= ids cpxName */
262
,
/* (197) sortorder ::= ASC */
262
,
/* (198) sortorder ::= DESC */
262
,
/* (199) sortorder ::= */
247
,
/* (200) groupby_opt ::= */
247
,
/* (201) groupby_opt ::= GROUP BY grouplist */
263
,
/* (202) grouplist ::= grouplist COMMA item */
263
,
/* (203) grouplist ::= item */
249
,
/* (204) having_opt ::= */
249
,
/* (205) having_opt ::= HAVING expr */
251
,
/* (206) limit_opt ::= */
251
,
/* (207) limit_opt ::= LIMIT signed */
251
,
/* (208) limit_opt ::= LIMIT signed OFFSET signed */
251
,
/* (209) limit_opt ::= LIMIT signed COMMA signed */
250
,
/* (210) slimit_opt ::= */
250
,
/* (211) slimit_opt ::= SLIMIT signed */
250
,
/* (212) slimit_opt ::= SLIMIT signed SOFFSET signed */
250
,
/* (213) slimit_opt ::= SLIMIT signed COMMA signed */
242
,
/* (214) where_opt ::= */
242
,
/* (215) where_opt ::= WHERE expr */
255
,
/* (216) expr ::= LP expr RP */
255
,
/* (217) expr ::= ID */
255
,
/* (218) expr ::= ID DOT ID */
255
,
/* (219) expr ::= ID DOT STAR */
255
,
/* (220) expr ::= INTEGER */
255
,
/* (221) expr ::= MINUS INTEGER */
255
,
/* (222) expr ::= PLUS INTEGER */
255
,
/* (223) expr ::= FLOAT */
255
,
/* (224) expr ::= MINUS FLOAT */
255
,
/* (225) expr ::= PLUS FLOAT */
255
,
/* (226) expr ::= STRING */
255
,
/* (227) expr ::= NOW */
255
,
/* (228) expr ::= VARIABLE */
255
,
/* (229) expr ::= BOOL */
255
,
/* (230) expr ::= NULL */
255
,
/* (231) expr ::= ID LP exprlist RP */
255
,
/* (232) expr ::= ID LP STAR RP */
255
,
/* (233) expr ::= expr IS NULL */
255
,
/* (234) expr ::= expr IS NOT NULL */
255
,
/* (235) expr ::= expr LT expr */
255
,
/* (236) expr ::= expr GT expr */
255
,
/* (237) expr ::= expr LE expr */
255
,
/* (238) expr ::= expr GE expr */
255
,
/* (239) expr ::= expr NE expr */
255
,
/* (240) expr ::= expr EQ expr */
255
,
/* (241) expr ::= expr BETWEEN expr AND expr */
255
,
/* (242) expr ::= expr AND expr */
255
,
/* (243) expr ::= expr OR expr */
255
,
/* (244) expr ::= expr PLUS expr */
255
,
/* (245) expr ::= expr MINUS expr */
255
,
/* (246) expr ::= expr STAR expr */
255
,
/* (247) expr ::= expr SLASH expr */
255
,
/* (248) expr ::= expr REM expr */
255
,
/* (249) expr ::= expr LIKE expr */
255
,
/* (250) expr ::= expr IN LP exprlist RP */
264
,
/* (251) exprlist ::= exprlist COMMA expritem */
264
,
/* (252) exprlist ::= expritem */
265
,
/* (253) expritem ::= expr */
265
,
/* (254) expritem ::= */
192
,
/* (255) cmd ::= RESET QUERY CACHE */
192
,
/* (256) cmd ::= SYNCDB ids REPLICA */
192
,
/* (257) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
192
,
/* (258) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
192
,
/* (259) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
192
,
/* (260) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
192
,
/* (261) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
192
,
/* (262) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
192
,
/* (263) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
192
,
/* (264) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
192
,
/* (265) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
192
,
/* (266) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
192
,
/* (267) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
192
,
/* (268) cmd ::= KILL CONNECTION INTEGER */
192
,
/* (269) cmd ::= KILL STREAM INTEGER COLON INTEGER */
192
,
/* (270) cmd ::= KILL QUERY INTEGER COLON INTEGER */
192
,
/* (0) program ::= cmd */
193
,
/* (1) cmd ::= SHOW DATABASES */
193
,
/* (2) cmd ::= SHOW TOPICS */
193
,
/* (3) cmd ::= SHOW FUNCTIONS */
193
,
/* (4) cmd ::= SHOW MNODES */
193
,
/* (5) cmd ::= SHOW DNODES */
193
,
/* (6) cmd ::= SHOW ACCOUNTS */
193
,
/* (7) cmd ::= SHOW USERS */
193
,
/* (8) cmd ::= SHOW MODULES */
193
,
/* (9) cmd ::= SHOW QUERIES */
193
,
/* (10) cmd ::= SHOW CONNECTIONS */
193
,
/* (11) cmd ::= SHOW STREAMS */
193
,
/* (12) cmd ::= SHOW VARIABLES */
193
,
/* (13) cmd ::= SHOW SCORES */
193
,
/* (14) cmd ::= SHOW GRANTS */
193
,
/* (15) cmd ::= SHOW VNODES */
193
,
/* (16) cmd ::= SHOW VNODES IPTOKEN */
194
,
/* (17) dbPrefix ::= */
194
,
/* (18) dbPrefix ::= ids DOT */
196
,
/* (19) cpxName ::= */
196
,
/* (20) cpxName ::= DOT ids */
193
,
/* (21) cmd ::= SHOW CREATE TABLE ids cpxName */
193
,
/* (22) cmd ::= SHOW CREATE DATABASE ids */
193
,
/* (23) cmd ::= SHOW dbPrefix TABLES */
193
,
/* (24) cmd ::= SHOW dbPrefix TABLES LIKE ids */
193
,
/* (25) cmd ::= SHOW dbPrefix STABLES */
193
,
/* (26) cmd ::= SHOW dbPrefix STABLES LIKE ids */
193
,
/* (27) cmd ::= SHOW dbPrefix VGROUPS */
193
,
/* (28) cmd ::= SHOW dbPrefix VGROUPS ids */
193
,
/* (29) cmd ::= DROP TABLE ifexists ids cpxName */
193
,
/* (30) cmd ::= DROP STABLE ifexists ids cpxName */
193
,
/* (31) cmd ::= DROP DATABASE ifexists ids */
193
,
/* (32) cmd ::= DROP TOPIC ifexists ids */
193
,
/* (33) cmd ::= DROP FUNCTION ids */
193
,
/* (34) cmd ::= DROP DNODE ids */
193
,
/* (35) cmd ::= DROP USER ids */
193
,
/* (36) cmd ::= DROP ACCOUNT ids */
193
,
/* (37) cmd ::= USE ids */
193
,
/* (38) cmd ::= DESCRIBE ids cpxName */
193
,
/* (39) cmd ::= ALTER USER ids PASS ids */
193
,
/* (40) cmd ::= ALTER USER ids PRIVILEGE ids */
193
,
/* (41) cmd ::= ALTER DNODE ids ids */
193
,
/* (42) cmd ::= ALTER DNODE ids ids ids */
193
,
/* (43) cmd ::= ALTER LOCAL ids */
193
,
/* (44) cmd ::= ALTER LOCAL ids ids */
193
,
/* (45) cmd ::= ALTER DATABASE ids alter_db_optr */
193
,
/* (46) cmd ::= ALTER TOPIC ids alter_topic_optr */
193
,
/* (47) cmd ::= ALTER ACCOUNT ids acct_optr */
193
,
/* (48) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
195
,
/* (49) ids ::= ID */
195
,
/* (50) ids ::= STRING */
197
,
/* (51) ifexists ::= IF EXISTS */
197
,
/* (52) ifexists ::= */
201
,
/* (53) ifnotexists ::= IF NOT EXISTS */
201
,
/* (54) ifnotexists ::= */
193
,
/* (55) cmd ::= CREATE DNODE ids */
193
,
/* (56) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
193
,
/* (57) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
193
,
/* (58) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
193
,
/* (59) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
193
,
/* (60) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
193
,
/* (61) cmd ::= CREATE USER ids PASS ids */
205
,
/* (62) bufsize ::= */
205
,
/* (63) bufsize ::= BUFSIZE INTEGER */
206
,
/* (64) pps ::= */
206
,
/* (65) pps ::= PPS INTEGER */
207
,
/* (66) tseries ::= */
207
,
/* (67) tseries ::= TSERIES INTEGER */
208
,
/* (68) dbs ::= */
208
,
/* (69) dbs ::= DBS INTEGER */
209
,
/* (70) streams ::= */
209
,
/* (71) streams ::= STREAMS INTEGER */
210
,
/* (72) storage ::= */
210
,
/* (73) storage ::= STORAGE INTEGER */
211
,
/* (74) qtime ::= */
211
,
/* (75) qtime ::= QTIME INTEGER */
212
,
/* (76) users ::= */
212
,
/* (77) users ::= USERS INTEGER */
213
,
/* (78) conns ::= */
213
,
/* (79) conns ::= CONNS INTEGER */
214
,
/* (80) state ::= */
214
,
/* (81) state ::= STATE ids */
200
,
/* (82) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
215
,
/* (83) keep ::= KEEP tagitemlist */
217
,
/* (84) cache ::= CACHE INTEGER */
218
,
/* (85) replica ::= REPLICA INTEGER */
219
,
/* (86) quorum ::= QUORUM INTEGER */
220
,
/* (87) days ::= DAYS INTEGER */
221
,
/* (88) minrows ::= MINROWS INTEGER */
222
,
/* (89) maxrows ::= MAXROWS INTEGER */
223
,
/* (90) blocks ::= BLOCKS INTEGER */
224
,
/* (91) ctime ::= CTIME INTEGER */
225
,
/* (92) wal ::= WAL INTEGER */
226
,
/* (93) fsync ::= FSYNC INTEGER */
227
,
/* (94) comp ::= COMP INTEGER */
228
,
/* (95) prec ::= PRECISION STRING */
229
,
/* (96) update ::= UPDATE INTEGER */
230
,
/* (97) cachelast ::= CACHELAST INTEGER */
231
,
/* (98) partitions ::= PARTITIONS INTEGER */
202
,
/* (99) db_optr ::= */
202
,
/* (100) db_optr ::= db_optr cache */
202
,
/* (101) db_optr ::= db_optr replica */
202
,
/* (102) db_optr ::= db_optr quorum */
202
,
/* (103) db_optr ::= db_optr days */
202
,
/* (104) db_optr ::= db_optr minrows */
202
,
/* (105) db_optr ::= db_optr maxrows */
202
,
/* (106) db_optr ::= db_optr blocks */
202
,
/* (107) db_optr ::= db_optr ctime */
202
,
/* (108) db_optr ::= db_optr wal */
202
,
/* (109) db_optr ::= db_optr fsync */
202
,
/* (110) db_optr ::= db_optr comp */
202
,
/* (111) db_optr ::= db_optr prec */
202
,
/* (112) db_optr ::= db_optr keep */
202
,
/* (113) db_optr ::= db_optr update */
202
,
/* (114) db_optr ::= db_optr cachelast */
203
,
/* (115) topic_optr ::= db_optr */
203
,
/* (116) topic_optr ::= topic_optr partitions */
198
,
/* (117) alter_db_optr ::= */
198
,
/* (118) alter_db_optr ::= alter_db_optr replica */
198
,
/* (119) alter_db_optr ::= alter_db_optr quorum */
198
,
/* (120) alter_db_optr ::= alter_db_optr keep */
198
,
/* (121) alter_db_optr ::= alter_db_optr blocks */
198
,
/* (122) alter_db_optr ::= alter_db_optr comp */
198
,
/* (123) alter_db_optr ::= alter_db_optr wal */
198
,
/* (124) alter_db_optr ::= alter_db_optr fsync */
198
,
/* (125) alter_db_optr ::= alter_db_optr update */
198
,
/* (126) alter_db_optr ::= alter_db_optr cachelast */
199
,
/* (127) alter_topic_optr ::= alter_db_optr */
199
,
/* (128) alter_topic_optr ::= alter_topic_optr partitions */
204
,
/* (129) typename ::= ids */
204
,
/* (130) typename ::= ids LP signed RP */
204
,
/* (131) typename ::= ids UNSIGNED */
232
,
/* (132) signed ::= INTEGER */
232
,
/* (133) signed ::= PLUS INTEGER */
232
,
/* (134) signed ::= MINUS INTEGER */
193
,
/* (135) cmd ::= CREATE TABLE create_table_args */
193
,
/* (136) cmd ::= CREATE TABLE create_stable_args */
193
,
/* (137) cmd ::= CREATE STABLE create_stable_args */
193
,
/* (138) cmd ::= CREATE TABLE create_table_list */
235
,
/* (139) create_table_list ::= create_from_stable */
235
,
/* (140) create_table_list ::= create_table_list create_from_stable */
233
,
/* (141) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
234
,
/* (142) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
236
,
/* (143) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
236
,
/* (144) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
238
,
/* (145) tagNamelist ::= tagNamelist COMMA ids */
238
,
/* (146) tagNamelist ::= ids */
233
,
/* (147) create_table_args ::= ifnotexists ids cpxName AS select */
237
,
/* (148) columnlist ::= columnlist COMMA column */
237
,
/* (149) columnlist ::= column */
240
,
/* (150) column ::= ids typename */
216
,
/* (151) tagitemlist ::= tagitemlist COMMA tagitem */
216
,
/* (152) tagitemlist ::= tagitem */
241
,
/* (153) tagitem ::= INTEGER */
241
,
/* (154) tagitem ::= FLOAT */
241
,
/* (155) tagitem ::= STRING */
241
,
/* (156) tagitem ::= BOOL */
241
,
/* (157) tagitem ::= NULL */
241
,
/* (158) tagitem ::= MINUS INTEGER */
241
,
/* (159) tagitem ::= MINUS FLOAT */
241
,
/* (160) tagitem ::= PLUS INTEGER */
241
,
/* (161) tagitem ::= PLUS FLOAT */
239
,
/* (162) select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
239
,
/* (163) select ::= LP select RP */
254
,
/* (164) union ::= select */
254
,
/* (165) union ::= union UNION ALL select */
193
,
/* (166) cmd ::= union */
239
,
/* (167) select ::= SELECT selcollist */
255
,
/* (168) sclp ::= selcollist COMMA */
255
,
/* (169) sclp ::= */
242
,
/* (170) selcollist ::= sclp distinct expr as */
242
,
/* (171) selcollist ::= sclp STAR */
258
,
/* (172) as ::= AS ids */
258
,
/* (173) as ::= ids */
258
,
/* (174) as ::= */
256
,
/* (175) distinct ::= DISTINCT */
256
,
/* (176) distinct ::= */
243
,
/* (177) from ::= FROM tablelist */
243
,
/* (178) from ::= FROM LP union RP */
259
,
/* (179) tablelist ::= ids cpxName */
259
,
/* (180) tablelist ::= ids cpxName ids */
259
,
/* (181) tablelist ::= tablelist COMMA ids cpxName */
259
,
/* (182) tablelist ::= tablelist COMMA ids cpxName ids */
260
,
/* (183) tmvar ::= VARIABLE */
245
,
/* (184) interval_opt ::= INTERVAL LP tmvar RP */
245
,
/* (185) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
245
,
/* (186) interval_opt ::= */
246
,
/* (187) session_option ::= */
246
,
/* (188) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
247
,
/* (189) fill_opt ::= */
247
,
/* (190) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
247
,
/* (191) fill_opt ::= FILL LP ID RP */
248
,
/* (192) sliding_opt ::= SLIDING LP tmvar RP */
248
,
/* (193) sliding_opt ::= */
250
,
/* (194) orderby_opt ::= */
250
,
/* (195) orderby_opt ::= ORDER BY sortlist */
261
,
/* (196) sortlist ::= sortlist COMMA item sortorder */
261
,
/* (197) sortlist ::= item sortorder */
263
,
/* (198) item ::= ids cpxName */
264
,
/* (199) sortorder ::= ASC */
264
,
/* (200) sortorder ::= DESC */
264
,
/* (201) sortorder ::= */
249
,
/* (202) groupby_opt ::= */
249
,
/* (203) groupby_opt ::= GROUP BY grouplist */
265
,
/* (204) grouplist ::= grouplist COMMA item */
265
,
/* (205) grouplist ::= item */
251
,
/* (206) having_opt ::= */
251
,
/* (207) having_opt ::= HAVING expr */
253
,
/* (208) limit_opt ::= */
253
,
/* (209) limit_opt ::= LIMIT signed */
253
,
/* (210) limit_opt ::= LIMIT signed OFFSET signed */
253
,
/* (211) limit_opt ::= LIMIT signed COMMA signed */
252
,
/* (212) slimit_opt ::= */
252
,
/* (213) slimit_opt ::= SLIMIT signed */
252
,
/* (214) slimit_opt ::= SLIMIT signed SOFFSET signed */
252
,
/* (215) slimit_opt ::= SLIMIT signed COMMA signed */
244
,
/* (216) where_opt ::= */
244
,
/* (217) where_opt ::= WHERE expr */
257
,
/* (218) expr ::= LP expr RP */
257
,
/* (219) expr ::= ID */
257
,
/* (220) expr ::= ID DOT ID */
257
,
/* (221) expr ::= ID DOT STAR */
257
,
/* (222) expr ::= INTEGER */
257
,
/* (223) expr ::= MINUS INTEGER */
257
,
/* (224) expr ::= PLUS INTEGER */
257
,
/* (225) expr ::= FLOAT */
257
,
/* (226) expr ::= MINUS FLOAT */
257
,
/* (227) expr ::= PLUS FLOAT */
257
,
/* (228) expr ::= STRING */
257
,
/* (229) expr ::= NOW */
257
,
/* (230) expr ::= VARIABLE */
257
,
/* (231) expr ::= BOOL */
257
,
/* (232) expr ::= NULL */
257
,
/* (233) expr ::= ID LP exprlist RP */
257
,
/* (234) expr ::= ID LP STAR RP */
257
,
/* (235) expr ::= expr IS NULL */
257
,
/* (236) expr ::= expr IS NOT NULL */
257
,
/* (237) expr ::= expr LT expr */
257
,
/* (238) expr ::= expr GT expr */
257
,
/* (239) expr ::= expr LE expr */
257
,
/* (240) expr ::= expr GE expr */
257
,
/* (241) expr ::= expr NE expr */
257
,
/* (242) expr ::= expr EQ expr */
257
,
/* (243) expr ::= expr BETWEEN expr AND expr */
257
,
/* (244) expr ::= expr AND expr */
257
,
/* (245) expr ::= expr OR expr */
257
,
/* (246) expr ::= expr PLUS expr */
257
,
/* (247) expr ::= expr MINUS expr */
257
,
/* (248) expr ::= expr STAR expr */
257
,
/* (249) expr ::= expr SLASH expr */
257
,
/* (250) expr ::= expr REM expr */
257
,
/* (251) expr ::= expr LIKE expr */
257
,
/* (252) expr ::= expr IN LP exprlist RP */
266
,
/* (253) exprlist ::= exprlist COMMA expritem */
266
,
/* (254) exprlist ::= expritem */
267
,
/* (255) expritem ::= expr */
267
,
/* (256) expritem ::= */
193
,
/* (257) cmd ::= RESET QUERY CACHE */
193
,
/* (258) cmd ::= SYNCDB ids REPLICA */
193
,
/* (259) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
193
,
/* (260) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
193
,
/* (261) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
193
,
/* (262) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
193
,
/* (263) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
193
,
/* (264) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
193
,
/* (265) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
193
,
/* (266) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
193
,
/* (267) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
193
,
/* (268) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
193
,
/* (269) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
193
,
/* (270) cmd ::= KILL CONNECTION INTEGER */
193
,
/* (271) cmd ::= KILL STREAM INTEGER COLON INTEGER */
193
,
/* (272) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
...
...
@@ -2108,218 +2117,220 @@ static const signed char yyRuleInfoNRhs[] = {
-
6
,
/* (56) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
-
5
,
/* (57) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
-
5
,
/* (58) cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
-
7
,
/* (59) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typenam
e */
-
8
,
/* (60) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typenam
e */
-
8
,
/* (59) cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsiz
e */
-
9
,
/* (60) cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsiz
e */
-
5
,
/* (61) cmd ::= CREATE USER ids PASS ids */
0
,
/* (62) pps ::= */
-
2
,
/* (63) pps ::= PPS INTEGER */
0
,
/* (64) tseries ::= */
-
2
,
/* (65) tseries ::= TSERIES INTEGER */
0
,
/* (66) dbs ::= */
-
2
,
/* (67) dbs ::= DBS INTEGER */
0
,
/* (68) streams ::= */
-
2
,
/* (69) streams ::= STREAMS INTEGER */
0
,
/* (70) storage ::= */
-
2
,
/* (71) storage ::= STORAGE INTEGER */
0
,
/* (72) qtime ::= */
-
2
,
/* (73) qtime ::= QTIME INTEGER */
0
,
/* (74) users ::= */
-
2
,
/* (75) users ::= USERS INTEGER */
0
,
/* (76) conns ::= */
-
2
,
/* (77) conns ::= CONNS INTEGER */
0
,
/* (78) state ::= */
-
2
,
/* (79) state ::= STATE ids */
-
9
,
/* (80) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
-
2
,
/* (81) keep ::= KEEP tagitemlist */
-
2
,
/* (82) cache ::= CACHE INTEGER */
-
2
,
/* (83) replica ::= REPLICA INTEGER */
-
2
,
/* (84) quorum ::= QUORUM INTEGER */
-
2
,
/* (85) days ::= DAYS INTEGER */
-
2
,
/* (86) minrows ::= MINROWS INTEGER */
-
2
,
/* (87) maxrows ::= MAXROWS INTEGER */
-
2
,
/* (88) blocks ::= BLOCKS INTEGER */
-
2
,
/* (89) ctime ::= CTIME INTEGER */
-
2
,
/* (90) wal ::= WAL INTEGER */
-
2
,
/* (91) fsync ::= FSYNC INTEGER */
-
2
,
/* (92) comp ::= COMP INTEGER */
-
2
,
/* (93) prec ::= PRECISION STRING */
-
2
,
/* (94) update ::= UPDATE INTEGER */
-
2
,
/* (95) cachelast ::= CACHELAST INTEGER */
-
2
,
/* (96) partitions ::= PARTITIONS INTEGER */
0
,
/* (97) db_optr ::= */
-
2
,
/* (98) db_optr ::= db_optr cache */
-
2
,
/* (99) db_optr ::= db_optr replica */
-
2
,
/* (100) db_optr ::= db_optr quorum */
-
2
,
/* (101) db_optr ::= db_optr days */
-
2
,
/* (102) db_optr ::= db_optr minrows */
-
2
,
/* (103) db_optr ::= db_optr maxrows */
-
2
,
/* (104) db_optr ::= db_optr blocks */
-
2
,
/* (105) db_optr ::= db_optr ctime */
-
2
,
/* (106) db_optr ::= db_optr wal */
-
2
,
/* (107) db_optr ::= db_optr fsync */
-
2
,
/* (108) db_optr ::= db_optr comp */
-
2
,
/* (109) db_optr ::= db_optr prec */
-
2
,
/* (110) db_optr ::= db_optr keep */
-
2
,
/* (111) db_optr ::= db_optr update */
-
2
,
/* (112) db_optr ::= db_optr cachelast */
-
1
,
/* (113) topic_optr ::= db_optr */
-
2
,
/* (114) topic_optr ::= topic_optr partitions */
0
,
/* (115) alter_db_optr ::= */
-
2
,
/* (116) alter_db_optr ::= alter_db_optr replica */
-
2
,
/* (117) alter_db_optr ::= alter_db_optr quorum */
-
2
,
/* (118) alter_db_optr ::= alter_db_optr keep */
-
2
,
/* (119) alter_db_optr ::= alter_db_optr blocks */
-
2
,
/* (120) alter_db_optr ::= alter_db_optr comp */
-
2
,
/* (121) alter_db_optr ::= alter_db_optr wal */
-
2
,
/* (122) alter_db_optr ::= alter_db_optr fsync */
-
2
,
/* (123) alter_db_optr ::= alter_db_optr update */
-
2
,
/* (124) alter_db_optr ::= alter_db_optr cachelast */
-
1
,
/* (125) alter_topic_optr ::= alter_db_optr */
-
2
,
/* (126) alter_topic_optr ::= alter_topic_optr partitions */
-
1
,
/* (127) typename ::= ids */
-
4
,
/* (128) typename ::= ids LP signed RP */
-
2
,
/* (129) typename ::= ids UNSIGNED */
-
1
,
/* (130) signed ::= INTEGER */
-
2
,
/* (131) signed ::= PLUS INTEGER */
-
2
,
/* (132) signed ::= MINUS INTEGER */
-
3
,
/* (133) cmd ::= CREATE TABLE create_table_args */
-
3
,
/* (134) cmd ::= CREATE TABLE create_stable_args */
-
3
,
/* (135) cmd ::= CREATE STABLE create_stable_args */
-
3
,
/* (136) cmd ::= CREATE TABLE create_table_list */
-
1
,
/* (137) create_table_list ::= create_from_stable */
-
2
,
/* (138) create_table_list ::= create_table_list create_from_stable */
-
6
,
/* (139) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
-
10
,
/* (140) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
-
10
,
/* (141) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
-
13
,
/* (142) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
-
3
,
/* (143) tagNamelist ::= tagNamelist COMMA ids */
-
1
,
/* (144) tagNamelist ::= ids */
-
5
,
/* (145) create_table_args ::= ifnotexists ids cpxName AS select */
-
3
,
/* (146) columnlist ::= columnlist COMMA column */
-
1
,
/* (147) columnlist ::= column */
-
2
,
/* (148) column ::= ids typename */
-
3
,
/* (149) tagitemlist ::= tagitemlist COMMA tagitem */
-
1
,
/* (150) tagitemlist ::= tagitem */
-
1
,
/* (151) tagitem ::= INTEGER */
-
1
,
/* (152) tagitem ::= FLOAT */
-
1
,
/* (153) tagitem ::= STRING */
-
1
,
/* (154) tagitem ::= BOOL */
-
1
,
/* (155) tagitem ::= NULL */
-
2
,
/* (156) tagitem ::= MINUS INTEGER */
-
2
,
/* (157) tagitem ::= MINUS FLOAT */
-
2
,
/* (158) tagitem ::= PLUS INTEGER */
-
2
,
/* (159) tagitem ::= PLUS FLOAT */
-
13
,
/* (160) select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
-
3
,
/* (161) select ::= LP select RP */
-
1
,
/* (162) union ::= select */
-
4
,
/* (163) union ::= union UNION ALL select */
-
1
,
/* (164) cmd ::= union */
-
2
,
/* (165) select ::= SELECT selcollist */
-
2
,
/* (166) sclp ::= selcollist COMMA */
0
,
/* (167) sclp ::= */
-
4
,
/* (168) selcollist ::= sclp distinct expr as */
-
2
,
/* (169) selcollist ::= sclp STAR */
-
2
,
/* (170) as ::= AS ids */
-
1
,
/* (171) as ::= ids */
0
,
/* (172) as ::= */
-
1
,
/* (173) distinct ::= DISTINCT */
0
,
/* (174) distinct ::= */
-
2
,
/* (175) from ::= FROM tablelist */
-
4
,
/* (176) from ::= FROM LP union RP */
-
2
,
/* (177) tablelist ::= ids cpxName */
-
3
,
/* (178) tablelist ::= ids cpxName ids */
-
4
,
/* (179) tablelist ::= tablelist COMMA ids cpxName */
-
5
,
/* (180) tablelist ::= tablelist COMMA ids cpxName ids */
-
1
,
/* (181) tmvar ::= VARIABLE */
-
4
,
/* (182) interval_opt ::= INTERVAL LP tmvar RP */
-
6
,
/* (183) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
0
,
/* (184) interval_opt ::= */
0
,
/* (185) session_option ::= */
-
7
,
/* (186) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
0
,
/* (187) fill_opt ::= */
-
6
,
/* (188) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
4
,
/* (189) fill_opt ::= FILL LP ID RP */
-
4
,
/* (190) sliding_opt ::= SLIDING LP tmvar RP */
0
,
/* (191) sliding_opt ::= */
0
,
/* (192) orderby_opt ::= */
-
3
,
/* (193) orderby_opt ::= ORDER BY sortlist */
-
4
,
/* (194) sortlist ::= sortlist COMMA item sortorder */
-
2
,
/* (195) sortlist ::= item sortorder */
-
2
,
/* (196) item ::= ids cpxName */
-
1
,
/* (197) sortorder ::= ASC */
-
1
,
/* (198) sortorder ::= DESC */
0
,
/* (199) sortorder ::= */
0
,
/* (200) groupby_opt ::= */
-
3
,
/* (201) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (202) grouplist ::= grouplist COMMA item */
-
1
,
/* (203) grouplist ::= item */
0
,
/* (204) having_opt ::= */
-
2
,
/* (205) having_opt ::= HAVING expr */
0
,
/* (206) limit_opt ::= */
-
2
,
/* (207) limit_opt ::= LIMIT signed */
-
4
,
/* (208) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (209) limit_opt ::= LIMIT signed COMMA signed */
0
,
/* (210) slimit_opt ::= */
-
2
,
/* (211) slimit_opt ::= SLIMIT signed */
-
4
,
/* (212) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (213) slimit_opt ::= SLIMIT signed COMMA signed */
0
,
/* (214) where_opt ::= */
-
2
,
/* (215) where_opt ::= WHERE expr */
-
3
,
/* (216) expr ::= LP expr RP */
-
1
,
/* (217) expr ::= ID */
-
3
,
/* (218) expr ::= ID DOT ID */
-
3
,
/* (219) expr ::= ID DOT STAR */
-
1
,
/* (220) expr ::= INTEGER */
-
2
,
/* (221) expr ::= MINUS INTEGER */
-
2
,
/* (222) expr ::= PLUS INTEGER */
-
1
,
/* (223) expr ::= FLOAT */
-
2
,
/* (224) expr ::= MINUS FLOAT */
-
2
,
/* (225) expr ::= PLUS FLOAT */
-
1
,
/* (226) expr ::= STRING */
-
1
,
/* (227) expr ::= NOW */
-
1
,
/* (228) expr ::= VARIABLE */
-
1
,
/* (229) expr ::= BOOL */
-
1
,
/* (230) expr ::= NULL */
-
4
,
/* (231) expr ::= ID LP exprlist RP */
-
4
,
/* (232) expr ::= ID LP STAR RP */
-
3
,
/* (233) expr ::= expr IS NULL */
-
4
,
/* (234) expr ::= expr IS NOT NULL */
-
3
,
/* (235) expr ::= expr LT expr */
-
3
,
/* (236) expr ::= expr GT expr */
-
3
,
/* (237) expr ::= expr LE expr */
-
3
,
/* (238) expr ::= expr GE expr */
-
3
,
/* (239) expr ::= expr NE expr */
-
3
,
/* (240) expr ::= expr EQ expr */
-
5
,
/* (241) expr ::= expr BETWEEN expr AND expr */
-
3
,
/* (242) expr ::= expr AND expr */
-
3
,
/* (243) expr ::= expr OR expr */
-
3
,
/* (244) expr ::= expr PLUS expr */
-
3
,
/* (245) expr ::= expr MINUS expr */
-
3
,
/* (246) expr ::= expr STAR expr */
-
3
,
/* (247) expr ::= expr SLASH expr */
-
3
,
/* (248) expr ::= expr REM expr */
-
3
,
/* (249) expr ::= expr LIKE expr */
-
5
,
/* (250) expr ::= expr IN LP exprlist RP */
-
3
,
/* (251) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (252) exprlist ::= expritem */
-
1
,
/* (253) expritem ::= expr */
0
,
/* (254) expritem ::= */
-
3
,
/* (255) cmd ::= RESET QUERY CACHE */
-
3
,
/* (256) cmd ::= SYNCDB ids REPLICA */
-
7
,
/* (257) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (258) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (259) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (260) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (261) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (262) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (263) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (264) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (265) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (266) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (267) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
3
,
/* (268) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (269) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (270) cmd ::= KILL QUERY INTEGER COLON INTEGER */
0
,
/* (62) bufsize ::= */
-
2
,
/* (63) bufsize ::= BUFSIZE INTEGER */
0
,
/* (64) pps ::= */
-
2
,
/* (65) pps ::= PPS INTEGER */
0
,
/* (66) tseries ::= */
-
2
,
/* (67) tseries ::= TSERIES INTEGER */
0
,
/* (68) dbs ::= */
-
2
,
/* (69) dbs ::= DBS INTEGER */
0
,
/* (70) streams ::= */
-
2
,
/* (71) streams ::= STREAMS INTEGER */
0
,
/* (72) storage ::= */
-
2
,
/* (73) storage ::= STORAGE INTEGER */
0
,
/* (74) qtime ::= */
-
2
,
/* (75) qtime ::= QTIME INTEGER */
0
,
/* (76) users ::= */
-
2
,
/* (77) users ::= USERS INTEGER */
0
,
/* (78) conns ::= */
-
2
,
/* (79) conns ::= CONNS INTEGER */
0
,
/* (80) state ::= */
-
2
,
/* (81) state ::= STATE ids */
-
9
,
/* (82) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
-
2
,
/* (83) keep ::= KEEP tagitemlist */
-
2
,
/* (84) cache ::= CACHE INTEGER */
-
2
,
/* (85) replica ::= REPLICA INTEGER */
-
2
,
/* (86) quorum ::= QUORUM INTEGER */
-
2
,
/* (87) days ::= DAYS INTEGER */
-
2
,
/* (88) minrows ::= MINROWS INTEGER */
-
2
,
/* (89) maxrows ::= MAXROWS INTEGER */
-
2
,
/* (90) blocks ::= BLOCKS INTEGER */
-
2
,
/* (91) ctime ::= CTIME INTEGER */
-
2
,
/* (92) wal ::= WAL INTEGER */
-
2
,
/* (93) fsync ::= FSYNC INTEGER */
-
2
,
/* (94) comp ::= COMP INTEGER */
-
2
,
/* (95) prec ::= PRECISION STRING */
-
2
,
/* (96) update ::= UPDATE INTEGER */
-
2
,
/* (97) cachelast ::= CACHELAST INTEGER */
-
2
,
/* (98) partitions ::= PARTITIONS INTEGER */
0
,
/* (99) db_optr ::= */
-
2
,
/* (100) db_optr ::= db_optr cache */
-
2
,
/* (101) db_optr ::= db_optr replica */
-
2
,
/* (102) db_optr ::= db_optr quorum */
-
2
,
/* (103) db_optr ::= db_optr days */
-
2
,
/* (104) db_optr ::= db_optr minrows */
-
2
,
/* (105) db_optr ::= db_optr maxrows */
-
2
,
/* (106) db_optr ::= db_optr blocks */
-
2
,
/* (107) db_optr ::= db_optr ctime */
-
2
,
/* (108) db_optr ::= db_optr wal */
-
2
,
/* (109) db_optr ::= db_optr fsync */
-
2
,
/* (110) db_optr ::= db_optr comp */
-
2
,
/* (111) db_optr ::= db_optr prec */
-
2
,
/* (112) db_optr ::= db_optr keep */
-
2
,
/* (113) db_optr ::= db_optr update */
-
2
,
/* (114) db_optr ::= db_optr cachelast */
-
1
,
/* (115) topic_optr ::= db_optr */
-
2
,
/* (116) topic_optr ::= topic_optr partitions */
0
,
/* (117) alter_db_optr ::= */
-
2
,
/* (118) alter_db_optr ::= alter_db_optr replica */
-
2
,
/* (119) alter_db_optr ::= alter_db_optr quorum */
-
2
,
/* (120) alter_db_optr ::= alter_db_optr keep */
-
2
,
/* (121) alter_db_optr ::= alter_db_optr blocks */
-
2
,
/* (122) alter_db_optr ::= alter_db_optr comp */
-
2
,
/* (123) alter_db_optr ::= alter_db_optr wal */
-
2
,
/* (124) alter_db_optr ::= alter_db_optr fsync */
-
2
,
/* (125) alter_db_optr ::= alter_db_optr update */
-
2
,
/* (126) alter_db_optr ::= alter_db_optr cachelast */
-
1
,
/* (127) alter_topic_optr ::= alter_db_optr */
-
2
,
/* (128) alter_topic_optr ::= alter_topic_optr partitions */
-
1
,
/* (129) typename ::= ids */
-
4
,
/* (130) typename ::= ids LP signed RP */
-
2
,
/* (131) typename ::= ids UNSIGNED */
-
1
,
/* (132) signed ::= INTEGER */
-
2
,
/* (133) signed ::= PLUS INTEGER */
-
2
,
/* (134) signed ::= MINUS INTEGER */
-
3
,
/* (135) cmd ::= CREATE TABLE create_table_args */
-
3
,
/* (136) cmd ::= CREATE TABLE create_stable_args */
-
3
,
/* (137) cmd ::= CREATE STABLE create_stable_args */
-
3
,
/* (138) cmd ::= CREATE TABLE create_table_list */
-
1
,
/* (139) create_table_list ::= create_from_stable */
-
2
,
/* (140) create_table_list ::= create_table_list create_from_stable */
-
6
,
/* (141) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
-
10
,
/* (142) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
-
10
,
/* (143) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
-
13
,
/* (144) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
-
3
,
/* (145) tagNamelist ::= tagNamelist COMMA ids */
-
1
,
/* (146) tagNamelist ::= ids */
-
5
,
/* (147) create_table_args ::= ifnotexists ids cpxName AS select */
-
3
,
/* (148) columnlist ::= columnlist COMMA column */
-
1
,
/* (149) columnlist ::= column */
-
2
,
/* (150) column ::= ids typename */
-
3
,
/* (151) tagitemlist ::= tagitemlist COMMA tagitem */
-
1
,
/* (152) tagitemlist ::= tagitem */
-
1
,
/* (153) tagitem ::= INTEGER */
-
1
,
/* (154) tagitem ::= FLOAT */
-
1
,
/* (155) tagitem ::= STRING */
-
1
,
/* (156) tagitem ::= BOOL */
-
1
,
/* (157) tagitem ::= NULL */
-
2
,
/* (158) tagitem ::= MINUS INTEGER */
-
2
,
/* (159) tagitem ::= MINUS FLOAT */
-
2
,
/* (160) tagitem ::= PLUS INTEGER */
-
2
,
/* (161) tagitem ::= PLUS FLOAT */
-
13
,
/* (162) select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
-
3
,
/* (163) select ::= LP select RP */
-
1
,
/* (164) union ::= select */
-
4
,
/* (165) union ::= union UNION ALL select */
-
1
,
/* (166) cmd ::= union */
-
2
,
/* (167) select ::= SELECT selcollist */
-
2
,
/* (168) sclp ::= selcollist COMMA */
0
,
/* (169) sclp ::= */
-
4
,
/* (170) selcollist ::= sclp distinct expr as */
-
2
,
/* (171) selcollist ::= sclp STAR */
-
2
,
/* (172) as ::= AS ids */
-
1
,
/* (173) as ::= ids */
0
,
/* (174) as ::= */
-
1
,
/* (175) distinct ::= DISTINCT */
0
,
/* (176) distinct ::= */
-
2
,
/* (177) from ::= FROM tablelist */
-
4
,
/* (178) from ::= FROM LP union RP */
-
2
,
/* (179) tablelist ::= ids cpxName */
-
3
,
/* (180) tablelist ::= ids cpxName ids */
-
4
,
/* (181) tablelist ::= tablelist COMMA ids cpxName */
-
5
,
/* (182) tablelist ::= tablelist COMMA ids cpxName ids */
-
1
,
/* (183) tmvar ::= VARIABLE */
-
4
,
/* (184) interval_opt ::= INTERVAL LP tmvar RP */
-
6
,
/* (185) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
0
,
/* (186) interval_opt ::= */
0
,
/* (187) session_option ::= */
-
7
,
/* (188) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
0
,
/* (189) fill_opt ::= */
-
6
,
/* (190) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
4
,
/* (191) fill_opt ::= FILL LP ID RP */
-
4
,
/* (192) sliding_opt ::= SLIDING LP tmvar RP */
0
,
/* (193) sliding_opt ::= */
0
,
/* (194) orderby_opt ::= */
-
3
,
/* (195) orderby_opt ::= ORDER BY sortlist */
-
4
,
/* (196) sortlist ::= sortlist COMMA item sortorder */
-
2
,
/* (197) sortlist ::= item sortorder */
-
2
,
/* (198) item ::= ids cpxName */
-
1
,
/* (199) sortorder ::= ASC */
-
1
,
/* (200) sortorder ::= DESC */
0
,
/* (201) sortorder ::= */
0
,
/* (202) groupby_opt ::= */
-
3
,
/* (203) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (204) grouplist ::= grouplist COMMA item */
-
1
,
/* (205) grouplist ::= item */
0
,
/* (206) having_opt ::= */
-
2
,
/* (207) having_opt ::= HAVING expr */
0
,
/* (208) limit_opt ::= */
-
2
,
/* (209) limit_opt ::= LIMIT signed */
-
4
,
/* (210) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (211) limit_opt ::= LIMIT signed COMMA signed */
0
,
/* (212) slimit_opt ::= */
-
2
,
/* (213) slimit_opt ::= SLIMIT signed */
-
4
,
/* (214) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (215) slimit_opt ::= SLIMIT signed COMMA signed */
0
,
/* (216) where_opt ::= */
-
2
,
/* (217) where_opt ::= WHERE expr */
-
3
,
/* (218) expr ::= LP expr RP */
-
1
,
/* (219) expr ::= ID */
-
3
,
/* (220) expr ::= ID DOT ID */
-
3
,
/* (221) expr ::= ID DOT STAR */
-
1
,
/* (222) expr ::= INTEGER */
-
2
,
/* (223) expr ::= MINUS INTEGER */
-
2
,
/* (224) expr ::= PLUS INTEGER */
-
1
,
/* (225) expr ::= FLOAT */
-
2
,
/* (226) expr ::= MINUS FLOAT */
-
2
,
/* (227) expr ::= PLUS FLOAT */
-
1
,
/* (228) expr ::= STRING */
-
1
,
/* (229) expr ::= NOW */
-
1
,
/* (230) expr ::= VARIABLE */
-
1
,
/* (231) expr ::= BOOL */
-
1
,
/* (232) expr ::= NULL */
-
4
,
/* (233) expr ::= ID LP exprlist RP */
-
4
,
/* (234) expr ::= ID LP STAR RP */
-
3
,
/* (235) expr ::= expr IS NULL */
-
4
,
/* (236) expr ::= expr IS NOT NULL */
-
3
,
/* (237) expr ::= expr LT expr */
-
3
,
/* (238) expr ::= expr GT expr */
-
3
,
/* (239) expr ::= expr LE expr */
-
3
,
/* (240) expr ::= expr GE expr */
-
3
,
/* (241) expr ::= expr NE expr */
-
3
,
/* (242) expr ::= expr EQ expr */
-
5
,
/* (243) expr ::= expr BETWEEN expr AND expr */
-
3
,
/* (244) expr ::= expr AND expr */
-
3
,
/* (245) expr ::= expr OR expr */
-
3
,
/* (246) expr ::= expr PLUS expr */
-
3
,
/* (247) expr ::= expr MINUS expr */
-
3
,
/* (248) expr ::= expr STAR expr */
-
3
,
/* (249) expr ::= expr SLASH expr */
-
3
,
/* (250) expr ::= expr REM expr */
-
3
,
/* (251) expr ::= expr LIKE expr */
-
5
,
/* (252) expr ::= expr IN LP exprlist RP */
-
3
,
/* (253) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (254) exprlist ::= expritem */
-
1
,
/* (255) expritem ::= expr */
0
,
/* (256) expritem ::= */
-
3
,
/* (257) cmd ::= RESET QUERY CACHE */
-
3
,
/* (258) cmd ::= SYNCDB ids REPLICA */
-
7
,
/* (259) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (260) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (261) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (262) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (263) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (264) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (265) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (266) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (267) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (268) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (269) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
3
,
/* (270) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (271) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (272) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2410,9 +2421,9 @@ static YYACTIONTYPE yy_reduce(
/********** Begin reduce actions **********************************************/
YYMINORTYPE
yylhsminor
;
case
0
:
/* program ::= cmd */
case
13
3
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
133
);
case
13
4
:
/* cmd ::= CREATE TABLE create_stable_args */
yytestcase
(
yyruleno
==
134
);
case
13
5
:
/* cmd ::= CREATE STABLE create_stable_args */
yytestcase
(
yyruleno
==
135
);
case
13
5
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
135
);
case
13
6
:
/* cmd ::= CREATE TABLE create_stable_args */
yytestcase
(
yyruleno
==
136
);
case
13
7
:
/* cmd ::= CREATE STABLE create_stable_args */
yytestcase
(
yyruleno
==
137
);
{}
break
;
case
1
:
/* cmd ::= SHOW DATABASES */
...
...
@@ -2582,13 +2593,13 @@ static YYACTIONTYPE yy_reduce(
break
;
case
45
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
case
46
:
/* cmd ::= ALTER TOPIC ids alter_topic_optr */
yytestcase
(
yyruleno
==
46
);
{
SStrToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
114
,
&
t
);}
{
SStrToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
22
,
&
t
);}
break
;
case
47
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
1
83
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy83
);}
break
;
case
48
:
/* 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
1
83
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy83
);}
break
;
case
49
:
/* ids ::= ID */
case
50
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
50
);
...
...
@@ -2600,7 +2611,7 @@ static YYACTIONTYPE yy_reduce(
break
;
case
52
:
/* ifexists ::= */
case
54
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
54
);
case
17
4
:
/* distinct ::= */
yytestcase
(
yyruleno
==
174
);
case
17
6
:
/* distinct ::= */
yytestcase
(
yyruleno
==
176
);
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
break
;
case
53
:
/* ifnotexists ::= IF NOT EXISTS */
...
...
@@ -2610,311 +2621,313 @@ static YYACTIONTYPE yy_reduce(
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
56
:
/* 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
1
83
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy83
);}
break
;
case
57
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case
58
:
/* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
yytestcase
(
yyruleno
==
58
);
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
114
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
22
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
59
:
/* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename */
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy27
,
1
);}
case
59
:
/* 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
.
yy47
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
break
;
case
60
:
/* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename */
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy27
,
2
);}
case
60
:
/* 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
.
yy47
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
break
;
case
61
:
/* cmd ::= CREATE USER ids PASS ids */
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
62
:
/* pps ::= */
case
64
:
/* tseries ::= */
yytestcase
(
yyruleno
==
64
);
case
66
:
/* dbs ::= */
yytestcase
(
yyruleno
==
66
);
case
68
:
/* streams ::= */
yytestcase
(
yyruleno
==
68
);
case
70
:
/* storage ::= */
yytestcase
(
yyruleno
==
70
);
case
72
:
/* qtime ::= */
yytestcase
(
yyruleno
==
72
);
case
74
:
/* users ::= */
yytestcase
(
yyruleno
==
74
);
case
76
:
/* conns ::= */
yytestcase
(
yyruleno
==
76
);
case
78
:
/* state ::= */
yytestcase
(
yyruleno
==
78
);
case
62
:
/* bufsize ::= */
case
64
:
/* pps ::= */
yytestcase
(
yyruleno
==
64
);
case
66
:
/* tseries ::= */
yytestcase
(
yyruleno
==
66
);
case
68
:
/* dbs ::= */
yytestcase
(
yyruleno
==
68
);
case
70
:
/* streams ::= */
yytestcase
(
yyruleno
==
70
);
case
72
:
/* storage ::= */
yytestcase
(
yyruleno
==
72
);
case
74
:
/* qtime ::= */
yytestcase
(
yyruleno
==
74
);
case
76
:
/* users ::= */
yytestcase
(
yyruleno
==
76
);
case
78
:
/* conns ::= */
yytestcase
(
yyruleno
==
78
);
case
80
:
/* state ::= */
yytestcase
(
yyruleno
==
80
);
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
case
63
:
/* pps ::= PPS INTEGER */
case
65
:
/* tseries ::= TSERIES INTEGER */
yytestcase
(
yyruleno
==
65
);
case
67
:
/* dbs ::= DBS INTEGER */
yytestcase
(
yyruleno
==
67
);
case
69
:
/* streams ::= STREAMS INTEGER */
yytestcase
(
yyruleno
==
69
);
case
71
:
/* storage ::= STORAGE INTEGER */
yytestcase
(
yyruleno
==
71
);
case
73
:
/* qtime ::= QTIME INTEGER */
yytestcase
(
yyruleno
==
73
);
case
75
:
/* users ::= USERS INTEGER */
yytestcase
(
yyruleno
==
75
);
case
77
:
/* conns ::= CONNS INTEGER */
yytestcase
(
yyruleno
==
77
);
case
79
:
/* state ::= STATE ids */
yytestcase
(
yyruleno
==
79
);
case
63
:
/* bufsize ::= BUFSIZE INTEGER */
case
65
:
/* pps ::= PPS INTEGER */
yytestcase
(
yyruleno
==
65
);
case
67
:
/* tseries ::= TSERIES INTEGER */
yytestcase
(
yyruleno
==
67
);
case
69
:
/* dbs ::= DBS INTEGER */
yytestcase
(
yyruleno
==
69
);
case
71
:
/* streams ::= STREAMS INTEGER */
yytestcase
(
yyruleno
==
71
);
case
73
:
/* storage ::= STORAGE INTEGER */
yytestcase
(
yyruleno
==
73
);
case
75
:
/* qtime ::= QTIME INTEGER */
yytestcase
(
yyruleno
==
75
);
case
77
:
/* users ::= USERS INTEGER */
yytestcase
(
yyruleno
==
77
);
case
79
:
/* conns ::= CONNS INTEGER */
yytestcase
(
yyruleno
==
79
);
case
81
:
/* state ::= STATE ids */
yytestcase
(
yyruleno
==
81
);
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
8
0
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
case
8
2
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
yylhsminor
.
yy
1
83
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
1
83
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
1
83
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
1
83
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
1
83
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
1
83
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
1
83
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
1
83
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
1
83
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
8
].
minor
.
yy
183
=
yylhsminor
.
yy1
83
;
break
;
case
8
1
:
/* keep ::= KEEP tagitemlist */
{
yymsp
[
-
1
].
minor
.
yy
193
=
yymsp
[
0
].
minor
.
yy193
;
}
break
;
case
8
2
:
/* cache ::= CACHE INTEGER */
case
8
3
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
83
);
case
8
4
:
/* quorum ::= QUORUM INTEGER */
yytestcase
(
yyruleno
==
84
);
case
8
5
:
/* days ::= DAYS INTEGER */
yytestcase
(
yyruleno
==
85
);
case
8
6
:
/* minrows ::= MINROWS INTEGER */
yytestcase
(
yyruleno
==
86
);
case
8
7
:
/* maxrows ::= MAXROWS INTEGER */
yytestcase
(
yyruleno
==
87
);
case
88
:
/* blocks ::= BLOCKS INTEGER */
yytestcase
(
yyruleno
==
88
);
case
89
:
/* ctime ::= CTIME INTEGER */
yytestcase
(
yyruleno
==
89
);
case
9
0
:
/* wal ::= WAL INTEGER */
yytestcase
(
yyruleno
==
90
);
case
9
1
:
/* fsync ::= FSYNC INTEGER */
yytestcase
(
yyruleno
==
91
);
case
9
2
:
/* comp ::= COMP INTEGER */
yytestcase
(
yyruleno
==
92
);
case
9
3
:
/* prec ::= PRECISION STRING */
yytestcase
(
yyruleno
==
93
);
case
9
4
:
/* update ::= UPDATE INTEGER */
yytestcase
(
yyruleno
==
94
);
case
9
5
:
/* cachelast ::= CACHELAST INTEGER */
yytestcase
(
yyruleno
==
95
);
case
9
6
:
/* partitions ::= PARTITIONS INTEGER */
yytestcase
(
yyruleno
==
96
);
yylhsminor
.
yy83
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy83
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy83
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy83
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy83
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy83
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy83
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy83
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy83
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
8
].
minor
.
yy
83
=
yylhsminor
.
yy
83
;
break
;
case
8
3
:
/* keep ::= KEEP tagitemlist */
{
yymsp
[
-
1
].
minor
.
yy
325
=
yymsp
[
0
].
minor
.
yy325
;
}
break
;
case
8
4
:
/* cache ::= CACHE INTEGER */
case
8
5
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
85
);
case
8
6
:
/* quorum ::= QUORUM INTEGER */
yytestcase
(
yyruleno
==
86
);
case
8
7
:
/* days ::= DAYS INTEGER */
yytestcase
(
yyruleno
==
87
);
case
8
8
:
/* minrows ::= MINROWS INTEGER */
yytestcase
(
yyruleno
==
88
);
case
8
9
:
/* maxrows ::= MAXROWS INTEGER */
yytestcase
(
yyruleno
==
89
);
case
90
:
/* blocks ::= BLOCKS INTEGER */
yytestcase
(
yyruleno
==
90
);
case
91
:
/* ctime ::= CTIME INTEGER */
yytestcase
(
yyruleno
==
91
);
case
9
2
:
/* wal ::= WAL INTEGER */
yytestcase
(
yyruleno
==
92
);
case
9
3
:
/* fsync ::= FSYNC INTEGER */
yytestcase
(
yyruleno
==
93
);
case
9
4
:
/* comp ::= COMP INTEGER */
yytestcase
(
yyruleno
==
94
);
case
9
5
:
/* prec ::= PRECISION STRING */
yytestcase
(
yyruleno
==
95
);
case
9
6
:
/* update ::= UPDATE INTEGER */
yytestcase
(
yyruleno
==
96
);
case
9
7
:
/* cachelast ::= CACHELAST INTEGER */
yytestcase
(
yyruleno
==
97
);
case
9
8
:
/* partitions ::= PARTITIONS INTEGER */
yytestcase
(
yyruleno
==
98
);
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
9
7
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
114
);
yymsp
[
1
].
minor
.
yy114
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
case
98
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
99
:
/* db_optr ::= db_optr replica */
case
11
6
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
116
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
0
:
/* db_optr ::= db_optr quorum */
case
11
7
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
117
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
1
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
2
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
3
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
4
:
/* db_optr ::= db_optr blocks */
case
1
19
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
119
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
5
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
6
:
/* db_optr ::= db_optr wal */
case
12
1
:
/* alter_db_optr ::= alter_db_optr wal */
yytestcase
(
yyruleno
==
121
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
10
7
:
/* db_optr ::= db_optr fsync */
case
12
2
:
/* alter_db_optr ::= alter_db_optr fsync */
yytestcase
(
yyruleno
==
122
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
1
08
:
/* db_optr ::= db_optr comp */
case
12
0
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
120
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
1
09
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
11
0
:
/* db_optr ::= db_optr keep */
case
1
18
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
118
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
keep
=
yymsp
[
0
].
minor
.
yy193
;
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
11
1
:
/* db_optr ::= db_optr update */
case
12
3
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
123
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
11
2
:
/* db_optr ::= db_optr cachelast */
case
12
4
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
124
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
11
3
:
/* topic_optr ::= db_optr */
case
12
5
:
/* alter_topic_optr ::= alter_db_optr */
yytestcase
(
yyruleno
==
125
);
{
yylhsminor
.
yy
114
=
yymsp
[
0
].
minor
.
yy114
;
yylhsminor
.
yy114
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
yymsp
[
0
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
11
4
:
/* topic_optr ::= topic_optr partitions */
case
12
6
:
/* alter_topic_optr ::= alter_topic_optr partitions */
yytestcase
(
yyruleno
==
126
);
{
yylhsminor
.
yy
114
=
yymsp
[
-
1
].
minor
.
yy114
;
yylhsminor
.
yy114
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
114
=
yylhsminor
.
yy114
;
break
;
case
11
5
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
114
);
yymsp
[
1
].
minor
.
yy114
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
case
12
7
:
/* typename ::= ids */
case
9
9
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
22
);
yymsp
[
1
].
minor
.
yy22
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
case
100
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
101
:
/* db_optr ::= db_optr replica */
case
11
8
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
118
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
2
:
/* db_optr ::= db_optr quorum */
case
11
9
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
119
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
3
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
4
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
5
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
6
:
/* db_optr ::= db_optr blocks */
case
1
21
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
121
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
7
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
8
:
/* db_optr ::= db_optr wal */
case
12
3
:
/* alter_db_optr ::= alter_db_optr wal */
yytestcase
(
yyruleno
==
123
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
10
9
:
/* db_optr ::= db_optr fsync */
case
12
4
:
/* alter_db_optr ::= alter_db_optr fsync */
yytestcase
(
yyruleno
==
124
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
1
10
:
/* db_optr ::= db_optr comp */
case
12
2
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
122
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
1
11
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
11
2
:
/* db_optr ::= db_optr keep */
case
1
20
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
120
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
keep
=
yymsp
[
0
].
minor
.
yy325
;
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
11
3
:
/* db_optr ::= db_optr update */
case
12
5
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
125
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
11
4
:
/* db_optr ::= db_optr cachelast */
case
12
6
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
126
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
11
5
:
/* topic_optr ::= db_optr */
case
12
7
:
/* alter_topic_optr ::= alter_db_optr */
yytestcase
(
yyruleno
==
127
);
{
yylhsminor
.
yy
22
=
yymsp
[
0
].
minor
.
yy22
;
yylhsminor
.
yy22
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
yymsp
[
0
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
11
6
:
/* topic_optr ::= topic_optr partitions */
case
12
8
:
/* alter_topic_optr ::= alter_topic_optr partitions */
yytestcase
(
yyruleno
==
128
);
{
yylhsminor
.
yy
22
=
yymsp
[
-
1
].
minor
.
yy22
;
yylhsminor
.
yy22
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
22
=
yylhsminor
.
yy22
;
break
;
case
11
7
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
22
);
yymsp
[
1
].
minor
.
yy22
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
break
;
case
12
9
:
/* typename ::= ids */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
2
7
,
&
yymsp
[
0
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
4
7
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
27
=
yylhsminor
.
yy2
7
;
yymsp
[
0
].
minor
.
yy
47
=
yylhsminor
.
yy4
7
;
break
;
case
1
28
:
/* typename ::= ids LP signed RP */
case
1
30
:
/* typename ::= ids LP signed RP */
{
if
(
yymsp
[
-
1
].
minor
.
yy
4
73
<=
0
)
{
if
(
yymsp
[
-
1
].
minor
.
yy
3
73
<=
0
)
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
2
7
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
4
7
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
else
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
4
73
;
// negative value of name length
tSetColumnType
(
&
yylhsminor
.
yy
2
7
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
3
73
;
// negative value of name length
tSetColumnType
(
&
yylhsminor
.
yy
4
7
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
}
yymsp
[
-
3
].
minor
.
yy
27
=
yylhsminor
.
yy2
7
;
yymsp
[
-
3
].
minor
.
yy
47
=
yylhsminor
.
yy4
7
;
break
;
case
1
29
:
/* typename ::= ids UNSIGNED */
case
1
31
:
/* 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
2
7
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
4
7
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
yymsp
[
-
1
].
minor
.
yy
27
=
yylhsminor
.
yy2
7
;
yymsp
[
-
1
].
minor
.
yy
47
=
yylhsminor
.
yy4
7
;
break
;
case
13
0
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy
4
73
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
473
=
yylhsminor
.
yy4
73
;
case
13
2
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy
3
73
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
373
=
yylhsminor
.
yy3
73
;
break
;
case
13
1
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
4
73
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
case
13
3
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
3
73
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
break
;
case
13
2
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
4
73
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
case
13
4
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
3
73
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
case
13
6
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
270
;}
case
13
8
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
422
;}
break
;
case
13
7
:
/* create_table_list ::= create_from_stable */
case
13
9
:
/* 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
192
);
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy
504
);
pCreateTable
->
type
=
TSQL_CREATE_TABLE_FROM_STABLE
;
yylhsminor
.
yy
270
=
pCreateTable
;
yylhsminor
.
yy
422
=
pCreateTable
;
}
yymsp
[
0
].
minor
.
yy
270
=
yylhsminor
.
yy270
;
yymsp
[
0
].
minor
.
yy
422
=
yylhsminor
.
yy422
;
break
;
case
1
38
:
/* create_table_list ::= create_table_list create_from_stable */
case
1
40
:
/* create_table_list ::= create_table_list create_from_stable */
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
270
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy192
);
yylhsminor
.
yy
270
=
yymsp
[
-
1
].
minor
.
yy270
;
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
422
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy504
);
yylhsminor
.
yy
422
=
yymsp
[
-
1
].
minor
.
yy422
;
}
yymsp
[
-
1
].
minor
.
yy
270
=
yylhsminor
.
yy270
;
yymsp
[
-
1
].
minor
.
yy
422
=
yylhsminor
.
yy422
;
break
;
case
1
39
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
case
1
41
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
yylhsminor
.
yy
270
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy193
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
270
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
422
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy325
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
422
,
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
270
=
yylhsminor
.
yy270
;
yymsp
[
-
5
].
minor
.
yy
422
=
yylhsminor
.
yy422
;
break
;
case
14
0
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
case
14
2
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
yylhsminor
.
yy
270
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy193
,
yymsp
[
-
1
].
minor
.
yy193
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
270
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
422
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy325
,
yymsp
[
-
1
].
minor
.
yy325
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
422
,
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
270
=
yylhsminor
.
yy270
;
yymsp
[
-
9
].
minor
.
yy
422
=
yylhsminor
.
yy422
;
break
;
case
14
1
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
case
14
3
:
/* 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
192
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy193
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
yylhsminor
.
yy
504
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy325
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
yymsp
[
-
9
].
minor
.
yy
192
=
yylhsminor
.
yy192
;
yymsp
[
-
9
].
minor
.
yy
504
=
yylhsminor
.
yy504
;
break
;
case
14
2
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
case
14
4
:
/* 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
192
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy193
,
yymsp
[
-
1
].
minor
.
yy193
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
yylhsminor
.
yy
504
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy325
,
yymsp
[
-
1
].
minor
.
yy325
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
}
yymsp
[
-
12
].
minor
.
yy
192
=
yylhsminor
.
yy192
;
yymsp
[
-
12
].
minor
.
yy
504
=
yylhsminor
.
yy504
;
break
;
case
14
3
:
/* tagNamelist ::= tagNamelist COMMA ids */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
193
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy193
=
yymsp
[
-
2
].
minor
.
yy193
;
}
yymsp
[
-
2
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
14
5
:
/* tagNamelist ::= tagNamelist COMMA ids */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
325
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy325
=
yymsp
[
-
2
].
minor
.
yy325
;
}
yymsp
[
-
2
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
14
4
:
/* tagNamelist ::= ids */
{
yylhsminor
.
yy
193
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy193
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
14
6
:
/* tagNamelist ::= ids */
{
yylhsminor
.
yy
325
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy325
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
14
5
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
case
14
7
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
{
yylhsminor
.
yy
270
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy286
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
270
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
422
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy494
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
422
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
3
].
minor
.
yy0
.
n
+=
yymsp
[
-
2
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
4
].
minor
.
yy0
);
}
yymsp
[
-
4
].
minor
.
yy
270
=
yylhsminor
.
yy270
;
yymsp
[
-
4
].
minor
.
yy
422
=
yylhsminor
.
yy422
;
break
;
case
14
6
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
193
,
&
yymsp
[
0
].
minor
.
yy27
);
yylhsminor
.
yy193
=
yymsp
[
-
2
].
minor
.
yy193
;
}
yymsp
[
-
2
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
14
8
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
325
,
&
yymsp
[
0
].
minor
.
yy47
);
yylhsminor
.
yy325
=
yymsp
[
-
2
].
minor
.
yy325
;
}
yymsp
[
-
2
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
14
7
:
/* columnlist ::= column */
{
yylhsminor
.
yy
193
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy193
,
&
yymsp
[
0
].
minor
.
yy2
7
);}
yymsp
[
0
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
14
9
:
/* columnlist ::= column */
{
yylhsminor
.
yy
325
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy325
,
&
yymsp
[
0
].
minor
.
yy4
7
);}
yymsp
[
0
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
1
48
:
/* column ::= ids typename */
case
1
50
:
/* column ::= ids typename */
{
tSetColumnInfo
(
&
yylhsminor
.
yy
27
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy2
7
);
tSetColumnInfo
(
&
yylhsminor
.
yy
47
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy4
7
);
}
yymsp
[
-
1
].
minor
.
yy
27
=
yylhsminor
.
yy2
7
;
yymsp
[
-
1
].
minor
.
yy
47
=
yylhsminor
.
yy4
7
;
break
;
case
1
49
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
{
yylhsminor
.
yy
193
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy193
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
1
51
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
{
yylhsminor
.
yy
325
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy325
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
15
0
:
/* tagitemlist ::= tagitem */
{
yylhsminor
.
yy
193
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
15
2
:
/* tagitemlist ::= tagitem */
{
yylhsminor
.
yy
325
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
15
1
:
/* tagitem ::= INTEGER */
case
15
2
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
152
);
case
15
3
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
153
);
case
15
4
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
154
);
case
15
3
:
/* tagitem ::= INTEGER */
case
15
4
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
154
);
case
15
5
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
155
);
case
15
6
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
156
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy442
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy442
=
yylhsminor
.
yy442
;
break
;
case
15
5
:
/* tagitem ::= NULL */
case
15
7
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy442
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy442
=
yylhsminor
.
yy442
;
break
;
case
15
6
:
/* tagitem ::= MINUS INTEGER */
case
15
7
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
157
);
case
1
58
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
158
);
case
1
59
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
159
);
case
15
8
:
/* tagitem ::= MINUS INTEGER */
case
15
9
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
159
);
case
1
60
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
160
);
case
1
61
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
161
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
...
...
@@ -2923,172 +2936,172 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
1
].
minor
.
yy442
=
yylhsminor
.
yy442
;
break
;
case
16
0
:
/* select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
case
16
2
:
/* select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
yylhsminor
.
yy
286
=
tSetQuerySqlNode
(
&
yymsp
[
-
12
].
minor
.
yy0
,
yymsp
[
-
11
].
minor
.
yy193
,
yymsp
[
-
10
].
minor
.
yy370
,
yymsp
[
-
9
].
minor
.
yy454
,
yymsp
[
-
4
].
minor
.
yy193
,
yymsp
[
-
3
].
minor
.
yy193
,
&
yymsp
[
-
8
].
minor
.
yy392
,
&
yymsp
[
-
7
].
minor
.
yy447
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy193
,
&
yymsp
[
0
].
minor
.
yy482
,
&
yymsp
[
-
1
].
minor
.
yy482
,
yymsp
[
-
2
].
minor
.
yy454
);
yylhsminor
.
yy
494
=
tSetQuerySqlNode
(
&
yymsp
[
-
12
].
minor
.
yy0
,
yymsp
[
-
11
].
minor
.
yy325
,
yymsp
[
-
10
].
minor
.
yy506
,
yymsp
[
-
9
].
minor
.
yy162
,
yymsp
[
-
4
].
minor
.
yy325
,
yymsp
[
-
3
].
minor
.
yy325
,
&
yymsp
[
-
8
].
minor
.
yy328
,
&
yymsp
[
-
7
].
minor
.
yy84
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy325
,
&
yymsp
[
0
].
minor
.
yy230
,
&
yymsp
[
-
1
].
minor
.
yy230
,
yymsp
[
-
2
].
minor
.
yy162
);
}
yymsp
[
-
12
].
minor
.
yy
286
=
yylhsminor
.
yy286
;
yymsp
[
-
12
].
minor
.
yy
494
=
yylhsminor
.
yy494
;
break
;
case
16
1
:
/* select ::= LP select RP */
{
yymsp
[
-
2
].
minor
.
yy
286
=
yymsp
[
-
1
].
minor
.
yy286
;}
case
16
3
:
/* select ::= LP select RP */
{
yymsp
[
-
2
].
minor
.
yy
494
=
yymsp
[
-
1
].
minor
.
yy494
;}
break
;
case
16
2
:
/* union ::= select */
{
yylhsminor
.
yy
21
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy286
);
}
yymsp
[
0
].
minor
.
yy
21
=
yylhsminor
.
yy21
;
case
16
4
:
/* union ::= select */
{
yylhsminor
.
yy
145
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy494
);
}
yymsp
[
0
].
minor
.
yy
145
=
yylhsminor
.
yy145
;
break
;
case
16
3
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy
21
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy21
,
yymsp
[
0
].
minor
.
yy286
);
}
yymsp
[
-
3
].
minor
.
yy
21
=
yylhsminor
.
yy21
;
case
16
5
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy
145
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy145
,
yymsp
[
0
].
minor
.
yy494
);
}
yymsp
[
-
3
].
minor
.
yy
145
=
yylhsminor
.
yy145
;
break
;
case
16
4
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
21
,
NULL
,
TSDB_SQL_SELECT
);
}
case
16
6
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
145
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
case
16
5
:
/* select ::= SELECT selcollist */
case
16
7
:
/* select ::= SELECT selcollist */
{
yylhsminor
.
yy
286
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy193
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
yylhsminor
.
yy
494
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy325
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
286
=
yylhsminor
.
yy286
;
yymsp
[
-
1
].
minor
.
yy
494
=
yylhsminor
.
yy494
;
break
;
case
16
6
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy
193
=
yymsp
[
-
1
].
minor
.
yy193
;}
yymsp
[
-
1
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
16
8
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy
325
=
yymsp
[
-
1
].
minor
.
yy325
;}
yymsp
[
-
1
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
16
7
:
/* sclp ::= */
case
19
2
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
192
);
{
yymsp
[
1
].
minor
.
yy
193
=
0
;}
case
16
9
:
/* sclp ::= */
case
19
4
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
194
);
{
yymsp
[
1
].
minor
.
yy
325
=
0
;}
break
;
case
1
68
:
/* selcollist ::= sclp distinct expr as */
case
1
70
:
/* selcollist ::= sclp distinct expr as */
{
yylhsminor
.
yy
193
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy193
,
yymsp
[
-
1
].
minor
.
yy454
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
yylhsminor
.
yy
325
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy325
,
yymsp
[
-
1
].
minor
.
yy162
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
yymsp
[
-
3
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
3
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
1
69
:
/* selcollist ::= sclp STAR */
case
1
71
:
/* selcollist ::= sclp STAR */
{
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
NULL
,
TK_ALL
);
yylhsminor
.
yy
193
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy193
,
pNode
,
0
,
0
);
yylhsminor
.
yy
325
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy325
,
pNode
,
0
,
0
);
}
yymsp
[
-
1
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
1
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
17
0
:
/* as ::= AS ids */
case
17
2
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
17
1
:
/* as ::= ids */
case
17
3
:
/* as ::= ids */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
17
2
:
/* as ::= */
case
17
4
:
/* as ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
case
17
3
:
/* distinct ::= DISTINCT */
case
17
5
:
/* distinct ::= DISTINCT */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
17
5
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy
370
=
yymsp
[
0
].
minor
.
yy193
;}
case
17
7
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy
506
=
yymsp
[
0
].
minor
.
yy325
;}
break
;
case
17
6
:
/* from ::= FROM LP union RP */
{
yymsp
[
-
3
].
minor
.
yy
370
=
yymsp
[
-
1
].
minor
.
yy21
;}
case
17
8
:
/* from ::= FROM LP union RP */
{
yymsp
[
-
3
].
minor
.
yy
506
=
yymsp
[
-
1
].
minor
.
yy145
;}
break
;
case
17
7
:
/* tablelist ::= ids cpxName */
case
17
9
:
/* tablelist ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
193
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
325
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
1
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
1
78
:
/* tablelist ::= ids cpxName ids */
case
1
80
:
/* tablelist ::= ids cpxName ids */
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
193
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
325
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
2
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
1
79
:
/* tablelist ::= tablelist COMMA ids cpxName */
case
1
81
:
/* tablelist ::= tablelist COMMA ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
193
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy193
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
325
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy325
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
3
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
3
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
18
0
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
case
18
2
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
193
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy193
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
325
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy325
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
4
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
4
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
18
1
:
/* tmvar ::= VARIABLE */
case
18
3
:
/* tmvar ::= VARIABLE */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
18
2
:
/* interval_opt ::= INTERVAL LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy3
92
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy392
.
offset
.
n
=
0
;}
case
18
4
:
/* interval_opt ::= INTERVAL LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy3
28
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy328
.
offset
.
n
=
0
;}
break
;
case
18
3
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
yymsp
[
-
5
].
minor
.
yy3
92
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy392
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
case
18
5
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
yymsp
[
-
5
].
minor
.
yy3
28
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy328
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
break
;
case
18
4
:
/* interval_opt ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy3
92
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy392
));}
case
18
6
:
/* interval_opt ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy3
28
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy328
));}
break
;
case
18
5
:
/* session_option ::= */
{
yymsp
[
1
].
minor
.
yy
447
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy447
.
gap
.
n
=
0
;}
case
18
7
:
/* session_option ::= */
{
yymsp
[
1
].
minor
.
yy
84
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy84
.
gap
.
n
=
0
;}
break
;
case
18
6
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
case
18
8
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy
447
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
447
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
84
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
84
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
18
7
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy
193
=
0
;
}
case
18
9
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy
325
=
0
;
}
break
;
case
1
88
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
case
1
90
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
tVariant
A
=
{
0
};
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
A
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
193
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
193
=
yymsp
[
-
1
].
minor
.
yy193
;
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
325
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
325
=
yymsp
[
-
1
].
minor
.
yy325
;
}
break
;
case
1
89
:
/* fill_opt ::= FILL LP ID RP */
case
1
91
:
/* fill_opt ::= FILL LP ID RP */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy
193
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yymsp
[
-
3
].
minor
.
yy
325
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
break
;
case
19
0
:
/* sliding_opt ::= SLIDING LP tmvar RP */
case
19
2
:
/* sliding_opt ::= SLIDING LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
19
1
:
/* sliding_opt ::= */
case
19
3
:
/* sliding_opt ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
break
;
case
19
3
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy
193
=
yymsp
[
0
].
minor
.
yy193
;}
case
19
5
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy
325
=
yymsp
[
0
].
minor
.
yy325
;}
break
;
case
19
4
:
/* sortlist ::= sortlist COMMA item sortorder */
case
19
6
:
/* sortlist ::= sortlist COMMA item sortorder */
{
yylhsminor
.
yy
193
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy193
,
&
yymsp
[
-
1
].
minor
.
yy442
,
yymsp
[
0
].
minor
.
yy312
);
yylhsminor
.
yy
325
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy325
,
&
yymsp
[
-
1
].
minor
.
yy442
,
yymsp
[
0
].
minor
.
yy196
);
}
yymsp
[
-
3
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
3
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
19
5
:
/* sortlist ::= item sortorder */
case
19
7
:
/* sortlist ::= item sortorder */
{
yylhsminor
.
yy
193
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy442
,
yymsp
[
0
].
minor
.
yy312
);
yylhsminor
.
yy
325
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy442
,
yymsp
[
0
].
minor
.
yy196
);
}
yymsp
[
-
1
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
1
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
19
6
:
/* item ::= ids cpxName */
case
19
8
:
/* item ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
...
@@ -3097,222 +3110,222 @@ static YYACTIONTYPE yy_reduce(
}
yymsp
[
-
1
].
minor
.
yy442
=
yylhsminor
.
yy442
;
break
;
case
19
7
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy
312
=
TSDB_ORDER_ASC
;
}
case
19
9
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy
196
=
TSDB_ORDER_ASC
;
}
break
;
case
198
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy
312
=
TSDB_ORDER_DESC
;}
case
200
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy
196
=
TSDB_ORDER_DESC
;}
break
;
case
199
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy
312
=
TSDB_ORDER_ASC
;
}
case
201
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy
196
=
TSDB_ORDER_ASC
;
}
break
;
case
20
0
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy
193
=
0
;}
case
20
2
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy
325
=
0
;}
break
;
case
20
1
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy
193
=
yymsp
[
0
].
minor
.
yy193
;}
case
20
3
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy
325
=
yymsp
[
0
].
minor
.
yy325
;}
break
;
case
20
2
:
/* grouplist ::= grouplist COMMA item */
case
20
4
:
/* grouplist ::= grouplist COMMA item */
{
yylhsminor
.
yy
193
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy193
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
yylhsminor
.
yy
325
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy325
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
-
2
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
20
3
:
/* grouplist ::= item */
case
20
5
:
/* grouplist ::= item */
{
yylhsminor
.
yy
193
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
yylhsminor
.
yy
325
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
yymsp
[
0
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
20
4
:
/* having_opt ::= */
case
21
4
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
214
);
case
25
4
:
/* expritem ::= */
yytestcase
(
yyruleno
==
254
);
{
yymsp
[
1
].
minor
.
yy
454
=
0
;}
case
20
6
:
/* having_opt ::= */
case
21
6
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
216
);
case
25
6
:
/* expritem ::= */
yytestcase
(
yyruleno
==
256
);
{
yymsp
[
1
].
minor
.
yy
162
=
0
;}
break
;
case
20
5
:
/* having_opt ::= HAVING expr */
case
21
5
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
215
);
{
yymsp
[
-
1
].
minor
.
yy
454
=
yymsp
[
0
].
minor
.
yy454
;}
case
20
7
:
/* having_opt ::= HAVING expr */
case
21
7
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
217
);
{
yymsp
[
-
1
].
minor
.
yy
162
=
yymsp
[
0
].
minor
.
yy162
;}
break
;
case
20
6
:
/* limit_opt ::= */
case
21
0
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
210
);
{
yymsp
[
1
].
minor
.
yy
482
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy482
.
offset
=
0
;}
case
20
8
:
/* limit_opt ::= */
case
21
2
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
212
);
{
yymsp
[
1
].
minor
.
yy
230
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy230
.
offset
=
0
;}
break
;
case
20
7
:
/* limit_opt ::= LIMIT signed */
case
21
1
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
211
);
{
yymsp
[
-
1
].
minor
.
yy
482
.
limit
=
yymsp
[
0
].
minor
.
yy473
;
yymsp
[
-
1
].
minor
.
yy482
.
offset
=
0
;}
case
20
9
:
/* limit_opt ::= LIMIT signed */
case
21
3
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
213
);
{
yymsp
[
-
1
].
minor
.
yy
230
.
limit
=
yymsp
[
0
].
minor
.
yy373
;
yymsp
[
-
1
].
minor
.
yy230
.
offset
=
0
;}
break
;
case
2
08
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
482
.
limit
=
yymsp
[
-
2
].
minor
.
yy473
;
yymsp
[
-
3
].
minor
.
yy482
.
offset
=
yymsp
[
0
].
minor
.
yy4
73
;}
case
2
10
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
230
.
limit
=
yymsp
[
-
2
].
minor
.
yy373
;
yymsp
[
-
3
].
minor
.
yy230
.
offset
=
yymsp
[
0
].
minor
.
yy3
73
;}
break
;
case
2
09
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
482
.
limit
=
yymsp
[
0
].
minor
.
yy473
;
yymsp
[
-
3
].
minor
.
yy482
.
offset
=
yymsp
[
-
2
].
minor
.
yy4
73
;}
case
2
11
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
230
.
limit
=
yymsp
[
0
].
minor
.
yy373
;
yymsp
[
-
3
].
minor
.
yy230
.
offset
=
yymsp
[
-
2
].
minor
.
yy3
73
;}
break
;
case
21
2
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
482
.
limit
=
yymsp
[
-
2
].
minor
.
yy473
;
yymsp
[
-
3
].
minor
.
yy482
.
offset
=
yymsp
[
0
].
minor
.
yy4
73
;}
case
21
4
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
230
.
limit
=
yymsp
[
-
2
].
minor
.
yy373
;
yymsp
[
-
3
].
minor
.
yy230
.
offset
=
yymsp
[
0
].
minor
.
yy3
73
;}
break
;
case
21
3
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
482
.
limit
=
yymsp
[
0
].
minor
.
yy473
;
yymsp
[
-
3
].
minor
.
yy482
.
offset
=
yymsp
[
-
2
].
minor
.
yy4
73
;}
case
21
5
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
230
.
limit
=
yymsp
[
0
].
minor
.
yy373
;
yymsp
[
-
3
].
minor
.
yy230
.
offset
=
yymsp
[
-
2
].
minor
.
yy3
73
;}
break
;
case
21
6
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy
454
=
yymsp
[
-
1
].
minor
.
yy454
;
yylhsminor
.
yy454
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy454
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
21
8
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy
162
=
yymsp
[
-
1
].
minor
.
yy162
;
yylhsminor
.
yy162
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy162
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
21
7
:
/* expr ::= ID */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
21
9
:
/* expr ::= ID */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
18
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
20
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
19
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
21
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
22
0
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
22
2
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
22
1
:
/* expr ::= MINUS INTEGER */
case
22
2
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
222
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
22
3
:
/* expr ::= MINUS INTEGER */
case
22
4
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
224
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
22
3
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
22
5
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
22
4
:
/* expr ::= MINUS FLOAT */
case
22
5
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
225
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
22
6
:
/* expr ::= MINUS FLOAT */
case
22
7
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
227
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
22
6
:
/* expr ::= STRING */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
22
8
:
/* expr ::= STRING */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
22
7
:
/* expr ::= NOW */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
22
9
:
/* expr ::= NOW */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
28
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
30
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
29
:
/* expr ::= BOOL */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
31
:
/* expr ::= BOOL */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
0
:
/* expr ::= NULL */
{
yylhsminor
.
yy
454
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
2
:
/* expr ::= NULL */
{
yylhsminor
.
yy
162
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
1
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy
454
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy193
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
3
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy
162
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy325
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
2
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy
454
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
4
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy
162
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
3
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
5
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
4
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy454
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
6
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy162
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
5
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
7
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
6
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
8
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
23
7
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
23
9
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
38
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
40
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
39
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
41
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
0
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
2
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
1
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
454
);
yylhsminor
.
yy454
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy454
,
yymsp
[
-
2
].
minor
.
yy454
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy454
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
3
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
162
);
yylhsminor
.
yy162
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy162
,
yymsp
[
-
2
].
minor
.
yy162
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy162
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
2
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
4
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
3
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
5
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
4
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
6
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
5
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
7
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
6
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
8
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
24
7
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
24
9
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
48
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
50
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
2
49
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy454
,
yymsp
[
0
].
minor
.
yy454
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
2
51
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy162
,
yymsp
[
0
].
minor
.
yy162
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
25
0
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
454
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy454
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy193
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
25
2
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
162
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy162
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy325
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
25
1
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
193
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy193
,
yymsp
[
0
].
minor
.
yy454
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
25
3
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
325
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy325
,
yymsp
[
0
].
minor
.
yy162
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
25
2
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
193
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy454
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy
193
=
yylhsminor
.
yy193
;
case
25
4
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
325
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy162
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
25
3
:
/* expritem ::= expr */
{
yylhsminor
.
yy
454
=
yymsp
[
0
].
minor
.
yy454
;}
yymsp
[
0
].
minor
.
yy
454
=
yylhsminor
.
yy454
;
case
25
5
:
/* expritem ::= expr */
{
yylhsminor
.
yy
162
=
yymsp
[
0
].
minor
.
yy162
;}
yymsp
[
0
].
minor
.
yy
162
=
yylhsminor
.
yy162
;
break
;
case
25
5
:
/* cmd ::= RESET QUERY CACHE */
case
25
7
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
break
;
case
25
6
:
/* cmd ::= SYNCDB ids REPLICA */
case
25
8
:
/* cmd ::= SYNCDB ids REPLICA */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
break
;
case
25
7
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
25
9
:
/* 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
193
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
325
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
2
58
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
2
60
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3323,14 +3336,14 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
2
59
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
2
61
:
/* 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
193
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
325
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
0
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
26
2
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3341,7 +3354,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
1
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
26
3
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3355,7 +3368,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
2
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
case
26
4
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
...
@@ -3367,14 +3380,14 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
3
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
case
26
5
:
/* 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
193
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
325
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
4
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
case
26
6
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3385,14 +3398,14 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
5
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
case
26
7
:
/* 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
193
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
325
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
6
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
case
26
8
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3403,7 +3416,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
26
7
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
case
26
9
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3417,13 +3430,13 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
2
68
:
/* cmd ::= KILL CONNECTION INTEGER */
case
2
70
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
2
69
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
case
2
71
:
/* 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
27
0
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
case
27
2
:
/* 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:
...
...
src/util/src/terror.c
浏览文件 @
e2ec3fd3
...
...
@@ -192,6 +192,7 @@ TAOS_DEFINE_ERROR(TSDB_CODE_MND_INVALID_FUNC_LEN, "Invalid func length")
TAOS_DEFINE_ERROR
(
TSDB_CODE_MND_INVALID_FUNC_CODE
,
"Invalid func code"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MND_FUNC_ALREADY_EXIST
,
"Func already exists"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MND_INVALID_FUNC
,
"Invalid func"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MND_INVALID_FUNC_BUFSIZE
,
"Invalid func bufSize"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MND_DB_NOT_SELECTED
,
"Database not specified or available"
)
TAOS_DEFINE_ERROR
(
TSDB_CODE_MND_DB_ALREADY_EXIST
,
"Database already exists"
)
...
...
tests/script/general/parser/testSuite.sim
浏览文件 @
e2ec3fd3
...
...
@@ -55,4 +55,7 @@ run general/parser/sliding.sim
run general/parser/function.sim
run general/parser/stableOp.sim
run general/parser/slimit_alter_tags.sim
run general/parser/udf.sim
run general/parser/udf_dll.sim
run general/parser/udf_dll_stable.sim
tests/script/sh/add_one.c
浏览文件 @
e2ec3fd3
...
...
@@ -10,7 +10,7 @@ typedef struct SUdfInit{
int
const_item
;
/* 0 if result is independent of arguments */
}
SUdfInit
;
void
add_one
(
char
*
data
,
short
itype
,
short
ibytes
,
int
numOfRows
,
long
long
*
ts
,
char
*
dataOutput
,
char
*
tsOutput
,
void
add_one
(
char
*
data
,
short
itype
,
short
ibytes
,
int
numOfRows
,
long
long
*
ts
,
char
*
dataOutput
,
char
*
interBUf
,
char
*
tsOutput
,
int
*
numOfOutput
,
short
otype
,
short
obytes
,
SUdfInit
*
buf
)
{
int
i
;
int
r
=
0
;
...
...
tests/script/sh/demo.c
浏览文件 @
e2ec3fd3
...
...
@@ -16,12 +16,12 @@ typedef struct SDemo{
short
otype
;
}
SDemo
;
void
demo
(
char
*
data
,
short
itype
,
short
ibytes
,
int
numOfRows
,
long
long
*
ts
,
char
*
dataOutput
,
char
*
tsOutput
,
void
demo
(
char
*
data
,
short
itype
,
short
ibytes
,
int
numOfRows
,
long
long
*
ts
,
char
*
dataOutput
,
char
*
interBuf
,
char
*
tsOutput
,
int
*
numOfOutput
,
short
otype
,
short
obytes
,
SUdfInit
*
buf
)
{
int
i
;
double
r
=
0
;
SDemo
*
p
=
(
SDemo
*
)
buf
->
ptr
;
printf
(
"demo input data:%p, type:%d, rows:%d, ts:%p,%lld, dataoutput:%p,
tsOutput:%p, numOfOutput:%p, buf:%p
\n
"
,
data
,
itype
,
numOfRows
,
ts
,
*
ts
,
dataOutput
,
tsOutput
,
numOfOutput
,
buf
);
SDemo
*
p
=
(
SDemo
*
)
interBuf
;
printf
(
"demo input data:%p, type:%d, rows:%d, ts:%p,%lld, dataoutput:%p,
interBUf:%p, tsOutput:%p, numOfOutput:%p, buf:%p
\n
"
,
data
,
itype
,
numOfRows
,
ts
,
*
ts
,
dataOutput
,
interBuf
,
tsOutput
,
numOfOutput
,
buf
);
for
(
i
=
0
;
i
<
numOfRows
;
++
i
)
{
if
(
itype
==
4
)
{
...
...
@@ -40,35 +40,56 @@ void demo(char* data, short itype, short ibytes, int numOfRows, long long* ts, c
*
numOfOutput
=
1
;
printf
(
"demo out, dataoutput:%d, numOfOutput:%d
\n
"
,
*
(
int
*
)
dataOutput
,
*
numOfOutput
);
printf
(
"demo out, sum:%f, num:%d, numOfOutput:%d
\n
"
,
p
->
sum
,
p
->
num
,
*
numOfOutput
);
}
void
demo_merge
(
char
*
data
,
int32_t
numOfRows
,
char
*
dataOutput
,
int32_t
*
numOfOutput
,
SUdfInit
*
buf
)
{
int
i
;
SDemo
*
p
=
(
SDemo
*
)
data
;
SDemo
res
=
{
0
};
printf
(
"demo_merge input data:%p, rows:%d, dataoutput:%p, numOfOutput:%p, buf:%p
\n
"
,
data
,
numOfRows
,
dataOutput
,
numOfOutput
,
buf
);
for
(
i
=
0
;
i
<
numOfRows
;
++
i
)
{
res
.
sum
+=
p
->
sum
*
p
->
sum
;
res
.
num
+=
p
->
num
;
p
++
;
}
p
->
sum
=
res
.
sum
;
p
->
num
=
res
.
num
;
*
numOfOutput
=
1
;
printf
(
"demo out, sum:%f, num:%d, numOfOutput:%d
\n
"
,
p
->
sum
,
p
->
num
,
*
numOfOutput
);
}
void
demo_finalize
(
char
*
dataOutput
,
int
*
numOfOutput
,
SUdfInit
*
buf
)
{
SDemo
*
p
=
(
SDemo
*
)
buf
->
ptr
;
printf
(
"demo_finalize
dataoutput:%p, numOfOutput:%p, buf:%p
\n
"
,
dataOutput
,
numOfOutput
,
buf
);
void
demo_finalize
(
char
*
dataOutput
,
char
*
interBuf
,
int
*
numOfOutput
,
SUdfInit
*
buf
)
{
SDemo
*
p
=
(
SDemo
*
)
interBuf
;
printf
(
"demo_finalize
interbuf:%p, numOfOutput:%p, buf:%p, sum:%f, num:%d
\n
"
,
interBuf
,
numOfOutput
,
buf
,
p
->
sum
,
p
->
num
);
if
(
p
->
otype
==
6
)
{
*
(
float
*
)
dataOutput
=
(
float
)(
p
->
sum
/
p
->
num
);
printf
(
"finalize values:%f
\n
"
,
*
(
float
*
)
dataOutput
);
}
else
if
(
p
->
otype
==
7
)
{
*
(
double
*
)
dataOutput
=
(
double
)(
p
->
sum
/
p
->
num
);
printf
(
"finalize values:%f
\n
"
,
*
(
double
*
)
dataOutput
);
}
*
numOfOutput
=
1
;
printf
(
"demo finalize,
dataoutput:%d, numOfOutput:%d
\n
"
,
*
(
int
*
)
dataOutput
,
*
numOfOutput
);
printf
(
"demo finalize,
numOfOutput:%d
\n
"
,
*
numOfOutput
);
}
int
demo_init
(
SUdfInit
*
buf
)
{
buf
->
ptr
=
calloc
(
1
,
sizeof
(
SDemo
));
printf
(
"demo init
\n
"
);
return
0
;
}
void
demo_destroy
(
SUdfInit
*
buf
)
{
free
(
buf
->
ptr
);
printf
(
"demo destroy
\n
"
);
}
tests/script/sh/prepare_udf.sh
浏览文件 @
e2ec3fd3
...
...
@@ -8,3 +8,4 @@ rm -rf /tmp/sum_double.so /tmp/add_one.so
gcc
-g
-O0
-fPIC
-shared
sh/sum_double.c
-o
/tmp/sum_double.so
gcc
-g
-O0
-fPIC
-shared
sh/add_one.c
-o
/tmp/add_one.so
gcc
-g
-O0
-fPIC
-shared
sh/demo.c
-o
/tmp/demo.so
tests/script/sh/sum_double.c
浏览文件 @
e2ec3fd3
...
...
@@ -13,7 +13,7 @@ typedef struct SUdfInit{
#define TSDB_DATA_INT_NULL 0x80000000L
void
sum_double
(
char
*
data
,
short
itype
,
short
ibytes
,
int
numOfRows
,
long
long
*
ts
,
char
*
dataOutput
,
char
*
tsOutput
,
void
sum_double
(
char
*
data
,
short
itype
,
short
ibytes
,
int
numOfRows
,
long
long
*
ts
,
char
*
dataOutput
,
char
*
interBuf
,
char
*
tsOutput
,
int
*
numOfOutput
,
short
otype
,
short
obytes
,
SUdfInit
*
buf
)
{
int
i
;
int
r
=
0
;
...
...
@@ -38,7 +38,7 @@ void sum_double(char* data, short itype, short ibytes, int numOfRows, long long*
void
sum_double_finalize
(
char
*
dataOutput
,
int
*
numOfOutput
,
SUdfInit
*
buf
)
{
void
sum_double_finalize
(
char
*
dataOutput
,
char
*
interBuf
,
int
*
numOfOutput
,
SUdfInit
*
buf
)
{
int
i
;
int
r
=
0
;
printf
(
"sum_double_finalize dataoutput:%p:%d, numOfOutput:%d, buf:%p
\n
"
,
dataOutput
,
*
dataOutput
,
*
numOfOutput
,
buf
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录