Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
497a0e3b
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
497a0e3b
编写于
3月 16, 2021
作者:
H
Haojun Liao
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[td-2859]refactor.
上级
9ff85c61
变更
6
显示空白变更内容
内联
并排
Showing
6 changed file
with
358 addition
and
299 deletion
+358
-299
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+23
-24
src/client/src/tscUtil.c
src/client/src/tscUtil.c
+1
-1
src/query/inc/qSqlparser.h
src/query/inc/qSqlparser.h
+32
-8
src/query/inc/sql.y
src/query/inc/sql.y
+13
-17
src/query/src/qSqlParser.c
src/query/src/qSqlParser.c
+48
-5
src/query/src/sql.c
src/query/src/sql.c
+241
-244
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
497a0e3b
...
...
@@ -6374,12 +6374,12 @@ int32_t doCheckForStream(SSqlObj* pSql, SSqlInfo* pInfo) {
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg1
);
}
S
Array
*
pSrcMeterName
=
pInfo
->
pCreateTableInfo
->
pSelect
->
from
;
if
(
p
SrcMeterName
==
NULL
||
taosArrayGetSize
(
pSrcMeterName
)
==
0
)
{
S
FromInfo
*
pFromInfo
=
pInfo
->
pCreateTableInfo
->
pSelect
->
from
;
if
(
p
FromInfo
==
NULL
||
taosArrayGetSize
(
pFromInfo
->
tableList
)
==
0
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg6
);
}
tVariantListItem
*
p1
=
taosArrayGet
(
p
SrcMeterName
,
0
);
tVariantListItem
*
p1
=
taosArrayGet
(
p
FromInfo
->
tableList
,
0
);
SStrToken
srcToken
=
{.
z
=
p1
->
pVar
.
pz
,
.
n
=
p1
->
pVar
.
nLen
,
.
type
=
TK_STRING
};
if
(
tscValidateName
(
&
srcToken
)
!=
TSDB_CODE_SUCCESS
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg1
);
...
...
@@ -6498,7 +6498,7 @@ static int32_t checkQueryRangeForFill(SSqlCmd* pCmd, SQueryInfo* pQueryInfo) {
}
int32_t
doValidateSqlNode
(
SSqlObj
*
pSql
,
SQuerySqlNode
*
pQuerySqlNode
,
int32_t
index
)
{
assert
(
pQuerySqlNode
!=
NULL
&&
(
pQuerySqlNode
->
from
==
NULL
||
taosArrayGetSize
(
pQuerySqlNode
->
from
)
>
0
));
assert
(
pQuerySqlNode
!=
NULL
&&
(
pQuerySqlNode
->
from
==
NULL
||
taosArrayGetSize
(
pQuerySqlNode
->
from
->
tableList
)
>
0
));
const
char
*
msg0
=
"invalid table name"
;
const
char
*
msg1
=
"point interpolation query needs timestamp"
;
...
...
@@ -6539,60 +6539,59 @@ int32_t doValidateSqlNode(SSqlObj* pSql, SQuerySqlNode* pQuerySqlNode, int32_t i
return
doLocalQueryProcess
(
pCmd
,
pQueryInfo
,
pQuerySqlNode
);
}
size_t
fromSize
=
taosArrayGetSize
(
pQuerySqlNode
->
from
);
if
(
fromSize
>
TSDB_MAX_JOIN_TABLE_NUM
*
2
)
{
size_t
fromSize
=
taosArrayGetSize
(
pQuerySqlNode
->
from
->
tableList
);
if
(
fromSize
>
TSDB_MAX_JOIN_TABLE_NUM
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg4
);
}
pQueryInfo
->
command
=
TSDB_SQL_SELECT
;
if
(
fromSize
>
4
)
{
if
(
fromSize
>
2
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg6
);
}
// set all query tables, which are maybe more than one.
for
(
int32_t
i
=
0
;
i
<
fromSize
;
)
{
tVariantListItem
*
item
=
taosArrayGet
(
pQuerySqlNode
->
from
,
i
);
tVariant
*
pTableItem
=
&
item
->
pVar
;
STableNamePair
*
item
=
taosArrayGet
(
pQuerySqlNode
->
from
->
tableList
,
i
);
SStrToken
*
pTableItem
=
&
item
->
name
;
if
(
pTableItem
->
nT
ype
!=
TSDB_DATA_TYPE_BINARY
)
{
if
(
pTableItem
->
t
ype
!=
TSDB_DATA_TYPE_BINARY
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg0
);
}
pTableItem
->
n
Len
=
strdequote
(
pTableItem
->
p
z
);
pTableItem
->
n
=
strdequote
(
pTableItem
->
z
);
SStrToken
tableName
=
{.
z
=
pTableItem
->
pz
,
.
n
=
pTableItem
->
nLe
n
,
.
type
=
TK_STRING
};
SStrToken
tableName
=
{.
z
=
pTableItem
->
z
,
.
n
=
pTableItem
->
n
,
.
type
=
TK_STRING
};
if
(
tscValidateName
(
&
tableName
)
!=
TSDB_CODE_SUCCESS
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg0
);
}
if
(
pQueryInfo
->
numOfTables
<=
i
/
2
)
{
// more than one table
if
(
pQueryInfo
->
numOfTables
<=
i
)
{
// more than one table
tscAddEmptyMetaInfo
(
pQueryInfo
);
}
STableMetaInfo
*
pTableMetaInfo1
=
tscGetMetaInfo
(
pQueryInfo
,
i
/
2
);
SStrToken
t
=
{.
type
=
TSDB_DATA_TYPE_BINARY
,
.
n
=
pTableItem
->
n
Len
,
.
z
=
pTableItem
->
p
z
};
SStrToken
t
=
{.
type
=
TSDB_DATA_TYPE_BINARY
,
.
n
=
pTableItem
->
n
,
.
z
=
pTableItem
->
z
};
code
=
tscSetTableFullName
(
pTableMetaInfo1
,
&
t
,
pSql
);
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
tVariantListItem
*
p1
=
taosArrayGet
(
pQuerySqlNode
->
from
,
i
+
1
)
;
if
(
p1
->
pVar
.
nT
ype
!=
TSDB_DATA_TYPE_BINARY
)
{
SStrToken
*
aliasName
=
&
item
->
aliasName
;
if
(
aliasName
->
t
ype
!=
TSDB_DATA_TYPE_BINARY
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg7
);
}
SStrToken
aliasName
=
{.
z
=
p1
->
pVar
.
pz
,
.
n
=
p1
->
pVar
.
nLen
,
.
type
=
TK_STRING
};
if
(
tscValidateName
(
&
aliasName
)
!=
TSDB_CODE_SUCCESS
)
{
if
(
TPARSER_HAS_TOKEN
(
*
aliasName
)
&&
tscValidateName
(
aliasName
)
!=
TSDB_CODE_SUCCESS
)
{
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg7
);
}
// has no table alias name
if
(
memcmp
(
pTableItem
->
pz
,
p1
->
pVar
.
pz
,
p1
->
pVar
.
nLen
)
==
0
)
{
strncpy
(
pTableMetaInfo1
->
aliasName
,
tNameGetTableName
(
&
pTableMetaInfo1
->
name
),
tListLen
(
pTableMetaInfo
->
aliasName
));
if
(
!
TPARSER_HAS_TOKEN
(
*
aliasName
)
)
{
strncpy
(
pTableMetaInfo1
->
aliasName
,
tNameGetTableName
(
&
pTableMetaInfo1
->
name
),
tListLen
(
pTableMetaInfo
1
->
aliasName
));
}
else
{
tstrncpy
(
pTableMetaInfo1
->
aliasName
,
p1
->
pVar
.
p
z
,
sizeof
(
pTableMetaInfo1
->
aliasName
));
tstrncpy
(
pTableMetaInfo1
->
aliasName
,
aliasName
->
z
,
sizeof
(
pTableMetaInfo1
->
aliasName
));
}
code
=
tscGetTableMeta
(
pSql
,
pTableMetaInfo1
);
...
...
@@ -6603,7 +6602,7 @@ int32_t doValidateSqlNode(SSqlObj* pSql, SQuerySqlNode* pQuerySqlNode, int32_t i
i
+=
2
;
}
assert
(
pQueryInfo
->
numOfTables
==
taosArrayGetSize
(
pQuerySqlNode
->
from
)
/
2
);
assert
(
pQueryInfo
->
numOfTables
==
taosArrayGetSize
(
pQuerySqlNode
->
from
->
tableList
)
/
2
);
bool
isSTable
=
false
;
if
(
UTIL_TABLE_IS_SUPER_TABLE
(
pTableMetaInfo
))
{
...
...
@@ -6637,12 +6636,12 @@ int32_t doValidateSqlNode(SSqlObj* pSql, SQuerySqlNode* pQuerySqlNode, int32_t i
pQueryInfo
->
window
.
ekey
=
pQueryInfo
->
window
.
ekey
/
1000
;
}
}
else
{
// set the time rang
if
(
taosArrayGetSize
(
pQuerySqlNode
->
from
)
>
2
)
{
// it is a join query, no wher
clause is not allowed.
if
(
taosArrayGetSize
(
pQuerySqlNode
->
from
->
tableList
)
>
1
)
{
// it is a join query, no where
clause is not allowed.
return
invalidSqlErrMsg
(
tscGetErrorMsgPayload
(
pCmd
),
"condition missing for join query "
);
}
}
int32_t
joinQuery
=
(
pQuerySqlNode
->
from
!=
NULL
&&
taosArrayGetSize
(
pQuerySqlNode
->
from
)
>
2
);
int32_t
joinQuery
=
(
pQuerySqlNode
->
from
!=
NULL
&&
taosArrayGetSize
(
pQuerySqlNode
->
from
->
tableList
)
>
1
);
int32_t
timeWindowQuery
=
(
TPARSER_HAS_TOKEN
(
pQuerySqlNode
->
interval
.
interval
)
||
TPARSER_HAS_TOKEN
(
pQuerySqlNode
->
sessionVal
.
gap
));
...
...
src/client/src/tscUtil.c
浏览文件 @
497a0e3b
src/query/inc/qSqlparser.h
浏览文件 @
497a0e3b
...
...
@@ -39,6 +39,11 @@ enum SQL_NODE_TYPE {
SQL_NODE_EXPR
=
4
,
};
enum
SQL_NODE_FROM_TYPE
{
SQL_NODE_FROM_SUBQUERY
=
1
,
SQL_NODE_FROM_NAMELIST
=
2
,
};
extern
char
tTokenTypeSwitcher
[
13
];
#define toTSDBType(x) \
...
...
@@ -78,9 +83,11 @@ typedef struct SSessionWindowVal {
SStrToken
gap
;
}
SSessionWindowVal
;
struct
SFromInfo
;
typedef
struct
SQuerySqlNode
{
struct
SArray
*
pSelectList
;
// select clause
SArray
*
from
;
// from clause
SArray<SQuerySqlNode>
struct
SFromInfo
*
from
;
// from clause
SArray<SQuerySqlNode>
struct
tSqlExpr
*
pWhere
;
// where clause [optional]
SArray
*
pGroupby
;
// groupby clause, only for tags[optional], SArray<tVariantListItem>
SArray
*
pSortOrder
;
// orderby [optional], SArray<tVariantListItem>
...
...
@@ -93,6 +100,24 @@ typedef struct SQuerySqlNode {
SStrToken
sqlstr
;
// sql string in select clause
}
SQuerySqlNode
;
typedef
struct
STableNamePair
{
SStrToken
name
;
SStrToken
aliasName
;
}
STableNamePair
;
typedef
struct
SSubclauseInfo
{
// "UNION" multiple select sub-clause
SQuerySqlNode
**
pClause
;
int32_t
numOfClause
;
}
SSubclauseInfo
;
typedef
struct
SFromInfo
{
int32_t
type
;
// nested query|table name list
union
{
SSubclauseInfo
*
pNode
;
SArray
*
tableList
;
// SArray<STableNamePair>
};
}
SFromInfo
;
typedef
struct
SCreatedTableInfo
{
SStrToken
name
;
// table name token
SStrToken
stableName
;
// super table name token , for using clause
...
...
@@ -188,11 +213,6 @@ typedef struct SMiscInfo {
};
}
SMiscInfo
;
typedef
struct
SSubclauseInfo
{
// "UNION" multiple select sub-clause
SQuerySqlNode
**
pClause
;
int32_t
numOfClause
;
}
SSubclauseInfo
;
typedef
struct
SSqlInfo
{
int32_t
type
;
bool
valid
;
...
...
@@ -233,6 +253,10 @@ SArray *tVariantListAppend(SArray *pList, tVariant *pVar, uint8_t sortOrder);
SArray
*
tVariantListInsert
(
SArray
*
pList
,
tVariant
*
pVar
,
uint8_t
sortOrder
,
int32_t
index
);
SArray
*
tVariantListAppendToken
(
SArray
*
pList
,
SStrToken
*
pAliasToken
,
uint8_t
sortOrder
);
SFromInfo
*
setTableNameList
(
SFromInfo
*
pFromInfo
,
SStrToken
*
pName
,
SStrToken
*
pAlias
);
SFromInfo
*
setSubquery
(
SFromInfo
*
pFromInfo
,
SQuerySqlNode
*
pSqlNode
);
void
*
destroyFromInfo
(
SFromInfo
*
pFromInfo
);
// sql expr leaf node
tSqlExpr
*
tSqlExprCreateIdValue
(
SStrToken
*
pToken
,
int32_t
optrType
);
tSqlExpr
*
tSqlExprCreateFunction
(
SArray
*
pParam
,
SStrToken
*
pFuncToken
,
SStrToken
*
endToken
,
int32_t
optType
);
...
...
@@ -246,7 +270,7 @@ void tSqlExprDestroy(tSqlExpr *pExpr);
SArray
*
tSqlExprListAppend
(
SArray
*
pList
,
tSqlExpr
*
pNode
,
SStrToken
*
pDistinct
,
SStrToken
*
pToken
);
void
tSqlExprListDestroy
(
SArray
*
pList
);
SQuerySqlNode
*
tSetQuerySqlNode
(
SStrToken
*
pSelectToken
,
SArray
*
pSelectList
,
S
Array
*
pFrom
,
tSqlExpr
*
pWhere
,
SQuerySqlNode
*
tSetQuerySqlNode
(
SStrToken
*
pSelectToken
,
SArray
*
pSelectList
,
S
FromInfo
*
pFrom
,
tSqlExpr
*
pWhere
,
SArray
*
pGroupby
,
SArray
*
pSortOrder
,
SIntervalVal
*
pInterval
,
SSessionWindowVal
*
ps
,
SStrToken
*
pSliding
,
SArray
*
pFill
,
SLimitVal
*
pLimit
,
SLimitVal
*
pgLimit
);
...
...
src/query/inc/sql.y
浏览文件 @
497a0e3b
无法预览此类型文件
src/query/src/qSqlParser.c
浏览文件 @
497a0e3b
...
...
@@ -443,6 +443,49 @@ SArray *tVariantListInsert(SArray *pList, tVariant *pVar, uint8_t sortOrder, int
return
pList
;
}
SFromInfo
*
setTableNameList
(
SFromInfo
*
pFromInfo
,
SStrToken
*
pName
,
SStrToken
*
pAlias
)
{
if
(
pFromInfo
==
NULL
)
{
pFromInfo
=
calloc
(
1
,
sizeof
(
SFromInfo
));
pFromInfo
->
tableList
=
taosArrayInit
(
4
,
sizeof
(
STableNamePair
));
}
pFromInfo
->
type
=
SQL_NODE_FROM_NAMELIST
;
STableNamePair
p
=
{.
name
=
*
pName
};
if
(
pAlias
!=
NULL
)
{
p
.
aliasName
=
*
pAlias
;
}
else
{
TPARSER_SET_NONE_TOKEN
(
p
.
aliasName
);
}
taosArrayPush
(
pFromInfo
->
tableList
,
&
p
);
return
pFromInfo
;
}
SFromInfo
*
setSubquery
(
SFromInfo
*
pFromInfo
,
SQuerySqlNode
*
pSqlNode
)
{
if
(
pFromInfo
==
NULL
)
{
pFromInfo
=
calloc
(
1
,
sizeof
(
SFromInfo
));
}
pFromInfo
->
type
=
SQL_NODE_FROM_SUBQUERY
;
pFromInfo
->
pNode
->
pClause
[
pFromInfo
->
pNode
->
numOfClause
-
1
]
=
pSqlNode
;
return
pFromInfo
;
}
void
*
destroyFromInfo
(
SFromInfo
*
pFromInfo
)
{
assert
(
pFromInfo
!=
NULL
);
if
(
pFromInfo
->
type
==
SQL_NODE_FROM_NAMELIST
)
{
taosArrayDestroy
(
pFromInfo
->
tableList
);
}
else
{
destroyAllSelectClause
(
pFromInfo
->
pNode
);
}
tfree
(
pFromInfo
);
return
NULL
;
}
void
tSetDbName
(
SStrToken
*
pCpxName
,
SStrToken
*
pDb
)
{
pCpxName
->
type
=
pDb
->
type
;
pCpxName
->
z
=
pDb
->
z
;
...
...
@@ -582,9 +625,10 @@ void tSetColumnType(TAOS_FIELD *pField, SStrToken *type) {
/*
* extract the select info out of sql string
*/
SQuerySqlNode
*
tSetQuerySqlNode
(
SStrToken
*
pSelectToken
,
SArray
*
pSelectList
,
SArray
*
pFrom
,
tSqlExpr
*
pWhere
,
SArray
*
pGroupby
,
SArray
*
pSortOrder
,
SIntervalVal
*
pInterval
,
SSessionWindowVal
*
pSession
,
SStrToken
*
pSliding
,
SArray
*
pFill
,
SLimitVal
*
pLimit
,
SLimitVal
*
psLimit
)
{
SQuerySqlNode
*
tSetQuerySqlNode
(
SStrToken
*
pSelectToken
,
SArray
*
pSelectList
,
SFromInfo
*
pFrom
,
tSqlExpr
*
pWhere
,
SArray
*
pGroupby
,
SArray
*
pSortOrder
,
SIntervalVal
*
pInterval
,
SSessionWindowVal
*
pSession
,
SStrToken
*
pSliding
,
SArray
*
pFill
,
SLimitVal
*
pLimit
,
SLimitVal
*
psLimit
)
{
assert
(
pSelectList
!=
NULL
);
SQuerySqlNode
*
pSqlNode
=
calloc
(
1
,
sizeof
(
SQuerySqlNode
));
...
...
@@ -668,8 +712,7 @@ void destroyQuerySqlNode(SQuerySqlNode *pQuerySql) {
taosArrayDestroyEx
(
pQuerySql
->
pGroupby
,
freeVariant
);
pQuerySql
->
pGroupby
=
NULL
;
taosArrayDestroyEx
(
pQuerySql
->
from
,
freeVariant
);
pQuerySql
->
from
=
NULL
;
pQuerySql
->
from
=
destroyFromInfo
(
pQuerySql
->
from
);
taosArrayDestroyEx
(
pQuerySql
->
fillType
,
freeVariant
);
pQuerySql
->
fillType
=
NULL
;
...
...
src/query/src/sql.c
浏览文件 @
497a0e3b
...
...
@@ -104,9 +104,9 @@ typedef union {
int
yyinit
;
ParseTOKENTYPE
yy0
;
SCreatedTableInfo
yy96
;
SFromInfo
*
yy162
;
tSqlExpr
*
yy178
;
SCreateAcctInfo
yy187
;
SCreateTableSql
*
yy230
;
SArray
*
yy285
;
TAOS_FIELD
yy295
;
SQuerySqlNode
*
yy342
;
...
...
@@ -114,6 +114,7 @@ typedef union {
SIntervalVal
yy376
;
SLimitVal
yy438
;
int
yy460
;
SCreateTableSql
*
yy470
;
SSubclauseInfo
*
yy513
;
SSessionWindowVal
yy523
;
int64_t
yy525
;
...
...
@@ -203,76 +204,76 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (67
5
)
#define YY_ACTTAB_COUNT (67
6
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
910
,
549
,
201
,
310
,
205
,
13
8
,
938
,
3
,
166
,
550
,
/* 10 */
768
,
312
,
17
,
47
,
48
,
13
8
,
51
,
52
,
30
,
180
,
/* 0 */
910
,
549
,
201
,
310
,
205
,
13
9
,
937
,
3
,
166
,
550
,
/* 10 */
768
,
312
,
17
,
47
,
48
,
13
9
,
51
,
52
,
30
,
180
,
/* 20 */
213
,
41
,
180
,
50
,
260
,
55
,
53
,
57
,
54
,
1016
,
/* 30 */
916
,
208
,
1017
,
46
,
45
,
178
,
180
,
44
,
43
,
42
,
/* 40 */
47
,
48
,
219
,
51
,
52
,
207
,
1017
,
213
,
41
,
549
,
/* 50 */
50
,
260
,
55
,
53
,
57
,
54
,
92
7
,
550
,
184
,
203
,
/* 60 */
46
,
45
,
913
,
218
,
44
,
43
,
42
,
48
,
93
5
,
51
,
/* 50 */
50
,
260
,
55
,
53
,
57
,
54
,
92
8
,
550
,
184
,
202
,
/* 60 */
46
,
45
,
913
,
218
,
44
,
43
,
42
,
48
,
93
4
,
51
,
/* 70 */
52
,
240
,
968
,
213
,
41
,
549
,
50
,
260
,
55
,
53
,
/* 80 */
57
,
54
,
969
,
550
,
255
,
220
,
46
,
45
,
82
,
916
,
/* 80 */
57
,
54
,
969
,
550
,
255
,
220
,
46
,
45
,
276
,
916
,
/* 90 */
44
,
43
,
42
,
503
,
504
,
505
,
506
,
507
,
508
,
509
,
/* 100 */
510
,
511
,
512
,
513
,
514
,
515
,
311
,
628
,
815
,
230
,
/* 110 */
70
,
916
,
165
,
47
,
48
,
30
,
51
,
52
,
276
,
30
,
/* 120 */
213
,
41
,
904
,
50
,
260
,
55
,
53
,
57
,
54
,
44
,
/* 130 */
43
,
42
,
714
,
46
,
45
,
286
,
285
,
44
,
43
,
42
,
/* 140 */
47
,
49
,
824
,
51
,
52
,
224
,
165
,
213
,
41
,
24
,
/* 150 */
50
,
260
,
55
,
53
,
57
,
54
,
216
,
3
6
,
902
,
913
,
/* 100 */
510
,
511
,
512
,
513
,
514
,
515
,
311
,
628
,
84
,
230
,
/* 110 */
69
,
916
,
296
,
47
,
48
,
30
,
51
,
52
,
1013
,
30
,
/* 120 */
213
,
41
,
549
,
50
,
260
,
55
,
53
,
57
,
54
,
1012
,
/* 130 */
550
,
306
,
714
,
46
,
45
,
286
,
285
,
44
,
43
,
42
,
/* 140 */
47
,
49
,
904
,
51
,
52
,
224
,
1011
,
213
,
41
,
667
,
/* 150 */
50
,
260
,
55
,
53
,
57
,
54
,
216
,
91
6
,
902
,
913
,
/* 160 */
46
,
45
,
222
,
912
,
44
,
43
,
42
,
23
,
274
,
305
,
/* 170 */
304
,
273
,
272
,
271
,
303
,
270
,
302
,
301
,
300
,
269
,
/* 180 */
299
,
298
,
876
,
13
8
,
864
,
865
,
866
,
867
,
868
,
869
,
/* 180 */
299
,
298
,
876
,
13
9
,
864
,
865
,
866
,
867
,
868
,
869
,
/* 190 */
870
,
871
,
872
,
873
,
874
,
875
,
877
,
878
,
51
,
52
,
/* 200 */
81
6
,
306
,
213
,
41
,
165
,
50
,
260
,
55
,
53
,
57
,
/* 210 */
54
,
296
,
18
,
79
,
226
,
46
,
45
,
283
,
282
,
44
,
/* 220 */
43
,
42
,
212
,
727
,
92
7
,
131
,
718
,
916
,
721
,
189
,
/* 230 */
724
,
223
,
212
,
727
,
278
,
190
,
718
,
276
,
721
,
20
2
,
/* 240 */
724
,
11
5
,
114
,
188
,
899
,
900
,
29
,
903
,
257
,
233
,
/* 250 */
7
6
,
309
,
308
,
123
,
209
,
210
,
237
,
236
,
259
,
138
,
/* 260 */
23
,
225
,
305
,
304
,
209
,
210
,
69
,
303
,
9
79
,
302
,
/* 270 */
301
,
300
,
24
,
299
,
298
,
884
,
10
2
,
30
,
882
,
883
,
/* 280 */
36
,
296
,
78
,
885
,
1013
,
887
,
888
,
886
,
24
5
,
889
,
/* 290 */
890
,
55
,
53
,
57
,
54
,
71
,
914
,
261
,
901
,
46
,
/* 300 */
45
,
668
,
239
,
44
,
43
,
42
,
100
,
105
,
30
,
196
,
/* 310 */
1
,
153
,
94
,
104
,
110
,
113
,
103
,
720
,
217
,
723
,
/* 320 */
129
,
913
,
107
,
5
,
155
,
56
,
77
,
30
,
36
,
33
,
/* 330 */
154
,
89
,
84
,
88
,
30
,
56
,
173
,
169
,
726
,
719
,
/* 340 */
30
,
722
,
171
,
168
,
118
,
117
,
116
,
12
,
726
,
279
,
/* 350 */
211
,
81
,
913
,
149
,
725
,
660
,
46
,
45
,
695
,
69
6
,
/* 360 */
44
,
43
,
42
,
242
,
725
,
243
,
665
,
652
,
280
,
31
,
/* 370 */
649
,
913
,
650
,
25
,
651
,
284
,
680
,
716
,
913
,
672
,
/* 380 */
133
,
288
,
686
,
687
,
913
,
747
,
60
,
20
,
728
,
19
,
/* 390 */
61
,
1012
,
19
,
730
,
6
,
64
,
638
,
263
,
227
,
228
,
/* 400 */
31
,
31
,
640
,
265
,
639
,
1011
,
60
,
80
,
60
,
9
3
,
/* 410 */
92
,
28
,
62
,
717
,
266
,
65
,
14
,
13
,
67
,
197
,
/* 420 */
627
,
99
,
98
,
198
,
16
,
15
,
656
,
654
,
657
,
655
,
/* 430 */
112
,
111
,
128
,
126
,
182
,
1026
,
183
,
185
,
179
,
186
,
/* 440 */
915
,
187
,
193
,
194
,
192
,
177
,
191
,
181
,
978
,
929
,
/* 450 */
214
,
975
,
974
,
215
,
287
,
130
,
39
,
937
,
148
,
944
,
/* 460 */
946
,
13
2
,
136
,
36
,
241
,
961
,
960
,
150
,
909
,
127
,
/* 470 */
679
,
246
,
911
,
204
,
248
,
140
,
653
,
151
,
141
,
92
6
,
/* 480 */
152
,
827
,
63
,
253
,
66
,
268
,
37
,
175
,
34
,
139
,
/* 490 */
58
,
258
,
277
,
823
,
1031
,
90
,
1030
,
1028
,
156
,
256
,
/* 500 */
281
,
1025
,
96
,
1024
,
142
,
1022
,
254
,
157
,
845
,
3
5
,
/* 510 */
3
2
,
38
,
176
,
812
,
106
,
252
,
810
,
108
,
109
,
808
,
/* 520 */
807
,
229
,
167
,
805
,
804
,
803
,
250
,
802
,
801
,
800
,
/* 530 */
170
,
172
,
797
,
795
,
793
,
791
,
789
,
174
,
247
,
24
4
,
/* 540 */
72
,
73
,
249
,
962
,
40
,
297
,
101
,
289
,
290
,
291
,
/* 550 */
292
,
293
,
294
,
199
,
295
,
221
,
307
,
267
,
766
,
231
,
/* 560 */
2
32
,
765
,
234
,
235
,
200
,
85
,
86
,
195
,
764
,
752
,
/* 570 */
238
,
242
,
662
,
74
,
68
,
8
,
262
,
806
,
681
,
799
,
/* 580 */
164
,
846
,
160
,
158
,
159
,
162
,
161
,
163
,
119
,
2
,
/* 590 */
1
20
,
121
,
880
,
798
,
4
,
122
,
790
,
134
,
147
,
143
,
/* 600 */
144
,
145
,
146
,
135
,
684
,
75
,
206
,
251
,
137
,
892
,
/* 610 */
688
,
26
,
9
,
10
,
729
,
27
,
7
,
11
,
73
1
,
21
,
/* 620 */
22
,
264
,
83
,
591
,
587
,
81
,
585
,
584
,
583
,
580
,
/* 630 */
553
,
275
,
31
,
87
,
91
,
630
,
59
,
629
,
95
,
626
,
/* 640 */
575
,
573
,
565
,
571
,
567
,
569
,
97
,
563
,
561
,
594
,
/* 650 */
593
,
592
,
590
,
589
,
588
,
586
,
582
,
581
,
60
,
5
51
,
/* 660 */
5
19
,
517
,
124
,
770
,
769
,
769
,
769
,
769
,
769
,
769
,
/* 670 */
769
,
769
,
769
,
769
,
12
5
,
/* 200 */
81
5
,
197
,
213
,
41
,
165
,
50
,
260
,
55
,
53
,
57
,
/* 210 */
54
,
198
,
18
,
81
,
226
,
46
,
45
,
283
,
282
,
44
,
/* 220 */
43
,
42
,
212
,
727
,
92
8
,
25
,
718
,
671
,
721
,
189
,
/* 230 */
724
,
223
,
212
,
727
,
278
,
190
,
718
,
276
,
721
,
20
3
,
/* 240 */
724
,
11
7
,
116
,
188
,
899
,
900
,
29
,
903
,
257
,
233
,
/* 250 */
7
7
,
44
,
43
,
42
,
209
,
210
,
237
,
236
,
259
,
139
,
/* 260 */
23
,
104
,
305
,
304
,
209
,
210
,
296
,
303
,
79
,
302
,
/* 270 */
301
,
300
,
73
,
299
,
298
,
884
,
13
2
,
30
,
882
,
883
,
/* 280 */
36
,
70
,
225
,
885
,
824
,
887
,
888
,
886
,
16
5
,
889
,
/* 290 */
890
,
55
,
53
,
57
,
54
,
182
,
309
,
308
,
125
,
46
,
/* 300 */
45
,
1026
,
239
,
44
,
43
,
42
,
102
,
107
,
30
,
196
,
/* 310 */
261
,
73
,
96
,
106
,
112
,
115
,
105
,
914
,
217
,
36
,
/* 320 */
674
,
913
,
109
,
5
,
155
,
56
,
78
,
30
,
243
,
33
,
/* 330 */
154
,
91
,
86
,
90
,
30
,
56
,
173
,
169
,
726
,
245
,
/* 340 */
30
,
68
,
171
,
168
,
120
,
119
,
118
,
12
,
726
,
279
,
/* 350 */
183
,
83
,
913
,
80
,
725
,
28
,
46
,
45
,
266
,
81
6
,
/* 360 */
44
,
43
,
42
,
165
,
725
,
1
,
153
,
652
,
280
,
716
,
/* 370 */
649
,
913
,
650
,
901
,
651
,
284
,
695
,
696
,
913
,
664
,
/* 380 */
720
,
288
,
723
,
241
,
913
,
680
,
24
,
31
,
686
,
134
,
/* 390 */
687
,
747
,
60
,
728
,
20
,
19
,
211
,
19
,
227
,
228
,
/* 400 */
719
,
61
,
722
,
185
,
638
,
717
,
730
,
64
,
31
,
26
3
,
/* 410 */
640
,
265
,
639
,
31
,
60
,
82
,
60
,
179
,
95
,
94
,
/* 420 */
186
,
14
,
13
,
62
,
101
,
100
,
67
,
65
,
627
,
187
,
/* 430 */
16
,
15
,
656
,
654
,
657
,
655
,
114
,
113
,
130
,
128
,
/* 440 */
6
,
193
,
194
,
192
,
177
,
191
,
181
,
915
,
979
,
131
,
/* 450 */
978
,
214
,
975
,
974
,
215
,
287
,
936
,
39
,
961
,
944
,
/* 460 */
946
,
13
3
,
960
,
929
,
244
,
137
,
129
,
150
,
911
,
149
,
/* 470 */
242
,
909
,
679
,
246
,
151
,
204
,
653
,
247
,
258
,
25
6
,
/* 480 */
66
,
152
,
827
,
268
,
63
,
926
,
37
,
140
,
175
,
34
,
/* 490 */
248
,
253
,
277
,
823
,
1031
,
92
,
58
,
141
,
254
,
142
,
/* 500 */
1030
,
1028
,
156
,
281
,
1025
,
98
,
1024
,
1022
,
157
,
84
5
,
/* 510 */
3
5
,
32
,
38
,
176
,
252
,
144
,
812
,
108
,
810
,
110
,
/* 520 */
111
,
808
,
807
,
229
,
167
,
805
,
804
,
803
,
250
,
802
,
/* 530 */
801
,
800
,
170
,
172
,
797
,
795
,
793
,
791
,
789
,
17
4
,
/* 540 */
40
,
71
,
74
,
249
,
962
,
297
,
103
,
289
,
290
,
291
,
/* 550 */
292
,
293
,
294
,
295
,
307
,
199
,
766
,
221
,
231
,
232
,
/* 560 */
2
67
,
765
,
234
,
235
,
764
,
752
,
200
,
195
,
238
,
87
,
/* 570 */
88
,
243
,
75
,
8
,
262
,
659
,
72
,
806
,
681
,
121
,
/* 580 */
206
,
135
,
122
,
799
,
160
,
123
,
159
,
846
,
158
,
161
,
/* 590 */
1
62
,
164
,
163
,
798
,
684
,
124
,
880
,
790
,
2
,
136
,
/* 600 */
4
,
145
,
143
,
146
,
147
,
76
,
148
,
251
,
892
,
688
,
/* 610 */
138
,
26
,
264
,
729
,
9
,
10
,
27
,
7
,
1
1
,
21
,
/* 620 */
731
,
22
,
85
,
591
,
83
,
587
,
585
,
584
,
583
,
580
,
/* 630 */
553
,
275
,
93
,
89
,
31
,
59
,
630
,
97
,
99
,
629
,
/* 640 */
626
,
575
,
573
,
565
,
571
,
567
,
569
,
563
,
561
,
594
,
/* 650 */
593
,
592
,
590
,
589
,
588
,
586
,
582
,
581
,
60
,
5
19
,
/* 660 */
5
51
,
517
,
770
,
769
,
769
,
769
,
769
,
769
,
769
,
769
,
/* 670 */
769
,
769
,
769
,
769
,
12
6
,
127
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
192
,
1
,
191
,
192
,
211
,
192
,
192
,
195
,
196
,
9
,
...
...
@@ -283,66 +284,66 @@ static const YYCODETYPE yy_lookahead[] = {
/* 50 */
23
,
24
,
25
,
26
,
27
,
28
,
235
,
9
,
253
,
233
,
/* 60 */
33
,
34
,
236
,
211
,
37
,
38
,
39
,
14
,
254
,
16
,
/* 70 */
17
,
250
,
259
,
20
,
21
,
1
,
23
,
24
,
25
,
26
,
/* 80 */
27
,
28
,
259
,
9
,
261
,
211
,
33
,
34
,
198
,
237
,
/* 80 */
27
,
28
,
259
,
9
,
261
,
211
,
33
,
34
,
79
,
237
,
/* 90 */
37
,
38
,
39
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
/* 100 */
52
,
53
,
54
,
55
,
56
,
57
,
58
,
5
,
19
7
,
61
,
/* 110 */
110
,
237
,
201
,
13
,
14
,
192
,
16
,
17
,
79
,
192
,
/* 120 */
20
,
21
,
232
,
23
,
24
,
25
,
26
,
27
,
28
,
37
,
/* 130 */
38
,
39
,
105
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 140 */
13
,
14
,
197
,
16
,
17
,
67
,
201
,
20
,
21
,
104
,
/* 150 */
23
,
24
,
25
,
26
,
27
,
28
,
233
,
112
,
0
,
236
,
/* 100 */
52
,
53
,
54
,
55
,
56
,
57
,
58
,
5
,
19
8
,
61
,
/* 110 */
110
,
237
,
81
,
13
,
14
,
192
,
16
,
17
,
253
,
192
,
/* 120 */
20
,
21
,
1
,
23
,
24
,
25
,
26
,
27
,
28
,
253
,
/* 130 */
9
,
211
,
105
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 140 */
13
,
14
,
232
,
16
,
17
,
67
,
253
,
20
,
21
,
37
,
/* 150 */
23
,
24
,
25
,
26
,
27
,
28
,
233
,
237
,
0
,
236
,
/* 160 */
33
,
34
,
67
,
236
,
37
,
38
,
39
,
88
,
89
,
90
,
/* 170 */
91
,
92
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
/* 180 */
101
,
102
,
210
,
192
,
212
,
213
,
214
,
215
,
216
,
217
,
/* 190 */
218
,
219
,
220
,
221
,
222
,
223
,
224
,
225
,
16
,
17
,
/* 200 */
197
,
2
11
,
20
,
21
,
201
,
23
,
24
,
25
,
26
,
27
,
/* 210 */
28
,
81
,
44
,
198
,
136
,
33
,
34
,
139
,
140
,
37
,
/* 220 */
38
,
39
,
1
,
2
,
235
,
1
92
,
5
,
237
,
7
,
61
,
/* 200 */
197
,
2
53
,
20
,
21
,
201
,
23
,
24
,
25
,
26
,
27
,
/* 210 */
28
,
253
,
44
,
198
,
136
,
33
,
34
,
139
,
140
,
37
,
/* 220 */
38
,
39
,
1
,
2
,
235
,
1
04
,
5
,
115
,
7
,
61
,
/* 230 */
9
,
136
,
1
,
2
,
139
,
67
,
5
,
79
,
7
,
250
,
/* 240 */
9
,
73
,
74
,
75
,
229
,
230
,
231
,
232
,
257
,
135
,
/* 250 */
259
,
64
,
65
,
66
,
33
,
34
,
142
,
143
,
37
,
192
,
/* 260 */
88
,
192
,
90
,
91
,
33
,
34
,
198
,
95
,
22
8
,
97
,
/* 270 */
98
,
99
,
104
,
101
,
102
,
210
,
76
,
192
,
213
,
214
,
/* 280 */
112
,
81
,
238
,
218
,
253
,
220
,
221
,
222
,
255
,
224
,
/* 290 */
225
,
25
,
26
,
27
,
28
,
25
1
,
227
,
15
,
230
,
33
,
/* 300 */
34
,
37
,
134
,
37
,
38
,
39
,
62
,
63
,
192
,
141
,
/* 310 */
199
,
200
,
68
,
69
,
70
,
71
,
72
,
5
,
233
,
7
,
/* 320 */
10
4
,
236
,
78
,
62
,
63
,
104
,
259
,
192
,
112
,
68
,
/* 330 */
69
,
70
,
71
,
72
,
192
,
104
,
62
,
63
,
117
,
5
,
/* 340 */
192
,
7
,
68
,
69
,
70
,
71
,
72
,
104
,
117
,
233
,
/* 350 */
60
,
108
,
236
,
110
,
133
,
105
,
33
,
34
,
124
,
125
,
/* 360 */
37
,
38
,
39
,
113
,
133
,
105
,
109
,
2
,
233
,
109
,
/* 370 */
5
,
236
,
7
,
116
,
9
,
233
,
105
,
1
,
236
,
115
,
/* 380 */
109
,
233
,
105
,
105
,
236
,
105
,
109
,
109
,
105
,
109
,
/* 390 */
10
9
,
253
,
109
,
111
,
104
,
109
,
105
,
105
,
33
,
34
,
/* 400 */
109
,
109
,
105
,
105
,
105
,
253
,
109
,
109
,
109
,
137
,
/* 410 */
1
38
,
104
,
131
,
37
,
107
,
129
,
137
,
138
,
104
,
253
,
/* 420 */
106
,
137
,
138
,
253
,
137
,
138
,
5
,
5
,
7
,
7
,
/* 430 */
76
,
77
,
62
,
63
,
253
,
237
,
253
,
253
,
253
,
25
3
,
/* 440 */
237
,
253
,
253
,
253
,
253
,
253
,
253
,
253
,
228
,
235
,
/* 450 */
228
,
228
,
228
,
228
,
228
,
192
,
252
,
192
,
239
,
192
,
/* 460 */
192
,
192
,
192
,
112
,
235
,
260
,
260
,
192
,
192
,
60
,
/* 470 */
1
17
,
256
,
235
,
256
,
256
,
247
,
111
,
192
,
246
,
249
,
/* 480 */
1
92
,
192
,
130
,
256
,
128
,
192
,
192
,
192
,
192
,
248
,
/* 490 */
127
,
122
,
192
,
192
,
192
,
192
,
192
,
192
,
192
,
12
6
,
/* 500 */
192
,
192
,
192
,
192
,
245
,
192
,
121
,
192
,
192
,
192
,
/* 510 */
192
,
192
,
192
,
192
,
1
92
,
120
,
192
,
192
,
192
,
192
,
/* 520 */
192
,
192
,
192
,
192
,
192
,
192
,
1
19
,
192
,
192
,
192
,
/* 530 */
192
,
192
,
192
,
192
,
192
,
192
,
192
,
192
,
1
18
,
193
,
/* 540 */
1
93
,
193
,
193
,
193
,
132
,
103
,
87
,
86
,
50
,
83
,
/* 550 */
85
,
54
,
84
,
193
,
82
,
193
,
79
,
193
,
5
,
144
,
/* 560 */
5
,
5
,
144
,
5
,
193
,
198
,
198
,
193
,
5
,
89
,
/* 570 */
1
35
,
113
,
105
,
109
,
114
,
104
,
107
,
193
,
105
,
193
,
/* 580 */
202
,
209
,
203
,
208
,
207
,
204
,
206
,
205
,
194
,
199
,
/* 590 */
194
,
194
,
226
,
193
,
195
,
194
,
193
,
104
,
240
,
244
,
/* 600 */
243
,
242
,
241
,
109
,
105
,
104
,
1
,
104
,
104
,
226
,
/* 610 */
10
5
,
109
,
123
,
123
,
105
,
109
,
104
,
104
,
111
,
104
,
/* 620 */
1
04
,
107
,
76
,
9
,
5
,
108
,
5
,
5
,
5
,
5
,
/* 630 */
80
,
15
,
1
09
,
76
,
138
,
5
,
16
,
5
,
138
,
10
5
,
/* 640 */
5
,
5
,
5
,
5
,
5
,
5
,
138
,
5
,
5
,
5
,
/* 650 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
109
,
8
0
,
/* 660 */
60
,
59
,
21
,
0
,
264
,
264
,
264
,
264
,
264
,
264
,
/* 670 */
264
,
264
,
264
,
264
,
21
,
264
,
264
,
264
,
264
,
264
,
/* 250 */
259
,
37
,
38
,
39
,
33
,
34
,
142
,
143
,
37
,
192
,
/* 260 */
88
,
76
,
90
,
91
,
33
,
34
,
81
,
95
,
23
8
,
97
,
/* 270 */
98
,
99
,
104
,
101
,
102
,
210
,
192
,
192
,
213
,
214
,
/* 280 */
112
,
251
,
192
,
218
,
197
,
220
,
221
,
222
,
201
,
224
,
/* 290 */
225
,
25
,
26
,
27
,
28
,
25
3
,
64
,
65
,
66
,
33
,
/* 300 */
34
,
2
37
,
134
,
37
,
38
,
39
,
62
,
63
,
192
,
141
,
/* 310 */
15
,
104
,
68
,
69
,
70
,
71
,
72
,
227
,
233
,
112
,
/* 320 */
10
5
,
236
,
78
,
62
,
63
,
104
,
259
,
192
,
113
,
68
,
/* 330 */
69
,
70
,
71
,
72
,
192
,
104
,
62
,
63
,
117
,
25
5
,
/* 340 */
192
,
198
,
68
,
69
,
70
,
71
,
72
,
104
,
117
,
233
,
/* 350 */
253
,
108
,
236
,
110
,
133
,
104
,
33
,
34
,
107
,
197
,
/* 360 */
37
,
38
,
39
,
201
,
133
,
199
,
200
,
2
,
233
,
1
,
/* 370 */
5
,
236
,
7
,
230
,
9
,
233
,
124
,
125
,
236
,
109
,
/* 380 */
5
,
233
,
7
,
105
,
236
,
105
,
116
,
109
,
105
,
109
,
/* 390 */
10
5
,
105
,
109
,
105
,
109
,
109
,
60
,
109
,
33
,
34
,
/* 400 */
5
,
109
,
7
,
253
,
105
,
37
,
111
,
109
,
109
,
105
,
/* 410 */
1
05
,
105
,
105
,
109
,
109
,
109
,
109
,
253
,
137
,
138
,
/* 420 */
253
,
137
,
138
,
131
,
137
,
138
,
104
,
129
,
106
,
253
,
/* 430 */
137
,
138
,
5
,
5
,
7
,
7
,
76
,
77
,
62
,
6
3
,
/* 440 */
104
,
253
,
253
,
253
,
253
,
253
,
253
,
237
,
228
,
192
,
/* 450 */
228
,
228
,
228
,
228
,
228
,
228
,
192
,
252
,
260
,
192
,
/* 460 */
192
,
192
,
260
,
235
,
235
,
192
,
60
,
192
,
235
,
239
,
/* 470 */
1
93
,
192
,
117
,
256
,
192
,
256
,
111
,
118
,
122
,
126
,
/* 480 */
1
28
,
192
,
192
,
192
,
130
,
249
,
192
,
248
,
192
,
192
,
/* 490 */
256
,
256
,
192
,
192
,
192
,
192
,
127
,
247
,
121
,
24
6
,
/* 500 */
192
,
192
,
192
,
192
,
192
,
192
,
192
,
192
,
192
,
192
,
/* 510 */
192
,
192
,
192
,
192
,
1
20
,
244
,
192
,
192
,
192
,
192
,
/* 520 */
192
,
192
,
192
,
192
,
192
,
192
,
1
92
,
192
,
119
,
192
,
/* 530 */
192
,
192
,
192
,
192
,
192
,
192
,
192
,
192
,
1
92
,
192
,
/* 540 */
1
32
,
193
,
193
,
193
,
193
,
103
,
87
,
86
,
50
,
83
,
/* 550 */
85
,
54
,
84
,
82
,
79
,
193
,
5
,
193
,
144
,
5
,
/* 560 */
193
,
5
,
144
,
5
,
5
,
89
,
193
,
193
,
135
,
198
,
/* 570 */
1
98
,
113
,
109
,
104
,
107
,
105
,
114
,
193
,
105
,
194
,
/* 580 */
1
,
104
,
194
,
193
,
203
,
194
,
207
,
209
,
208
,
206
,
/* 590 */
204
,
202
,
205
,
193
,
105
,
194
,
226
,
193
,
199
,
109
,
/* 600 */
195
,
243
,
245
,
242
,
241
,
104
,
240
,
104
,
226
,
105
,
/* 610 */
10
4
,
109
,
107
,
105
,
123
,
123
,
109
,
104
,
104
,
104
,
/* 620 */
1
11
,
104
,
76
,
9
,
108
,
5
,
5
,
5
,
5
,
5
,
/* 630 */
80
,
15
,
1
38
,
76
,
109
,
16
,
5
,
138
,
138
,
5
,
/* 640 */
105
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 650 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
109
,
6
0
,
/* 660 */
80
,
59
,
0
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
/* 670 */
264
,
264
,
264
,
264
,
21
,
21
,
264
,
264
,
264
,
264
,
/* 680 */
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
/* 690 */
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
/* 700 */
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
...
...
@@ -361,84 +362,84 @@ static const YYCODETYPE yy_lookahead[] = {
/* 830 */
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
/* 840 */
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
/* 850 */
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
264
,
/* 860 */
264
,
264
,
264
,
/* 860 */
264
,
264
,
264
,
264
,
};
#define YY_SHIFT_COUNT (312)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (66
3
)
#define YY_SHIFT_MAX (66
2
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
168
,
79
,
79
,
172
,
172
,
3
9
,
221
,
231
,
74
,
74
,
/* 0 */
168
,
79
,
79
,
172
,
172
,
9
,
221
,
231
,
74
,
74
,
/* 10 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
0
,
48
,
231
,
/* 20 */
365
,
365
,
365
,
365
,
45
,
74
,
74
,
74
,
74
,
158
,
/* 30 */
74
,
74
,
200
,
39
,
130
,
130
,
675
,
675
,
675
,
231
,
/* 20 */
365
,
365
,
365
,
365
,
121
,
207
,
74
,
74
,
74
,
158
,
/* 30 */
74
,
74
,
185
,
9
,
31
,
31
,
676
,
676
,
676
,
231
,
/* 40 */
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
/* 50 */
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
365
,
/* 60 */
365
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
216
,
74
,
/* 70 */
74
,
264
,
74
,
74
,
74
,
74
,
234
,
234
,
257
,
74
,
/* 80 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 60 */
365
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
74
,
74
,
/* 70 */
112
,
74
,
207
,
207
,
74
,
74
,
74
,
252
,
252
,
270
,
/* 80 */
207
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 90 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 100 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 110 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 120 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
351
,
/* 130 */
409
,
409
,
409
,
353
,
353
,
353
,
409
,
353
,
409
,
35
6
,
/* 140 */
352
,
3
63
,
369
,
373
,
385
,
395
,
407
,
420
,
412
,
351
,
/* 150 */
40
9
,
409
,
409
,
442
,
39
,
39
,
409
,
409
,
459
,
461
,
/* 160 */
498
,
466
,
465
,
497
,
468
,
47
2
,
442
,
409
,
477
,
477
,
/* 170 */
40
9
,
477
,
409
,
477
,
409
,
675
,
675
,
27
,
100
,
127
,
/* 120 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 130 */
74
,
406
,
406
,
406
,
355
,
355
,
355
,
406
,
355
,
40
6
,
/* 140 */
352
,
3
54
,
369
,
356
,
353
,
377
,
394
,
409
,
359
,
408
,
/* 150 */
40
6
,
406
,
406
,
442
,
9
,
9
,
406
,
406
,
459
,
461
,
/* 160 */
498
,
466
,
465
,
497
,
468
,
47
1
,
442
,
406
,
475
,
475
,
/* 170 */
40
6
,
475
,
406
,
475
,
406
,
676
,
676
,
27
,
100
,
127
,
/* 180 */
100
,
100
,
53
,
182
,
266
,
266
,
266
,
266
,
244
,
261
,
/* 190 */
274
,
323
,
323
,
323
,
323
,
78
,
114
,
92
,
92
,
243
,
/* 200 */
95
,
187
,
250
,
260
,
271
,
277
,
278
,
280
,
283
,
312
,
/* 210 */
3
34
,
376
,
290
,
282
,
281
,
286
,
291
,
292
,
297
,
298
,
/* 220 */
299
,
307
,
272
,
279
,
284
,
314
,
287
,
421
,
422
,
354
,
/* 230 */
37
0
,
553
,
415
,
555
,
556
,
418
,
558
,
563
,
480
,
435
,
/* 240 */
458
,
467
,
46
0
,
469
,
471
,
464
,
473
,
493
,
499
,
494
,
/* 250 */
501
,
605
,
503
,
505
,
504
,
502
,
489
,
506
,
490
,
509
,
/* 260 */
51
2
,
507
,
513
,
469
,
515
,
514
,
516
,
517
,
546
,
614
,
/* 270 */
6
19
,
621
,
622
,
623
,
624
,
550
,
616
,
557
,
496
,
523
,
/* 280 */
52
3
,
620
,
500
,
508
,
523
,
630
,
632
,
534
,
523
,
635
,
/* 290 */
63
6
,
637
,
638
,
639
,
640
,
642
,
643
,
644
,
645
,
646
,
/* 300 */
647
,
648
,
649
,
650
,
651
,
652
,
549
,
5
79
,
641
,
653
,
/* 310 */
600
,
602
,
663
,
/* 190 */
274
,
323
,
323
,
323
,
323
,
78
,
114
,
214
,
214
,
243
,
/* 200 */
95
,
232
,
278
,
215
,
280
,
283
,
285
,
286
,
288
,
375
,
/* 210 */
3
95
,
368
,
336
,
295
,
292
,
298
,
299
,
304
,
305
,
306
,
/* 220 */
307
,
251
,
281
,
284
,
287
,
322
,
293
,
427
,
428
,
360
,
/* 230 */
37
6
,
551
,
414
,
554
,
556
,
418
,
558
,
559
,
476
,
433
,
/* 240 */
458
,
467
,
46
9
,
462
,
470
,
463
,
473
,
477
,
489
,
490
,
/* 250 */
501
,
579
,
503
,
504
,
506
,
502
,
491
,
507
,
492
,
508
,
/* 260 */
51
3
,
509
,
514
,
467
,
515
,
505
,
517
,
516
,
546
,
614
,
/* 270 */
6
20
,
621
,
622
,
623
,
624
,
550
,
616
,
557
,
494
,
525
,
/* 280 */
52
5
,
619
,
499
,
500
,
525
,
631
,
634
,
535
,
525
,
636
,
/* 290 */
63
7
,
638
,
639
,
640
,
641
,
642
,
643
,
644
,
645
,
646
,
/* 300 */
647
,
648
,
649
,
650
,
651
,
652
,
549
,
5
80
,
653
,
654
,
/* 310 */
599
,
602
,
662
,
};
#define YY_REDUCE_COUNT (176)
#define YY_REDUCE_MIN (-241)
#define YY_REDUCE_MAX (40
3
)
#define YY_REDUCE_MAX (40
5
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
179
,
-
28
,
-
28
,
65
,
65
,
15
,
-
231
,
-
217
,
-
174
,
-
177
,
/* 10 */
-
9
,
-
77
,
85
,
116
,
135
,
142
,
148
,
-
186
,
-
189
,
-
234
,
/* 20 */
-
207
,
-
148
,
-
126
,
-
10
,
-
11
,
33
,
-
187
,
67
,
-
192
,
-
11
0
,
/* 30 */
69
,
-
73
,
-
89
,
68
,
-
55
,
3
,
44
,
111
,
-
188
,
-
241
,
/* 40 */
-
218
,
-
195
,
31
,
138
,
152
,
166
,
170
,
181
,
183
,
184
,
/* 50 */
1
85
,
186
,
188
,
189
,
190
,
191
,
192
,
193
,
194
,
198
,
/* 60 */
2
03
,
40
,
220
,
222
,
223
,
224
,
225
,
226
,
214
,
263
,
/* 70 */
2
65
,
204
,
267
,
268
,
269
,
270
,
205
,
206
,
219
,
275
,
/* 80 */
2
76
,
285
,
288
,
289
,
293
,
294
,
295
,
296
,
300
,
301
,
/* 90 */
30
2
,
303
,
304
,
305
,
306
,
308
,
309
,
310
,
311
,
313
,
/* 100 */
31
5
,
316
,
317
,
318
,
319
,
320
,
321
,
322
,
324
,
325
,
/* 110 */
326
,
327
,
328
,
329
,
330
,
331
,
332
,
333
,
33
5
,
336
,
/* 120 */
337
,
338
,
339
,
340
,
341
,
342
,
343
,
344
,
345
,
229
,
/* 130 */
34
6
,
347
,
348
,
215
,
217
,
218
,
349
,
227
,
350
,
230
,
/* 140 */
2
41
,
228
,
232
,
259
,
355
,
357
,
359
,
361
,
358
,
237
,
/* 150 */
36
0
,
362
,
364
,
366
,
367
,
368
,
371
,
374
,
372
,
375
,
/* 160 */
37
7
,
379
,
380
,
381
,
382
,
378
,
383
,
384
,
394
,
396
,
/* 170 */
3
86
,
397
,
400
,
401
,
403
,
390
,
399
,
/* 20 */
-
207
,
-
148
,
-
126
,
-
80
,
84
,
-
11
,
-
187
,
67
,
-
192
,
-
9
0
,
/* 30 */
90
,
-
73
,
3
,
143
,
87
,
162
,
30
,
166
,
-
188
,
-
241
,
/* 40 */
-
218
,
-
195
,
-
135
,
-
124
,
-
107
,
-
52
,
-
42
,
42
,
97
,
150
,
/* 50 */
1
64
,
167
,
176
,
188
,
189
,
190
,
191
,
192
,
193
,
64
,
/* 60 */
2
10
,
220
,
222
,
223
,
224
,
225
,
226
,
227
,
257
,
264
,
/* 70 */
2
05
,
267
,
228
,
229
,
268
,
269
,
273
,
198
,
202
,
230
,
/* 80 */
2
33
,
275
,
279
,
282
,
289
,
290
,
291
,
294
,
296
,
297
,
/* 90 */
30
0
,
301
,
302
,
303
,
308
,
309
,
310
,
311
,
312
,
313
,
/* 100 */
31
4
,
315
,
316
,
317
,
318
,
319
,
320
,
321
,
324
,
325
,
/* 110 */
326
,
327
,
328
,
329
,
330
,
331
,
332
,
333
,
33
4
,
335
,
/* 120 */
337
,
338
,
339
,
340
,
341
,
342
,
343
,
344
,
345
,
346
,
/* 130 */
34
7
,
277
,
348
,
349
,
217
,
219
,
234
,
350
,
235
,
351
,
/* 140 */
2
36
,
239
,
250
,
253
,
357
,
271
,
358
,
361
,
363
,
366
,
/* 150 */
36
2
,
364
,
367
,
370
,
371
,
372
,
373
,
374
,
378
,
380
,
/* 160 */
37
9
,
381
,
383
,
386
,
387
,
389
,
382
,
384
,
385
,
388
,
/* 170 */
3
90
,
391
,
400
,
401
,
404
,
399
,
405
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
767
,
879
,
825
,
891
,
813
,
822
,
1019
,
1019
,
767
,
767
,
/* 10 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
93
9
,
786
,
1019
,
/* 10 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
93
8
,
786
,
1019
,
/* 20 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
822
,
/* 30 */
767
,
767
,
828
,
822
,
828
,
828
,
93
4
,
863
,
881
,
767
,
/* 30 */
767
,
767
,
828
,
822
,
828
,
828
,
93
3
,
863
,
881
,
767
,
/* 40 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 50 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 60 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 70 */
767
,
941
,
943
,
945
,
767
,
767
,
965
,
965
,
932
,
767
,
/* 70 */
940
,
943
,
767
,
767
,
945
,
767
,
767
,
965
,
965
,
931
,
/* 80 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 90 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 100 */
767
,
767
,
767
,
767
,
767
,
767
,
811
,
767
,
809
,
767
,
/* 110 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 120 */
767
,
767
,
767
,
7
96
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 130 */
7
88
,
788
,
788
,
767
,
767
,
767
,
788
,
767
,
788
,
972
,
/* 140 */
97
6
,
970
,
958
,
966
,
957
,
953
,
951
,
950
,
980
,
767
,
/* 100 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
811
,
767
,
/* 110 */
809
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 120 */
767
,
767
,
767
,
7
67
,
767
,
796
,
767
,
767
,
767
,
767
,
/* 130 */
7
67
,
788
,
788
,
788
,
767
,
767
,
767
,
788
,
767
,
788
,
/* 140 */
97
2
,
976
,
970
,
958
,
966
,
957
,
953
,
951
,
950
,
980
,
/* 150 */
788
,
788
,
788
,
826
,
822
,
822
,
788
,
788
,
844
,
842
,
/* 160 */
840
,
832
,
838
,
834
,
836
,
830
,
814
,
788
,
820
,
820
,
/* 170 */
788
,
820
,
788
,
820
,
788
,
863
,
881
,
767
,
981
,
767
,
...
...
@@ -448,7 +449,7 @@ static const YYACTIONTYPE yy_default[] = {
/* 210 */
767
,
767
,
983
,
767
,
977
,
973
,
767
,
767
,
767
,
767
,
/* 220 */
767
,
767
,
767
,
767
,
767
,
893
,
767
,
767
,
767
,
767
,
/* 230 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 240 */
93
1
,
767
,
767
,
767
,
767
,
942
,
767
,
767
,
767
,
767
,
/* 240 */
93
0
,
767
,
767
,
767
,
767
,
941
,
767
,
767
,
767
,
767
,
/* 250 */
767
,
767
,
767
,
767
,
767
,
967
,
767
,
959
,
767
,
767
,
/* 260 */
767
,
767
,
767
,
905
,
767
,
767
,
767
,
767
,
767
,
767
,
/* 270 */
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
767
,
1029
,
...
...
@@ -1177,22 +1178,22 @@ static const char *const yyRuleName[] = {
/* 154 */
"tagitem ::= PLUS INTEGER"
,
/* 155 */
"tagitem ::= PLUS FLOAT"
,
/* 156 */
"select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt"
,
/* 157 */
"
union ::= select
"
,
/* 158 */
"union ::=
LP union RP
"
,
/* 157 */
"
select ::= LP select RP
"
,
/* 158 */
"union ::=
select
"
,
/* 159 */
"union ::= union UNION ALL select"
,
/* 160 */
"
union ::= union UNION ALL LP select RP
"
,
/* 161 */
"
cmd ::= union
"
,
/* 162 */
"s
elect ::= SELECT selcollist
"
,
/* 163 */
"sclp ::=
selcollist COMMA
"
,
/* 164 */
"s
clp ::=
"
,
/* 165 */
"selcollist ::= sclp
distinct expr as
"
,
/* 166 */
"
selcollist ::= sclp STAR
"
,
/* 167 */
"as ::=
AS
ids"
,
/* 168 */
"as ::=
ids
"
,
/* 169 */
"
as ::=
"
,
/* 170 */
"distinct ::=
DISTINCT
"
,
/* 171 */
"
distinct ::=
"
,
/* 172 */
"from ::= FROM
tablelist
"
,
/* 160 */
"
cmd ::= union
"
,
/* 161 */
"
select ::= SELECT selcollist
"
,
/* 162 */
"s
clp ::= selcollist COMMA
"
,
/* 163 */
"sclp ::="
,
/* 164 */
"s
elcollist ::= sclp distinct expr as
"
,
/* 165 */
"selcollist ::= sclp
STAR
"
,
/* 166 */
"
as ::= AS ids
"
,
/* 167 */
"as ::= ids"
,
/* 168 */
"as ::="
,
/* 169 */
"
distinct ::= DISTINCT
"
,
/* 170 */
"distinct ::="
,
/* 171 */
"
from ::= FROM tablelist
"
,
/* 172 */
"from ::= FROM
LP union RP
"
,
/* 173 */
"tablelist ::= ids cpxName"
,
/* 174 */
"tablelist ::= ids cpxName ids"
,
/* 175 */
"tablelist ::= tablelist COMMA ids cpxName"
,
...
...
@@ -1420,7 +1421,7 @@ taosArrayDestroy((yypminor->yy285));
break
;
case
231
:
/* create_table_list */
{
destroyCreateTableSql
((
yypminor
->
yy
23
0
));
destroyCreateTableSql
((
yypminor
->
yy
47
0
));
}
break
;
case
235
:
/* select */
...
...
@@ -1901,22 +1902,22 @@ static const struct {
{
237
,
-
2
},
/* (154) tagitem ::= PLUS INTEGER */
{
237
,
-
2
},
/* (155) tagitem ::= PLUS FLOAT */
{
235
,
-
13
},
/* (156) select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
2
50
,
-
1
},
/* (157) union ::= select
*/
{
250
,
-
3
},
/* (158) union ::= LP union RP
*/
{
2
35
,
-
3
},
/* (157) select ::= LP select RP
*/
{
250
,
-
1
},
/* (158) union ::= select
*/
{
250
,
-
4
},
/* (159) union ::= union UNION ALL select */
{
250
,
-
6
},
/* (160) union ::= union UNION ALL LP select RP
*/
{
190
,
-
1
},
/* (161) cmd ::= union
*/
{
2
35
,
-
2
},
/* (162) select ::= SELECT selcollist
*/
{
251
,
-
2
},
/* (163) sclp ::= selcollist COMMA
*/
{
2
51
,
0
},
/* (164) sclp ::=
*/
{
238
,
-
4
},
/* (165) selcollist ::= sclp distinct expr as
*/
{
2
38
,
-
2
},
/* (166) selcollist ::= sclp STAR
*/
{
254
,
-
2
},
/* (167) as ::= AS
ids */
{
254
,
-
1
},
/* (168) as ::= ids
*/
{
25
4
,
0
},
/* (169) as ::=
*/
{
252
,
-
1
},
/* (170) distinct ::= DISTINCT
*/
{
2
52
,
0
},
/* (171) distinct ::=
*/
{
239
,
-
2
},
/* (172) from ::= FROM tablelist
*/
{
190
,
-
1
},
/* (160) cmd ::= union
*/
{
235
,
-
2
},
/* (161) select ::= SELECT selcollist
*/
{
2
51
,
-
2
},
/* (162) sclp ::= selcollist COMMA
*/
{
251
,
0
},
/* (163) sclp ::=
*/
{
2
38
,
-
4
},
/* (164) selcollist ::= sclp distinct expr as
*/
{
238
,
-
2
},
/* (165) selcollist ::= sclp STAR
*/
{
2
54
,
-
2
},
/* (166) as ::= AS ids
*/
{
254
,
-
1
},
/* (167) as ::=
ids */
{
254
,
0
},
/* (168) as ::=
*/
{
25
2
,
-
1
},
/* (169) distinct ::= DISTINCT
*/
{
252
,
0
},
/* (170) distinct ::=
*/
{
2
39
,
-
2
},
/* (171) from ::= FROM tablelist
*/
{
239
,
-
4
},
/* (172) from ::= FROM LP union RP
*/
{
255
,
-
2
},
/* (173) tablelist ::= ids cpxName */
{
255
,
-
3
},
/* (174) tablelist ::= ids cpxName ids */
{
255
,
-
4
},
/* (175) tablelist ::= tablelist COMMA ids cpxName */
...
...
@@ -2273,7 +2274,7 @@ static void yy_reduce(
break
;
case
50
:
/* ifexists ::= */
case
52
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
52
);
case
17
1
:
/* distinct ::= */
yytestcase
(
yyruleno
==
171
);
case
17
0
:
/* distinct ::= */
yytestcase
(
yyruleno
==
170
);
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
break
;
case
51
:
/* ifnotexists ::= IF NOT EXISTS */
...
...
@@ -2471,7 +2472,7 @@ static void yy_reduce(
{
yymsp
[
-
1
].
minor
.
yy525
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
case
132
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
23
0
;}
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
47
0
;}
break
;
case
133
:
/* create_table_list ::= create_from_stable */
{
...
...
@@ -2480,36 +2481,36 @@ static void yy_reduce(
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy96
);
pCreateTable
->
type
=
TSQL_CREATE_TABLE_FROM_STABLE
;
yylhsminor
.
yy
23
0
=
pCreateTable
;
yylhsminor
.
yy
47
0
=
pCreateTable
;
}
yymsp
[
0
].
minor
.
yy
230
=
yylhsminor
.
yy23
0
;
yymsp
[
0
].
minor
.
yy
470
=
yylhsminor
.
yy47
0
;
break
;
case
134
:
/* create_table_list ::= create_table_list create_from_stable */
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
23
0
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy96
);
yylhsminor
.
yy
230
=
yymsp
[
-
1
].
minor
.
yy23
0
;
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
47
0
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy96
);
yylhsminor
.
yy
470
=
yymsp
[
-
1
].
minor
.
yy47
0
;
}
yymsp
[
-
1
].
minor
.
yy
230
=
yylhsminor
.
yy23
0
;
yymsp
[
-
1
].
minor
.
yy
470
=
yylhsminor
.
yy47
0
;
break
;
case
135
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
yylhsminor
.
yy
23
0
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy285
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
23
0
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
47
0
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy285
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
47
0
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
);
}
yymsp
[
-
5
].
minor
.
yy
230
=
yylhsminor
.
yy23
0
;
yymsp
[
-
5
].
minor
.
yy
470
=
yylhsminor
.
yy47
0
;
break
;
case
136
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
yylhsminor
.
yy
23
0
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy285
,
yymsp
[
-
1
].
minor
.
yy285
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
23
0
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
47
0
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy285
,
yymsp
[
-
1
].
minor
.
yy285
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
47
0
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
yymsp
[
-
9
].
minor
.
yy
230
=
yylhsminor
.
yy23
0
;
yymsp
[
-
9
].
minor
.
yy
470
=
yylhsminor
.
yy47
0
;
break
;
case
137
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
{
...
...
@@ -2537,13 +2538,13 @@ static void yy_reduce(
break
;
case
141
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
{
yylhsminor
.
yy
23
0
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy342
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
23
0
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
47
0
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy342
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
47
0
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yymsp
[
-
3
].
minor
.
yy0
.
n
+=
yymsp
[
-
2
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
4
].
minor
.
yy0
);
}
yymsp
[
-
4
].
minor
.
yy
230
=
yylhsminor
.
yy23
0
;
yymsp
[
-
4
].
minor
.
yy
470
=
yylhsminor
.
yy47
0
;
break
;
case
142
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy285
,
&
yymsp
[
0
].
minor
.
yy295
);
yylhsminor
.
yy285
=
yymsp
[
-
2
].
minor
.
yy285
;
}
...
...
@@ -2592,78 +2593,76 @@ static void yy_reduce(
break
;
case
156
:
/* select ::= SELECT selcollist from where_opt interval_opt session_option fill_opt sliding_opt groupby_opt orderby_opt having_opt slimit_opt limit_opt */
{
yylhsminor
.
yy342
=
tSetQuerySqlNode
(
&
yymsp
[
-
12
].
minor
.
yy0
,
yymsp
[
-
11
].
minor
.
yy285
,
yymsp
[
-
10
].
minor
.
yy
285
,
yymsp
[
-
9
].
minor
.
yy178
,
yymsp
[
-
4
].
minor
.
yy285
,
yymsp
[
-
3
].
minor
.
yy285
,
&
yymsp
[
-
8
].
minor
.
yy376
,
&
yymsp
[
-
7
].
minor
.
yy523
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy285
,
&
yymsp
[
0
].
minor
.
yy438
,
&
yymsp
[
-
1
].
minor
.
yy438
);
yylhsminor
.
yy342
=
tSetQuerySqlNode
(
&
yymsp
[
-
12
].
minor
.
yy0
,
yymsp
[
-
11
].
minor
.
yy285
,
yymsp
[
-
10
].
minor
.
yy
162
,
yymsp
[
-
9
].
minor
.
yy178
,
yymsp
[
-
4
].
minor
.
yy285
,
yymsp
[
-
3
].
minor
.
yy285
,
&
yymsp
[
-
8
].
minor
.
yy376
,
&
yymsp
[
-
7
].
minor
.
yy523
,
&
yymsp
[
-
5
].
minor
.
yy0
,
yymsp
[
-
6
].
minor
.
yy285
,
&
yymsp
[
0
].
minor
.
yy438
,
&
yymsp
[
-
1
].
minor
.
yy438
);
}
yymsp
[
-
12
].
minor
.
yy342
=
yylhsminor
.
yy342
;
break
;
case
157
:
/* union ::= select */
case
157
:
/* select ::= LP select RP */
{
yymsp
[
-
2
].
minor
.
yy342
=
yymsp
[
-
1
].
minor
.
yy342
;}
break
;
case
158
:
/* union ::= select */
{
yylhsminor
.
yy513
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy342
);
}
yymsp
[
0
].
minor
.
yy513
=
yylhsminor
.
yy513
;
break
;
case
158
:
/* union ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy513
=
yymsp
[
-
1
].
minor
.
yy513
;
}
break
;
case
159
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy513
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy513
,
yymsp
[
0
].
minor
.
yy342
);
}
yymsp
[
-
3
].
minor
.
yy513
=
yylhsminor
.
yy513
;
break
;
case
160
:
/* union ::= union UNION ALL LP select RP */
{
yylhsminor
.
yy513
=
appendSelectClause
(
yymsp
[
-
5
].
minor
.
yy513
,
yymsp
[
-
1
].
minor
.
yy342
);
}
yymsp
[
-
5
].
minor
.
yy513
=
yylhsminor
.
yy513
;
break
;
case
161
:
/* cmd ::= union */
case
160
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy513
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
case
16
2
:
/* select ::= SELECT selcollist */
case
16
1
:
/* select ::= SELECT selcollist */
{
yylhsminor
.
yy342
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy285
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy342
=
yylhsminor
.
yy342
;
break
;
case
16
3
:
/* sclp ::= selcollist COMMA */
case
16
2
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy285
=
yymsp
[
-
1
].
minor
.
yy285
;}
yymsp
[
-
1
].
minor
.
yy285
=
yylhsminor
.
yy285
;
break
;
case
16
4
:
/* sclp ::= */
case
16
3
:
/* sclp ::= */
case
188
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
188
);
{
yymsp
[
1
].
minor
.
yy285
=
0
;}
break
;
case
16
5
:
/* selcollist ::= sclp distinct expr as */
case
16
4
:
/* selcollist ::= sclp distinct expr as */
{
yylhsminor
.
yy285
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy285
,
yymsp
[
-
1
].
minor
.
yy178
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
yymsp
[
-
3
].
minor
.
yy285
=
yylhsminor
.
yy285
;
break
;
case
16
6
:
/* selcollist ::= sclp STAR */
case
16
5
:
/* selcollist ::= sclp STAR */
{
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
NULL
,
TK_ALL
);
yylhsminor
.
yy285
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy285
,
pNode
,
0
,
0
);
}
yymsp
[
-
1
].
minor
.
yy285
=
yylhsminor
.
yy285
;
break
;
case
16
7
:
/* as ::= AS ids */
case
16
6
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
16
8
:
/* as ::= ids */
case
16
7
:
/* as ::= ids */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
16
9
:
/* as ::= */
case
16
8
:
/* as ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
case
1
70
:
/* distinct ::= DISTINCT */
case
1
69
:
/* distinct ::= DISTINCT */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
172
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy285
=
yymsp
[
0
].
minor
.
yy285
;}
case
171
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy162
=
yymsp
[
0
].
minor
.
yy285
;}
break
;
case
172
:
/* from ::= FROM LP union RP */
{
yymsp
[
-
3
].
minor
.
yy162
=
yymsp
[
-
1
].
minor
.
yy513
;}
break
;
case
173
:
/* tablelist ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy285
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yylhsminor
.
yy285
=
tVariantListAppendToken
(
yylhsminor
.
yy285
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
// table alias name
yylhsminor
.
yy285
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy285
=
yylhsminor
.
yy285
;
break
;
...
...
@@ -2672,8 +2671,7 @@ static void yy_reduce(
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy285
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
yylhsminor
.
yy285
=
tVariantListAppendToken
(
yylhsminor
.
yy285
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
yylhsminor
.
yy285
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy285
=
yylhsminor
.
yy285
;
break
;
...
...
@@ -2681,8 +2679,7 @@ static void yy_reduce(
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy285
=
tVariantListAppendToken
(
yymsp
[
-
3
].
minor
.
yy285
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yylhsminor
.
yy285
=
tVariantListAppendToken
(
yylhsminor
.
yy285
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yylhsminor
.
yy285
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy285
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
3
].
minor
.
yy285
=
yylhsminor
.
yy285
;
break
;
...
...
@@ -2691,8 +2688,8 @@ static void yy_reduce(
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy285
=
tVariantListAppendToken
(
yymsp
[
-
4
].
minor
.
yy285
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
yylhsminor
.
yy285
=
tVariantListAppendToken
(
yylhsminor
.
yy285
,
&
yymsp
[
0
].
minor
.
yy0
,
-
1
);
yylhsminor
.
yy285
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy285
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
4
].
minor
.
yy285
=
yylhsminor
.
yy285
;
break
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录