Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
KASAKI11
TDengine
提交
75029e98
T
TDengine
项目概览
KASAKI11
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
75029e98
编写于
5月 09, 2020
作者:
H
hjxilinx
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-225] 1. fix bugs for first/last query in super table; 2. add STableIdTag info function
上级
5476ccaa
变更
10
显示空白变更内容
内联
并排
Showing
10 changed file
with
901 addition
and
815 deletion
+901
-815
cmake/platform.inc
cmake/platform.inc
+1
-1
src/client/src/tscFunctionImpl.c
src/client/src/tscFunctionImpl.c
+4
-3
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+61
-4
src/client/src/tscSubquery.c
src/client/src/tscSubquery.c
+49
-19
src/inc/ttokendef.h
src/inc/ttokendef.h
+14
-13
src/query/inc/sql.y
src/query/inc/sql.y
+1
-1
src/query/inc/tsqlfunction.h
src/query/inc/tsqlfunction.h
+0
-14
src/query/src/qtokenizer.c
src/query/src/qtokenizer.c
+1
-0
src/query/src/queryExecutor.c
src/query/src/queryExecutor.c
+95
-87
src/query/src/sql.c
src/query/src/sql.c
+675
-673
未找到文件。
cmake/platform.inc
浏览文件 @
75029e98
...
...
@@ -62,7 +62,7 @@ IF (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
IF
(
$
{
CMAKE_SIZEOF_VOID_P
}
MATCHES
8
)
SET
(
TD_LINUX_64
TRUE
)
SET
(
TD_OS_DIR
$
{
TD_COMMUNITY_DIR
}
/
src
/
os
/
linux
)
ADD_DEFINITIONS
(
-
D_M_X64
)
ADD_DEFINITIONS
(
-
D_M_X64
-
D_DEBUG_VIEW
)
MESSAGE
(
STATUS
"The current platform is Linux 64-bit"
)
ELSEIF
(
$
{
CMAKE_SIZEOF_VOID_P
}
MATCHES
4
)
IF
(
TD_ARM
)
...
...
src/client/src/tscFunctionImpl.c
浏览文件 @
75029e98
...
...
@@ -168,9 +168,10 @@ int32_t getResultDataInfo(int32_t dataType, int32_t dataBytes, int32_t functionI
return
TSDB_CODE_SUCCESS
;
}
// (uid, tid) + VGID + TAGSIZE + VARSTR_HEADER_SIZE
if
(
functionId
==
TSDB_FUNC_TID_TAG
)
{
// todo use struct
*
type
=
TSDB_DATA_TYPE_BINARY
;
*
bytes
=
dataBytes
+
sizeof
(
int64_t
)
+
sizeof
(
int32_t
)
+
sizeof
(
int32_t
)
;
// (uid, tid) + VGID + TAGSIZE
*
bytes
=
dataBytes
+
sizeof
(
int64_t
)
+
sizeof
(
int32_t
)
+
sizeof
(
int32_t
)
+
VARSTR_HEADER_SIZE
;
*
interBytes
=
*
bytes
;
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -5285,10 +5286,10 @@ SQLAggFuncElem aAggs[] = {{
},
{
// 34
"tid_tag"
,
// return table id and the corresponding tags for join match
"tid_tag"
,
// return table id and the corresponding tags for join match
and subscribe
TSDB_FUNC_TID_TAG
,
TSDB_FUNC_TID_TAG
,
TSDB_FUNCSTATE_MO
,
TSDB_FUNCSTATE_MO
|
TSDB_FUNCSTATE_STABLE
,
function_setup
,
noop1
,
noop2
,
...
...
src/client/src/tscSQLParser.c
浏览文件 @
75029e98
...
...
@@ -1123,7 +1123,7 @@ int32_t parseSelectClause(SSqlCmd* pCmd, int32_t clauseIndex, tSQLExprList* pSel
if
(
addProjectionExprAndResultField
(
pQueryInfo
,
pItem
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_INVALID_SQL
;
}
}
else
if
(
pItem
->
pNode
->
nSQLOptr
>=
TK_COUNT
&&
pItem
->
pNode
->
nSQLOptr
<=
TK_
AVG_IRATE
)
{
}
else
if
(
pItem
->
pNode
->
nSQLOptr
>=
TK_COUNT
&&
pItem
->
pNode
->
nSQLOptr
<=
TK_
TBID
)
{
// sql function in selection clause, append sql function info in pSqlCmd structure sequentially
if
(
addExprAndResultField
(
pQueryInfo
,
outputIndex
,
pItem
,
true
)
!=
TSDB_CODE_SUCCESS
)
{
return
TSDB_CODE_INVALID_SQL
;
...
...
@@ -1468,6 +1468,7 @@ static int32_t setExprInfoForFunctions(SQueryInfo* pQueryInfo, SSchema* pSchema,
int32_t
addExprAndResultField
(
SQueryInfo
*
pQueryInfo
,
int32_t
colIndex
,
tSQLExprItem
*
pItem
,
bool
finalResult
)
{
STableMetaInfo
*
pTableMetaInfo
=
NULL
;
int32_t
optr
=
pItem
->
pNode
->
nSQLOptr
;
const
char
*
msg1
=
"not support column types"
;
...
...
@@ -1476,6 +1477,7 @@ int32_t addExprAndResultField(SQueryInfo* pQueryInfo, int32_t colIndex, tSQLExpr
const
char
*
msg4
=
"invalid table name"
;
const
char
*
msg5
=
"parameter is out of range [0, 100]"
;
const
char
*
msg6
=
"function applied to tags not allowed"
;
const
char
*
msg7
=
"normal table can not apply this function"
;
switch
(
optr
)
{
case
TK_COUNT
:
{
...
...
@@ -1858,13 +1860,68 @@ int32_t addExprAndResultField(SQueryInfo* pQueryInfo, int32_t colIndex, tSQLExpr
}
}
return
TSDB_CODE_SUCCESS
;
};
case
TK_TBID
:
{
pTableMetaInfo
=
tscGetMetaInfo
(
pQueryInfo
,
0
);
if
(
UTIL_TABLE_IS_NOMRAL_TABLE
(
pTableMetaInfo
))
{
return
invalidSqlErrMsg
(
pQueryInfo
->
msg
,
msg7
);
}
// no parameters or more than one parameter for function
if
(
pItem
->
pNode
->
pParam
==
NULL
||
pItem
->
pNode
->
pParam
->
nExpr
!=
1
)
{
return
invalidSqlErrMsg
(
pQueryInfo
->
msg
,
msg2
);
}
tSQLExpr
*
pParam
=
pItem
->
pNode
->
pParam
->
a
[
0
].
pNode
;
SColumnIndex
index
=
COLUMN_INDEX_INITIALIZER
;
if
(
getColumnIndexByName
(
&
pParam
->
colInfo
,
pQueryInfo
,
&
index
)
!=
TSDB_CODE_SUCCESS
)
{
return
invalidSqlErrMsg
(
pQueryInfo
->
msg
,
msg3
);
}
pTableMetaInfo
=
tscGetMetaInfo
(
pQueryInfo
,
index
.
tableIndex
);
SSchema
*
pSchema
=
tscGetTableTagSchema
(
pTableMetaInfo
->
pTableMeta
);
// functions can not be applied to normal columns
int32_t
numOfCols
=
tscGetNumOfColumns
(
pTableMetaInfo
->
pTableMeta
);
if
(
index
.
columnIndex
<
numOfCols
)
{
return
invalidSqlErrMsg
(
pQueryInfo
->
msg
,
msg6
);
}
index
.
columnIndex
-=
numOfCols
;
// 2. valid the column type
int16_t
colType
=
pSchema
[
index
.
columnIndex
].
type
;
if
(
colType
==
TSDB_DATA_TYPE_BOOL
||
colType
>=
TSDB_DATA_TYPE_BINARY
)
{
return
invalidSqlErrMsg
(
pQueryInfo
->
msg
,
msg1
);
}
tscColumnListInsert
(
pTableMetaInfo
->
tagColList
,
&
index
);
SSchema
*
pTagSchema
=
tscGetTableTagSchema
(
pTableMetaInfo
->
pTableMeta
);
SSchema
s
=
pTagSchema
[
index
.
columnIndex
];
int16_t
bytes
=
0
;
int16_t
type
=
0
;
int16_t
inter
=
0
;
int32_t
ret
=
getResultDataInfo
(
s
.
type
,
s
.
bytes
,
TSDB_FUNC_TID_TAG
,
0
,
&
type
,
&
bytes
,
&
inter
,
0
,
0
);
assert
(
ret
==
TSDB_CODE_SUCCESS
);
s
.
type
=
type
;
s
.
bytes
=
bytes
;
TSDB_QUERY_SET_TYPE
(
pQueryInfo
->
type
,
TSDB_QUERY_TYPE_TAG_FILTER_QUERY
);
tscAddSpecialColumnForSelect
(
pQueryInfo
,
0
,
TSDB_FUNC_TID_TAG
,
&
index
,
&
s
,
TSDB_COL_TAG
);
return
TSDB_CODE_SUCCESS
;
}
default:
return
TSDB_CODE_INVALID_SQL
;
}
}
// todo refactor
...
...
src/client/src/tscSubquery.c
浏览文件 @
75029e98
...
...
@@ -412,10 +412,6 @@ static void updateQueryTimeRange(SQueryInfo* pQueryInfo, int64_t st, int64_t et)
static
void
tSIntersectionAndLaunchSecQuery
(
SJoinSupporter
*
pSupporter
,
SSqlObj
*
pSql
)
{
SSqlObj
*
pParentSql
=
pSupporter
->
pObj
;
// SSqlCmd* pCmd = &pSql->cmd;
// SSqlRes* pRes = &pSql->res;
// SQueryInfo *pQueryInfo = tscGetQueryInfoDetail(pCmd, pCmd->clauseIndex);
SQueryInfo
*
pParentQueryInfo
=
tscGetQueryInfoDetail
(
&
pParentSql
->
cmd
,
pParentSql
->
cmd
.
clauseIndex
);
// if (tscNonOrderedProjectionQueryOnSTable(pParentQueryInfo, 0)) {
...
...
@@ -602,21 +598,6 @@ static void joinRetrieveCallback(void* param, TAOS_RES* tres, int numOfRows) {
SQueryInfo
*
pQueryInfo
=
tscGetQueryInfoDetail
(
pCmd
,
pCmd
->
clauseIndex
);
// if (pSupporter->pState->code != TSDB_CODE_SUCCESS) {
// tscError("%p abort query due to other subquery failure. code:%d, global code:%s", pSql, numOfRows,
// tstrerror(pSupporter->pState->code));
//
// quitAllSubquery(pParentSql, pSupporter);
// return;
// }
//
// if (numOfRows < 0) {
// tscError("%p sub query failed, code:%s, index:%d", pSql, tstrerror(numOfRows), pSupporter->subqueryIndex);
// pSupporter->pState->code = numOfRows;
// quitAllSubquery(pParentSql, pSupporter);
// return;
// }
// response of tag retrieve
if
(
TSDB_QUERY_HAS_TYPE
(
pQueryInfo
->
type
,
TSDB_QUERY_TYPE_TAG_FILTER_QUERY
))
{
if
(
numOfRows
==
0
||
pSql
->
res
.
completed
)
{
...
...
@@ -1051,6 +1032,55 @@ void tscJoinQueryCallback(void* param, TAOS_RES* tres, int code) {
/////////////////////////////////////////////////////////////////////////////////////////
static
void
tscRetrieveDataRes
(
void
*
param
,
TAOS_RES
*
tres
,
int
code
);
//static void ddx(TAOS* taos) {
//
// SSqlCmd* pCmd = &pSql->cmd;
//
// tscPartiallyFreeSqlObj(pSql);
//// tscTrace("continue parse sql: %s", pSql->cmd.curSql);
//
// SQueryInfo* pQueryInfo = NULL;
// int32_t code = tscGetQueryInfoDetailSafely(pCmd, pCmd->clauseIndex, &pQueryInfo);
// assert(code == TSDB_CODE_SUCCESS);
//
// STableMetaInfo* pTableMetaInfo = tscGetMetaInfo(pQueryInfo, 0);
//
// if (UTIL_TABLE_IS_SUPERTABLE(pTableMetaInfo)) { // return the tableId & tag
// SSchema s = {0};
// SColumnIndex index = {0};
//
// size_t numOfTags = taosArrayGetSize(pTableMetaInfo->tagColList);
// for (int32_t i = 0; i < numOfTags; ++i) {
// SColumn* c = taosArrayGetP(pTableMetaInfo->tagColList, i);
// index = (SColumnIndex){.tableIndex = 0, .columnIndex = c->colIndex.columnIndex};
//
// SSchema* pTagSchema = tscGetTableTagSchema(pTableMetaInfo->pTableMeta);
// s = pTagSchema[c->colIndex.columnIndex];
//
// int16_t bytes = 0;
// int16_t type = 0;
// int16_t inter = 0;
//
// getResultDataInfo(s.type, s.bytes, TSDB_FUNC_TID_TAG, 0, &type, &bytes, &inter, 0, 0);
//
// s.type = type;
// s.bytes = bytes;
//// pSupporter->tagSize = s.bytes;
// }
//
// // set get tags query type
// TSDB_QUERY_SET_TYPE(pQueryInfo->type, TSDB_QUERY_TYPE_TAG_FILTER_QUERY);
//
// tscAddSpecialColumnForSelect(pQueryInfo, 0, TSDB_FUNC_TID_TAG, &index, &s, TSDB_COL_TAG);
// size_t numOfCols = taosArrayGetSize(pQueryInfo->colList);
//
// tscTrace( "%p vgroupIndex:%d, type:%d, tid_tag query to retrieve (tableId, tags), "
// "exprInfo:%d, colList:%d, fieldsInfo:%d, name:%s",
// pSql, pTableMetaInfo->vgroupIndex, pQueryInfo->type, tscSqlExprNumOfExprs(pQueryInfo),
// numOfCols, pQueryInfo->fieldsInfo.numOfOutput, pQueryInfo->pTableMetaInfo[0]->name);
// }
//}
static
SSqlObj
*
tscCreateSqlObjForSubquery
(
SSqlObj
*
pSql
,
SRetrieveSupport
*
trsupport
,
SSqlObj
*
prevSqlObj
);
// todo merge with callback
...
...
src/inc/ttokendef.h
浏览文件 @
75029e98
...
...
@@ -206,19 +206,20 @@
#define TK_SUM_IRATE 188
#define TK_AVG_RATE 189
#define TK_AVG_IRATE 190
#define TK_SEMI 191
#define TK_NONE 192
#define TK_PREV 193
#define TK_LINEAR 194
#define TK_IMPORT 195
#define TK_METRIC 196
#define TK_TBNAME 197
#define TK_JOIN 198
#define TK_METRICS 199
#define TK_STABLE 200
#define TK_INSERT 201
#define TK_INTO 202
#define TK_VALUES 203
#define TK_TBID 191
#define TK_SEMI 192
#define TK_NONE 193
#define TK_PREV 194
#define TK_LINEAR 195
#define TK_IMPORT 196
#define TK_METRIC 197
#define TK_TBNAME 198
#define TK_JOIN 199
#define TK_METRICS 200
#define TK_STABLE 201
#define TK_INSERT 202
#define TK_INTO 203
#define TK_VALUES 204
#endif
...
...
src/query/inc/sql.y
浏览文件 @
75029e98
...
...
@@ -655,5 +655,5 @@ cmd ::= KILL QUERY IPTOKEN(X) COLON(Z) INTEGER(Y) COLON(K) INTEGER(F). {X
DELIMITERS DESC DETACH EACH END EXPLAIN FAIL FOR GLOB IGNORE IMMEDIATE INITIALLY INSTEAD
LIKE MATCH KEY OF OFFSET RAISE REPLACE RESTRICT ROW STATEMENT TRIGGER VIEW ALL
COUNT SUM AVG MIN MAX FIRST LAST TOP BOTTOM STDDEV PERCENTILE APERCENTILE LEASTSQUARES HISTOGRAM DIFF
SPREAD TWA INTERP LAST_ROW RATE IRATE SUM_RATE SUM_IRATE AVG_RATE AVG_IRATE NOW IPTOKEN SEMI NONE PREV LINEAR IMPORT
SPREAD TWA INTERP LAST_ROW RATE IRATE SUM_RATE SUM_IRATE AVG_RATE AVG_IRATE
TBID
NOW IPTOKEN SEMI NONE PREV LINEAR IMPORT
METRIC TBNAME JOIN METRICS STABLE NULL INSERT INTO VALUES.
src/query/inc/tsqlfunction.h
浏览文件 @
75029e98
...
...
@@ -245,21 +245,8 @@ enum {
BLK_DATA_ALL_NEEDED
=
0x3
,
};
#define IS_FILE_BLOCK(x) (((x)&BLK_FILE_BLOCK) != 0)
#define SET_FILE_BLOCK_FLAG(x) \
do { \
(x) &= (~BLK_CACHE_BLOCK); \
(x) |= BLK_FILE_BLOCK; \
} while (0);
#define SET_CACHE_BLOCK_FLAG(x) ((x) = BLK_CACHE_BLOCK | BLK_BLOCK_LOADED);
#define SET_DATA_BLOCK_NOT_LOADED(x) ((x) &= (~BLK_BLOCK_LOADED));
#define SET_DATA_BLOCK_LOADED(x) ((x) |= BLK_BLOCK_LOADED);
#define IS_DATA_BLOCK_LOADED(x) (((x)&BLK_BLOCK_LOADED) != 0)
typedef
struct
STwaInfo
{
TSKEY
lastKey
;
int8_t
hasResult
;
// flag to denote has value
...
...
@@ -291,7 +278,6 @@ bool top_bot_datablock_filter(SQLFunctionCtx *pCtx, int32_t functionId, char *mi
bool
stableQueryFunctChanged
(
int32_t
funcId
);
void
resetResultInfo
(
SResultInfo
*
pResInfo
);
void
initResultInfo
(
SResultInfo
*
pResInfo
);
void
setResultInfoBuf
(
SResultInfo
*
pResInfo
,
int32_t
size
,
bool
superTable
);
...
...
src/query/src/qtokenizer.c
浏览文件 @
75029e98
...
...
@@ -225,6 +225,7 @@ static SKeyword keywordTable[] = {
{
"TBNAME"
,
TK_TBNAME
},
{
"JOIN"
,
TK_JOIN
},
{
"METRICS"
,
TK_METRICS
},
{
"TBID"
,
TK_TBID
},
{
"STABLE"
,
TK_STABLE
},
{
"FILE"
,
TK_FILE
},
{
"VNODES"
,
TK_VNODES
},
...
...
src/query/src/queryExecutor.c
浏览文件 @
75029e98
...
...
@@ -39,10 +39,10 @@
#define TSDB_COL_IS_TAG(f) (((f)&TSDB_COL_TAG) != 0)
#define QUERY_IS_ASC_QUERY(q) (GET_FORWARD_DIRECTION_FACTOR((q)->order.order) == QUERY_ASC_FORWARD_STEP)
#define IS_MASTER_SCAN(runtime) (((runtime)->scanFlag & 1u) == MASTER_SCAN)
#define IS_SUPPLEMENT_SCAN(runtime) ((runtime)->scanFlag == SUPPLEMENTARY_SCAN)
#define SET_SUPPLEMENT_SCAN_FLAG(runtime) ((runtime)->scanFlag = SUPPLEMENTARY_SCAN)
#define IS_MASTER_SCAN(runtime) ((runtime)->scanFlag == MASTER_SCAN)
#define IS_REVERSE_SCAN(runtime) ((runtime)->scanFlag == SUPPLEMENTARY_SCAN)
#define SET_MASTER_SCAN_FLAG(runtime) ((runtime)->scanFlag = MASTER_SCAN)
#define SET_REVERSE_SCAN_FLAG(runtime) ((runtime)->scanFlag = SUPPLEMENTARY_SCAN)
#define GET_QINFO_ADDR(x) ((void *)((char *)(x)-offsetof(SQInfo, runtimeEnv)))
...
...
@@ -1101,7 +1101,7 @@ static bool functionNeedToExecute(SQueryRuntimeEnv *pRuntimeEnv, SQLFunctionCtx
}
// in the supplementary scan, only the following functions need to be executed
if
(
IS_
SUPPLEMENT
_SCAN
(
pRuntimeEnv
)
&&
if
(
IS_
REVERSE
_SCAN
(
pRuntimeEnv
)
&&
!
(
functionId
==
TSDB_FUNC_LAST_DST
||
functionId
==
TSDB_FUNC_FIRST_DST
||
functionId
==
TSDB_FUNC_FIRST
||
functionId
==
TSDB_FUNC_LAST
||
functionId
==
TSDB_FUNC_TAG
||
functionId
==
TSDB_FUNC_TS
))
{
return
false
;
...
...
@@ -2450,8 +2450,7 @@ static int64_t doScanAllDataBlocks(SQueryRuntimeEnv *pRuntimeEnv) {
qTrace
(
"QInfo:%p query start, qrange:%"
PRId64
"-%"
PRId64
", lastkey:%"
PRId64
", order:%d"
,
GET_QINFO_ADDR
(
pRuntimeEnv
),
pQuery
->
window
.
skey
,
pQuery
->
window
.
ekey
,
pQuery
->
lastKey
,
pQuery
->
order
.
order
);
TsdbQueryHandleT
pQueryHandle
=
pRuntimeEnv
->
scanFlag
==
MASTER_SCAN
?
pRuntimeEnv
->
pQueryHandle
:
pRuntimeEnv
->
pSecQueryHandle
;
TsdbQueryHandleT
pQueryHandle
=
IS_MASTER_SCAN
(
pRuntimeEnv
)
?
pRuntimeEnv
->
pQueryHandle
:
pRuntimeEnv
->
pSecQueryHandle
;
while
(
tsdbNextDataBlock
(
pQueryHandle
))
{
if
(
isQueryKilled
(
GET_QINFO_ADDR
(
pRuntimeEnv
)))
{
return
0
;
...
...
@@ -2835,11 +2834,12 @@ void copyResToQueryResultBuf(SQInfo *pQInfo, SQuery *pQuery) {
return
;
// failed to save data in the disk
}
// set current query completed
// if (pQInfo->numOfGroupResultPages == 0 && pQInfo->groupIndex == pQInfo->pSidSet->numOfSubSet) {
// pQInfo->tableIndex = pQInfo->pSidSet->numOfTables;
// return;
// }
// check if all results has been sent to client
int32_t
numOfGroup
=
taosArrayGetSize
(
pQInfo
->
groupInfo
.
pGroupList
);
if
(
pQInfo
->
numOfGroupResultPages
==
0
&&
pQInfo
->
groupIndex
==
numOfGroup
)
{
pQInfo
->
tableIndex
=
pQInfo
->
groupInfo
.
numOfTables
;
// set query completed
return
;
}
}
SQueryRuntimeEnv
*
pRuntimeEnv
=
&
pQInfo
->
runtimeEnv
;
...
...
@@ -3087,7 +3087,31 @@ void setTableDataInfo(STableQueryInfo *pTableQueryInfo, int32_t tableIndex, int3
pTableQueryInfo
->
tableIndex
=
tableIndex
;
}
static
void
doDisableFunctsForSupplementaryScan
(
SQuery
*
pQuery
,
SWindowResInfo
*
pWindowResInfo
,
int32_t
order
)
{
static
void
updateTableQueryInfoForReverseScan
(
SQuery
*
pQuery
,
STableQueryInfo
*
pTableQueryInfo
)
{
if
(
pTableQueryInfo
==
NULL
)
{
return
;
}
// order has change already!
int32_t
step
=
GET_FORWARD_DIRECTION_FACTOR
(
pQuery
->
order
.
order
);
if
(
!
QUERY_IS_ASC_QUERY
(
pQuery
))
{
assert
(
pTableQueryInfo
->
win
.
ekey
>=
pTableQueryInfo
->
lastKey
+
step
);
}
else
{
assert
(
pTableQueryInfo
->
win
.
ekey
<=
pTableQueryInfo
->
lastKey
+
step
);
}
pTableQueryInfo
->
win
.
ekey
=
pTableQueryInfo
->
lastKey
+
step
;
SWAP
(
pTableQueryInfo
->
win
.
skey
,
pTableQueryInfo
->
win
.
ekey
,
TSKEY
);
pTableQueryInfo
->
lastKey
=
pTableQueryInfo
->
win
.
skey
;
SWITCH_ORDER
(
pTableQueryInfo
->
cur
.
order
);
pTableQueryInfo
->
cur
.
vgroupIndex
=
-
1
;
}
static
void
disableFuncInReverseScanImpl
(
SQInfo
*
pQInfo
,
SWindowResInfo
*
pWindowResInfo
,
int32_t
order
)
{
SQuery
*
pQuery
=
pQInfo
->
runtimeEnv
.
pQuery
;
for
(
int32_t
i
=
0
;
i
<
pWindowResInfo
->
size
;
++
i
)
{
SWindowStatus
*
pStatus
=
getTimeWindowResStatus
(
pWindowResInfo
,
i
);
if
(
!
pStatus
->
closed
)
{
...
...
@@ -3108,18 +3132,32 @@ static void doDisableFunctsForSupplementaryScan(SQuery *pQuery, SWindowResInfo *
}
}
}
int32_t
numOfGroups
=
taosArrayGetSize
(
pQInfo
->
groupInfo
.
pGroupList
);
for
(
int32_t
i
=
0
;
i
<
numOfGroups
;
++
i
)
{
SArray
*
group
=
taosArrayGetP
(
pQInfo
->
groupInfo
.
pGroupList
,
i
);
qTrace
(
"QInfo:%p no result in group %d, continue"
,
pQInfo
,
pQInfo
->
groupIndex
-
1
);
size_t
t
=
taosArrayGetSize
(
group
);
for
(
int32_t
j
=
0
;
j
<
t
;
++
j
)
{
SGroupItem
*
item
=
taosArrayGet
(
group
,
j
);
updateTableQueryInfoForReverseScan
(
pQuery
,
item
->
info
);
}
}
}
void
disableFuncInReverseScan
(
SQueryRuntimeEnv
*
pRuntimeEnv
)
{
void
disableFuncInReverseScan
(
SQInfo
*
pQInfo
)
{
SQueryRuntimeEnv
*
pRuntimeEnv
=
&
pQInfo
->
runtimeEnv
;
SQuery
*
pQuery
=
pRuntimeEnv
->
pQuery
;
int32_t
order
=
pQuery
->
order
.
order
;
// group by normal columns and interval query on normal table
SWindowResInfo
*
pWindowResInfo
=
&
pRuntimeEnv
->
windowResInfo
;
if
(
isGroupbyNormalCol
(
pQuery
->
pGroupbyExpr
)
||
isIntervalQuery
(
pQuery
))
{
d
oDisableFunctsForSupplementaryScan
(
pQuery
,
pWindowResInfo
,
order
);
d
isableFuncInReverseScanImpl
(
pQInfo
,
pWindowResInfo
,
order
);
}
else
{
// for simple result of table query,
for
(
int32_t
j
=
0
;
j
<
pQuery
->
numOfOutput
;
++
j
)
{
for
(
int32_t
j
=
0
;
j
<
pQuery
->
numOfOutput
;
++
j
)
{
// todo refactor
int32_t
functId
=
pQuery
->
pSelectExpr
[
j
].
base
.
functionId
;
SQLFunctionCtx
*
pCtx
=
&
pRuntimeEnv
->
pCtx
[
j
];
...
...
@@ -3134,34 +3172,10 @@ void disableFuncInReverseScan(SQueryRuntimeEnv *pRuntimeEnv) {
}
}
void
disableFuncForReverseScan
(
SQInfo
*
pQInfo
,
int32_t
order
)
{
SQueryRuntimeEnv
*
pRuntimeEnv
=
&
pQInfo
->
runtimeEnv
;
SQuery
*
pQuery
=
pRuntimeEnv
->
pQuery
;
for
(
int32_t
i
=
0
;
i
<
pQuery
->
numOfOutput
;
++
i
)
{
pRuntimeEnv
->
pCtx
[
i
].
order
=
(
pRuntimeEnv
->
pCtx
[
i
].
order
)
^
1u
;
}
if
(
isIntervalQuery
(
pQuery
))
{
// for (int32_t i = 0; i < pQInfo->groupInfo.numOfTables; ++i) {
// STableQueryInfo *pTableQueryInfo = pQInfo->pTableQueryInfo[i].pTableQInfo;
// SWindowResInfo * pWindowResInfo = &pTableQueryInfo->windowResInfo;
//
// doDisableFunctsForSupplementaryScan(pQuery, pWindowResInfo, order);
// }
}
else
{
SWindowResInfo
*
pWindowResInfo
=
&
pRuntimeEnv
->
windowResInfo
;
doDisableFunctsForSupplementaryScan
(
pQuery
,
pWindowResInfo
,
order
);
}
pQuery
->
order
.
order
=
(
pQuery
->
order
.
order
)
^
1u
;
}
void
switchCtxOrder
(
SQueryRuntimeEnv
*
pRuntimeEnv
)
{
SQuery
*
pQuery
=
pRuntimeEnv
->
pQuery
;
for
(
int32_t
i
=
0
;
i
<
pQuery
->
numOfOutput
;
++
i
)
{
SWITCH_ORDER
(
pRuntimeEnv
->
pCtx
[
i
]
.
order
);
// = (pRuntimeEnv->pCtx[i].order == TSDB_ORDER_ASC)? TSDB_ORDER_DESC:TSDB_ORDER_ASC;
SWITCH_ORDER
(
pRuntimeEnv
->
pCtx
[
i
]
.
order
);
}
}
...
...
@@ -3358,7 +3372,7 @@ static void setEnvBeforeReverseScan(SQueryRuntimeEnv *pRuntimeEnv, SQueryStatusI
SWAP
(
pQuery
->
window
.
skey
,
pQuery
->
window
.
ekey
,
TSKEY
);
SWITCH_ORDER
(
pQuery
->
order
.
order
);
SET_
SUPPLEMENT
_SCAN_FLAG
(
pRuntimeEnv
);
SET_
REVERSE
_SCAN_FLAG
(
pRuntimeEnv
);
STsdbQueryCond
cond
=
{
.
twindow
=
pQuery
->
window
,
...
...
@@ -3376,7 +3390,7 @@ static void setEnvBeforeReverseScan(SQueryRuntimeEnv *pRuntimeEnv, SQueryStatusI
setQueryStatus
(
pQuery
,
QUERY_NOT_COMPLETED
);
switchCtxOrder
(
pRuntimeEnv
);
disableFuncInReverseScan
(
p
RuntimeEnv
);
disableFuncInReverseScan
(
p
QInfo
);
}
static
void
clearEnvAfterReverseScan
(
SQueryRuntimeEnv
*
pRuntimeEnv
,
SQueryStatusInfo
*
pStatus
)
{
...
...
@@ -3533,28 +3547,6 @@ void destroyTableQueryInfo(STableQueryInfo *pTableQueryInfo, int32_t numOfCols)
free
(
pTableQueryInfo
);
}
void
changeMeterQueryInfoForSuppleQuery
(
SQuery
*
pQuery
,
STableQueryInfo
*
pTableQueryInfo
)
{
if
(
pTableQueryInfo
==
NULL
)
{
return
;
}
// order has change already!
int32_t
step
=
GET_FORWARD_DIRECTION_FACTOR
(
pQuery
->
order
.
order
);
if
(
!
QUERY_IS_ASC_QUERY
(
pQuery
))
{
assert
(
pTableQueryInfo
->
win
.
ekey
>=
pTableQueryInfo
->
lastKey
+
step
);
}
else
{
assert
(
pTableQueryInfo
->
win
.
ekey
<=
pTableQueryInfo
->
lastKey
+
step
);
}
pTableQueryInfo
->
win
.
ekey
=
pTableQueryInfo
->
lastKey
+
step
;
SWAP
(
pTableQueryInfo
->
win
.
skey
,
pTableQueryInfo
->
win
.
ekey
,
TSKEY
);
pTableQueryInfo
->
lastKey
=
pTableQueryInfo
->
win
.
skey
;
pTableQueryInfo
->
cur
.
order
=
pTableQueryInfo
->
cur
.
order
^
1u
;
pTableQueryInfo
->
cur
.
vgroupIndex
=
-
1
;
}
void
restoreIntervalQueryRange
(
SQueryRuntimeEnv
*
pRuntimeEnv
,
STableQueryInfo
*
pTableQueryInfo
)
{
SQuery
*
pQuery
=
pRuntimeEnv
->
pQuery
;
...
...
@@ -3943,10 +3935,17 @@ static void doCopyQueryResultToMsg(SQInfo *pQInfo, int32_t numOfRows, char *data
data
+=
bytes
*
numOfRows
;
}
// all data returned, set query over
if
(
Q_STATUS_EQUAL
(
pQuery
->
status
,
QUERY_COMPLETED
))
{
if
(
pQInfo
->
runtimeEnv
.
stableQuery
&&
isIntervalQuery
(
pQuery
))
{
if
(
pQInfo
->
tableIndex
>=
pQInfo
->
groupInfo
.
numOfTables
)
{
setQueryStatus
(
pQuery
,
QUERY_OVER
);
}
}
else
{
setQueryStatus
(
pQuery
,
QUERY_OVER
);
}
}
}
int32_t
vnodeQueryResultInterpolate
(
SQInfo
*
pQInfo
,
tFilePage
**
pDst
,
tFilePage
**
pDataSrc
,
int32_t
numOfRows
,
...
...
@@ -4368,7 +4367,8 @@ static int64_t queryOnDataBlocks(SQInfo *pQInfo) {
int64_t
st
=
taosGetTimestampMs
();
TsdbQueryHandleT
*
pQueryHandle
=
pRuntimeEnv
->
pQueryHandle
;
TsdbQueryHandleT
pQueryHandle
=
IS_MASTER_SCAN
(
pRuntimeEnv
)
?
pRuntimeEnv
->
pQueryHandle
:
pRuntimeEnv
->
pSecQueryHandle
;
while
(
tsdbNextDataBlock
(
pQueryHandle
))
{
if
(
isQueryKilled
(
pQInfo
))
{
break
;
...
...
@@ -4400,7 +4400,7 @@ static int64_t queryOnDataBlocks(SQInfo *pQInfo) {
}
}
assert
(
pTableQueryInfo
!=
NULL
&&
pTableQueryInfo
!=
NULL
);
assert
(
pTableQueryInfo
!=
NULL
);
restoreIntervalQueryRange
(
pRuntimeEnv
,
pTableQueryInfo
);
SDataStatis
*
pStatis
=
NULL
;
...
...
@@ -4759,28 +4759,35 @@ static void createTableQueryInfo(SQInfo *pQInfo) {
}
}
static
void
prepareQueryInfoForReverseScan
(
SQInfo
*
pQInfo
)
{
// SQuery *pQuery = pQInfo->runtimeEnv.pQuery;
// for (int32_t i = 0; i < pQInfo->groupInfo.numOfTables; ++i) {
// STableQueryInfo *pTableQueryInfo = pQInfo->pTableQueryInfo[i].pTableQInfo;
// changeMeterQueryInfoForSuppleQuery(pQuery, pTableQueryInfo);
// }
}
static
void
doSaveContext
(
SQInfo
*
pQInfo
)
{
SQueryRuntimeEnv
*
pRuntimeEnv
=
&
pQInfo
->
runtimeEnv
;
SQuery
*
pQuery
=
pRuntimeEnv
->
pQuery
;
SET_SUPPLEMENT_SCAN_FLAG
(
pRuntimeEnv
);
disableFuncForReverseScan
(
pQInfo
,
pQuery
->
order
.
order
);
SET_REVERSE_SCAN_FLAG
(
pRuntimeEnv
);
SWAP
(
pQuery
->
window
.
skey
,
pQuery
->
window
.
ekey
,
TSKEY
);
SWITCH_ORDER
(
pQuery
->
order
.
order
);
if
(
pRuntimeEnv
->
pTSBuf
!=
NULL
)
{
pRuntimeEnv
->
pTSBuf
->
cur
.
order
=
p
RuntimeEnv
->
pTSBuf
->
cur
.
order
^
1u
;
pRuntimeEnv
->
pTSBuf
->
cur
.
order
=
p
Query
->
order
.
order
;
}
SWAP
(
pQuery
->
window
.
skey
,
pQuery
->
window
.
ekey
,
TSKEY
);
prepareQueryInfoForReverseScan
(
pQInfo
);
STsdbQueryCond
cond
=
{
.
twindow
=
pQuery
->
window
,
.
order
=
pQuery
->
order
.
order
,
.
colList
=
pQuery
->
colList
,
.
numOfCols
=
pQuery
->
numOfCols
,
};
// clean unused handle
if
(
pRuntimeEnv
->
pSecQueryHandle
!=
NULL
)
{
tsdbCleanupQueryHandle
(
pRuntimeEnv
->
pSecQueryHandle
);
}
pRuntimeEnv
->
pSecQueryHandle
=
tsdbQueryTables
(
pQInfo
->
tsdb
,
&
cond
,
&
pQInfo
->
tableIdGroupInfo
);
setQueryStatus
(
pQuery
,
QUERY_NOT_COMPLETED
);
switchCtxOrder
(
pRuntimeEnv
);
disableFuncInReverseScan
(
pQInfo
);
}
static
void
doRestoreContext
(
SQInfo
*
pQInfo
)
{
...
...
@@ -4835,8 +4842,6 @@ static void multiTableQueryProcess(SQInfo *pQInfo) {
copyFromWindowResToSData
(
pQInfo
,
pRuntimeEnv
->
windowResInfo
.
pResult
);
}
pQuery
->
rec
.
rows
+=
pQuery
->
rec
.
rows
;
if
(
pQuery
->
rec
.
rows
==
0
)
{
// vnodePrintQueryStatistics(pSupporter);
}
...
...
@@ -6287,7 +6292,10 @@ static void buildTagQueryResult(SQInfo* pQInfo) {
SGroupItem
*
item
=
taosArrayGet
(
pa
,
i
);
char
*
output
=
pQuery
->
sdata
[
0
]
->
data
+
i
*
rsize
;
*
(
int64_t
*
)
output
=
item
->
id
.
uid
;
// memory align problem
varDataSetLen
(
output
,
rsize
-
VARSTR_HEADER_SIZE
);
output
=
varDataVal
(
output
);
*
(
int64_t
*
)
output
=
item
->
id
.
uid
;
// memory align problem, todo serialize
output
+=
sizeof
(
item
->
id
.
uid
);
*
(
int32_t
*
)
output
=
item
->
id
.
tid
;
...
...
src/query/src/sql.c
浏览文件 @
75029e98
...
...
@@ -97,26 +97,26 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYNOCODE 2
69
#define YYNOCODE 2
70
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SSQLToken
typedef
union
{
int
yyinit
;
ParseTOKENTYPE
yy0
;
tSQLExpr
*
yy2
;
tSQLExprList
*
yy1
0
;
TAOS_FIELD
yy47
;
SCreateAcctSQL
yy63
;
SSubclauseInfo
*
yy
145
;
int
yy196
;
SLimitVal
yy2
30
;
int64_t
yy373
;
SQuerySQL
*
yy392
;
t
Variant
yy442
;
tVariantList
*
yy456
;
SCreate
DBInfo
yy47
8
;
SCreateTableSQL
*
yy494
;
t
FieldList
*
yy503
;
int
yy150
;
SQuerySQL
*
yy19
0
;
SCreateAcctSQL
yy219
;
tSQLExprList
*
yy260
;
SSubclauseInfo
*
yy
263
;
int
64_t
yy279
;
SLimitVal
yy2
84
;
tVariantList
*
yy322
;
TAOS_FIELD
yy325
;
t
FieldList
*
yy369
;
SCreateDBInfo
yy374
;
SCreate
TableSQL
*
yy40
8
;
tSQLExpr
*
yy500
;
t
Variant
yy518
;
}
YYMINORTYPE
;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
...
...
@@ -128,7 +128,7 @@ typedef union {
#define YYFALLBACK 1
#define YYNSTATE 247
#define YYNRULE 220
#define YYNTOKEN 20
4
#define YYNTOKEN 20
5
#define YY_MAX_SHIFT 246
#define YY_MIN_SHIFTREDUCE 403
#define YY_MAX_SHIFTREDUCE 622
...
...
@@ -222,121 +222,121 @@ static const YYACTIONTYPE yy_action[] = {
/* 150 */
26
,
739
,
169
,
34
,
33
,
220
,
219
,
32
,
31
,
30
,
/* 160 */
16
,
239
,
214
,
238
,
213
,
212
,
211
,
237
,
210
,
236
,
/* 170 */
235
,
209
,
720
,
828
,
709
,
710
,
711
,
712
,
713
,
714
,
/* 180 */
715
,
716
,
717
,
718
,
719
,
162
,
591
,
2
25
,
234
,
582
,
/* 190 */
165
,
585
,
240
,
588
,
76
,
162
,
591
,
98
,
827
,
582
,
/* 200 */
2
34
,
585
,
60
,
588
,
26
,
162
,
591
,
12
,
742
,
582
,
/* 210 */
742
,
585
,
151
,
588
,
27
,
21
,
740
,
159
,
160
,
34
,
/* 220 */
33
,
202
,
531
,
32
,
31
,
30
,
148
,
159
,
160
,
19
0
,
/* 230 */
536
,
539
,
88
,
87
,
142
,
18
,
6
74
,
159
,
160
,
126
,
/* 240 */
147
,
177
,
152
,
39
,
37
,
40
,
38
,
226
,
185
,
739
,
/* 250 */
182
,
34
,
33
,
559
,
560
,
32
,
31
,
30
,
523
,
666
,
/* 260 */
17
,
520
,
1
26
,
521
,
842
,
522
,
55
0
,
26
,
16
,
239
,
/* 270 */
46
,
238
,
243
,
242
,
95
,
237
,
551
,
236
,
235
,
608
,
/* 280 */
14
,
42
,
584
,
13
,
587
,
140
,
583
,
187
,
586
,
170
,
/* 290 */
171
,
42
,
590
,
50
,
150
,
4
7
,
74
,
78
,
83
,
86
,
/* 300 */
77
,
42
,
590
,
580
,
592
,
507
,
80
,
589
,
13
,
161
,
/* 310 */
51
,
527
,
590
,
528
,
48
,
513
,
525
,
589
,
526
,
46
,
/* 320 */
141
,
116
,
117
,
68
,
64
,
67
,
741
,
589
,
130
,
128
,
/* 330 */
91
,
90
,
89
,
223
,
222
,
143
,
512
,
207
,
144
,
581
,
/* 340 */
22
,
22
,
73
,
72
,
85
,
84
,
145
,
3
,
10
,
9
,
/* 350 */
146
,
137
,
798
,
133
,
138
,
136
,
797
,
163
,
755
,
524
,
/* 360 */
7
33
,
794
,
763
,
793
,
164
,
224
,
100
,
780
,
779
,
114
,
/* 370 */
115
,
26
,
676
,
208
,
112
,
131
,
189
,
24
,
217
,
673
,
/* 380 */
218
,
841
,
70
,
840
,
838
,
118
,
93
,
694
,
25
,
5
2
,
/* 390 */
23
,
546
,
192
,
132
,
196
,
663
,
79
,
661
,
81
,
752
,
/* 400 */
82
,
104
,
49
,
659
,
658
,
172
,
127
,
656
,
655
,
654
,
/* 410 */
65
3
,
652
,
44
,
644
,
199
,
129
,
650
,
648
,
646
,
20
1
,
/* 420 */
767
,
197
,
768
,
781
,
195
,
193
,
28
,
216
,
75
,
227
,
/* 430 */
22
8
,
229
,
230
,
231
,
205
,
232
,
53
,
233
,
241
,
622
,
/* 440 */
1
49
,
173
,
62
,
65
,
174
,
175
,
657
,
176
,
621
,
179
,
/* 450 */
1
78
,
180
,
651
,
121
,
92
,
120
,
695
,
119
,
94
,
123
,
/* 460 */
12
2
,
124
,
125
,
1
,
2
,
737
,
181
,
620
,
105
,
108
,
/* 470 */
10
6
,
109
,
107
,
110
,
111
,
183
,
184
,
61
3
,
186
,
190
,
/* 480 */
533
,
55
,
547
,
1
01
,
156
,
57
,
552
,
19
,
194
,
102
,
/* 490 */
5
,
6
,
593
,
4
,
15
,
20
,
7
,
204
,
63
,
206
,
/* 500 */
484
,
481
,
479
,
478
,
477
,
475
,
448
,
215
,
66
,
45
,
/* 510 */
509
,
22
,
508
,
506
,
54
,
69
,
469
,
467
,
459
,
465
,
/* 520 */
461
,
463
,
457
,
71
,
455
,
483
,
482
,
480
,
476
,
474
,
/* 530 */
46
,
446
,
419
,
417
,
626
,
625
,
625
,
625
,
625
,
96
,
/* 540 */
625
,
625
,
625
,
625
,
625
,
625
,
97
,
/* 180 */
715
,
716
,
717
,
718
,
719
,
162
,
591
,
2
34
,
76
,
582
,
/* 190 */
165
,
585
,
240
,
588
,
234
,
162
,
591
,
98
,
827
,
582
,
/* 200 */
2
25
,
585
,
60
,
588
,
26
,
162
,
591
,
12
,
742
,
582
,
/* 210 */
742
,
585
,
674
,
588
,
27
,
126
,
21
,
159
,
160
,
34
,
/* 220 */
33
,
202
,
842
,
32
,
31
,
30
,
148
,
159
,
160
,
74
0
,
/* 230 */
536
,
539
,
88
,
87
,
142
,
18
,
6
66
,
159
,
160
,
126
,
/* 240 */
147
,
559
,
560
,
39
,
37
,
40
,
38
,
50
,
226
,
550
,
/* 250 */
739
,
34
,
33
,
46
,
507
,
32
,
31
,
30
,
523
,
531
,
/* 260 */
17
,
520
,
1
51
,
521
,
51
,
522
,
19
0
,
26
,
16
,
239
,
/* 270 */
152
,
238
,
243
,
242
,
95
,
237
,
551
,
236
,
235
,
177
,
/* 280 */
14
,
42
,
223
,
222
,
580
,
741
,
185
,
187
,
182
,
170
,
/* 290 */
171
,
42
,
590
,
584
,
150
,
58
7
,
74
,
78
,
83
,
86
,
/* 300 */
77
,
42
,
590
,
161
,
608
,
592
,
80
,
589
,
13
,
13
,
/* 310 */
140
,
583
,
590
,
586
,
513
,
47
,
141
,
589
,
46
,
798
,
/* 320 */
581
,
116
,
117
,
68
,
64
,
67
,
143
,
589
,
130
,
128
,
/* 330 */
91
,
90
,
89
,
512
,
48
,
207
,
527
,
22
,
528
,
22
,
/* 340 */
144
,
3
,
73
,
72
,
10
,
9
,
145
,
525
,
146
,
526
,
/* 350 */
85
,
84
,
137
,
797
,
133
,
138
,
136
,
163
,
794
,
524
,
/* 360 */
7
93
,
164
,
763
,
733
,
224
,
100
,
755
,
780
,
779
,
114
,
/* 370 */
26
,
115
,
112
,
676
,
208
,
131
,
24
,
217
,
673
,
218
,
/* 380 */
841
,
70
,
840
,
838
,
118
,
694
,
25
,
93
,
23
,
13
2
,
/* 390 */
663
,
79
,
189
,
546
,
661
,
192
,
81
,
82
,
659
,
658
,
/* 400 */
172
,
127
,
656
,
196
,
655
,
654
,
653
,
652
,
644
,
129
,
/* 410 */
65
0
,
648
,
646
,
52
,
752
,
767
,
49
,
44
,
768
,
78
1
,
/* 420 */
201
,
199
,
197
,
195
,
193
,
28
,
216
,
75
,
227
,
228
,
/* 430 */
22
9
,
230
,
205
,
232
,
231
,
53
,
233
,
241
,
622
,
149
,
/* 440 */
1
73
,
62
,
65
,
174
,
176
,
175
,
621
,
178
,
179
,
180
,
/* 450 */
1
81
,
657
,
121
,
120
,
695
,
125
,
119
,
122
,
123
,
92
,
/* 460 */
12
4
,
651
,
1
,
106
,
104
,
737
,
94
,
105
,
620
,
109
,
/* 470 */
10
7
,
108
,
110
,
111
,
2
,
184
,
613
,
18
3
,
186
,
190
,
/* 480 */
533
,
55
,
547
,
1
56
,
101
,
57
,
552
,
194
,
102
,
5
,
/* 490 */
6
,
63
,
484
,
593
,
4
,
19
,
20
,
15
,
204
,
7
,
/* 500 */
206
,
481
,
479
,
478
,
477
,
475
,
448
,
215
,
66
,
45
,
/* 510 */
22
,
509
,
508
,
69
,
506
,
54
,
469
,
467
,
459
,
465
,
/* 520 */
461
,
463
,
457
,
455
,
71
,
483
,
482
,
480
,
476
,
474
,
/* 530 */
46
,
446
,
419
,
417
,
626
,
625
,
625
,
625
,
625
,
625
,
/* 540 */
96
,
625
,
625
,
625
,
625
,
625
,
97
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
22
4
,
1
,
226
,
257
,
228
,
257
,
205
,
206
,
232
,
9
,
/* 10 */
23
4
,
235
,
208
,
13
,
14
,
208
,
16
,
17
,
207
,
208
,
/* 20 */
25
7
,
21
,
257
,
1
,
24
,
25
,
26
,
27
,
28
,
266
,
/* 30 */
26
7
,
9
,
267
,
33
,
34
,
257
,
257
,
37
,
38
,
39
,
/* 40 */
13
,
14
,
24
1
,
16
,
17
,
266
,
267
,
240
,
21
,
242
,
/* 50 */
20
8
,
24
,
25
,
26
,
27
,
28
,
255
,
208
,
208
,
208
,
/* 60 */
33
,
34
,
25
8
,
225
,
37
,
38
,
39
,
45
,
46
,
47
,
/* 0 */
22
5
,
1
,
227
,
258
,
229
,
258
,
206
,
207
,
233
,
9
,
/* 10 */
23
5
,
236
,
209
,
13
,
14
,
209
,
16
,
17
,
208
,
209
,
/* 20 */
25
8
,
21
,
258
,
1
,
24
,
25
,
26
,
27
,
28
,
267
,
/* 30 */
26
8
,
9
,
268
,
33
,
34
,
258
,
258
,
37
,
38
,
39
,
/* 40 */
13
,
14
,
24
2
,
16
,
17
,
267
,
268
,
241
,
21
,
243
,
/* 50 */
20
9
,
24
,
25
,
26
,
27
,
28
,
256
,
209
,
209
,
209
,
/* 60 */
33
,
34
,
25
9
,
226
,
37
,
38
,
39
,
45
,
46
,
47
,
/* 70 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 80 */
1
,
24
3
,
13
,
14
,
208
,
16
,
17
,
208
,
9
,
63
,
/* 90 */
21
,
24
2
,
208
,
24
,
25
,
26
,
27
,
28
,
37
,
38
,
/* 100 */
39
,
101
,
33
,
34
,
24
1
,
263
,
37
,
38
,
39
,
14
,
/* 110 */
2
59
,
16
,
17
,
263
,
257
,
265
,
21
,
208
,
255
,
24
,
/* 120 */
25
,
26
,
27
,
28
,
24
0
,
98
,
242
,
97
,
33
,
34
,
/* 130 */
100
,
101
,
37
,
38
,
39
,
21
2
,
16
,
17
,
215
,
263
,
/* 140 */
26
1
,
21
,
263
,
97
,
24
,
25
,
26
,
27
,
28
,
240
,
/* 150 */
104
,
24
2
,
126
,
33
,
34
,
129
,
130
,
37
,
38
,
39
,
/* 80 */
1
,
24
4
,
13
,
14
,
209
,
16
,
17
,
209
,
9
,
63
,
/* 90 */
21
,
24
3
,
209
,
24
,
25
,
26
,
27
,
28
,
37
,
38
,
/* 100 */
39
,
101
,
33
,
34
,
24
2
,
264
,
37
,
38
,
39
,
14
,
/* 110 */
2
60
,
16
,
17
,
264
,
258
,
266
,
21
,
209
,
256
,
24
,
/* 120 */
25
,
26
,
27
,
28
,
24
1
,
98
,
243
,
97
,
33
,
34
,
/* 130 */
100
,
101
,
37
,
38
,
39
,
21
3
,
16
,
17
,
216
,
264
,
/* 140 */
26
2
,
21
,
264
,
97
,
24
,
25
,
26
,
27
,
28
,
241
,
/* 150 */
104
,
24
3
,
126
,
33
,
34
,
129
,
130
,
37
,
38
,
39
,
/* 160 */
85
,
86
,
87
,
88
,
89
,
90
,
91
,
92
,
93
,
94
,
/* 170 */
95
,
96
,
22
4
,
257
,
226
,
227
,
228
,
229
,
230
,
231
,
/* 180 */
23
2
,
233
,
234
,
235
,
236
,
1
,
2
,
208
,
78
,
5
,
/* 190 */
22
5
,
7
,
225
,
9
,
72
,
1
,
2
,
97
,
257
,
5
,
/* 200 */
78
,
7
,
244
,
9
,
104
,
1
,
2
,
44
,
243
,
5
,
/* 210 */
24
3
,
7
,
257
,
9
,
256
,
208
,
237
,
33
,
34
,
33
,
/* 220 */
34
,
37
,
98
,
37
,
38
,
39
,
63
,
33
,
34
,
105
,
/* 230 */
102
,
37
,
69
,
70
,
71
,
107
,
21
2
,
33
,
34
,
215
,
/* 240 */
77
,
1
25
,
257
,
25
,
26
,
27
,
28
,
240
,
132
,
242
,
/* 250 */
134
,
33
,
34
,
114
,
115
,
37
,
38
,
39
,
2
,
212
,
/* 260 */
97
,
5
,
2
15
,
7
,
243
,
9
,
98
,
104
,
85
,
86
,
/* 270 */
102
,
88
,
60
,
61
,
62
,
92
,
98
,
94
,
95
,
98
,
/* 280 */
102
,
97
,
5
,
102
,
7
,
257
,
5
,
124
,
7
,
33
,
/* 290 */
34
,
97
,
108
,
102
,
131
,
102
,
64
,
65
,
66
,
67
,
/* 300 */
68
,
97
,
108
,
1
,
98
,
5
,
74
,
123
,
102
,
59
,
/* 310 */
119
,
5
,
108
,
7
,
121
,
98
,
5
,
123
,
7
,
102
,
/* 320 */
257
,
64
,
65
,
66
,
67
,
68
,
243
,
123
,
64
,
65
,
/* 330 */
66
,
67
,
68
,
33
,
34
,
257
,
98
,
98
,
257
,
37
,
/* 340 */
102
,
102
,
127
,
128
,
72
,
73
,
257
,
97
,
127
,
128
,
/* 350 */
257
,
257
,
238
,
257
,
257
,
257
,
238
,
238
,
241
,
103
,
/* 360 */
239
,
23
8
,
208
,
238
,
238
,
238
,
208
,
264
,
264
,
208
,
/* 370 */
208
,
104
,
208
,
208
,
245
,
208
,
241
,
208
,
208
,
208
,
/* 380 */
20
8
,
208
,
208
,
208
,
208
,
208
,
59
,
208
,
208
,
118
,
/* 390 */
20
8
,
108
,
260
,
208
,
260
,
208
,
208
,
208
,
208
,
254
,
/* 400 */
20
8
,
253
,
120
,
208
,
208
,
208
,
208
,
208
,
208
,
208
,
/* 410 */
20
8
,
208
,
117
,
208
,
116
,
208
,
208
,
208
,
208
,
112
,
/* 420 */
209
,
111
,
209
,
209
,
110
,
109
,
122
,
75
,
84
,
83
,
/* 430 */
49
,
80
,
82
,
53
,
209
,
81
,
209
,
79
,
75
,
5
,
/* 440 */
209
,
133
,
213
,
213
,
5
,
133
,
209
,
58
,
5
,
5
,
/* 450 */
133
,
133
,
209
,
217
,
210
,
221
,
223
,
222
,
210
,
218
,
/* 460 */
220
,
21
9
,
216
,
214
,
211
,
241
,
58
,
5
,
252
,
249
,
/* 470 */
251
,
2
48
,
250
,
247
,
246
,
133
,
58
,
87
,
125
,
105
,
/* 480 */
98
,
106
,
98
,
97
,
1
,
102
,
98
,
102
,
97
,
97
,
/* 490 */
113
,
113
,
98
,
97
,
97
,
102
,
97
,
99
,
72
,
99
,
/* 500 */
9
,
5
,
5
,
5
,
5
,
5
,
76
,
15
,
72
,
16
,
/* 510 */
5
,
102
,
5
,
98
,
97
,
128
,
5
,
5
,
5
,
5
,
/* 520 */
5
,
5
,
5
,
128
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 530 */
102
,
76
,
59
,
58
,
0
,
26
8
,
268
,
268
,
268
,
21
,
/* 540 */
268
,
268
,
268
,
268
,
268
,
268
,
21
,
268
,
268
,
268
,
/* 550 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 560 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 570 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 580 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 590 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 600 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 610 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 620 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 630 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 640 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 650 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 660 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 670 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 680 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 690 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 700 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 710 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 720 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 730 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 740 */
26
8
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 750 */
26
8
,
/* 170 */
95
,
96
,
22
5
,
258
,
227
,
228
,
229
,
230
,
231
,
232
,
/* 180 */
23
3
,
234
,
235
,
236
,
237
,
1
,
2
,
78
,
72
,
5
,
/* 190 */
22
6
,
7
,
226
,
9
,
78
,
1
,
2
,
97
,
258
,
5
,
/* 200 */
209
,
7
,
245
,
9
,
104
,
1
,
2
,
44
,
244
,
5
,
/* 210 */
24
4
,
7
,
213
,
9
,
257
,
216
,
209
,
33
,
34
,
33
,
/* 220 */
34
,
37
,
244
,
37
,
38
,
39
,
63
,
33
,
34
,
238
,
/* 230 */
102
,
37
,
69
,
70
,
71
,
107
,
21
3
,
33
,
34
,
216
,
/* 240 */
77
,
1
14
,
115
,
25
,
26
,
27
,
28
,
102
,
241
,
98
,
/* 250 */
243
,
33
,
34
,
102
,
5
,
37
,
38
,
39
,
2
,
98
,
/* 260 */
97
,
5
,
2
58
,
7
,
119
,
9
,
105
,
104
,
85
,
86
,
/* 270 */
258
,
88
,
60
,
61
,
62
,
92
,
98
,
94
,
95
,
125
,
/* 280 */
102
,
97
,
33
,
34
,
1
,
244
,
132
,
124
,
134
,
33
,
/* 290 */
34
,
97
,
108
,
5
,
131
,
7
,
64
,
65
,
66
,
67
,
/* 300 */
68
,
97
,
108
,
59
,
98
,
98
,
74
,
123
,
102
,
102
,
/* 310 */
258
,
5
,
108
,
7
,
98
,
102
,
258
,
123
,
102
,
239
,
/* 320 */
37
,
64
,
65
,
66
,
67
,
68
,
258
,
123
,
64
,
65
,
/* 330 */
66
,
67
,
68
,
98
,
121
,
98
,
5
,
102
,
7
,
102
,
/* 340 */
258
,
97
,
127
,
128
,
127
,
128
,
258
,
5
,
258
,
7
,
/* 350 */
72
,
73
,
258
,
239
,
258
,
258
,
258
,
239
,
239
,
103
,
/* 360 */
239
,
23
9
,
209
,
240
,
239
,
209
,
242
,
265
,
265
,
209
,
/* 370 */
104
,
209
,
246
,
209
,
209
,
209
,
209
,
209
,
209
,
209
,
/* 380 */
20
9
,
209
,
209
,
209
,
209
,
209
,
209
,
59
,
209
,
209
,
/* 390 */
20
9
,
209
,
242
,
108
,
209
,
261
,
209
,
209
,
209
,
209
,
/* 400 */
20
9
,
209
,
209
,
261
,
209
,
209
,
209
,
209
,
209
,
209
,
/* 410 */
20
9
,
209
,
209
,
118
,
255
,
210
,
120
,
117
,
210
,
210
,
/* 420 */
112
,
116
,
111
,
110
,
109
,
122
,
75
,
84
,
83
,
49
,
/* 430 */
80
,
82
,
210
,
81
,
53
,
210
,
79
,
75
,
5
,
210
,
/* 440 */
133
,
214
,
214
,
5
,
58
,
133
,
5
,
133
,
5
,
133
,
/* 450 */
58
,
210
,
218
,
222
,
224
,
217
,
223
,
221
,
219
,
211
,
/* 460 */
220
,
21
0
,
215
,
252
,
254
,
242
,
211
,
253
,
5
,
249
,
/* 470 */
251
,
2
50
,
248
,
247
,
212
,
58
,
87
,
133
,
125
,
105
,
/* 480 */
98
,
106
,
98
,
1
,
97
,
102
,
98
,
97
,
97
,
113
,
/* 490 */
113
,
72
,
9
,
98
,
97
,
102
,
102
,
97
,
99
,
97
,
/* 500 */
9
9
,
5
,
5
,
5
,
5
,
5
,
76
,
15
,
72
,
16
,
/* 510 */
102
,
5
,
5
,
128
,
98
,
97
,
5
,
5
,
5
,
5
,
/* 520 */
5
,
5
,
5
,
5
,
128
,
5
,
5
,
5
,
5
,
5
,
/* 530 */
102
,
76
,
59
,
58
,
0
,
26
9
,
269
,
269
,
269
,
269
,
/* 540 */
21
,
269
,
269
,
269
,
269
,
269
,
21
,
269
,
269
,
269
,
/* 550 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 560 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 570 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 580 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 590 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 600 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 610 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 620 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 630 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 640 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 650 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 660 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 670 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 680 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 690 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 700 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 710 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 720 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 730 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 740 */
26
9
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
269
,
/* 750 */
26
9
,
269
,
};
#define YY_SHIFT_COUNT (246)
#define YY_SHIFT_MIN (0)
...
...
@@ -344,48 +344,48 @@ static const YYCODETYPE yy_lookahead[] = {
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
163
,
75
,
183
,
184
,
204
,
79
,
79
,
79
,
79
,
79
,
/* 10 */
79
,
0
,
22
,
204
,
256
,
256
,
256
,
46
,
79
,
79
,
/* 20 */
79
,
79
,
79
,
1
22
,
110
,
110
,
547
,
194
,
204
,
204
,
/* 20 */
79
,
79
,
79
,
1
16
,
109
,
109
,
547
,
194
,
204
,
204
,
/* 30 */
204
,
204
,
204
,
204
,
204
,
204
,
204
,
204
,
204
,
204
,
/* 40 */
204
,
204
,
204
,
204
,
204
,
256
,
256
,
300
,
300
,
300
,
/* 50 */
300
,
300
,
300
,
30
,
300
,
100
,
79
,
79
,
139
,
139
,
/* 40 */
204
,
204
,
204
,
204
,
204
,
256
,
256
,
249
,
249
,
249
,
/* 50 */
249
,
249
,
249
,
30
,
249
,
100
,
79
,
79
,
127
,
127
,
/* 60 */
128
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
/* 70 */
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
/* 80 */
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
/* 90 */
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
26
7
,
327
,
/* 100 */
32
7
,
283
,
283
,
327
,
271
,
282
,
295
,
307
,
298
,
310
,
/* 110 */
31
4
,
316
,
304
,
267
,
327
,
327
,
352
,
352
,
327
,
344
,
/* 120 */
34
6
,
381
,
351
,
350
,
380
,
354
,
358
,
327
,
363
,
327
,
/* 130 */
36
3
,
547
,
547
,
27
,
69
,
69
,
69
,
95
,
120
,
218
,
/* 90 */
79
,
79
,
79
,
79
,
79
,
79
,
79
,
79
,
26
6
,
328
,
/* 100 */
32
8
,
285
,
285
,
328
,
295
,
296
,
300
,
308
,
305
,
311
,
/* 110 */
31
3
,
315
,
303
,
266
,
328
,
328
,
351
,
351
,
328
,
343
,
/* 120 */
34
5
,
380
,
350
,
349
,
381
,
352
,
357
,
328
,
362
,
328
,
/* 130 */
36
2
,
547
,
547
,
27
,
69
,
69
,
69
,
95
,
120
,
218
,
/* 140 */
218
,
218
,
232
,
186
,
186
,
186
,
186
,
257
,
264
,
26
,
/* 150 */
1
16
,
61
,
61
,
212
,
124
,
168
,
178
,
181
,
206
,
277
,
/* 160 */
281
,
302
,
250
,
193
,
191
,
217
,
238
,
239
,
215
,
221
,
/* 170 */
3
06
,
311
,
272
,
434
,
308
,
439
,
312
,
389
,
443
,
317
,
/* 180 */
44
4
,
318
,
408
,
462
,
342
,
418
,
390
,
353
,
374
,
382
,
/* 190 */
375
,
383
,
384
,
38
6
,
483
,
391
,
388
,
392
,
385
,
377
,
/* 200 */
39
3
,
378
,
394
,
396
,
397
,
398
,
399
,
400
,
426
,
491
,
/* 210 */
496
,
497
,
498
,
499
,
500
,
430
,
492
,
436
,
493
,
38
7
,
/* 220 */
39
5
,
409
,
505
,
507
,
415
,
417
,
409
,
511
,
512
,
513
,
/* 230 */
514
,
515
,
516
,
517
,
51
9
,
520
,
521
,
522
,
523
,
524
,
/* 240 */
428
,
455
,
51
8
,
525
,
473
,
475
,
534
,
/* 150 */
1
54
,
61
,
61
,
212
,
161
,
151
,
178
,
206
,
207
,
288
,
/* 160 */
306
,
283
,
244
,
213
,
145
,
216
,
235
,
237
,
215
,
217
,
/* 170 */
3
31
,
342
,
278
,
433
,
307
,
438
,
312
,
386
,
441
,
314
,
/* 180 */
44
3
,
316
,
392
,
463
,
344
,
417
,
389
,
353
,
374
,
382
,
/* 190 */
375
,
383
,
384
,
38
7
,
482
,
390
,
388
,
391
,
393
,
376
,
/* 200 */
39
4
,
377
,
395
,
397
,
400
,
399
,
402
,
401
,
419
,
483
,
/* 210 */
496
,
497
,
498
,
499
,
500
,
430
,
492
,
436
,
493
,
38
5
,
/* 220 */
39
6
,
408
,
506
,
507
,
416
,
418
,
408
,
511
,
512
,
513
,
/* 230 */
514
,
515
,
516
,
517
,
51
8
,
520
,
521
,
522
,
523
,
524
,
/* 240 */
428
,
455
,
51
9
,
525
,
473
,
475
,
534
,
};
#define YY_REDUCE_COUNT (132)
#define YY_REDUCE_MIN (-25
4
)
#define YY_REDUCE_MAX (2
53
)
#define YY_REDUCE_MIN (-25
5
)
#define YY_REDUCE_MAX (2
62
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
199
,
-
52
,
-
224
,
-
237
,
-
221
,
-
150
,
-
121
,
-
193
,
-
116
,
-
91
,
/* 10 */
7
,
-
19
6
,
-
189
,
-
235
,
-
162
,
-
35
,
-
33
,
-
137
,
-
149
,
-
158
,
/* 20 */
-
12
4
,
-
21
,
-
151
,
-
77
,
24
,
47
,
-
42
,
-
254
,
-
252
,
-
222
,
/* 30 */
-
14
3
,
-
84
,
-
59
,
-
45
,
-
15
,
28
,
63
,
78
,
81
,
89
,
/* 40 */
9
3
,
94
,
96
,
97
,
98
,
21
,
83
,
114
,
118
,
119
,
/* 50 */
1
23
,
125
,
126
,
121
,
127
,
117
,
154
,
158
,
103
,
104
,
/* 60 */
12
9
,
161
,
162
,
164
,
165
,
167
,
169
,
170
,
171
,
172
,
/* 70 */
17
3
,
174
,
175
,
176
,
177
,
179
,
180
,
182
,
185
,
187
,
/* 80 */
18
8
,
189
,
190
,
192
,
195
,
196
,
197
,
198
,
199
,
200
,
/* 90 */
201
,
202
,
203
,
205
,
207
,
208
,
209
,
210
,
135
,
211
,
/* 100 */
2
13
,
132
,
134
,
214
,
145
,
148
,
216
,
219
,
222
,
220
,
/* 110 */
22
3
,
226
,
228
,
224
,
225
,
227
,
229
,
230
,
231
,
233
,
/* 120 */
23
5
,
234
,
236
,
240
,
241
,
242
,
246
,
237
,
244
,
243
,
/* 130 */
2
48
,
249
,
253
,
/* 0 */
-
200
,
-
53
,
-
225
,
-
238
,
-
222
,
-
151
,
-
122
,
-
194
,
-
117
,
-
92
,
/* 10 */
7
,
-
19
7
,
-
190
,
-
236
,
-
163
,
-
36
,
-
34
,
-
138
,
-
150
,
-
159
,
/* 20 */
-
12
5
,
-
9
,
-
152
,
-
78
,
-
1
,
23
,
-
43
,
-
255
,
-
253
,
-
223
,
/* 30 */
-
14
4
,
-
85
,
-
60
,
4
,
12
,
52
,
58
,
68
,
82
,
88
,
/* 40 */
9
0
,
94
,
96
,
97
,
98
,
-
22
,
41
,
80
,
114
,
118
,
/* 50 */
1
19
,
121
,
122
,
123
,
125
,
124
,
153
,
156
,
102
,
103
,
/* 60 */
12
6
,
160
,
162
,
164
,
165
,
166
,
167
,
168
,
169
,
170
,
/* 70 */
17
1
,
172
,
173
,
174
,
175
,
176
,
177
,
179
,
180
,
181
,
/* 80 */
18
2
,
185
,
187
,
188
,
189
,
190
,
191
,
192
,
193
,
195
,
/* 90 */
196
,
197
,
198
,
199
,
200
,
201
,
202
,
203
,
150
,
205
,
/* 100 */
2
08
,
134
,
142
,
209
,
159
,
210
,
214
,
211
,
219
,
221
,
/* 110 */
22
0
,
224
,
226
,
223
,
222
,
225
,
227
,
228
,
229
,
230
,
/* 120 */
23
3
,
231
,
234
,
236
,
239
,
240
,
238
,
241
,
248
,
251
,
/* 130 */
2
55
,
247
,
262
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
623
,
675
,
664
,
835
,
835
,
623
,
623
,
623
,
623
,
623
,
...
...
@@ -623,6 +623,7 @@ static const YYCODETYPE yyFallback[] = {
1
,
/* SUM_IRATE => ID */
1
,
/* AVG_RATE => ID */
1
,
/* AVG_IRATE => ID */
1
,
/* TBID => ID */
1
,
/* SEMI => ID */
1
,
/* NONE => ID */
1
,
/* PREV => ID */
...
...
@@ -913,83 +914,84 @@ static const char *const yyTokenName[] = {
/* 188 */
"SUM_IRATE"
,
/* 189 */
"AVG_RATE"
,
/* 190 */
"AVG_IRATE"
,
/* 191 */
"SEMI"
,
/* 192 */
"NONE"
,
/* 193 */
"PREV"
,
/* 194 */
"LINEAR"
,
/* 195 */
"IMPORT"
,
/* 196 */
"METRIC"
,
/* 197 */
"TBNAME"
,
/* 198 */
"JOIN"
,
/* 199 */
"METRICS"
,
/* 200 */
"STABLE"
,
/* 201 */
"INSERT"
,
/* 202 */
"INTO"
,
/* 203 */
"VALUES"
,
/* 204 */
"error"
,
/* 205 */
"program"
,
/* 206 */
"cmd"
,
/* 207 */
"dbPrefix"
,
/* 208 */
"ids"
,
/* 209 */
"cpxName"
,
/* 210 */
"ifexists"
,
/* 211 */
"alter_db_optr"
,
/* 212 */
"acct_optr"
,
/* 213 */
"ifnotexists"
,
/* 214 */
"db_optr"
,
/* 215 */
"pps"
,
/* 216 */
"tseries"
,
/* 217 */
"dbs"
,
/* 218 */
"streams"
,
/* 219 */
"storage"
,
/* 220 */
"qtime"
,
/* 221 */
"users"
,
/* 222 */
"conns"
,
/* 223 */
"state"
,
/* 224 */
"keep"
,
/* 225 */
"tagitemlist"
,
/* 226 */
"tables"
,
/* 227 */
"cache"
,
/* 228 */
"replica"
,
/* 229 */
"days"
,
/* 230 */
"minrows"
,
/* 231 */
"maxrows"
,
/* 232 */
"blocks"
,
/* 233 */
"ctime"
,
/* 234 */
"wal"
,
/* 235 */
"comp"
,
/* 236 */
"prec"
,
/* 237 */
"typename"
,
/* 238 */
"signed"
,
/* 239 */
"create_table_args"
,
/* 240 */
"columnlist"
,
/* 241 */
"select"
,
/* 242 */
"column"
,
/* 243 */
"tagitem"
,
/* 244 */
"selcollist"
,
/* 245 */
"from"
,
/* 246 */
"where_opt"
,
/* 247 */
"interval_opt"
,
/* 248 */
"fill_opt"
,
/* 249 */
"sliding_opt"
,
/* 250 */
"groupby_opt"
,
/* 251 */
"orderby_opt"
,
/* 252 */
"having_opt"
,
/* 253 */
"slimit_opt"
,
/* 254 */
"limit_opt"
,
/* 255 */
"union"
,
/* 256 */
"sclp"
,
/* 257 */
"expr"
,
/* 258 */
"as"
,
/* 259 */
"tablelist"
,
/* 260 */
"tmvar"
,
/* 261 */
"sortlist"
,
/* 262 */
"sortitem"
,
/* 263 */
"item"
,
/* 264 */
"sortorder"
,
/* 265 */
"grouplist"
,
/* 266 */
"exprlist"
,
/* 267 */
"expritem"
,
/* 191 */
"TBID"
,
/* 192 */
"SEMI"
,
/* 193 */
"NONE"
,
/* 194 */
"PREV"
,
/* 195 */
"LINEAR"
,
/* 196 */
"IMPORT"
,
/* 197 */
"METRIC"
,
/* 198 */
"TBNAME"
,
/* 199 */
"JOIN"
,
/* 200 */
"METRICS"
,
/* 201 */
"STABLE"
,
/* 202 */
"INSERT"
,
/* 203 */
"INTO"
,
/* 204 */
"VALUES"
,
/* 205 */
"error"
,
/* 206 */
"program"
,
/* 207 */
"cmd"
,
/* 208 */
"dbPrefix"
,
/* 209 */
"ids"
,
/* 210 */
"cpxName"
,
/* 211 */
"ifexists"
,
/* 212 */
"alter_db_optr"
,
/* 213 */
"acct_optr"
,
/* 214 */
"ifnotexists"
,
/* 215 */
"db_optr"
,
/* 216 */
"pps"
,
/* 217 */
"tseries"
,
/* 218 */
"dbs"
,
/* 219 */
"streams"
,
/* 220 */
"storage"
,
/* 221 */
"qtime"
,
/* 222 */
"users"
,
/* 223 */
"conns"
,
/* 224 */
"state"
,
/* 225 */
"keep"
,
/* 226 */
"tagitemlist"
,
/* 227 */
"tables"
,
/* 228 */
"cache"
,
/* 229 */
"replica"
,
/* 230 */
"days"
,
/* 231 */
"minrows"
,
/* 232 */
"maxrows"
,
/* 233 */
"blocks"
,
/* 234 */
"ctime"
,
/* 235 */
"wal"
,
/* 236 */
"comp"
,
/* 237 */
"prec"
,
/* 238 */
"typename"
,
/* 239 */
"signed"
,
/* 240 */
"create_table_args"
,
/* 241 */
"columnlist"
,
/* 242 */
"select"
,
/* 243 */
"column"
,
/* 244 */
"tagitem"
,
/* 245 */
"selcollist"
,
/* 246 */
"from"
,
/* 247 */
"where_opt"
,
/* 248 */
"interval_opt"
,
/* 249 */
"fill_opt"
,
/* 250 */
"sliding_opt"
,
/* 251 */
"groupby_opt"
,
/* 252 */
"orderby_opt"
,
/* 253 */
"having_opt"
,
/* 254 */
"slimit_opt"
,
/* 255 */
"limit_opt"
,
/* 256 */
"union"
,
/* 257 */
"sclp"
,
/* 258 */
"expr"
,
/* 259 */
"as"
,
/* 260 */
"tablelist"
,
/* 261 */
"tmvar"
,
/* 262 */
"sortlist"
,
/* 263 */
"sortitem"
,
/* 264 */
"item"
,
/* 265 */
"sortorder"
,
/* 266 */
"grouplist"
,
/* 267 */
"exprlist"
,
/* 268 */
"expritem"
,
};
#endif
/* defined(YYCOVERAGE) || !defined(NDEBUG) */
...
...
@@ -1337,50 +1339,50 @@ static void yy_destructor(
** inside the C code.
*/
/********* Begin destructor definitions ***************************************/
case
22
4
:
/* keep */
case
22
5
:
/* tagitemlist */
case
24
8
:
/* fill_opt */
case
25
0
:
/* groupby_opt */
case
25
1
:
/* orderby_opt */
case
26
1
:
/* sortlist */
case
26
5
:
/* grouplist */
case
22
5
:
/* keep */
case
22
6
:
/* tagitemlist */
case
24
9
:
/* fill_opt */
case
25
1
:
/* groupby_opt */
case
25
2
:
/* orderby_opt */
case
26
2
:
/* sortlist */
case
26
6
:
/* grouplist */
{
tVariantListDestroy
((
yypminor
->
yy
456
));
tVariantListDestroy
((
yypminor
->
yy
322
));
}
break
;
case
24
0
:
/* columnlist */
case
24
1
:
/* columnlist */
{
tFieldListDestroy
((
yypminor
->
yy
503
));
tFieldListDestroy
((
yypminor
->
yy
369
));
}
break
;
case
24
1
:
/* select */
case
24
2
:
/* select */
{
doDestroyQuerySql
((
yypminor
->
yy
392
));
doDestroyQuerySql
((
yypminor
->
yy
190
));
}
break
;
case
24
4
:
/* selcollist */
case
25
6
:
/* sclp */
case
26
6
:
/* exprlist */
case
24
5
:
/* selcollist */
case
25
7
:
/* sclp */
case
26
7
:
/* exprlist */
{
tSQLExprListDestroy
((
yypminor
->
yy
1
0
));
tSQLExprListDestroy
((
yypminor
->
yy
26
0
));
}
break
;
case
24
6
:
/* where_opt */
case
25
2
:
/* having_opt */
case
25
7
:
/* expr */
case
26
7
:
/* expritem */
case
24
7
:
/* where_opt */
case
25
3
:
/* having_opt */
case
25
8
:
/* expr */
case
26
8
:
/* expritem */
{
tSQLExprDestroy
((
yypminor
->
yy
2
));
tSQLExprDestroy
((
yypminor
->
yy
500
));
}
break
;
case
25
5
:
/* union */
case
25
6
:
/* union */
{
destroyAllSelectClause
((
yypminor
->
yy
145
));
destroyAllSelectClause
((
yypminor
->
yy
263
));
}
break
;
case
26
2
:
/* sortitem */
case
26
3
:
/* sortitem */
{
tVariantDestroy
(
&
(
yypminor
->
yy
442
));
tVariantDestroy
(
&
(
yypminor
->
yy
518
));
}
break
;
/********* End destructor definitions *****************************************/
...
...
@@ -1674,226 +1676,226 @@ static const struct {
YYCODETYPE
lhs
;
/* Symbol on the left-hand side of the rule */
signed
char
nrhs
;
/* Negative of the number of RHS symbols in the rule */
}
yyRuleInfo
[]
=
{
{
20
5
,
-
1
},
/* (0) program ::= cmd */
{
20
6
,
-
2
},
/* (1) cmd ::= SHOW DATABASES */
{
20
6
,
-
2
},
/* (2) cmd ::= SHOW MNODES */
{
20
6
,
-
2
},
/* (3) cmd ::= SHOW DNODES */
{
20
6
,
-
2
},
/* (4) cmd ::= SHOW ACCOUNTS */
{
20
6
,
-
2
},
/* (5) cmd ::= SHOW USERS */
{
20
6
,
-
2
},
/* (6) cmd ::= SHOW MODULES */
{
20
6
,
-
2
},
/* (7) cmd ::= SHOW QUERIES */
{
20
6
,
-
2
},
/* (8) cmd ::= SHOW CONNECTIONS */
{
20
6
,
-
2
},
/* (9) cmd ::= SHOW STREAMS */
{
20
6
,
-
2
},
/* (10) cmd ::= SHOW CONFIGS */
{
20
6
,
-
2
},
/* (11) cmd ::= SHOW SCORES */
{
20
6
,
-
2
},
/* (12) cmd ::= SHOW GRANTS */
{
20
6
,
-
2
},
/* (13) cmd ::= SHOW VNODES */
{
20
6
,
-
3
},
/* (14) cmd ::= SHOW VNODES IPTOKEN */
{
20
7
,
0
},
/* (15) dbPrefix ::= */
{
20
7
,
-
2
},
/* (16) dbPrefix ::= ids DOT */
{
2
09
,
0
},
/* (17) cpxName ::= */
{
2
09
,
-
2
},
/* (18) cpxName ::= DOT ids */
{
20
6
,
-
3
},
/* (19) cmd ::= SHOW dbPrefix TABLES */
{
20
6
,
-
5
},
/* (20) cmd ::= SHOW dbPrefix TABLES LIKE ids */
{
20
6
,
-
3
},
/* (21) cmd ::= SHOW dbPrefix STABLES */
{
20
6
,
-
5
},
/* (22) cmd ::= SHOW dbPrefix STABLES LIKE ids */
{
20
6
,
-
3
},
/* (23) cmd ::= SHOW dbPrefix VGROUPS */
{
20
6
,
-
4
},
/* (24) cmd ::= SHOW dbPrefix VGROUPS ids */
{
20
6
,
-
5
},
/* (25) cmd ::= DROP TABLE ifexists ids cpxName */
{
20
6
,
-
4
},
/* (26) cmd ::= DROP DATABASE ifexists ids */
{
20
6
,
-
3
},
/* (27) cmd ::= DROP DNODE ids */
{
20
6
,
-
3
},
/* (28) cmd ::= DROP USER ids */
{
20
6
,
-
3
},
/* (29) cmd ::= DROP ACCOUNT ids */
{
20
6
,
-
2
},
/* (30) cmd ::= USE ids */
{
20
6
,
-
3
},
/* (31) cmd ::= DESCRIBE ids cpxName */
{
20
6
,
-
5
},
/* (32) cmd ::= ALTER USER ids PASS ids */
{
20
6
,
-
5
},
/* (33) cmd ::= ALTER USER ids PRIVILEGE ids */
{
20
6
,
-
4
},
/* (34) cmd ::= ALTER DNODE ids ids */
{
20
6
,
-
5
},
/* (35) cmd ::= ALTER DNODE ids ids ids */
{
20
6
,
-
3
},
/* (36) cmd ::= ALTER LOCAL ids */
{
20
6
,
-
4
},
/* (37) cmd ::= ALTER LOCAL ids ids */
{
20
6
,
-
4
},
/* (38) cmd ::= ALTER DATABASE ids alter_db_optr */
{
20
6
,
-
4
},
/* (39) cmd ::= ALTER ACCOUNT ids acct_optr */
{
20
6
,
-
6
},
/* (40) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
20
8
,
-
1
},
/* (41) ids ::= ID */
{
20
8
,
-
1
},
/* (42) ids ::= STRING */
{
21
0
,
-
2
},
/* (43) ifexists ::= IF EXISTS */
{
21
0
,
0
},
/* (44) ifexists ::= */
{
21
3
,
-
3
},
/* (45) ifnotexists ::= IF NOT EXISTS */
{
21
3
,
0
},
/* (46) ifnotexists ::= */
{
20
6
,
-
3
},
/* (47) cmd ::= CREATE DNODE ids */
{
20
6
,
-
6
},
/* (48) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
20
6
,
-
5
},
/* (49) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
20
6
,
-
5
},
/* (50) cmd ::= CREATE USER ids PASS ids */
{
21
5
,
0
},
/* (51) pps ::= */
{
21
5
,
-
2
},
/* (52) pps ::= PPS INTEGER */
{
21
6
,
0
},
/* (53) tseries ::= */
{
21
6
,
-
2
},
/* (54) tseries ::= TSERIES INTEGER */
{
21
7
,
0
},
/* (55) dbs ::= */
{
21
7
,
-
2
},
/* (56) dbs ::= DBS INTEGER */
{
21
8
,
0
},
/* (57) streams ::= */
{
21
8
,
-
2
},
/* (58) streams ::= STREAMS INTEGER */
{
2
19
,
0
},
/* (59) storage ::= */
{
2
19
,
-
2
},
/* (60) storage ::= STORAGE INTEGER */
{
22
0
,
0
},
/* (61) qtime ::= */
{
22
0
,
-
2
},
/* (62) qtime ::= QTIME INTEGER */
{
22
1
,
0
},
/* (63) users ::= */
{
22
1
,
-
2
},
/* (64) users ::= USERS INTEGER */
{
22
2
,
0
},
/* (65) conns ::= */
{
22
2
,
-
2
},
/* (66) conns ::= CONNS INTEGER */
{
22
3
,
0
},
/* (67) state ::= */
{
22
3
,
-
2
},
/* (68) state ::= STATE ids */
{
21
2
,
-
9
},
/* (69) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
22
4
,
-
2
},
/* (70) keep ::= KEEP tagitemlist */
{
22
6
,
-
2
},
/* (71) tables ::= MAXTABLES INTEGER */
{
22
7
,
-
2
},
/* (72) cache ::= CACHE INTEGER */
{
22
8
,
-
2
},
/* (73) replica ::= REPLICA INTEGER */
{
2
29
,
-
2
},
/* (74) days ::= DAYS INTEGER */
{
23
0
,
-
2
},
/* (75) minrows ::= MINROWS INTEGER */
{
23
1
,
-
2
},
/* (76) maxrows ::= MAXROWS INTEGER */
{
23
2
,
-
2
},
/* (77) blocks ::= BLOCKS INTEGER */
{
23
3
,
-
2
},
/* (78) ctime ::= CTIME INTEGER */
{
23
4
,
-
2
},
/* (79) wal ::= WAL INTEGER */
{
23
5
,
-
2
},
/* (80) comp ::= COMP INTEGER */
{
23
6
,
-
2
},
/* (81) prec ::= PRECISION STRING */
{
21
4
,
0
},
/* (82) db_optr ::= */
{
21
4
,
-
2
},
/* (83) db_optr ::= db_optr tables */
{
21
4
,
-
2
},
/* (84) db_optr ::= db_optr cache */
{
21
4
,
-
2
},
/* (85) db_optr ::= db_optr replica */
{
21
4
,
-
2
},
/* (86) db_optr ::= db_optr days */
{
21
4
,
-
2
},
/* (87) db_optr ::= db_optr minrows */
{
21
4
,
-
2
},
/* (88) db_optr ::= db_optr maxrows */
{
21
4
,
-
2
},
/* (89) db_optr ::= db_optr blocks */
{
21
4
,
-
2
},
/* (90) db_optr ::= db_optr ctime */
{
21
4
,
-
2
},
/* (91) db_optr ::= db_optr wal */
{
21
4
,
-
2
},
/* (92) db_optr ::= db_optr comp */
{
21
4
,
-
2
},
/* (93) db_optr ::= db_optr prec */
{
21
4
,
-
2
},
/* (94) db_optr ::= db_optr keep */
{
21
1
,
0
},
/* (95) alter_db_optr ::= */
{
21
1
,
-
2
},
/* (96) alter_db_optr ::= alter_db_optr replica */
{
21
1
,
-
2
},
/* (97) alter_db_optr ::= alter_db_optr tables */
{
21
1
,
-
2
},
/* (98) alter_db_optr ::= alter_db_optr keep */
{
21
1
,
-
2
},
/* (99) alter_db_optr ::= alter_db_optr blocks */
{
21
1
,
-
2
},
/* (100) alter_db_optr ::= alter_db_optr comp */
{
21
1
,
-
2
},
/* (101) alter_db_optr ::= alter_db_optr wal */
{
23
7
,
-
1
},
/* (102) typename ::= ids */
{
23
7
,
-
4
},
/* (103) typename ::= ids LP signed RP */
{
23
8
,
-
1
},
/* (104) signed ::= INTEGER */
{
23
8
,
-
2
},
/* (105) signed ::= PLUS INTEGER */
{
23
8
,
-
2
},
/* (106) signed ::= MINUS INTEGER */
{
20
6
,
-
6
},
/* (107) cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
{
2
39
,
-
3
},
/* (108) create_table_args ::= LP columnlist RP */
{
2
39
,
-
7
},
/* (109) create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
{
2
39
,
-
7
},
/* (110) create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
{
2
39
,
-
2
},
/* (111) create_table_args ::= AS select */
{
24
0
,
-
3
},
/* (112) columnlist ::= columnlist COMMA column */
{
24
0
,
-
1
},
/* (113) columnlist ::= column */
{
24
2
,
-
2
},
/* (114) column ::= ids typename */
{
22
5
,
-
3
},
/* (115) tagitemlist ::= tagitemlist COMMA tagitem */
{
22
5
,
-
1
},
/* (116) tagitemlist ::= tagitem */
{
24
3
,
-
1
},
/* (117) tagitem ::= INTEGER */
{
24
3
,
-
1
},
/* (118) tagitem ::= FLOAT */
{
24
3
,
-
1
},
/* (119) tagitem ::= STRING */
{
24
3
,
-
1
},
/* (120) tagitem ::= BOOL */
{
24
3
,
-
1
},
/* (121) tagitem ::= NULL */
{
24
3
,
-
2
},
/* (122) tagitem ::= MINUS INTEGER */
{
24
3
,
-
2
},
/* (123) tagitem ::= MINUS FLOAT */
{
24
3
,
-
2
},
/* (124) tagitem ::= PLUS INTEGER */
{
24
3
,
-
2
},
/* (125) tagitem ::= PLUS FLOAT */
{
24
1
,
-
12
},
/* (126) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
25
5
,
-
1
},
/* (127) union ::= select */
{
25
5
,
-
3
},
/* (128) union ::= LP union RP */
{
25
5
,
-
4
},
/* (129) union ::= union UNION ALL select */
{
25
5
,
-
6
},
/* (130) union ::= union UNION ALL LP select RP */
{
20
6
,
-
1
},
/* (131) cmd ::= union */
{
24
1
,
-
2
},
/* (132) select ::= SELECT selcollist */
{
25
6
,
-
2
},
/* (133) sclp ::= selcollist COMMA */
{
25
6
,
0
},
/* (134) sclp ::= */
{
24
4
,
-
3
},
/* (135) selcollist ::= sclp expr as */
{
24
4
,
-
2
},
/* (136) selcollist ::= sclp STAR */
{
25
8
,
-
2
},
/* (137) as ::= AS ids */
{
25
8
,
-
1
},
/* (138) as ::= ids */
{
25
8
,
0
},
/* (139) as ::= */
{
24
5
,
-
2
},
/* (140) from ::= FROM tablelist */
{
2
59
,
-
2
},
/* (141) tablelist ::= ids cpxName */
{
2
59
,
-
4
},
/* (142) tablelist ::= tablelist COMMA ids cpxName */
{
26
0
,
-
1
},
/* (143) tmvar ::= VARIABLE */
{
24
7
,
-
4
},
/* (144) interval_opt ::= INTERVAL LP tmvar RP */
{
24
7
,
0
},
/* (145) interval_opt ::= */
{
24
8
,
0
},
/* (146) fill_opt ::= */
{
24
8
,
-
6
},
/* (147) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
24
8
,
-
4
},
/* (148) fill_opt ::= FILL LP ID RP */
{
2
49
,
-
4
},
/* (149) sliding_opt ::= SLIDING LP tmvar RP */
{
2
49
,
0
},
/* (150) sliding_opt ::= */
{
25
1
,
0
},
/* (151) orderby_opt ::= */
{
25
1
,
-
3
},
/* (152) orderby_opt ::= ORDER BY sortlist */
{
26
1
,
-
4
},
/* (153) sortlist ::= sortlist COMMA item sortorder */
{
26
1
,
-
2
},
/* (154) sortlist ::= item sortorder */
{
26
3
,
-
2
},
/* (155) item ::= ids cpxName */
{
26
4
,
-
1
},
/* (156) sortorder ::= ASC */
{
26
4
,
-
1
},
/* (157) sortorder ::= DESC */
{
26
4
,
0
},
/* (158) sortorder ::= */
{
25
0
,
0
},
/* (159) groupby_opt ::= */
{
25
0
,
-
3
},
/* (160) groupby_opt ::= GROUP BY grouplist */
{
26
5
,
-
3
},
/* (161) grouplist ::= grouplist COMMA item */
{
26
5
,
-
1
},
/* (162) grouplist ::= item */
{
25
2
,
0
},
/* (163) having_opt ::= */
{
25
2
,
-
2
},
/* (164) having_opt ::= HAVING expr */
{
25
4
,
0
},
/* (165) limit_opt ::= */
{
25
4
,
-
2
},
/* (166) limit_opt ::= LIMIT signed */
{
25
4
,
-
4
},
/* (167) limit_opt ::= LIMIT signed OFFSET signed */
{
25
4
,
-
4
},
/* (168) limit_opt ::= LIMIT signed COMMA signed */
{
25
3
,
0
},
/* (169) slimit_opt ::= */
{
25
3
,
-
2
},
/* (170) slimit_opt ::= SLIMIT signed */
{
25
3
,
-
4
},
/* (171) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
25
3
,
-
4
},
/* (172) slimit_opt ::= SLIMIT signed COMMA signed */
{
24
6
,
0
},
/* (173) where_opt ::= */
{
24
6
,
-
2
},
/* (174) where_opt ::= WHERE expr */
{
25
7
,
-
3
},
/* (175) expr ::= LP expr RP */
{
25
7
,
-
1
},
/* (176) expr ::= ID */
{
25
7
,
-
3
},
/* (177) expr ::= ID DOT ID */
{
25
7
,
-
3
},
/* (178) expr ::= ID DOT STAR */
{
25
7
,
-
1
},
/* (179) expr ::= INTEGER */
{
25
7
,
-
2
},
/* (180) expr ::= MINUS INTEGER */
{
25
7
,
-
2
},
/* (181) expr ::= PLUS INTEGER */
{
25
7
,
-
1
},
/* (182) expr ::= FLOAT */
{
25
7
,
-
2
},
/* (183) expr ::= MINUS FLOAT */
{
25
7
,
-
2
},
/* (184) expr ::= PLUS FLOAT */
{
25
7
,
-
1
},
/* (185) expr ::= STRING */
{
25
7
,
-
1
},
/* (186) expr ::= NOW */
{
25
7
,
-
1
},
/* (187) expr ::= VARIABLE */
{
25
7
,
-
1
},
/* (188) expr ::= BOOL */
{
25
7
,
-
4
},
/* (189) expr ::= ID LP exprlist RP */
{
25
7
,
-
4
},
/* (190) expr ::= ID LP STAR RP */
{
25
7
,
-
3
},
/* (191) expr ::= expr AND expr */
{
25
7
,
-
3
},
/* (192) expr ::= expr OR expr */
{
25
7
,
-
3
},
/* (193) expr ::= expr LT expr */
{
25
7
,
-
3
},
/* (194) expr ::= expr GT expr */
{
25
7
,
-
3
},
/* (195) expr ::= expr LE expr */
{
25
7
,
-
3
},
/* (196) expr ::= expr GE expr */
{
25
7
,
-
3
},
/* (197) expr ::= expr NE expr */
{
25
7
,
-
3
},
/* (198) expr ::= expr EQ expr */
{
25
7
,
-
3
},
/* (199) expr ::= expr PLUS expr */
{
25
7
,
-
3
},
/* (200) expr ::= expr MINUS expr */
{
25
7
,
-
3
},
/* (201) expr ::= expr STAR expr */
{
25
7
,
-
3
},
/* (202) expr ::= expr SLASH expr */
{
25
7
,
-
3
},
/* (203) expr ::= expr REM expr */
{
25
7
,
-
3
},
/* (204) expr ::= expr LIKE expr */
{
25
7
,
-
5
},
/* (205) expr ::= expr IN LP exprlist RP */
{
26
6
,
-
3
},
/* (206) exprlist ::= exprlist COMMA expritem */
{
26
6
,
-
1
},
/* (207) exprlist ::= expritem */
{
26
7
,
-
1
},
/* (208) expritem ::= expr */
{
26
7
,
0
},
/* (209) expritem ::= */
{
20
6
,
-
3
},
/* (210) cmd ::= RESET QUERY CACHE */
{
20
6
,
-
7
},
/* (211) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
20
6
,
-
7
},
/* (212) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
20
6
,
-
7
},
/* (213) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
20
6
,
-
7
},
/* (214) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
20
6
,
-
8
},
/* (215) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
20
6
,
-
9
},
/* (216) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
20
6
,
-
5
},
/* (217) cmd ::= KILL CONNECTION IPTOKEN COLON INTEGER */
{
20
6
,
-
7
},
/* (218) cmd ::= KILL STREAM IPTOKEN COLON INTEGER COLON INTEGER */
{
20
6
,
-
7
},
/* (219) cmd ::= KILL QUERY IPTOKEN COLON INTEGER COLON INTEGER */
{
20
6
,
-
1
},
/* (0) program ::= cmd */
{
20
7
,
-
2
},
/* (1) cmd ::= SHOW DATABASES */
{
20
7
,
-
2
},
/* (2) cmd ::= SHOW MNODES */
{
20
7
,
-
2
},
/* (3) cmd ::= SHOW DNODES */
{
20
7
,
-
2
},
/* (4) cmd ::= SHOW ACCOUNTS */
{
20
7
,
-
2
},
/* (5) cmd ::= SHOW USERS */
{
20
7
,
-
2
},
/* (6) cmd ::= SHOW MODULES */
{
20
7
,
-
2
},
/* (7) cmd ::= SHOW QUERIES */
{
20
7
,
-
2
},
/* (8) cmd ::= SHOW CONNECTIONS */
{
20
7
,
-
2
},
/* (9) cmd ::= SHOW STREAMS */
{
20
7
,
-
2
},
/* (10) cmd ::= SHOW CONFIGS */
{
20
7
,
-
2
},
/* (11) cmd ::= SHOW SCORES */
{
20
7
,
-
2
},
/* (12) cmd ::= SHOW GRANTS */
{
20
7
,
-
2
},
/* (13) cmd ::= SHOW VNODES */
{
20
7
,
-
3
},
/* (14) cmd ::= SHOW VNODES IPTOKEN */
{
20
8
,
0
},
/* (15) dbPrefix ::= */
{
20
8
,
-
2
},
/* (16) dbPrefix ::= ids DOT */
{
2
10
,
0
},
/* (17) cpxName ::= */
{
2
10
,
-
2
},
/* (18) cpxName ::= DOT ids */
{
20
7
,
-
3
},
/* (19) cmd ::= SHOW dbPrefix TABLES */
{
20
7
,
-
5
},
/* (20) cmd ::= SHOW dbPrefix TABLES LIKE ids */
{
20
7
,
-
3
},
/* (21) cmd ::= SHOW dbPrefix STABLES */
{
20
7
,
-
5
},
/* (22) cmd ::= SHOW dbPrefix STABLES LIKE ids */
{
20
7
,
-
3
},
/* (23) cmd ::= SHOW dbPrefix VGROUPS */
{
20
7
,
-
4
},
/* (24) cmd ::= SHOW dbPrefix VGROUPS ids */
{
20
7
,
-
5
},
/* (25) cmd ::= DROP TABLE ifexists ids cpxName */
{
20
7
,
-
4
},
/* (26) cmd ::= DROP DATABASE ifexists ids */
{
20
7
,
-
3
},
/* (27) cmd ::= DROP DNODE ids */
{
20
7
,
-
3
},
/* (28) cmd ::= DROP USER ids */
{
20
7
,
-
3
},
/* (29) cmd ::= DROP ACCOUNT ids */
{
20
7
,
-
2
},
/* (30) cmd ::= USE ids */
{
20
7
,
-
3
},
/* (31) cmd ::= DESCRIBE ids cpxName */
{
20
7
,
-
5
},
/* (32) cmd ::= ALTER USER ids PASS ids */
{
20
7
,
-
5
},
/* (33) cmd ::= ALTER USER ids PRIVILEGE ids */
{
20
7
,
-
4
},
/* (34) cmd ::= ALTER DNODE ids ids */
{
20
7
,
-
5
},
/* (35) cmd ::= ALTER DNODE ids ids ids */
{
20
7
,
-
3
},
/* (36) cmd ::= ALTER LOCAL ids */
{
20
7
,
-
4
},
/* (37) cmd ::= ALTER LOCAL ids ids */
{
20
7
,
-
4
},
/* (38) cmd ::= ALTER DATABASE ids alter_db_optr */
{
20
7
,
-
4
},
/* (39) cmd ::= ALTER ACCOUNT ids acct_optr */
{
20
7
,
-
6
},
/* (40) cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
20
9
,
-
1
},
/* (41) ids ::= ID */
{
20
9
,
-
1
},
/* (42) ids ::= STRING */
{
21
1
,
-
2
},
/* (43) ifexists ::= IF EXISTS */
{
21
1
,
0
},
/* (44) ifexists ::= */
{
21
4
,
-
3
},
/* (45) ifnotexists ::= IF NOT EXISTS */
{
21
4
,
0
},
/* (46) ifnotexists ::= */
{
20
7
,
-
3
},
/* (47) cmd ::= CREATE DNODE ids */
{
20
7
,
-
6
},
/* (48) cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
{
20
7
,
-
5
},
/* (49) cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
20
7
,
-
5
},
/* (50) cmd ::= CREATE USER ids PASS ids */
{
21
6
,
0
},
/* (51) pps ::= */
{
21
6
,
-
2
},
/* (52) pps ::= PPS INTEGER */
{
21
7
,
0
},
/* (53) tseries ::= */
{
21
7
,
-
2
},
/* (54) tseries ::= TSERIES INTEGER */
{
21
8
,
0
},
/* (55) dbs ::= */
{
21
8
,
-
2
},
/* (56) dbs ::= DBS INTEGER */
{
21
9
,
0
},
/* (57) streams ::= */
{
21
9
,
-
2
},
/* (58) streams ::= STREAMS INTEGER */
{
2
20
,
0
},
/* (59) storage ::= */
{
2
20
,
-
2
},
/* (60) storage ::= STORAGE INTEGER */
{
22
1
,
0
},
/* (61) qtime ::= */
{
22
1
,
-
2
},
/* (62) qtime ::= QTIME INTEGER */
{
22
2
,
0
},
/* (63) users ::= */
{
22
2
,
-
2
},
/* (64) users ::= USERS INTEGER */
{
22
3
,
0
},
/* (65) conns ::= */
{
22
3
,
-
2
},
/* (66) conns ::= CONNS INTEGER */
{
22
4
,
0
},
/* (67) state ::= */
{
22
4
,
-
2
},
/* (68) state ::= STATE ids */
{
21
3
,
-
9
},
/* (69) acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
22
5
,
-
2
},
/* (70) keep ::= KEEP tagitemlist */
{
22
7
,
-
2
},
/* (71) tables ::= MAXTABLES INTEGER */
{
22
8
,
-
2
},
/* (72) cache ::= CACHE INTEGER */
{
22
9
,
-
2
},
/* (73) replica ::= REPLICA INTEGER */
{
2
30
,
-
2
},
/* (74) days ::= DAYS INTEGER */
{
23
1
,
-
2
},
/* (75) minrows ::= MINROWS INTEGER */
{
23
2
,
-
2
},
/* (76) maxrows ::= MAXROWS INTEGER */
{
23
3
,
-
2
},
/* (77) blocks ::= BLOCKS INTEGER */
{
23
4
,
-
2
},
/* (78) ctime ::= CTIME INTEGER */
{
23
5
,
-
2
},
/* (79) wal ::= WAL INTEGER */
{
23
6
,
-
2
},
/* (80) comp ::= COMP INTEGER */
{
23
7
,
-
2
},
/* (81) prec ::= PRECISION STRING */
{
21
5
,
0
},
/* (82) db_optr ::= */
{
21
5
,
-
2
},
/* (83) db_optr ::= db_optr tables */
{
21
5
,
-
2
},
/* (84) db_optr ::= db_optr cache */
{
21
5
,
-
2
},
/* (85) db_optr ::= db_optr replica */
{
21
5
,
-
2
},
/* (86) db_optr ::= db_optr days */
{
21
5
,
-
2
},
/* (87) db_optr ::= db_optr minrows */
{
21
5
,
-
2
},
/* (88) db_optr ::= db_optr maxrows */
{
21
5
,
-
2
},
/* (89) db_optr ::= db_optr blocks */
{
21
5
,
-
2
},
/* (90) db_optr ::= db_optr ctime */
{
21
5
,
-
2
},
/* (91) db_optr ::= db_optr wal */
{
21
5
,
-
2
},
/* (92) db_optr ::= db_optr comp */
{
21
5
,
-
2
},
/* (93) db_optr ::= db_optr prec */
{
21
5
,
-
2
},
/* (94) db_optr ::= db_optr keep */
{
21
2
,
0
},
/* (95) alter_db_optr ::= */
{
21
2
,
-
2
},
/* (96) alter_db_optr ::= alter_db_optr replica */
{
21
2
,
-
2
},
/* (97) alter_db_optr ::= alter_db_optr tables */
{
21
2
,
-
2
},
/* (98) alter_db_optr ::= alter_db_optr keep */
{
21
2
,
-
2
},
/* (99) alter_db_optr ::= alter_db_optr blocks */
{
21
2
,
-
2
},
/* (100) alter_db_optr ::= alter_db_optr comp */
{
21
2
,
-
2
},
/* (101) alter_db_optr ::= alter_db_optr wal */
{
23
8
,
-
1
},
/* (102) typename ::= ids */
{
23
8
,
-
4
},
/* (103) typename ::= ids LP signed RP */
{
23
9
,
-
1
},
/* (104) signed ::= INTEGER */
{
23
9
,
-
2
},
/* (105) signed ::= PLUS INTEGER */
{
23
9
,
-
2
},
/* (106) signed ::= MINUS INTEGER */
{
20
7
,
-
6
},
/* (107) cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
{
2
40
,
-
3
},
/* (108) create_table_args ::= LP columnlist RP */
{
2
40
,
-
7
},
/* (109) create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
{
2
40
,
-
7
},
/* (110) create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
{
2
40
,
-
2
},
/* (111) create_table_args ::= AS select */
{
24
1
,
-
3
},
/* (112) columnlist ::= columnlist COMMA column */
{
24
1
,
-
1
},
/* (113) columnlist ::= column */
{
24
3
,
-
2
},
/* (114) column ::= ids typename */
{
22
6
,
-
3
},
/* (115) tagitemlist ::= tagitemlist COMMA tagitem */
{
22
6
,
-
1
},
/* (116) tagitemlist ::= tagitem */
{
24
4
,
-
1
},
/* (117) tagitem ::= INTEGER */
{
24
4
,
-
1
},
/* (118) tagitem ::= FLOAT */
{
24
4
,
-
1
},
/* (119) tagitem ::= STRING */
{
24
4
,
-
1
},
/* (120) tagitem ::= BOOL */
{
24
4
,
-
1
},
/* (121) tagitem ::= NULL */
{
24
4
,
-
2
},
/* (122) tagitem ::= MINUS INTEGER */
{
24
4
,
-
2
},
/* (123) tagitem ::= MINUS FLOAT */
{
24
4
,
-
2
},
/* (124) tagitem ::= PLUS INTEGER */
{
24
4
,
-
2
},
/* (125) tagitem ::= PLUS FLOAT */
{
24
2
,
-
12
},
/* (126) select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
25
6
,
-
1
},
/* (127) union ::= select */
{
25
6
,
-
3
},
/* (128) union ::= LP union RP */
{
25
6
,
-
4
},
/* (129) union ::= union UNION ALL select */
{
25
6
,
-
6
},
/* (130) union ::= union UNION ALL LP select RP */
{
20
7
,
-
1
},
/* (131) cmd ::= union */
{
24
2
,
-
2
},
/* (132) select ::= SELECT selcollist */
{
25
7
,
-
2
},
/* (133) sclp ::= selcollist COMMA */
{
25
7
,
0
},
/* (134) sclp ::= */
{
24
5
,
-
3
},
/* (135) selcollist ::= sclp expr as */
{
24
5
,
-
2
},
/* (136) selcollist ::= sclp STAR */
{
25
9
,
-
2
},
/* (137) as ::= AS ids */
{
25
9
,
-
1
},
/* (138) as ::= ids */
{
25
9
,
0
},
/* (139) as ::= */
{
24
6
,
-
2
},
/* (140) from ::= FROM tablelist */
{
2
60
,
-
2
},
/* (141) tablelist ::= ids cpxName */
{
2
60
,
-
4
},
/* (142) tablelist ::= tablelist COMMA ids cpxName */
{
26
1
,
-
1
},
/* (143) tmvar ::= VARIABLE */
{
24
8
,
-
4
},
/* (144) interval_opt ::= INTERVAL LP tmvar RP */
{
24
8
,
0
},
/* (145) interval_opt ::= */
{
24
9
,
0
},
/* (146) fill_opt ::= */
{
24
9
,
-
6
},
/* (147) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
24
9
,
-
4
},
/* (148) fill_opt ::= FILL LP ID RP */
{
2
50
,
-
4
},
/* (149) sliding_opt ::= SLIDING LP tmvar RP */
{
2
50
,
0
},
/* (150) sliding_opt ::= */
{
25
2
,
0
},
/* (151) orderby_opt ::= */
{
25
2
,
-
3
},
/* (152) orderby_opt ::= ORDER BY sortlist */
{
26
2
,
-
4
},
/* (153) sortlist ::= sortlist COMMA item sortorder */
{
26
2
,
-
2
},
/* (154) sortlist ::= item sortorder */
{
26
4
,
-
2
},
/* (155) item ::= ids cpxName */
{
26
5
,
-
1
},
/* (156) sortorder ::= ASC */
{
26
5
,
-
1
},
/* (157) sortorder ::= DESC */
{
26
5
,
0
},
/* (158) sortorder ::= */
{
25
1
,
0
},
/* (159) groupby_opt ::= */
{
25
1
,
-
3
},
/* (160) groupby_opt ::= GROUP BY grouplist */
{
26
6
,
-
3
},
/* (161) grouplist ::= grouplist COMMA item */
{
26
6
,
-
1
},
/* (162) grouplist ::= item */
{
25
3
,
0
},
/* (163) having_opt ::= */
{
25
3
,
-
2
},
/* (164) having_opt ::= HAVING expr */
{
25
5
,
0
},
/* (165) limit_opt ::= */
{
25
5
,
-
2
},
/* (166) limit_opt ::= LIMIT signed */
{
25
5
,
-
4
},
/* (167) limit_opt ::= LIMIT signed OFFSET signed */
{
25
5
,
-
4
},
/* (168) limit_opt ::= LIMIT signed COMMA signed */
{
25
4
,
0
},
/* (169) slimit_opt ::= */
{
25
4
,
-
2
},
/* (170) slimit_opt ::= SLIMIT signed */
{
25
4
,
-
4
},
/* (171) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
25
4
,
-
4
},
/* (172) slimit_opt ::= SLIMIT signed COMMA signed */
{
24
7
,
0
},
/* (173) where_opt ::= */
{
24
7
,
-
2
},
/* (174) where_opt ::= WHERE expr */
{
25
8
,
-
3
},
/* (175) expr ::= LP expr RP */
{
25
8
,
-
1
},
/* (176) expr ::= ID */
{
25
8
,
-
3
},
/* (177) expr ::= ID DOT ID */
{
25
8
,
-
3
},
/* (178) expr ::= ID DOT STAR */
{
25
8
,
-
1
},
/* (179) expr ::= INTEGER */
{
25
8
,
-
2
},
/* (180) expr ::= MINUS INTEGER */
{
25
8
,
-
2
},
/* (181) expr ::= PLUS INTEGER */
{
25
8
,
-
1
},
/* (182) expr ::= FLOAT */
{
25
8
,
-
2
},
/* (183) expr ::= MINUS FLOAT */
{
25
8
,
-
2
},
/* (184) expr ::= PLUS FLOAT */
{
25
8
,
-
1
},
/* (185) expr ::= STRING */
{
25
8
,
-
1
},
/* (186) expr ::= NOW */
{
25
8
,
-
1
},
/* (187) expr ::= VARIABLE */
{
25
8
,
-
1
},
/* (188) expr ::= BOOL */
{
25
8
,
-
4
},
/* (189) expr ::= ID LP exprlist RP */
{
25
8
,
-
4
},
/* (190) expr ::= ID LP STAR RP */
{
25
8
,
-
3
},
/* (191) expr ::= expr AND expr */
{
25
8
,
-
3
},
/* (192) expr ::= expr OR expr */
{
25
8
,
-
3
},
/* (193) expr ::= expr LT expr */
{
25
8
,
-
3
},
/* (194) expr ::= expr GT expr */
{
25
8
,
-
3
},
/* (195) expr ::= expr LE expr */
{
25
8
,
-
3
},
/* (196) expr ::= expr GE expr */
{
25
8
,
-
3
},
/* (197) expr ::= expr NE expr */
{
25
8
,
-
3
},
/* (198) expr ::= expr EQ expr */
{
25
8
,
-
3
},
/* (199) expr ::= expr PLUS expr */
{
25
8
,
-
3
},
/* (200) expr ::= expr MINUS expr */
{
25
8
,
-
3
},
/* (201) expr ::= expr STAR expr */
{
25
8
,
-
3
},
/* (202) expr ::= expr SLASH expr */
{
25
8
,
-
3
},
/* (203) expr ::= expr REM expr */
{
25
8
,
-
3
},
/* (204) expr ::= expr LIKE expr */
{
25
8
,
-
5
},
/* (205) expr ::= expr IN LP exprlist RP */
{
26
7
,
-
3
},
/* (206) exprlist ::= exprlist COMMA expritem */
{
26
7
,
-
1
},
/* (207) exprlist ::= expritem */
{
26
8
,
-
1
},
/* (208) expritem ::= expr */
{
26
8
,
0
},
/* (209) expritem ::= */
{
20
7
,
-
3
},
/* (210) cmd ::= RESET QUERY CACHE */
{
20
7
,
-
7
},
/* (211) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
20
7
,
-
7
},
/* (212) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
20
7
,
-
7
},
/* (213) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
20
7
,
-
7
},
/* (214) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
20
7
,
-
8
},
/* (215) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
20
7
,
-
9
},
/* (216) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
20
7
,
-
5
},
/* (217) cmd ::= KILL CONNECTION IPTOKEN COLON INTEGER */
{
20
7
,
-
7
},
/* (218) cmd ::= KILL STREAM IPTOKEN COLON INTEGER COLON INTEGER */
{
20
7
,
-
7
},
/* (219) cmd ::= KILL QUERY IPTOKEN COLON INTEGER COLON INTEGER */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2113,13 +2115,13 @@ static void yy_reduce(
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
38
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
{
SSQLToken
t
=
{
0
};
setCreateDBSQL
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
478
,
&
t
);}
{
SSQLToken
t
=
{
0
};
setCreateDBSQL
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
374
,
&
t
);}
break
;
case
39
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
{
setCreateAcctSQL
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
63
);}
{
setCreateAcctSQL
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
219
);}
break
;
case
40
:
/* 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
63
);}
{
setCreateAcctSQL
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
219
);}
break
;
case
41
:
/* ids ::= ID */
case
42
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
42
);
...
...
@@ -2140,10 +2142,10 @@ static void yy_reduce(
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
48
:
/* 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
63
);}
{
setCreateAcctSQL
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
219
);}
break
;
case
49
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
setCreateDBSQL
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
478
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
{
setCreateDBSQL
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
374
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
50
:
/* cmd ::= CREATE USER ids PASS ids */
{
setCreateUserSQL
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
...
...
@@ -2172,20 +2174,20 @@ static void yy_reduce(
break
;
case
69
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
yylhsminor
.
yy
63
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
63
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
63
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
63
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
63
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
63
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
63
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
63
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
63
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
yylhsminor
.
yy
219
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
219
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
219
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
219
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
219
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
219
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
219
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
219
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
219
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
8
].
minor
.
yy
63
=
yylhsminor
.
yy63
;
yymsp
[
-
8
].
minor
.
yy
219
=
yylhsminor
.
yy219
;
break
;
case
70
:
/* keep ::= KEEP tagitemlist */
{
yymsp
[
-
1
].
minor
.
yy
456
=
yymsp
[
0
].
minor
.
yy456
;
}
{
yymsp
[
-
1
].
minor
.
yy
322
=
yymsp
[
0
].
minor
.
yy322
;
}
break
;
case
71
:
/* tables ::= MAXTABLES INTEGER */
case
72
:
/* cache ::= CACHE INTEGER */
yytestcase
(
yyruleno
==
72
);
...
...
@@ -2201,85 +2203,85 @@ static void yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
82
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
478
);}
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
374
);}
break
;
case
83
:
/* db_optr ::= db_optr tables */
case
97
:
/* alter_db_optr ::= alter_db_optr tables */
yytestcase
(
yyruleno
==
97
);
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
maxTablesPerVnode
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
maxTablesPerVnode
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
84
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
85
:
/* db_optr ::= db_optr replica */
case
96
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
96
);
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
86
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
87
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
88
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
89
:
/* db_optr ::= db_optr blocks */
case
99
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
99
);
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
90
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
91
:
/* db_optr ::= db_optr wal */
case
101
:
/* alter_db_optr ::= alter_db_optr wal */
yytestcase
(
yyruleno
==
101
);
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
92
:
/* db_optr ::= db_optr comp */
case
100
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
100
);
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
93
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
94
:
/* db_optr ::= db_optr keep */
case
98
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
98
);
{
yylhsminor
.
yy
478
=
yymsp
[
-
1
].
minor
.
yy478
;
yylhsminor
.
yy478
.
keep
=
yymsp
[
0
].
minor
.
yy456
;
}
yymsp
[
-
1
].
minor
.
yy
478
=
yylhsminor
.
yy478
;
{
yylhsminor
.
yy
374
=
yymsp
[
-
1
].
minor
.
yy374
;
yylhsminor
.
yy374
.
keep
=
yymsp
[
0
].
minor
.
yy322
;
}
yymsp
[
-
1
].
minor
.
yy
374
=
yylhsminor
.
yy374
;
break
;
case
95
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
478
);}
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
374
);}
break
;
case
102
:
/* typename ::= ids */
{
tSQLSetColumnType
(
&
yylhsminor
.
yy
47
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
47
=
yylhsminor
.
yy47
;
{
tSQLSetColumnType
(
&
yylhsminor
.
yy
325
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
103
:
/* typename ::= ids LP signed RP */
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
373
;
// negative value of name length
tSQLSetColumnType
(
&
yylhsminor
.
yy
47
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
279
;
// negative value of name length
tSQLSetColumnType
(
&
yylhsminor
.
yy
325
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
yymsp
[
-
3
].
minor
.
yy
47
=
yylhsminor
.
yy47
;
yymsp
[
-
3
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
104
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy
373
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
373
=
yylhsminor
.
yy373
;
{
yylhsminor
.
yy
279
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
279
=
yylhsminor
.
yy279
;
break
;
case
105
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
373
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
{
yymsp
[
-
1
].
minor
.
yy
279
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
break
;
case
106
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
373
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
{
yymsp
[
-
1
].
minor
.
yy
279
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
case
107
:
/* cmd ::= CREATE TABLE ifnotexists ids cpxName create_table_args */
{
...
...
@@ -2289,61 +2291,61 @@ static void yy_reduce(
break
;
case
108
:
/* create_table_args ::= LP columnlist RP */
{
yymsp
[
-
2
].
minor
.
yy4
94
=
tSetCreateSQLElems
(
yymsp
[
-
1
].
minor
.
yy503
,
NULL
,
NULL
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSQLInfo
(
pInfo
,
yymsp
[
-
2
].
minor
.
yy4
94
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
2
].
minor
.
yy4
08
=
tSetCreateSQLElems
(
yymsp
[
-
1
].
minor
.
yy369
,
NULL
,
NULL
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSQLInfo
(
pInfo
,
yymsp
[
-
2
].
minor
.
yy4
08
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
}
break
;
case
109
:
/* create_table_args ::= LP columnlist RP TAGS LP columnlist RP */
{
yymsp
[
-
6
].
minor
.
yy4
94
=
tSetCreateSQLElems
(
yymsp
[
-
5
].
minor
.
yy503
,
yymsp
[
-
1
].
minor
.
yy503
,
NULL
,
NULL
,
NULL
,
TSQL_CREATE_STABLE
);
setSQLInfo
(
pInfo
,
yymsp
[
-
6
].
minor
.
yy4
94
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
6
].
minor
.
yy4
08
=
tSetCreateSQLElems
(
yymsp
[
-
5
].
minor
.
yy369
,
yymsp
[
-
1
].
minor
.
yy369
,
NULL
,
NULL
,
NULL
,
TSQL_CREATE_STABLE
);
setSQLInfo
(
pInfo
,
yymsp
[
-
6
].
minor
.
yy4
08
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
}
break
;
case
110
:
/* create_table_args ::= USING ids cpxName TAGS LP tagitemlist RP */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy4
94
=
tSetCreateSQLElems
(
NULL
,
NULL
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy456
,
NULL
,
TSQL_CREATE_TABLE_FROM_STABLE
);
setSQLInfo
(
pInfo
,
yymsp
[
-
6
].
minor
.
yy4
94
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
6
].
minor
.
yy4
08
=
tSetCreateSQLElems
(
NULL
,
NULL
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
1
].
minor
.
yy322
,
NULL
,
TSQL_CREATE_TABLE_FROM_STABLE
);
setSQLInfo
(
pInfo
,
yymsp
[
-
6
].
minor
.
yy4
08
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
}
break
;
case
111
:
/* create_table_args ::= AS select */
{
yymsp
[
-
1
].
minor
.
yy4
94
=
tSetCreateSQLElems
(
NULL
,
NULL
,
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy392
,
TSQL_CREATE_STREAM
);
setSQLInfo
(
pInfo
,
yymsp
[
-
1
].
minor
.
yy4
94
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
1
].
minor
.
yy4
08
=
tSetCreateSQLElems
(
NULL
,
NULL
,
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy190
,
TSQL_CREATE_STREAM
);
setSQLInfo
(
pInfo
,
yymsp
[
-
1
].
minor
.
yy4
08
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
}
break
;
case
112
:
/* columnlist ::= columnlist COMMA column */
{
yylhsminor
.
yy
503
=
tFieldListAppend
(
yymsp
[
-
2
].
minor
.
yy503
,
&
yymsp
[
0
].
minor
.
yy47
);
}
yymsp
[
-
2
].
minor
.
yy
503
=
yylhsminor
.
yy503
;
{
yylhsminor
.
yy
369
=
tFieldListAppend
(
yymsp
[
-
2
].
minor
.
yy369
,
&
yymsp
[
0
].
minor
.
yy325
);
}
yymsp
[
-
2
].
minor
.
yy
369
=
yylhsminor
.
yy369
;
break
;
case
113
:
/* columnlist ::= column */
{
yylhsminor
.
yy
503
=
tFieldListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy47
);}
yymsp
[
0
].
minor
.
yy
503
=
yylhsminor
.
yy503
;
{
yylhsminor
.
yy
369
=
tFieldListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy325
);}
yymsp
[
0
].
minor
.
yy
369
=
yylhsminor
.
yy369
;
break
;
case
114
:
/* column ::= ids typename */
{
tSQLSetColumnInfo
(
&
yylhsminor
.
yy
47
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy47
);
tSQLSetColumnInfo
(
&
yylhsminor
.
yy
325
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy325
);
}
yymsp
[
-
1
].
minor
.
yy
47
=
yylhsminor
.
yy47
;
yymsp
[
-
1
].
minor
.
yy
325
=
yylhsminor
.
yy325
;
break
;
case
115
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
{
yylhsminor
.
yy
456
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy456
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
{
yylhsminor
.
yy
322
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy322
,
&
yymsp
[
0
].
minor
.
yy518
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
116
:
/* tagitemlist ::= tagitem */
{
yylhsminor
.
yy
456
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
{
yylhsminor
.
yy
322
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy518
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
117
:
/* tagitem ::= INTEGER */
case
118
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
118
);
case
119
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
119
);
case
120
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
120
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy
442
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
442
=
yylhsminor
.
yy442
;
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy
518
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
518
=
yylhsminor
.
yy518
;
break
;
case
121
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy
442
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
442
=
yylhsminor
.
yy442
;
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy
518
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
518
=
yylhsminor
.
yy518
;
break
;
case
122
:
/* tagitem ::= MINUS INTEGER */
case
123
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
123
);
...
...
@@ -2353,59 +2355,59 @@ static void yy_reduce(
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy
442
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tVariantCreate
(
&
yylhsminor
.
yy
518
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
yymsp
[
-
1
].
minor
.
yy
442
=
yylhsminor
.
yy442
;
yymsp
[
-
1
].
minor
.
yy
518
=
yylhsminor
.
yy518
;
break
;
case
126
:
/* select ::= SELECT selcollist from where_opt interval_opt fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
yylhsminor
.
yy
392
=
tSetQuerySQLElems
(
&
yymsp
[
-
11
].
minor
.
yy0
,
yymsp
[
-
10
].
minor
.
yy10
,
yymsp
[
-
9
].
minor
.
yy456
,
yymsp
[
-
8
].
minor
.
yy2
,
yymsp
[
-
4
].
minor
.
yy456
,
yymsp
[
-
3
].
minor
.
yy456
,
&
yymsp
[
-
7
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy456
,
&
yymsp
[
0
].
minor
.
yy230
,
&
yymsp
[
-
1
].
minor
.
yy230
);
yylhsminor
.
yy
190
=
tSetQuerySQLElems
(
&
yymsp
[
-
11
].
minor
.
yy0
,
yymsp
[
-
10
].
minor
.
yy260
,
yymsp
[
-
9
].
minor
.
yy322
,
yymsp
[
-
8
].
minor
.
yy500
,
yymsp
[
-
4
].
minor
.
yy322
,
yymsp
[
-
3
].
minor
.
yy322
,
&
yymsp
[
-
7
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy322
,
&
yymsp
[
0
].
minor
.
yy284
,
&
yymsp
[
-
1
].
minor
.
yy284
);
}
yymsp
[
-
11
].
minor
.
yy
392
=
yylhsminor
.
yy392
;
yymsp
[
-
11
].
minor
.
yy
190
=
yylhsminor
.
yy190
;
break
;
case
127
:
/* union ::= select */
{
yylhsminor
.
yy
145
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy392
);
}
yymsp
[
0
].
minor
.
yy
145
=
yylhsminor
.
yy145
;
{
yylhsminor
.
yy
263
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy190
);
}
yymsp
[
0
].
minor
.
yy
263
=
yylhsminor
.
yy263
;
break
;
case
128
:
/* union ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy
145
=
yymsp
[
-
1
].
minor
.
yy145
;
}
{
yymsp
[
-
2
].
minor
.
yy
263
=
yymsp
[
-
1
].
minor
.
yy263
;
}
break
;
case
129
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy
145
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy145
,
yymsp
[
0
].
minor
.
yy392
);
}
yymsp
[
-
3
].
minor
.
yy
145
=
yylhsminor
.
yy145
;
{
yylhsminor
.
yy
263
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy263
,
yymsp
[
0
].
minor
.
yy190
);
}
yymsp
[
-
3
].
minor
.
yy
263
=
yylhsminor
.
yy263
;
break
;
case
130
:
/* union ::= union UNION ALL LP select RP */
{
yylhsminor
.
yy
145
=
appendSelectClause
(
yymsp
[
-
5
].
minor
.
yy145
,
yymsp
[
-
1
].
minor
.
yy392
);
}
yymsp
[
-
5
].
minor
.
yy
145
=
yylhsminor
.
yy145
;
{
yylhsminor
.
yy
263
=
appendSelectClause
(
yymsp
[
-
5
].
minor
.
yy263
,
yymsp
[
-
1
].
minor
.
yy190
);
}
yymsp
[
-
5
].
minor
.
yy
263
=
yylhsminor
.
yy263
;
break
;
case
131
:
/* cmd ::= union */
{
setSQLInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
145
,
NULL
,
TSDB_SQL_SELECT
);
}
{
setSQLInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
263
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
case
132
:
/* select ::= SELECT selcollist */
{
yylhsminor
.
yy
392
=
tSetQuerySQLElems
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy1
0
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
yylhsminor
.
yy
190
=
tSetQuerySQLElems
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy26
0
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
392
=
yylhsminor
.
yy392
;
yymsp
[
-
1
].
minor
.
yy
190
=
yylhsminor
.
yy190
;
break
;
case
133
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy
10
=
yymsp
[
-
1
].
minor
.
yy1
0
;}
yymsp
[
-
1
].
minor
.
yy
10
=
yylhsminor
.
yy1
0
;
{
yylhsminor
.
yy
260
=
yymsp
[
-
1
].
minor
.
yy26
0
;}
yymsp
[
-
1
].
minor
.
yy
260
=
yylhsminor
.
yy26
0
;
break
;
case
134
:
/* sclp ::= */
{
yymsp
[
1
].
minor
.
yy
1
0
=
0
;}
{
yymsp
[
1
].
minor
.
yy
26
0
=
0
;}
break
;
case
135
:
/* selcollist ::= sclp expr as */
{
yylhsminor
.
yy
10
=
tSQLExprListAppend
(
yymsp
[
-
2
].
minor
.
yy10
,
yymsp
[
-
1
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
yylhsminor
.
yy
260
=
tSQLExprListAppend
(
yymsp
[
-
2
].
minor
.
yy260
,
yymsp
[
-
1
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
yymsp
[
-
2
].
minor
.
yy
10
=
yylhsminor
.
yy1
0
;
yymsp
[
-
2
].
minor
.
yy
260
=
yylhsminor
.
yy26
0
;
break
;
case
136
:
/* selcollist ::= sclp STAR */
{
tSQLExpr
*
pNode
=
tSQLExprIdValueCreate
(
NULL
,
TK_ALL
);
yylhsminor
.
yy
10
=
tSQLExprListAppend
(
yymsp
[
-
1
].
minor
.
yy1
0
,
pNode
,
0
);
yylhsminor
.
yy
260
=
tSQLExprListAppend
(
yymsp
[
-
1
].
minor
.
yy26
0
,
pNode
,
0
);
}
yymsp
[
-
1
].
minor
.
yy
10
=
yylhsminor
.
yy1
0
;
yymsp
[
-
1
].
minor
.
yy
260
=
yylhsminor
.
yy26
0
;
break
;
case
137
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
...
...
@@ -2418,15 +2420,15 @@ static void yy_reduce(
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
case
140
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy
456
=
yymsp
[
0
].
minor
.
yy456
;}
{
yymsp
[
-
1
].
minor
.
yy
322
=
yymsp
[
0
].
minor
.
yy322
;}
break
;
case
141
:
/* tablelist ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
456
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);}
yymsp
[
-
1
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
322
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);}
yymsp
[
-
1
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
142
:
/* tablelist ::= tablelist COMMA ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
456
=
tVariantListAppendToken
(
yymsp
[
-
3
].
minor
.
yy456
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
yymsp
[
-
3
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
322
=
tVariantListAppendToken
(
yymsp
[
-
3
].
minor
.
yy322
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
yymsp
[
-
3
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
143
:
/* tmvar ::= VARIABLE */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
...
...
@@ -2441,7 +2443,7 @@ static void yy_reduce(
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
break
;
case
146
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy
456
=
0
;
}
{
yymsp
[
1
].
minor
.
yy
322
=
0
;
}
break
;
case
147
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
...
...
@@ -2449,223 +2451,223 @@ static void yy_reduce(
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
A
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
456
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
456
=
yymsp
[
-
1
].
minor
.
yy456
;
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy
322
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
322
=
yymsp
[
-
1
].
minor
.
yy322
;
}
break
;
case
148
:
/* fill_opt ::= FILL LP ID RP */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy
456
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yymsp
[
-
3
].
minor
.
yy
322
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
break
;
case
151
:
/* orderby_opt ::= */
case
159
:
/* groupby_opt ::= */
yytestcase
(
yyruleno
==
159
);
{
yymsp
[
1
].
minor
.
yy
456
=
0
;}
{
yymsp
[
1
].
minor
.
yy
322
=
0
;}
break
;
case
152
:
/* orderby_opt ::= ORDER BY sortlist */
case
160
:
/* groupby_opt ::= GROUP BY grouplist */
yytestcase
(
yyruleno
==
160
);
{
yymsp
[
-
2
].
minor
.
yy
456
=
yymsp
[
0
].
minor
.
yy456
;}
{
yymsp
[
-
2
].
minor
.
yy
322
=
yymsp
[
0
].
minor
.
yy322
;}
break
;
case
153
:
/* sortlist ::= sortlist COMMA item sortorder */
{
yylhsminor
.
yy
456
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy456
,
&
yymsp
[
-
1
].
minor
.
yy442
,
yymsp
[
0
].
minor
.
yy196
);
yylhsminor
.
yy
322
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy322
,
&
yymsp
[
-
1
].
minor
.
yy518
,
yymsp
[
0
].
minor
.
yy150
);
}
yymsp
[
-
3
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
yymsp
[
-
3
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
154
:
/* sortlist ::= item sortorder */
{
yylhsminor
.
yy
456
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy442
,
yymsp
[
0
].
minor
.
yy196
);
yylhsminor
.
yy
322
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy518
,
yymsp
[
0
].
minor
.
yy150
);
}
yymsp
[
-
1
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
yymsp
[
-
1
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
155
:
/* item ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
tVariantCreate
(
&
yylhsminor
.
yy
442
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tVariantCreate
(
&
yylhsminor
.
yy
518
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
yymsp
[
-
1
].
minor
.
yy
442
=
yylhsminor
.
yy442
;
yymsp
[
-
1
].
minor
.
yy
518
=
yylhsminor
.
yy518
;
break
;
case
156
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy1
96
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
0
].
minor
.
yy1
50
=
TSDB_ORDER_ASC
;
}
break
;
case
157
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy1
96
=
TSDB_ORDER_DESC
;}
{
yymsp
[
0
].
minor
.
yy1
50
=
TSDB_ORDER_DESC
;}
break
;
case
158
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy1
96
=
TSDB_ORDER_ASC
;}
{
yymsp
[
1
].
minor
.
yy1
50
=
TSDB_ORDER_ASC
;}
break
;
case
161
:
/* grouplist ::= grouplist COMMA item */
{
yylhsminor
.
yy
456
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy456
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
yylhsminor
.
yy
322
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy322
,
&
yymsp
[
0
].
minor
.
yy518
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
yymsp
[
-
2
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
162
:
/* grouplist ::= item */
{
yylhsminor
.
yy
456
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy442
,
-
1
);
yylhsminor
.
yy
322
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy518
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
456
=
yylhsminor
.
yy456
;
yymsp
[
0
].
minor
.
yy
322
=
yylhsminor
.
yy322
;
break
;
case
163
:
/* having_opt ::= */
case
173
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
173
);
case
209
:
/* expritem ::= */
yytestcase
(
yyruleno
==
209
);
{
yymsp
[
1
].
minor
.
yy
2
=
0
;}
{
yymsp
[
1
].
minor
.
yy
500
=
0
;}
break
;
case
164
:
/* having_opt ::= HAVING expr */
case
174
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
174
);
{
yymsp
[
-
1
].
minor
.
yy
2
=
yymsp
[
0
].
minor
.
yy2
;}
{
yymsp
[
-
1
].
minor
.
yy
500
=
yymsp
[
0
].
minor
.
yy500
;}
break
;
case
165
:
/* limit_opt ::= */
case
169
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
169
);
{
yymsp
[
1
].
minor
.
yy2
30
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy230
.
offset
=
0
;}
{
yymsp
[
1
].
minor
.
yy2
84
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy284
.
offset
=
0
;}
break
;
case
166
:
/* limit_opt ::= LIMIT signed */
case
170
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
170
);
{
yymsp
[
-
1
].
minor
.
yy2
30
.
limit
=
yymsp
[
0
].
minor
.
yy373
;
yymsp
[
-
1
].
minor
.
yy230
.
offset
=
0
;}
{
yymsp
[
-
1
].
minor
.
yy2
84
.
limit
=
yymsp
[
0
].
minor
.
yy279
;
yymsp
[
-
1
].
minor
.
yy284
.
offset
=
0
;}
break
;
case
167
:
/* limit_opt ::= LIMIT signed OFFSET signed */
case
171
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
yytestcase
(
yyruleno
==
171
);
{
yymsp
[
-
3
].
minor
.
yy2
30
.
limit
=
yymsp
[
-
2
].
minor
.
yy373
;
yymsp
[
-
3
].
minor
.
yy230
.
offset
=
yymsp
[
0
].
minor
.
yy373
;}
{
yymsp
[
-
3
].
minor
.
yy2
84
.
limit
=
yymsp
[
-
2
].
minor
.
yy279
;
yymsp
[
-
3
].
minor
.
yy284
.
offset
=
yymsp
[
0
].
minor
.
yy279
;}
break
;
case
168
:
/* limit_opt ::= LIMIT signed COMMA signed */
case
172
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
yytestcase
(
yyruleno
==
172
);
{
yymsp
[
-
3
].
minor
.
yy2
30
.
limit
=
yymsp
[
0
].
minor
.
yy373
;
yymsp
[
-
3
].
minor
.
yy230
.
offset
=
yymsp
[
-
2
].
minor
.
yy373
;}
{
yymsp
[
-
3
].
minor
.
yy2
84
.
limit
=
yymsp
[
0
].
minor
.
yy279
;
yymsp
[
-
3
].
minor
.
yy284
.
offset
=
yymsp
[
-
2
].
minor
.
yy279
;}
break
;
case
175
:
/* expr ::= LP expr RP */
{
yymsp
[
-
2
].
minor
.
yy
2
=
yymsp
[
-
1
].
minor
.
yy2
;
}
{
yymsp
[
-
2
].
minor
.
yy
500
=
yymsp
[
-
1
].
minor
.
yy500
;
}
break
;
case
176
:
/* expr ::= ID */
{
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
177
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
178
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
179
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
180
:
/* expr ::= MINUS INTEGER */
case
181
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
181
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
182
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
183
:
/* expr ::= MINUS FLOAT */
case
184
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
184
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
185
:
/* expr ::= STRING */
{
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
186
:
/* expr ::= NOW */
{
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
187
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
188
:
/* expr ::= BOOL */
{
yylhsminor
.
yy
2
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprIdValueCreate
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
189
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy
2
=
tSQLExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy1
0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
yylhsminor
.
yy
500
=
tSQLExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy26
0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
yymsp
[
-
3
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
190
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy
2
=
tSQLExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
yylhsminor
.
yy
500
=
tSQLExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
yymsp
[
-
3
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
191
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
192
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
193
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
194
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
195
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
196
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
197
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
198
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
199
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
200
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
201
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
202
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
203
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
204
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy2
,
yymsp
[
0
].
minor
.
yy2
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
2
].
minor
.
yy500
,
yymsp
[
0
].
minor
.
yy500
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
205
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
2
=
tSQLExprCreate
(
yymsp
[
-
4
].
minor
.
yy2
,
(
tSQLExpr
*
)
yymsp
[
-
1
].
minor
.
yy1
0
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
tSQLExprCreate
(
yymsp
[
-
4
].
minor
.
yy500
,
(
tSQLExpr
*
)
yymsp
[
-
1
].
minor
.
yy26
0
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
206
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
10
=
tSQLExprListAppend
(
yymsp
[
-
2
].
minor
.
yy10
,
yymsp
[
0
].
minor
.
yy2
,
0
);}
yymsp
[
-
2
].
minor
.
yy
10
=
yylhsminor
.
yy1
0
;
{
yylhsminor
.
yy
260
=
tSQLExprListAppend
(
yymsp
[
-
2
].
minor
.
yy260
,
yymsp
[
0
].
minor
.
yy500
,
0
);}
yymsp
[
-
2
].
minor
.
yy
260
=
yylhsminor
.
yy26
0
;
break
;
case
207
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
10
=
tSQLExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy2
,
0
);}
yymsp
[
0
].
minor
.
yy
10
=
yylhsminor
.
yy1
0
;
{
yylhsminor
.
yy
260
=
tSQLExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy500
,
0
);}
yymsp
[
0
].
minor
.
yy
260
=
yylhsminor
.
yy26
0
;
break
;
case
208
:
/* expritem ::= expr */
{
yylhsminor
.
yy
2
=
yymsp
[
0
].
minor
.
yy2
;}
yymsp
[
0
].
minor
.
yy
2
=
yylhsminor
.
yy2
;
{
yylhsminor
.
yy
500
=
yymsp
[
0
].
minor
.
yy500
;}
yymsp
[
0
].
minor
.
yy
500
=
yylhsminor
.
yy500
;
break
;
case
210
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSQLElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
...
...
@@ -2673,7 +2675,7 @@ static void yy_reduce(
case
211
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
503
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
369
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
...
...
@@ -2691,7 +2693,7 @@ static void yy_reduce(
case
213
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
503
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
369
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
...
...
@@ -2726,7 +2728,7 @@ static void yy_reduce(
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
tVariantList
*
A
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy
442
,
-
1
);
A
=
tVariantListAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy
518
,
-
1
);
SAlterTableSQL
*
pAlterTable
=
tAlterTableSQLElems
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
);
setSQLInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录