Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
a85169a1
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
a85169a1
编写于
12月 29, 2021
作者:
H
Haojun Liao
提交者:
GitHub
12月 29, 2021
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #9475 from taosdata/feature/3.0_liaohj
[td-11818] merge 3.0
上级
094962e7
3b7bb577
变更
18
隐藏空白更改
内联
并排
Showing
18 changed file
with
1490 addition
and
1463 deletion
+1490
-1463
include/libs/catalog/catalog.h
include/libs/catalog/catalog.h
+10
-14
include/libs/qcom/query.h
include/libs/qcom/query.h
+1
-1
source/client/test/clientTests.cpp
source/client/test/clientTests.cpp
+38
-38
source/libs/catalog/src/catalog.c
source/libs/catalog/src/catalog.c
+44
-47
source/libs/catalog/test/catalogTests.cpp
source/libs/catalog/test/catalogTests.cpp
+41
-27
source/libs/parser/inc/astGenerator.h
source/libs/parser/inc/astGenerator.h
+1
-1
source/libs/parser/inc/astToMsg.h
source/libs/parser/inc/astToMsg.h
+0
-1
source/libs/parser/inc/parserUtil.h
source/libs/parser/inc/parserUtil.h
+2
-0
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+2
-0
source/libs/parser/src/astGenerator.c
source/libs/parser/src/astGenerator.c
+13
-16
source/libs/parser/src/astToMsg.c
source/libs/parser/src/astToMsg.c
+14
-54
source/libs/parser/src/dCDAstProcess.c
source/libs/parser/src/dCDAstProcess.c
+10
-7
source/libs/parser/src/insertParser.c
source/libs/parser/src/insertParser.c
+10
-5
source/libs/parser/src/parserUtil.c
source/libs/parser/src/parserUtil.c
+36
-1
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+1250
-1238
source/libs/parser/test/mockCatalog.cpp
source/libs/parser/test/mockCatalog.cpp
+4
-4
source/libs/parser/test/mockCatalogService.cpp
source/libs/parser/test/mockCatalogService.cpp
+12
-7
source/libs/parser/test/mockCatalogService.h
source/libs/parser/test/mockCatalogService.h
+2
-2
未找到文件。
include/libs/catalog/catalog.h
浏览文件 @
a85169a1
...
...
@@ -21,13 +21,14 @@ extern "C" {
#endif
#include "os.h"
#include "thash.h"
#include "tarray.h"
#include "taosdef.h"
#include "transport.h"
#include "query.h"
#include "tname.h"
#include "common.h"
#include "tarray.h"
#include "thash.h"
#include "tmsg.h"
#include "
query
.h"
#include "
transport
.h"
struct
SCatalog
;
...
...
@@ -68,35 +69,32 @@ int32_t catalogUpdateDBVgroup(struct SCatalog* pCatalog, const char* dbName, SDB
* @param pCatalog (input, got with catalogGetHandle)
* @param pTransporter (input, rpc object)
* @param pMgmtEps (input, mnode EPs)
* @param pDBName (input, full db name)
* @param pTableName (input, table name, NOT including db name)
* @param pTableMeta(output, table meta data, NEED to free it by calller)
* @return error code
*/
int32_t
catalogGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
);
int32_t
catalogGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
);
/**
* Force renew a table's local cached meta data.
* @param pCatalog (input, got with catalogGetHandle)
* @param pRpc (input, rpc object)
* @param pMgmtEps (input, mnode EPs)
* @param pDBName (input, full db name)
* @param pTableName (input, table name, NOT including db name)
* @return error code
*/
int32_t
catalogRenewTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
);
int32_t
catalogRenewTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
);
/**
* Force renew a table's local cached meta data and get the new one.
* @param pCatalog (input, got with catalogGetHandle)
* @param pRpc (input, rpc object)
* @param pMgmtEps (input, mnode EPs)
* @param pDBName (input, full db name)
* @param pTableName (input, table name, NOT including db name)
* @param pTableMeta(output, table meta data, NEED to free it by calller)
* @return error code
*/
int32_t
catalogRenewAndGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
);
int32_t
catalogRenewAndGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
);
/**
...
...
@@ -104,24 +102,22 @@ int32_t catalogRenewAndGetTableMeta(struct SCatalog* pCatalog, void *pRpc, const
* @param pCatalog (input, got with catalogGetHandle)
* @param pRpc (input, rpc object)
* @param pMgmtEps (input, mnode EPs)
* @param pDBName (input, full db name)
* @param pTableName (input, table name, NOT including db name)
* @param pVgroupList (output, vgroup info list, element is SVgroupInfo, NEED to simply free the array by caller)
* @return error code
*/
int32_t
catalogGetTableDistVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
SArray
**
pVgroupList
);
int32_t
catalogGetTableDistVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
SArray
**
pVgroupList
);
/**
* Get a table's vgroup from its name's hash value.
* @param pCatalog (input, got with catalogGetHandle)
* @param pTransporter (input, rpc object)
* @param pMgmtEps (input, mnode EPs)
* @param pDBName (input, full db name)
* @param pTableName (input, table name, NOT including db name)
* @param vgInfo (output, vgroup info)
* @return error code
*/
int32_t
catalogGetTableHashVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTable
Name
,
SVgroupInfo
*
vgInfo
);
int32_t
catalogGetTableHashVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
p
Name
,
SVgroupInfo
*
vgInfo
);
/**
...
...
include/libs/qcom/query.h
浏览文件 @
a85169a1
...
...
@@ -23,6 +23,7 @@ extern "C" {
#include "tarray.h"
#include "thash.h"
#include "tlog.h"
#include "tmsg.h"
enum
{
JOB_TASK_STATUS_NULL
=
0
,
...
...
@@ -73,7 +74,6 @@ typedef struct STableMeta {
SSchema
schema
[];
}
STableMeta
;
typedef
struct
SDBVgroupInfo
{
int32_t
vgVersion
;
int8_t
hashMethod
;
...
...
source/client/test/clientTests.cpp
浏览文件 @
a85169a1
...
...
@@ -162,7 +162,7 @@ TEST(testCase, create_db_Test) {
taos_free_result
(
pRes
);
pRes
=
taos_query
(
pConn
,
"create database abc1"
);
pRes
=
taos_query
(
pConn
,
"create database abc1
vgroups 4
"
);
if
(
taos_errno
(
pRes
)
!=
0
)
{
printf
(
"error in create db, reason:%s
\n
"
,
taos_errstr
(
pRes
));
}
...
...
@@ -399,49 +399,49 @@ TEST(testCase, drop_stable_Test) {
taos_close
(
pConn
);
}
TEST
(
testCase
,
create_topic_Test
)
{
TAOS
*
pConn
=
taos_connect
(
"localhost"
,
"root"
,
"taosdata"
,
NULL
,
0
);
assert
(
pConn
!=
NULL
);
TAOS_RES
*
pRes
=
taos_query
(
pConn
,
"create database abc1"
);
if
(
taos_errno
(
pRes
)
!=
0
)
{
printf
(
"error in create db, reason:%s
\n
"
,
taos_errstr
(
pRes
));
}
taos_free_result
(
pRes
);
pRes
=
taos_query
(
pConn
,
"use abc1"
);
if
(
taos_errno
(
pRes
)
!=
0
)
{
printf
(
"error in use db, reason:%s
\n
"
,
taos_errstr
(
pRes
));
}
taos_free_result
(
pRes
);
pRes
=
taos_query
(
pConn
,
"create stable st1(ts timestamp, k int) tags(a int)"
);
if
(
taos_errno
(
pRes
)
!=
0
)
{
printf
(
"error in create stable, reason:%s
\n
"
,
taos_errstr
(
pRes
));
}
TAOS_FIELD
*
pFields
=
taos_fetch_fields
(
pRes
);
ASSERT_TRUE
(
pFields
==
NULL
);
int32_t
numOfFields
=
taos_num_fields
(
pRes
);
ASSERT_EQ
(
numOfFields
,
0
);
taos_free_result
(
pRes
);
char
*
sql
=
"select * from st1"
;
tmq_create_topic
(
pConn
,
"test_topic_1"
,
sql
,
strlen
(
sql
));
taos_close
(
pConn
);
}
//TEST(testCase, show_table_Test) {
//TEST(testCase, create_topic_Test) {
// TAOS* pConn = taos_connect("localhost", "root", "taosdata", NULL, 0);
// assert(pConn != NULL);
//
// TAOS_RES* pRes = taos_query(pConn, "use abc1");
// TAOS_RES* pRes = taos_query(pConn, "create database abc1");
// if (taos_errno(pRes) != 0) {
// printf("error in create db, reason:%s\n", taos_errstr(pRes));
// }
// taos_free_result(pRes);
//
// pRes = taos_query(pConn, "use abc1");
// if (taos_errno(pRes) != 0) {
// printf("error in use db, reason:%s\n", taos_errstr(pRes));
// }
// taos_free_result(pRes);
//
// pRes = taos_query(pConn, "show tables");
// pRes = taos_query(pConn, "create stable st1(ts timestamp, k int) tags(a int)");
// if (taos_errno(pRes) != 0) {
// printf("error in create stable, reason:%s\n", taos_errstr(pRes));
// }
//
// TAOS_FIELD* pFields = taos_fetch_fields(pRes);
// ASSERT_TRUE(pFields == NULL);
//
// int32_t numOfFields = taos_num_fields(pRes);
// ASSERT_EQ(numOfFields, 0);
//
// taos_free_result(pRes);
//
// char* sql = "select * from st1";
// tmq_create_topic(pConn, "test_topic_1", sql, strlen(sql));
// taos_close(pConn);
//}
TEST
(
testCase
,
show_table_Test
)
{
TAOS
*
pConn
=
taos_connect
(
"localhost"
,
"root"
,
"taosdata"
,
NULL
,
0
);
assert
(
pConn
!=
NULL
);
TAOS_RES
*
pRes
=
taos_query
(
pConn
,
"use abc1"
);
taos_free_result
(
pRes
);
pRes
=
taos_query
(
pConn
,
"show tables"
);
taos_free_result
(
pRes
);
taos_close
(
pConn
);
}
source/libs/catalog/src/catalog.c
浏览文件 @
a85169a1
...
...
@@ -13,10 +13,10 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "catalogInt.h"
#include "trpc.h"
#include "query.h"
#include "tname.h"
#include "catalogInt.h"
SCatalogMgmt
ctgMgmt
=
{
0
};
...
...
@@ -71,15 +71,14 @@ int32_t ctgGetDBVgroupFromMnode(struct SCatalog* pCatalog, void *pRpc, const SEp
}
int32_t
ctgGetTableMetaFromCache
(
struct
SCatalog
*
pCatalog
,
const
char
*
dbName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
,
int32_t
*
exist
)
{
int32_t
ctgGetTableMetaFromCache
(
struct
SCatalog
*
pCatalog
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
,
int32_t
*
exist
)
{
if
(
NULL
==
pCatalog
->
tableCache
.
cache
)
{
*
exist
=
0
;
return
TSDB_CODE_SUCCESS
;
}
char
tbFullName
[
TSDB_TABLE_FNAME_LEN
];
snprintf
(
tbFullName
,
sizeof
(
tbFullName
),
"%s.%s"
,
dbName
,
pTableName
);
tNameExtractFullName
(
pTableName
,
tbFullName
);
STableMeta
*
tbMeta
=
taosHashGet
(
pCatalog
->
tableCache
.
cache
,
tbFullName
,
strlen
(
tbFullName
));
...
...
@@ -135,14 +134,13 @@ void ctgGenEpSet(SEpSet *epSet, SVgroupInfo *vgroupInfo) {
}
}
int32_t
ctgGetTableMetaFromMnode
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMetaOutput
*
output
)
{
if
(
NULL
==
pCatalog
||
NULL
==
pRpc
||
NULL
==
pMgmtEps
||
NULL
==
p
DBName
||
NULL
==
p
TableName
||
NULL
==
output
)
{
int32_t
ctgGetTableMetaFromMnode
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
STableMetaOutput
*
output
)
{
if
(
NULL
==
pCatalog
||
NULL
==
pRpc
||
NULL
==
pMgmtEps
||
NULL
==
pTableName
||
NULL
==
output
)
{
CTG_ERR_RET
(
TSDB_CODE_CTG_INVALID_INPUT
);
}
char
tbFullName
[
TSDB_TABLE_FNAME_LEN
];
snprintf
(
tbFullName
,
sizeof
(
tbFullName
),
"%s.%s"
,
pDBName
,
pTableName
);
tNameExtractFullName
(
pTableName
,
tbFullName
);
SBuildTableMetaInput
bInput
=
{.
vgId
=
0
,
.
tableFullName
=
tbFullName
};
char
*
msg
=
NULL
;
...
...
@@ -248,10 +246,13 @@ int32_t ctgGetVgInfoFromDB(struct SCatalog *pCatalog, void *pRpc, const SEpSet *
return
TSDB_CODE_SUCCESS
;
}
int32_t
ctgGetVgInfoFromHashValue
(
SDBVgroupInfo
*
dbInfo
,
const
char
*
pDBName
,
const
char
*
pTableName
,
SVgroupInfo
*
pVgroup
)
{
int32_t
ctgGetVgInfoFromHashValue
(
SDBVgroupInfo
*
dbInfo
,
const
SName
*
pTableName
,
SVgroupInfo
*
pVgroup
)
{
int32_t
vgNum
=
taosHashGetSize
(
dbInfo
->
vgInfo
);
char
db
[
TSDB_DB_FNAME_LEN
]
=
{
0
};
tNameGetFullDbName
(
pTableName
,
db
);
if
(
vgNum
<=
0
)
{
ctgError
(
"db[%s] vgroup cache invalid, vgroup number:%d"
,
pDBName
,
vgNum
);
ctgError
(
"db[%s] vgroup cache invalid, vgroup number:%d"
,
db
,
vgNum
);
CTG_ERR_RET
(
TSDB_CODE_TSC_DB_NOT_SELECTED
);
}
...
...
@@ -261,8 +262,7 @@ int32_t ctgGetVgInfoFromHashValue(SDBVgroupInfo *dbInfo, const char *pDBName, co
CTG_ERR_RET
(
ctgGetHashFunction
(
dbInfo
->
hashMethod
,
&
fp
));
char
tbFullName
[
TSDB_TABLE_FNAME_LEN
];
snprintf
(
tbFullName
,
sizeof
(
tbFullName
),
"%s.%s"
,
pDBName
,
pTableName
);
tNameExtractFullName
(
pTableName
,
tbFullName
);
uint32_t
hashValue
=
(
*
fp
)(
tbFullName
,
(
uint32_t
)
strlen
(
tbFullName
));
...
...
@@ -287,24 +287,24 @@ int32_t ctgGetVgInfoFromHashValue(SDBVgroupInfo *dbInfo, const char *pDBName, co
return
TSDB_CODE_SUCCESS
;
}
int32_t
ctgGetTableMetaImpl
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
bool
forceUpdate
,
STableMeta
**
pTableMeta
)
{
if
(
NULL
==
pCatalog
||
NULL
==
p
DBName
||
NULL
==
p
Rpc
||
NULL
==
pMgmtEps
||
NULL
==
pTableName
||
NULL
==
pTableMeta
)
{
int32_t
ctgGetTableMetaImpl
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
bool
forceUpdate
,
STableMeta
**
pTableMeta
)
{
if
(
NULL
==
pCatalog
||
NULL
==
pRpc
||
NULL
==
pMgmtEps
||
NULL
==
pTableName
||
NULL
==
pTableMeta
)
{
CTG_ERR_RET
(
TSDB_CODE_CTG_INVALID_INPUT
);
}
int32_t
exist
=
0
;
if
(
!
forceUpdate
)
{
CTG_ERR_RET
(
ctgGetTableMetaFromCache
(
pCatalog
,
p
DBName
,
p
TableName
,
pTableMeta
,
&
exist
));
CTG_ERR_RET
(
ctgGetTableMetaFromCache
(
pCatalog
,
pTableName
,
pTableMeta
,
&
exist
));
if
(
exist
)
{
return
TSDB_CODE_SUCCESS
;
}
}
CTG_ERR_RET
(
catalogRenewTableMeta
(
pCatalog
,
pRpc
,
pMgmtEps
,
p
DBName
,
p
TableName
));
CTG_ERR_RET
(
catalogRenewTableMeta
(
pCatalog
,
pRpc
,
pMgmtEps
,
pTableName
));
CTG_ERR_RET
(
ctgGetTableMetaFromCache
(
pCatalog
,
p
DBName
,
p
TableName
,
pTableMeta
,
&
exist
));
CTG_ERR_RET
(
ctgGetTableMetaFromCache
(
pCatalog
,
pTableName
,
pTableMeta
,
&
exist
));
if
(
0
==
exist
)
{
ctgError
(
"get table meta from cache failed, but fetch succeed"
);
...
...
@@ -392,7 +392,7 @@ int32_t ctgGetDBVgroup(struct SCatalog* pCatalog, void *pRpc, const SEpSet* pMgm
strncpy
(
input
.
db
,
dbName
,
sizeof
(
input
.
db
));
input
.
db
[
sizeof
(
input
.
db
)
-
1
]
=
0
;
input
.
vgVersion
=
CTG_DEFAULT_INVALID_VERSION
;
CTG_ERR_RET
(
ctgGetDBVgroupFromMnode
(
pCatalog
,
pRpc
,
pMgmtEps
,
&
input
,
&
DbOut
));
CTG_ERR_RET
(
catalogUpdateDBVgroup
(
pCatalog
,
dbName
,
&
DbOut
.
dbVgroup
));
...
...
@@ -413,7 +413,7 @@ int32_t catalogInit(SCatalogCfg *cfg) {
if
(
cfg
)
{
memcpy
(
&
ctgMgmt
.
cfg
,
cfg
,
sizeof
(
*
cfg
));
if
(
ctgMgmt
.
cfg
.
maxDBCacheNum
==
0
)
{
ctgMgmt
.
cfg
.
maxDBCacheNum
=
CTG_DEFAULT_CACHE_DB_NUMBER
;
}
...
...
@@ -502,7 +502,7 @@ int32_t catalogUpdateDBVgroup(struct SCatalog* pCatalog, const char* dbName, SDB
taosHashCleanup
(
oldInfo
->
vgInfo
);
oldInfo
->
vgInfo
=
NULL
;
}
taosHashRemove
(
pCatalog
->
dbCache
.
cache
,
dbName
,
strlen
(
dbName
));
}
...
...
@@ -532,25 +532,25 @@ int32_t catalogUpdateDBVgroup(struct SCatalog* pCatalog, const char* dbName, SDB
return
TSDB_CODE_SUCCESS
;
}
int32_t
catalogGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
)
{
return
ctgGetTableMetaImpl
(
pCatalog
,
pTransporter
,
pMgmtEps
,
p
DBName
,
p
TableName
,
false
,
pTableMeta
);
int32_t
catalogGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
)
{
return
ctgGetTableMetaImpl
(
pCatalog
,
pTransporter
,
pMgmtEps
,
pTableName
,
false
,
pTableMeta
);
}
int32_t
catalogRenewTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
)
{
if
(
NULL
==
pCatalog
||
NULL
==
p
DBName
||
NULL
==
p
Rpc
||
NULL
==
pMgmtEps
||
NULL
==
pTableName
)
{
int32_t
catalogRenewTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
)
{
if
(
NULL
==
pCatalog
||
NULL
==
pRpc
||
NULL
==
pMgmtEps
||
NULL
==
pTableName
)
{
CTG_ERR_RET
(
TSDB_CODE_CTG_INVALID_INPUT
);
}
SVgroupInfo
vgroupInfo
=
{
0
};
int32_t
code
=
0
;
CTG_ERR_RET
(
catalogGetTableHashVgroup
(
pCatalog
,
pRpc
,
pMgmtEps
,
p
DBName
,
p
TableName
,
&
vgroupInfo
));
CTG_ERR_RET
(
catalogGetTableHashVgroup
(
pCatalog
,
pRpc
,
pMgmtEps
,
pTableName
,
&
vgroupInfo
));
STableMetaOutput
output
=
{
0
};
//CTG_ERR_RET(ctgGetTableMetaFromVnode(pCatalog, pRpc, pMgmtEps, pDBName, pTableName, &vgroupInfo, &output));
CTG_ERR_RET
(
ctgGetTableMetaFromMnode
(
pCatalog
,
pRpc
,
pMgmtEps
,
p
DBName
,
p
TableName
,
&
output
));
CTG_ERR_RET
(
ctgGetTableMetaFromMnode
(
pCatalog
,
pRpc
,
pMgmtEps
,
pTableName
,
&
output
));
CTG_ERR_JRET
(
ctgUpdateTableMetaCache
(
pCatalog
,
&
output
));
...
...
@@ -561,12 +561,12 @@ _return:
CTG_RET
(
code
);
}
int32_t
catalogRenewAndGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
)
{
return
ctgGetTableMetaImpl
(
pCatalog
,
pRpc
,
pMgmtEps
,
p
DBName
,
p
TableName
,
true
,
pTableMeta
);
int32_t
catalogRenewAndGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
)
{
return
ctgGetTableMetaImpl
(
pCatalog
,
pRpc
,
pMgmtEps
,
pTableName
,
true
,
pTableMeta
);
}
int32_t
catalogGetTableDistVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
SArray
**
pVgroupList
)
{
if
(
NULL
==
pCatalog
||
NULL
==
pRpc
||
NULL
==
pMgmtEps
||
NULL
==
p
DBName
||
NULL
==
p
TableName
||
NULL
==
pVgroupList
)
{
int32_t
catalogGetTableDistVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
SArray
**
pVgroupList
)
{
if
(
NULL
==
pCatalog
||
NULL
==
pRpc
||
NULL
==
pMgmtEps
||
NULL
==
pTableName
||
NULL
==
pVgroupList
)
{
CTG_ERR_RET
(
TSDB_CODE_CTG_INVALID_INPUT
);
}
...
...
@@ -575,9 +575,11 @@ int32_t catalogGetTableDistVgroup(struct SCatalog* pCatalog, void *pRpc, const S
SVgroupInfo
vgroupInfo
=
{
0
};
SDBVgroupInfo
dbVgroup
=
{
0
};
CTG_ERR_JRET
(
catalogGetTableMeta
(
pCatalog
,
pRpc
,
pMgmtEps
,
p
DBName
,
p
TableName
,
&
tbMeta
));
CTG_ERR_JRET
(
catalogGetTableMeta
(
pCatalog
,
pRpc
,
pMgmtEps
,
pTableName
,
&
tbMeta
));
CTG_ERR_JRET
(
ctgGetDBVgroup
(
pCatalog
,
pRpc
,
pMgmtEps
,
pDBName
,
false
,
&
dbVgroup
));
char
db
[
TSDB_DB_FNAME_LEN
]
=
{
0
};
tNameGetFullDbName
(
pTableName
,
db
);
CTG_ERR_JRET
(
ctgGetDBVgroup
(
pCatalog
,
pRpc
,
pMgmtEps
,
db
,
false
,
&
dbVgroup
));
if
(
tbMeta
->
tableType
==
TSDB_SUPER_TABLE
)
{
CTG_ERR_JRET
(
ctgGetVgInfoFromDB
(
pCatalog
,
pRpc
,
pMgmtEps
,
&
dbVgroup
,
pVgroupList
));
...
...
@@ -601,32 +603,30 @@ int32_t catalogGetTableDistVgroup(struct SCatalog* pCatalog, void *pRpc, const S
}
tfree
(
tbMeta
);
return
TSDB_CODE_SUCCESS
;
_return:
tfree
(
tbMeta
);
taosArrayDestroy
(
*
pVgroupList
);
*
pVgroupList
=
NULL
;
CTG_RET
(
code
);
}
int32_t
catalogGetTableHashVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
SVgroupInfo
*
pVgroup
)
{
int32_t
catalogGetTableHashVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pTransporter
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
SVgroupInfo
*
pVgroup
)
{
SDBVgroupInfo
dbInfo
=
{
0
};
int32_t
code
=
0
;
int32_t
vgId
=
0
;
CTG_ERR_RET
(
ctgGetDBVgroup
(
pCatalog
,
pTransporter
,
pMgmtEps
,
pDBName
,
false
,
&
dbInfo
));
char
db
[
TSDB_DB_FNAME_LEN
]
=
{
0
};
tNameGetFullDbName
(
pTableName
,
db
);
CTG_ERR_RET
(
ctgGetDBVgroup
(
pCatalog
,
pTransporter
,
pMgmtEps
,
db
,
false
,
&
dbInfo
));
if
(
dbInfo
.
vgVersion
<
0
||
NULL
==
dbInfo
.
vgInfo
)
{
ctgError
(
"db[%s] vgroup cache invalid, vgroup version:%d, vgInfo:%p"
,
pDBName
,
dbInfo
.
vgVersion
,
dbInfo
.
vgInfo
);
ctgError
(
"db[%s] vgroup cache invalid, vgroup version:%d, vgInfo:%p"
,
db
,
dbInfo
.
vgVersion
,
dbInfo
.
vgInfo
);
CTG_ERR_RET
(
TSDB_CODE_TSC_DB_NOT_SELECTED
);
}
CTG_ERR_RET
(
ctgGetVgInfoFromHashValue
(
&
dbInfo
,
p
DBName
,
p
TableName
,
pVgroup
));
CTG_ERR_RET
(
ctgGetVgInfoFromHashValue
(
&
dbInfo
,
pTableName
,
pVgroup
));
CTG_RET
(
code
);
}
...
...
@@ -640,13 +640,12 @@ int32_t catalogGetAllMeta(struct SCatalog* pCatalog, void *pRpc, const SEpSet* p
int32_t
code
=
0
;
if
(
pReq
->
pTableName
)
{
char
dbName
[
TSDB_DB_FNAME_LEN
];
int32_t
tbNum
=
(
int32_t
)
taosArrayGetSize
(
pReq
->
pTableName
);
if
(
tbNum
<=
0
)
{
ctgError
(
"empty table name list"
);
CTG_ERR_RET
(
TSDB_CODE_CTG_INVALID_INPUT
);
}
pRsp
->
pTableMeta
=
taosArrayInit
(
tbNum
,
POINTER_BYTES
);
if
(
NULL
==
pRsp
->
pTableMeta
)
{
ctgError
(
"taosArrayInit num[%d] failed"
,
tbNum
);
...
...
@@ -657,9 +656,7 @@ int32_t catalogGetAllMeta(struct SCatalog* pCatalog, void *pRpc, const SEpSet* p
SName
*
name
=
taosArrayGet
(
pReq
->
pTableName
,
i
);
STableMeta
*
pTableMeta
=
NULL
;
snprintf
(
dbName
,
sizeof
(
dbName
),
"%d.%s"
,
name
->
acctId
,
name
->
dbname
);
CTG_ERR_JRET
(
catalogGetTableMeta
(
pCatalog
,
pRpc
,
pMgmtEps
,
dbName
,
name
->
tname
,
&
pTableMeta
));
CTG_ERR_JRET
(
catalogGetTableMeta
(
pCatalog
,
pRpc
,
pMgmtEps
,
name
,
&
pTableMeta
));
if
(
NULL
==
taosArrayPush
(
pRsp
->
pTableMeta
,
&
pTableMeta
))
{
ctgError
(
"taosArrayPush failed, idx:%d"
,
i
);
...
...
source/libs/catalog/test/catalogTests.cpp
浏览文件 @
a85169a1
...
...
@@ -388,7 +388,11 @@ TEST(tableMeta, normalTable) {
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
code
=
catalogGetTableHashVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestTablename
,
&
vgInfo
);
SName
n
=
{.
type
=
T_NAME_TABLE
,
.
acctId
=
1
};
strcpy
(
n
.
dbname
,
"db1"
);
strcpy
(
n
.
tname
,
ctgTestTablename
);
code
=
catalogGetTableHashVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
vgInfo
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
vgInfo
.
vgId
,
8
);
ASSERT_EQ
(
vgInfo
.
numOfEps
,
3
);
...
...
@@ -396,7 +400,7 @@ TEST(tableMeta, normalTable) {
ctgTestSetPrepareTableMeta
();
STableMeta
*
tableMeta
=
NULL
;
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestTablename
,
&
tableMeta
);
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
8
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_NORMAL_TABLE
);
...
...
@@ -408,7 +412,7 @@ TEST(tableMeta, normalTable) {
ASSERT_EQ
(
tableMeta
->
tableInfo
.
rowSize
,
12
);
tableMeta
=
NULL
;
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestTablename
,
&
tableMeta
);
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
8
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_NORMAL_TABLE
);
...
...
@@ -433,14 +437,15 @@ TEST(tableMeta, childTableCase) {
//sendCreateDbMsg(pConn->pTransporter, &pConn->pAppInfo->mgmtEp.epSet);
int32_t
code
=
catalog
Init
(
NULL
);
int32_t
code
=
catalog
GetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
SName
n
=
{.
type
=
T_NAME_TABLE
,
.
acctId
=
1
};
strcpy
(
n
.
dbname
,
"db1"
);
strcpy
(
n
.
tname
,
ctgTestCTablename
);
STableMeta
*
tableMeta
=
NULL
;
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestCTablename
,
&
tableMeta
);
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
9
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_CHILD_TABLE
);
...
...
@@ -452,7 +457,7 @@ TEST(tableMeta, childTableCase) {
ASSERT_EQ
(
tableMeta
->
tableInfo
.
rowSize
,
12
);
tableMeta
=
NULL
;
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestCTablename
,
&
tableMeta
);
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
9
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_CHILD_TABLE
);
...
...
@@ -464,7 +469,9 @@ TEST(tableMeta, childTableCase) {
ASSERT_EQ
(
tableMeta
->
tableInfo
.
rowSize
,
12
);
tableMeta
=
NULL
;
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestSTablename
,
&
tableMeta
);
strcpy
(
n
.
tname
,
ctgTestSTablename
);
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
0
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_SUPER_TABLE
);
...
...
@@ -488,15 +495,15 @@ TEST(tableMeta, superTableCase) {
initQueryModuleMsgHandle
();
//sendCreateDbMsg(pConn->pTransporter, &pConn->pAppInfo->mgmtEp.epSet);
int32_t
code
=
catalogInit
(
NULL
);
int32_t
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
SName
n
=
{.
type
=
T_NAME_TABLE
,
.
acctId
=
1
};
strcpy
(
n
.
dbname
,
"db1"
);
strcpy
(
n
.
tname
,
ctgTestSTablename
);
STableMeta
*
tableMeta
=
NULL
;
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestSTablename
,
&
tableMeta
);
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
0
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_SUPER_TABLE
);
...
...
@@ -510,7 +517,10 @@ TEST(tableMeta, superTableCase) {
ctgTestSetPrepareCTableMeta
();
tableMeta
=
NULL
;
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestCTablename
,
&
tableMeta
);
strcpy
(
n
.
dbname
,
"db1"
);
strcpy
(
n
.
tname
,
ctgTestCTablename
);
code
=
catalogGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
9
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_CHILD_TABLE
);
...
...
@@ -522,7 +532,7 @@ TEST(tableMeta, superTableCase) {
ASSERT_EQ
(
tableMeta
->
tableInfo
.
rowSize
,
12
);
tableMeta
=
NULL
;
code
=
catalogRenewAndGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestCTablename
,
&
tableMeta
);
code
=
catalogRenewAndGetTableMeta
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
tableMeta
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
tableMeta
->
vgId
,
9
);
ASSERT_EQ
(
tableMeta
->
tableType
,
TSDB_CHILD_TABLE
);
...
...
@@ -550,14 +560,14 @@ TEST(tableDistVgroup, normalTable) {
//sendCreateDbMsg(pConn->pTransporter, &pConn->pAppInfo->mgmtEp.epSet);
int32_t
code
=
catalog
Init
(
NULL
);
int32_t
code
=
catalog
GetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
SName
n
=
{.
type
=
T_NAME_TABLE
,
.
acctId
=
1
};
strcpy
(
n
.
dbname
,
"db1"
);
strcpy
(
n
.
tname
,
ctgTestTablename
);
code
=
catalogGetTableDistVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestTablename
,
&
vgList
);
code
=
catalogGetTableDistVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
vgList
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
taosArrayGetSize
((
const
SArray
*
)
vgList
),
1
);
vgInfo
=
(
SVgroupInfo
*
)
taosArrayGet
(
vgList
,
0
);
...
...
@@ -585,7 +595,11 @@ TEST(tableDistVgroup, childTableCase) {
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
code
=
catalogGetTableDistVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestCTablename
,
&
vgList
);
SName
n
=
{.
type
=
T_NAME_TABLE
,
.
acctId
=
1
};
strcpy
(
n
.
dbname
,
"db1"
);
strcpy
(
n
.
tname
,
ctgTestCTablename
);
code
=
catalogGetTableDistVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
vgList
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
taosArrayGetSize
((
const
SArray
*
)
vgList
),
1
);
vgInfo
=
(
SVgroupInfo
*
)
taosArrayGet
(
vgList
,
0
);
...
...
@@ -607,14 +621,14 @@ TEST(tableDistVgroup, superTableCase) {
initQueryModuleMsgHandle
();
//sendCreateDbMsg(pConn->pTransporter, &pConn->pAppInfo->mgmtEp.epSet);
int32_t
code
=
catalogInit
(
NULL
);
int32_t
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
code
=
catalogGetHandle
(
ctgTestClusterId
,
&
pCtg
);
ASSERT_EQ
(
code
,
0
);
SName
n
=
{.
type
=
T_NAME_TABLE
,
.
acctId
=
1
};
strcpy
(
n
.
dbname
,
"db1"
);
strcpy
(
n
.
tname
,
ctgTestSTablename
);
code
=
catalogGetTableDistVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
ctgTestDbname
,
ctgTestSTablename
,
&
vgList
);
code
=
catalogGetTableDistVgroup
(
pCtg
,
mockPointer
,
(
const
SEpSet
*
)
mockPointer
,
&
n
,
&
vgList
);
ASSERT_EQ
(
code
,
0
);
ASSERT_EQ
(
taosArrayGetSize
((
const
SArray
*
)
vgList
),
10
);
vgInfo
=
(
SVgroupInfo
*
)
taosArrayGet
(
vgList
,
0
);
...
...
source/libs/parser/inc/astGenerator.h
浏览文件 @
a85169a1
...
...
@@ -156,7 +156,7 @@ typedef struct SCreateDbInfo {
SToken
dbname
;
int32_t
replica
;
int32_t
cacheBlockSize
;
int32_t
maxTablesPerVnode
;
int32_t
numOfVgroups
;
int32_t
numOfBlocks
;
int32_t
daysPerFile
;
int32_t
minRowsPerBlock
;
...
...
source/libs/parser/inc/astToMsg.h
浏览文件 @
a85169a1
...
...
@@ -4,7 +4,6 @@
#include "parserInt.h"
#include "tmsg.h"
int32_t
createSName
(
SName
*
pName
,
SToken
*
pTableName
,
SParseBasicCtx
*
pParseCtx
,
SMsgBuf
*
pMsgBuf
);
SCreateUserMsg
*
buildUserManipulationMsg
(
SSqlInfo
*
pInfo
,
int32_t
*
outputLen
,
int64_t
id
,
char
*
msgBuf
,
int32_t
msgLen
);
SCreateAcctMsg
*
buildAcctManipulationMsg
(
SSqlInfo
*
pInfo
,
int32_t
*
outputLen
,
int64_t
id
,
char
*
msgBuf
,
int32_t
msgLen
);
...
...
source/libs/parser/inc/parserUtil.h
浏览文件 @
a85169a1
...
...
@@ -81,6 +81,8 @@ int32_t KvRowAppend(const void *value, int32_t len, void *param);
typedef
int32_t
(
*
_row_append_fn_t
)(
const
void
*
value
,
int32_t
len
,
void
*
param
);
int32_t
parseValueToken
(
char
**
end
,
SToken
*
pToken
,
SSchema
*
pSchema
,
int16_t
timePrec
,
char
*
tmpTokenBuf
,
_row_append_fn_t
func
,
void
*
param
,
SMsgBuf
*
pMsgBuf
);
int32_t
createSName
(
SName
*
pName
,
SToken
*
pTableName
,
SParseBasicCtx
*
pParseCtx
,
SMsgBuf
*
pMsgBuf
);
#ifdef __cplusplus
}
#endif
...
...
source/libs/parser/inc/sql.y
浏览文件 @
a85169a1
...
...
@@ -280,6 +280,7 @@ comp(Y) ::= COMP INTEGER(X). { Y = X; }
prec(Y) ::= PRECISION STRING(X). { Y = X; }
update(Y) ::= UPDATE INTEGER(X). { Y = X; }
cachelast(Y) ::= CACHELAST INTEGER(X). { Y = X; }
vgroups(Y) ::= VGROUPS INTEGER(X). { Y = X; }
//partitions(Y) ::= PARTITIONS INTEGER(X). { Y = X; }
%type db_optr {SCreateDbInfo}
...
...
@@ -300,6 +301,7 @@ db_optr(Y) ::= db_optr(Z) prec(X). { Y = Z; Y.precision = X; }
db_optr(Y) ::= db_optr(Z) keep(X). { Y = Z; Y.keep = X; }
db_optr(Y) ::= db_optr(Z) update(X). { Y = Z; Y.update = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) cachelast(X). { Y = Z; Y.cachelast = strtol(X.z, NULL, 10); }
db_optr(Y) ::= db_optr(Z) vgroups(X). { Y = Z; Y.numOfVgroups = strtol(X.z, NULL, 10); }
//%type topic_optr {SCreateDbInfo}
//
...
...
source/libs/parser/src/astGenerator.c
浏览文件 @
a85169a1
...
...
@@ -13,11 +13,12 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "astGenerator.h"
#include <parserInt.h>
#include "os.h"
#include "taos.h"
#include "tmsg.h"
#include "parserInt.h"
#include "tmsgtype.h"
#include "astGenerator.h"
SArray
*
tListItemAppend
(
SArray
*
pList
,
SVariant
*
pVar
,
uint8_t
sortOrder
)
{
if
(
pList
==
NULL
)
{
...
...
@@ -947,25 +948,21 @@ void setCompactVnodeSql(SSqlInfo *pInfo, int32_t type, SArray *pParam) {
}
void
setDefaultCreateDbOption
(
SCreateDbInfo
*
pDBInfo
)
{
pDBInfo
->
compressionLevel
=
-
1
;
pDBInfo
->
walLevel
=
-
1
;
pDBInfo
->
fsyncPeriod
=
-
1
;
pDBInfo
->
commitTime
=
-
1
;
pDBInfo
->
maxTablesPerVnode
=
-
1
;
pDBInfo
->
compressionLevel
=
-
1
;
pDBInfo
->
walLevel
=
-
1
;
pDBInfo
->
fsyncPeriod
=
-
1
;
pDBInfo
->
commitTime
=
-
1
;
pDBInfo
->
numOfVgroups
=
2
;
pDBInfo
->
cacheBlockSize
=
-
1
;
pDBInfo
->
numOfBlocks
=
-
1
;
pDBInfo
->
maxRowsPerBlock
=
-
1
;
pDBInfo
->
minRowsPerBlock
=
-
1
;
pDBInfo
->
daysPerFile
=
-
1
;
pDBInfo
->
replica
=
-
1
;
pDBInfo
->
quorum
=
-
1
;
pDBInfo
->
keep
=
NULL
;
pDBInfo
->
update
=
-
1
;
pDBInfo
->
cachelast
=
-
1
;
pDBInfo
->
replica
=
-
1
;
pDBInfo
->
quorum
=
-
1
;
pDBInfo
->
keep
=
NULL
;
pDBInfo
->
update
=
-
1
;
pDBInfo
->
cachelast
=
-
1
;
memset
(
&
pDBInfo
->
precision
,
0
,
sizeof
(
SToken
));
}
...
...
source/libs/parser/src/astToMsg.c
浏览文件 @
a85169a1
...
...
@@ -182,19 +182,20 @@ static int32_t setTimePrecision(SCreateDbMsg* pMsg, const SCreateDbInfo* pCreate
static
void
doSetDbOptions
(
SCreateDbMsg
*
pMsg
,
const
SCreateDbInfo
*
pCreateDb
)
{
pMsg
->
cacheBlockSize
=
htonl
(
pCreateDb
->
cacheBlockSize
);
pMsg
->
totalBlocks
=
htonl
(
pCreateDb
->
numOfBlocks
);
pMsg
->
daysPerFile
=
htonl
(
pCreateDb
->
daysPerFile
);
pMsg
->
commitTime
=
htonl
((
int32_t
)
pCreateDb
->
commitTime
);
pMsg
->
minRows
=
htonl
(
pCreateDb
->
minRowsPerBlock
);
pMsg
->
maxRows
=
htonl
(
pCreateDb
->
maxRowsPerBlock
);
pMsg
->
fsyncPeriod
=
htonl
(
pCreateDb
->
fsyncPeriod
);
pMsg
->
compression
=
pCreateDb
->
compressionLevel
;
pMsg
->
walLevel
=
(
char
)
pCreateDb
->
walLevel
;
pMsg
->
replications
=
pCreateDb
->
replica
;
pMsg
->
quorum
=
pCreateDb
->
quorum
;
pMsg
->
ignoreExist
=
pCreateDb
->
ignoreExists
;
pMsg
->
update
=
pCreateDb
->
update
;
pMsg
->
cacheLastRow
=
pCreateDb
->
cachelast
;
pMsg
->
totalBlocks
=
htonl
(
pCreateDb
->
numOfBlocks
);
pMsg
->
daysPerFile
=
htonl
(
pCreateDb
->
daysPerFile
);
pMsg
->
commitTime
=
htonl
((
int32_t
)
pCreateDb
->
commitTime
);
pMsg
->
minRows
=
htonl
(
pCreateDb
->
minRowsPerBlock
);
pMsg
->
maxRows
=
htonl
(
pCreateDb
->
maxRowsPerBlock
);
pMsg
->
fsyncPeriod
=
htonl
(
pCreateDb
->
fsyncPeriod
);
pMsg
->
compression
=
(
int8_t
)
pCreateDb
->
compressionLevel
;
pMsg
->
walLevel
=
(
char
)
pCreateDb
->
walLevel
;
pMsg
->
replications
=
pCreateDb
->
replica
;
pMsg
->
quorum
=
pCreateDb
->
quorum
;
pMsg
->
ignoreExist
=
pCreateDb
->
ignoreExists
;
pMsg
->
update
=
pCreateDb
->
update
;
pMsg
->
cacheLastRow
=
pCreateDb
->
cachelast
;
pMsg
->
numOfVgroups
=
htonl
(
pCreateDb
->
numOfVgroups
);
}
int32_t
setDbOptions
(
SCreateDbMsg
*
pCreateDbMsg
,
const
SCreateDbInfo
*
pCreateDbSql
,
SMsgBuf
*
pMsgBuf
)
{
...
...
@@ -208,8 +209,6 @@ int32_t setDbOptions(SCreateDbMsg* pCreateDbMsg, const SCreateDbInfo* pCreateDbS
return
TSDB_CODE_TSC_INVALID_OPERATION
;
}
// todo configurable
pCreateDbMsg
->
numOfVgroups
=
htonl
(
2
);
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -233,45 +232,6 @@ SCreateDbMsg* buildCreateDbMsg(SCreateDbInfo* pCreateDbInfo, SParseBasicCtx *pCt
return
pCreateMsg
;
}
int32_t
createSName
(
SName
*
pName
,
SToken
*
pTableName
,
SParseBasicCtx
*
pParseCtx
,
SMsgBuf
*
pMsgBuf
)
{
const
char
*
msg1
=
"name too long"
;
const
char
*
msg2
=
"acctId too long"
;
int32_t
code
=
TSDB_CODE_SUCCESS
;
char
*
p
=
strnchr
(
pTableName
->
z
,
TS_PATH_DELIMITER
[
0
],
pTableName
->
n
,
false
);
if
(
p
!=
NULL
)
{
// db has been specified in sql string so we ignore current db path
code
=
tNameSetAcctId
(
pName
,
pParseCtx
->
acctId
);
if
(
code
!=
0
)
{
return
buildInvalidOperationMsg
(
pMsgBuf
,
msg2
);
}
char
name
[
TSDB_TABLE_FNAME_LEN
]
=
{
0
};
strncpy
(
name
,
pTableName
->
z
,
pTableName
->
n
);
code
=
tNameFromString
(
pName
,
name
,
T_NAME_DB
|
T_NAME_TABLE
);
if
(
code
!=
0
)
{
return
buildInvalidOperationMsg
(
pMsgBuf
,
msg1
);
}
}
else
{
// get current DB name first, and then set it into path
if
(
pTableName
->
n
>=
TSDB_TABLE_NAME_LEN
)
{
return
buildInvalidOperationMsg
(
pMsgBuf
,
msg1
);
}
tNameSetDbName
(
pName
,
pParseCtx
->
acctId
,
pParseCtx
->
db
,
strlen
(
pParseCtx
->
db
));
char
name
[
TSDB_TABLE_FNAME_LEN
]
=
{
0
};
strncpy
(
name
,
pTableName
->
z
,
pTableName
->
n
);
code
=
tNameFromString
(
pName
,
name
,
T_NAME_TABLE
);
if
(
code
!=
0
)
{
code
=
buildInvalidOperationMsg
(
pMsgBuf
,
msg1
);
}
}
return
code
;
}
SCreateStbMsg
*
buildCreateTableMsg
(
SCreateTableSql
*
pCreateTableSql
,
int32_t
*
len
,
SParseBasicCtx
*
pParseCtx
,
SMsgBuf
*
pMsgBuf
)
{
SSchema
*
pSchema
;
...
...
source/libs/parser/src/dCDAstProcess.c
浏览文件 @
a85169a1
...
...
@@ -157,6 +157,12 @@ static int32_t doCheckDbOptions(SCreateDbMsg* pCreate, SMsgBuf* pMsgBuf) {
return
buildInvalidOperationMsg
(
pMsgBuf
,
msg
);
}
val
=
htonl
(
pCreate
->
numOfVgroups
);
if
(
val
<
TSDB_MIN_VNODES_PER_DB
||
val
>
TSDB_MAX_VNODES_PER_DB
)
{
snprintf
(
msg
,
tListLen
(
msg
),
"invalid number of vgroups for DB:%d valid range: [%d, %d]"
,
val
,
TSDB_MIN_VNODES_PER_DB
,
TSDB_MAX_VNODES_PER_DB
);
}
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -316,16 +322,12 @@ int32_t doCheckForCreateCTable(SSqlInfo* pInfo, SParseBasicCtx* pCtx, SMsgBuf* p
return
code
;
}
const
char
*
pStableName
=
tNameGetTableName
(
&
name
);
SArray
*
pValList
=
pCreateTableInfo
->
pTagVals
;
SArray
*
pValList
=
pCreateTableInfo
->
pTagVals
;
size_t
numOfInputTag
=
taosArrayGetSize
(
pValList
);
STableMeta
*
pSuperTableMeta
=
NULL
;
char
dbName
[
TSDB_DB_FNAME_LEN
]
=
{
0
};
tNameGetFullDbName
(
&
name
,
dbName
);
catalogGetTableMeta
(
pCtx
->
pCatalog
,
pCtx
->
pTransporter
,
&
pCtx
->
mgmtEpSet
,
dbName
,
pStableName
,
&
pSuperTableMeta
);
catalogGetTableMeta
(
pCtx
->
pCatalog
,
pCtx
->
pTransporter
,
&
pCtx
->
mgmtEpSet
,
&
name
,
&
pSuperTableMeta
);
assert
(
pSuperTableMeta
!=
NULL
);
// too long tag values will return invalid sql, not be truncated automatically
...
...
@@ -488,7 +490,7 @@ int32_t doCheckForCreateCTable(SSqlInfo* pInfo, SParseBasicCtx* pCtx, SMsgBuf* p
*
len
=
serLen
;
SVgroupInfo
info
=
{
0
};
catalogGetTableHashVgroup
(
pCtx
->
pCatalog
,
pCtx
->
pTransporter
,
&
pCtx
->
mgmtEpSet
,
dbName
,
req
.
n
ame
,
&
info
);
catalogGetTableHashVgroup
(
pCtx
->
pCatalog
,
pCtx
->
pTransporter
,
&
pCtx
->
mgmtEpSet
,
&
tableN
ame
,
&
info
);
pEpSet
->
inUse
=
info
.
inUse
;
pEpSet
->
numOfEps
=
info
.
numOfEps
;
...
...
@@ -496,6 +498,7 @@ int32_t doCheckForCreateCTable(SSqlInfo* pInfo, SParseBasicCtx* pCtx, SMsgBuf* p
pEpSet
->
port
[
i
]
=
info
.
epAddr
[
i
].
port
;
tstrncpy
(
pEpSet
->
fqdn
[
i
],
info
.
epAddr
[
i
].
fqdn
,
tListLen
(
pEpSet
->
fqdn
[
i
]));
}
((
SMsgHead
*
)(
*
pOutput
))
->
vgId
=
htonl
(
info
.
vgId
);
((
SMsgHead
*
)(
*
pOutput
))
->
contLen
=
htonl
(
serLen
);
}
...
...
source/libs/parser/src/insertParser.c
浏览文件 @
a85169a1
...
...
@@ -154,12 +154,17 @@ static int32_t buildName(SInsertParseContext* pCxt, SToken* pStname, char* fullD
}
static
int32_t
getTableMeta
(
SInsertParseContext
*
pCxt
,
SToken
*
pTname
)
{
char
fullDbName
[
TSDB_DB_FNAME_LEN
]
=
{
0
};
char
tableName
[
TSDB_TABLE_NAME_LEN
]
=
{
0
};
CHECK_CODE
(
buildName
(
pCxt
,
pTname
,
fullDbName
,
tableName
));
CHECK_CODE
(
catalogGetTableMeta
(
pCxt
->
pComCxt
->
ctx
.
pCatalog
,
pCxt
->
pComCxt
->
ctx
.
pTransporter
,
&
pCxt
->
pComCxt
->
ctx
.
mgmtEpSet
,
fullDbName
,
tableName
,
&
pCxt
->
pTableMeta
));
SName
name
=
{
0
};
createSName
(
&
name
,
pTname
,
&
pCxt
->
pComCxt
->
ctx
,
&
pCxt
->
msg
);
char
tableName
[
TSDB_TABLE_FNAME_LEN
]
=
{
0
};
tNameExtractFullName
(
&
name
,
tableName
);
SParseBasicCtx
*
pBasicCtx
=
&
pCxt
->
pComCxt
->
ctx
;
CHECK_CODE
(
catalogGetTableMeta
(
pBasicCtx
->
pCatalog
,
pBasicCtx
->
pTransporter
,
&
pBasicCtx
->
mgmtEpSet
,
&
name
,
&
pCxt
->
pTableMeta
));
SVgroupInfo
vg
;
CHECK_CODE
(
catalogGetTableHashVgroup
(
p
Cxt
->
pComCxt
->
ctx
.
pCatalog
,
pCxt
->
pComCxt
->
ctx
.
pTransporter
,
&
pCxt
->
pComCxt
->
ctx
.
mgmtEpSet
,
fullDbName
,
tableN
ame
,
&
vg
));
CHECK_CODE
(
catalogGetTableHashVgroup
(
p
BasicCtx
->
pCatalog
,
pBasicCtx
->
pTransporter
,
&
pBasicCtx
->
mgmtEpSet
,
&
n
ame
,
&
vg
));
CHECK_CODE
(
taosHashPut
(
pCxt
->
pVgroupsHashObj
,
(
const
char
*
)
&
vg
.
vgId
,
sizeof
(
vg
.
vgId
),
(
char
*
)
&
vg
,
sizeof
(
vg
)));
return
TSDB_CODE_SUCCESS
;
}
...
...
source/libs/parser/src/parserUtil.c
浏览文件 @
a85169a1
...
...
@@ -1946,4 +1946,39 @@ int32_t KvRowAppend(const void *value, int32_t len, void *param) {
}
return
TSDB_CODE_SUCCESS
;
}
\ No newline at end of file
}
int32_t
createSName
(
SName
*
pName
,
SToken
*
pTableName
,
SParseBasicCtx
*
pParseCtx
,
SMsgBuf
*
pMsgBuf
)
{
const
char
*
msg1
=
"name too long"
;
int32_t
code
=
TSDB_CODE_SUCCESS
;
char
*
p
=
strnchr
(
pTableName
->
z
,
TS_PATH_DELIMITER
[
0
],
pTableName
->
n
,
false
);
if
(
p
!=
NULL
)
{
// db has been specified in sql string so we ignore current db path
tNameSetAcctId
(
pName
,
pParseCtx
->
acctId
);
char
name
[
TSDB_TABLE_FNAME_LEN
]
=
{
0
};
strncpy
(
name
,
pTableName
->
z
,
pTableName
->
n
);
code
=
tNameFromString
(
pName
,
name
,
T_NAME_DB
|
T_NAME_TABLE
);
if
(
code
!=
0
)
{
return
buildInvalidOperationMsg
(
pMsgBuf
,
msg1
);
}
}
else
{
// get current DB name first, and then set it into path
if
(
pTableName
->
n
>=
TSDB_TABLE_NAME_LEN
)
{
return
buildInvalidOperationMsg
(
pMsgBuf
,
msg1
);
}
tNameSetDbName
(
pName
,
pParseCtx
->
acctId
,
pParseCtx
->
db
,
strlen
(
pParseCtx
->
db
));
char
name
[
TSDB_TABLE_FNAME_LEN
]
=
{
0
};
strncpy
(
name
,
pTableName
->
z
,
pTableName
->
n
);
code
=
tNameFromString
(
pName
,
name
,
T_NAME_TABLE
);
if
(
code
!=
0
)
{
code
=
buildInvalidOperationMsg
(
pMsgBuf
,
msg1
);
}
}
return
code
;
}
source/libs/parser/src/sql.c
浏览文件 @
a85169a1
...
...
@@ -97,30 +97,30 @@
#endif
/************* Begin control #defines *****************************************/
#define YYCODETYPE unsigned short int
#define YYNOCODE 27
3
#define YYNOCODE 27
4
#define YYACTIONTYPE unsigned short int
#define ParseTOKENTYPE SToken
typedef
union
{
int
yyinit
;
ParseTOKENTYPE
yy0
;
S
SqlNode
*
yy24
;
int
yy6
0
;
S
Subclause
*
yy129
;
SIntervalVal
yy13
6
;
int
64_t
yy15
7
;
S
CreateAcctInfo
yy171
;
S
SessionWindowVal
yy251
;
SCreate
DbInfo
yy254
;
S
WindowStateVal
yy256
;
SField
yy280
;
SRelationInfo
*
yy292
;
tSqlExpr
*
yy370
;
S
Array
*
yy413
;
SCreateTableSql
*
yy
438
;
S
Variant
yy461
;
S
Limit
yy503
;
int32_t
yy516
;
S
CreatedTableInfo
yy544
;
S
WindowStateVal
yy6
;
SRelationInfo
*
yy1
0
;
S
CreateDbInfo
yy16
;
int32_t
yy4
6
;
int
yy4
7
;
S
SessionWindowVal
yy97
;
S
Field
yy106
;
SCreate
dTableInfo
yy150
;
S
Array
*
yy165
;
tSqlExpr
*
yy202
;
int64_t
yy207
;
SCreateAcctInfo
yy211
;
S
SqlNode
*
yy278
;
SCreateTableSql
*
yy
326
;
S
Limit
yy367
;
S
Variant
yy425
;
SSubclause
*
yy503
;
S
IntervalVal
yy532
;
}
YYMINORTYPE
;
#ifndef YYSTACKDEPTH
#define YYSTACKDEPTH 100
...
...
@@ -130,17 +130,17 @@ typedef union {
#define ParseARG_FETCH SSqlInfo* pInfo = yypParser->pInfo
#define ParseARG_STORE yypParser->pInfo = pInfo
#define YYFALLBACK 1
#define YYNSTATE 36
5
#define YYNRULE 30
1
#define YYNSTATE 36
6
#define YYNRULE 30
3
#define YYNTOKEN 191
#define YY_MAX_SHIFT 36
4
#define YY_MIN_SHIFTREDUCE 58
4
#define YY_MAX_SHIFTREDUCE 88
4
#define YY_ERROR_ACTION 8
85
#define YY_ACCEPT_ACTION 8
86
#define YY_NO_ACTION 8
87
#define YY_MIN_REDUCE 8
88
#define YY_MAX_REDUCE 11
88
#define YY_MAX_SHIFT 36
5
#define YY_MIN_SHIFTREDUCE 58
7
#define YY_MAX_SHIFTREDUCE 88
9
#define YY_ERROR_ACTION 8
90
#define YY_ACCEPT_ACTION 8
91
#define YY_NO_ACTION 8
92
#define YY_MIN_REDUCE 8
93
#define YY_MAX_REDUCE 11
95
/************* End control #defines *******************************************/
/* Define the yytestcase() macro to be a no-op if is not already defined
...
...
@@ -206,292 +206,294 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (7
79
)
#define YY_ACTTAB_COUNT (7
82
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
1073
,
635
,
155
,
363
,
230
,
636
,
671
,
55
,
56
,
635
,
/* 10 */
59
,
60
,
1032
,
636
,
252
,
49
,
48
,
47
,
162
,
58
,
/* 20 */
322
,
63
,
61
,
64
,
62
,
236
,
1050
,
242
,
206
,
54
,
/* 30 */
53
,
1038
,
635
,
52
,
51
,
50
,
636
,
55
,
56
,
1164
,
/* 40 */
59
,
60
,
936
,
1063
,
252
,
49
,
48
,
47
,
188
,
58
,
/* 50 */
322
,
63
,
61
,
64
,
62
,
1010
,
243
,
1008
,
1009
,
54
,
/* 60 */
53
,
233
,
1011
,
52
,
51
,
50
,
1012
,
1070
,
1013
,
1014
,
/* 70 */
280
,
279
,
947
,
55
,
56
,
246
,
59
,
60
,
188
,
1038
,
/* 80 */
252
,
49
,
48
,
47
,
81
,
58
,
322
,
63
,
61
,
64
,
/* 90 */
62
,
320
,
1112
,
99
,
292
,
54
,
53
,
352
,
635
,
52
,
/* 100 */
51
,
50
,
636
,
55
,
57
,
261
,
59
,
60
,
318
,
821
,
/* 110 */
252
,
49
,
48
,
47
,
176
,
58
,
322
,
63
,
61
,
64
,
/* 120 */
62
,
42
,
249
,
358
,
357
,
54
,
53
,
1026
,
356
,
52
,
/* 130 */
51
,
50
,
355
,
87
,
354
,
353
,
886
,
364
,
585
,
586
,
/* 140 */
587
,
588
,
589
,
590
,
591
,
592
,
593
,
594
,
595
,
596
,
/* 150 */
597
,
598
,
153
,
56
,
231
,
59
,
60
,
767
,
1063
,
252
,
/* 160 */
49
,
48
,
47
,
171
,
58
,
322
,
63
,
61
,
64
,
62
,
/* 170 */
162
,
43
,
1024
,
86
,
54
,
53
,
234
,
21
,
52
,
51
,
/* 180 */
50
,
282
,
206
,
1063
,
635
,
59
,
60
,
203
,
636
,
252
,
/* 190 */
49
,
48
,
47
,
1165
,
58
,
322
,
63
,
61
,
64
,
62
,
/* 200 */
162
,
274
,
827
,
830
,
54
,
53
,
786
,
787
,
52
,
51
,
/* 210 */
50
,
36
,
42
,
316
,
358
,
357
,
315
,
314
,
313
,
356
,
/* 220 */
312
,
311
,
310
,
355
,
309
,
354
,
353
,
1004
,
992
,
993
,
/* 230 */
994
,
995
,
996
,
997
,
998
,
999
,
1000
,
1001
,
1002
,
1003
,
/* 240 */
1005
,
1006
,
294
,
771
,
92
,
22
,
63
,
61
,
64
,
62
,
/* 250 */
826
,
829
,
318
,
232
,
54
,
53
,
204
,
1035
,
52
,
51
,
/* 260 */
50
,
27
,
215
,
36
,
251
,
836
,
825
,
828
,
831
,
216
,
/* 270 */
750
,
747
,
748
,
749
,
1111
,
137
,
136
,
135
,
217
,
162
,
/* 280 */
266
,
255
,
327
,
87
,
251
,
836
,
825
,
828
,
831
,
270
,
/* 290 */
269
,
96
,
228
,
229
,
261
,
261
,
323
,
257
,
258
,
742
,
/* 300 */
739
,
740
,
741
,
177
,
1036
,
240
,
3
,
39
,
178
,
1035
,
/* 310 */
260
,
209
,
228
,
229
,
105
,
77
,
101
,
108
,
250
,
248
,
/* 320 */
834
,
43
,
1021
,
1022
,
33
,
1025
,
244
,
245
,
197
,
195
,
/* 330 */
193
,
52
,
51
,
50
,
305
,
192
,
141
,
140
,
139
,
138
,
/* 340 */
4
,
65
,
253
,
273
,
80
,
79
,
122
,
116
,
126
,
152
,
/* 350 */
150
,
149
,
224
,
93
,
36
,
131
,
134
,
125
,
256
,
36
,
/* 360 */
254
,
65
,
330
,
329
,
128
,
54
,
53
,
714
,
835
,
52
,
/* 370 */
51
,
50
,
87
,
36
,
36
,
36
,
1023
,
837
,
832
,
206
,
/* 380 */
36
,
36
,
751
,
752
,
833
,
36
,
36
,
262
,
36
,
259
,
/* 390 */
1165
,
337
,
336
,
342
,
341
,
803
,
241
,
837
,
832
,
764
,
/* 400 */
1035
,
331
,
206
,
12
,
833
,
1035
,
84
,
85
,
937
,
95
,
/* 410 */
43
,
743
,
744
,
1165
,
188
,
332
,
333
,
334
,
324
,
1035
,
/* 420 */
1035
,
1035
,
338
,
339
,
7
,
124
,
1035
,
1035
,
340
,
94
,
/* 430 */
344
,
1034
,
1035
,
275
,
1035
,
362
,
361
,
146
,
98
,
352
,
/* 440 */
359
,
974
,
783
,
82
,
70
,
70
,
793
,
794
,
71
,
37
,
/* 450 */
724
,
74
,
297
,
802
,
726
,
299
,
737
,
738
,
157
,
735
,
/* 460 */
736
,
725
,
66
,
24
,
32
,
823
,
37
,
859
,
37
,
838
,
/* 470 */
67
,
97
,
634
,
14
,
115
,
13
,
114
,
67
,
78
,
16
,
/* 480 */
18
,
15
,
17
,
23
,
121
,
23
,
120
,
210
,
23
,
72
,
/* 490 */
75
,
211
,
755
,
756
,
753
,
754
,
1159
,
824
,
300
,
20
,
/* 500 */
1158
,
19
,
133
,
132
,
1157
,
226
,
1037
,
1049
,
1065
,
227
,
/* 510 */
207
,
713
,
208
,
212
,
205
,
213
,
214
,
219
,
220
,
221
,
/* 520 */
218
,
202
,
1184
,
840
,
1176
,
44
,
1122
,
1121
,
321
,
271
,
/* 530 */
238
,
1118
,
1117
,
239
,
343
,
154
,
1104
,
1072
,
1083
,
1080
,
/* 540 */
1081
,
1085
,
156
,
161
,
1064
,
277
,
288
,
1103
,
1033
,
173
,
/* 550 */
151
,
281
,
172
,
1031
,
174
,
175
,
951
,
782
,
306
,
302
,
/* 560 */
303
,
170
,
164
,
304
,
307
,
163
,
308
,
1061
,
295
,
291
,
/* 570 */
165
,
200
,
40
,
319
,
946
,
945
,
235
,
328
,
1183
,
112
,
/* 580 */
283
,
1182
,
285
,
1179
,
76
,
179
,
335
,
73
,
1175
,
118
,
/* 590 */
1174
,
1171
,
180
,
971
,
46
,
41
,
38
,
201
,
934
,
127
,
/* 600 */
932
,
129
,
130
,
293
,
930
,
929
,
263
,
190
,
191
,
926
,
/* 610 */
925
,
924
,
923
,
922
,
921
,
920
,
194
,
196
,
917
,
915
,
/* 620 */
913
,
911
,
289
,
198
,
908
,
199
,
904
,
287
,
284
,
276
,
/* 630 */
83
,
88
,
45
,
286
,
1105
,
123
,
345
,
346
,
347
,
348
,
/* 640 */
349
,
225
,
350
,
247
,
301
,
351
,
360
,
884
,
264
,
265
,
/* 650 */
883
,
222
,
267
,
950
,
949
,
106
,
223
,
268
,
882
,
865
,
/* 660 */
864
,
272
,
70
,
8
,
928
,
296
,
927
,
758
,
183
,
182
,
/* 670 */
972
,
181
,
142
,
184
,
185
,
187
,
186
,
143
,
919
,
918
,
/* 680 */
973
,
144
,
145
,
910
,
909
,
28
,
278
,
89
,
31
,
784
,
/* 690 */
2
,
166
,
167
,
158
,
168
,
169
,
795
,
159
,
1
,
789
,
/* 700 */
160
,
90
,
237
,
791
,
91
,
290
,
29
,
9
,
30
,
10
,
/* 710 */
11
,
25
,
298
,
26
,
98
,
100
,
34
,
103
,
102
,
649
,
/* 720 */
684
,
35
,
104
,
682
,
681
,
680
,
678
,
677
,
676
,
673
,
/* 730 */
639
,
107
,
109
,
325
,
110
,
839
,
317
,
5
,
6
,
841
,
/* 740 */
326
,
68
,
111
,
113
,
69
,
716
,
117
,
119
,
37
,
715
,
/* 750 */
712
,
665
,
663
,
655
,
661
,
657
,
659
,
653
,
651
,
686
,
/* 760 */
685
,
683
,
679
,
675
,
674
,
189
,
602
,
637
,
888
,
887
,
/* 770 */
887
,
887
,
887
,
887
,
887
,
887
,
887
,
147
,
148
,
/* 0 */
249
,
638
,
364
,
230
,
162
,
639
,
248
,
55
,
56
,
638
,
/* 10 */
59
,
60
,
1031
,
639
,
252
,
49
,
48
,
47
,
94
,
58
,
/* 20 */
323
,
63
,
61
,
64
,
62
,
674
,
1080
,
891
,
365
,
54
,
/* 30 */
53
,
206
,
82
,
52
,
51
,
50
,
253
,
55
,
56
,
638
,
/* 40 */
59
,
60
,
1171
,
639
,
252
,
49
,
48
,
47
,
21
,
58
,
/* 50 */
323
,
63
,
61
,
64
,
62
,
1017
,
203
,
1015
,
1016
,
54
,
/* 60 */
53
,
206
,
1018
,
52
,
51
,
50
,
1019
,
206
,
1020
,
1021
,
/* 70 */
832
,
835
,
1172
,
55
,
56
,
1070
,
59
,
60
,
1172
,
1118
,
/* 80 */
252
,
49
,
48
,
47
,
81
,
58
,
323
,
63
,
61
,
64
,
/* 90 */
62
,
321
,
319
,
274
,
1077
,
54
,
53
,
206
,
638
,
52
,
/* 100 */
51
,
50
,
639
,
55
,
57
,
353
,
59
,
60
,
1172
,
826
,
/* 110 */
252
,
49
,
48
,
47
,
155
,
58
,
323
,
63
,
61
,
64
,
/* 120 */
62
,
42
,
319
,
359
,
358
,
54
,
53
,
162
,
357
,
52
,
/* 130 */
51
,
50
,
356
,
87
,
355
,
354
,
162
,
162
,
588
,
589
,
/* 140 */
590
,
591
,
592
,
593
,
594
,
595
,
596
,
597
,
598
,
599
,
/* 150 */
600
,
601
,
153
,
56
,
231
,
59
,
60
,
236
,
1057
,
252
,
/* 160 */
49
,
48
,
47
,
87
,
58
,
323
,
63
,
61
,
64
,
62
,
/* 170 */
772
,
43
,
32
,
86
,
54
,
53
,
255
,
204
,
52
,
51
,
/* 180 */
50
,
309
,
209
,
280
,
279
,
59
,
60
,
941
,
839
,
252
,
/* 190 */
49
,
48
,
47
,
188
,
58
,
323
,
63
,
61
,
64
,
62
,
/* 200 */
294
,
43
,
92
,
242
,
54
,
53
,
300
,
1045
,
52
,
51
,
/* 210 */
50
,
1119
,
93
,
292
,
42
,
317
,
359
,
358
,
316
,
315
,
/* 220 */
314
,
357
,
313
,
312
,
311
,
356
,
310
,
355
,
354
,
99
,
/* 230 */
22
,
1010
,
998
,
999
,
1000
,
1001
,
1002
,
1003
,
1004
,
1005
,
/* 240 */
1006
,
1007
,
1008
,
1009
,
1011
,
1012
,
1013
,
215
,
251
,
841
,
/* 250 */
830
,
833
,
836
,
256
,
216
,
254
,
776
,
331
,
330
,
250
,
/* 260 */
137
,
136
,
135
,
217
,
1033
,
266
,
719
,
328
,
87
,
251
,
/* 270 */
841
,
830
,
833
,
836
,
270
,
269
,
228
,
229
,
831
,
834
,
/* 280 */
324
,
4
,
63
,
61
,
64
,
62
,
755
,
752
,
753
,
754
,
/* 290 */
54
,
53
,
343
,
342
,
52
,
51
,
50
,
228
,
229
,
747
,
/* 300 */
744
,
745
,
746
,
52
,
51
,
50
,
43
,
3
,
39
,
178
,
/* 310 */
152
,
150
,
149
,
257
,
258
,
105
,
77
,
101
,
108
,
1039
,
/* 320 */
96
,
791
,
792
,
260
,
36
,
65
,
244
,
245
,
273
,
36
,
/* 330 */
79
,
197
,
195
,
193
,
36
,
305
,
210
,
224
,
192
,
141
,
/* 340 */
140
,
139
,
138
,
36
,
36
,
36
,
65
,
122
,
116
,
126
,
/* 350 */
36
,
211
,
1028
,
1029
,
33
,
1032
,
131
,
134
,
125
,
638
,
/* 360 */
36
,
842
,
837
,
639
,
243
,
128
,
36
,
232
,
838
,
54
,
/* 370 */
53
,
1042
,
240
,
52
,
51
,
50
,
1042
,
241
,
36
,
36
,
/* 380 */
36
,
1042
,
842
,
837
,
1166
,
261
,
332
,
333
,
334
,
838
,
/* 390 */
1042
,
1042
,
1042
,
335
,
176
,
12
,
840
,
1042
,
756
,
757
,
/* 400 */
262
,
95
,
259
,
339
,
338
,
337
,
171
,
1042
,
363
,
362
,
/* 410 */
146
,
748
,
749
,
1041
,
246
,
80
,
808
,
1070
,
1045
,
1070
,
/* 420 */
261
,
340
,
341
,
345
,
282
,
1042
,
1042
,
1042
,
124
,
177
,
/* 430 */
98
,
261
,
952
,
942
,
769
,
233
,
27
,
234
,
188
,
188
,
/* 440 */
1043
,
275
,
353
,
360
,
979
,
84
,
85
,
788
,
1030
,
798
,
/* 450 */
799
,
71
,
74
,
729
,
297
,
731
,
299
,
37
,
325
,
7
,
/* 460 */
742
,
743
,
730
,
157
,
828
,
66
,
24
,
740
,
741
,
37
,
/* 470 */
37
,
67
,
97
,
864
,
807
,
760
,
761
,
843
,
67
,
637
,
/* 480 */
14
,
78
,
13
,
70
,
70
,
115
,
1165
,
114
,
16
,
23
,
/* 490 */
15
,
75
,
72
,
23
,
1111
,
23
,
829
,
758
,
759
,
133
,
/* 500 */
132
,
18
,
121
,
17
,
120
,
20
,
1164
,
19
,
1129
,
226
,
/* 510 */
322
,
227
,
207
,
1056
,
718
,
208
,
212
,
205
,
213
,
214
,
/* 520 */
1044
,
219
,
1072
,
220
,
1191
,
221
,
218
,
202
,
1128
,
1183
,
/* 530 */
238
,
1125
,
1124
,
239
,
344
,
271
,
154
,
44
,
172
,
1079
,
/* 540 */
151
,
1110
,
1090
,
1087
,
1088
,
1071
,
277
,
1092
,
1040
,
156
,
/* 550 */
1068
,
281
,
235
,
283
,
31
,
161
,
285
,
165
,
288
,
173
,
/* 560 */
163
,
168
,
787
,
845
,
164
,
276
,
1038
,
174
,
166
,
169
,
/* 570 */
167
,
291
,
175
,
956
,
302
,
303
,
304
,
76
,
307
,
308
,
/* 580 */
200
,
40
,
320
,
951
,
950
,
329
,
1190
,
112
,
73
,
1189
,
/* 590 */
1186
,
179
,
46
,
336
,
295
,
1182
,
118
,
287
,
1181
,
1178
,
/* 600 */
180
,
976
,
41
,
38
,
201
,
939
,
127
,
937
,
129
,
130
,
/* 610 */
935
,
934
,
263
,
190
,
191
,
931
,
930
,
929
,
928
,
293
,
/* 620 */
927
,
926
,
925
,
194
,
196
,
922
,
920
,
918
,
916
,
198
,
/* 630 */
913
,
199
,
909
,
289
,
284
,
83
,
88
,
45
,
286
,
1112
,
/* 640 */
306
,
123
,
346
,
225
,
247
,
347
,
301
,
348
,
349
,
351
,
/* 650 */
222
,
223
,
350
,
352
,
361
,
955
,
954
,
106
,
889
,
264
,
/* 660 */
265
,
888
,
267
,
268
,
887
,
870
,
933
,
869
,
272
,
183
,
/* 670 */
182
,
977
,
932
,
181
,
142
,
184
,
185
,
187
,
186
,
143
,
/* 680 */
144
,
924
,
978
,
923
,
2
,
70
,
145
,
915
,
914
,
296
,
/* 690 */
8
,
28
,
1
,
763
,
278
,
170
,
789
,
89
,
158
,
160
,
/* 700 */
800
,
159
,
237
,
794
,
90
,
29
,
796
,
91
,
290
,
9
,
/* 710 */
30
,
10
,
11
,
25
,
26
,
298
,
100
,
34
,
98
,
103
,
/* 720 */
652
,
102
,
690
,
35
,
104
,
687
,
685
,
684
,
683
,
681
,
/* 730 */
680
,
679
,
676
,
642
,
326
,
327
,
107
,
111
,
109
,
318
,
/* 740 */
113
,
110
,
5
,
68
,
844
,
846
,
6
,
69
,
721
,
37
,
/* 750 */
117
,
119
,
720
,
717
,
668
,
666
,
658
,
664
,
660
,
662
,
/* 760 */
656
,
654
,
689
,
688
,
686
,
682
,
678
,
677
,
189
,
640
,
/* 770 */
893
,
605
,
892
,
892
,
892
,
892
,
892
,
892
,
892
,
892
,
/* 780 */
147
,
148
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
194
,
1
,
194
,
194
,
195
,
5
,
3
,
7
,
8
,
1
,
/* 10 */
10
,
11
,
194
,
5
,
14
,
15
,
16
,
17
,
194
,
19
,
/* 20 */
20
,
21
,
22
,
23
,
24
,
242
,
243
,
237
,
260
,
29
,
/* 30 */
30
,
2
41
,
1
,
33
,
34
,
35
,
5
,
7
,
8
,
27
1
,
/* 40 */
10
,
11
,
199
,
239
,
14
,
15
,
16
,
17
,
205
,
19
,
/* 50 */
20
,
21
,
22
,
23
,
24
,
216
,
2
38
,
218
,
219
,
29
,
/* 60 */
30
,
2
57
,
223
,
33
,
34
,
35
,
227
,
261
,
229
,
230
,
/* 70 */
262
,
263
,
199
,
7
,
8
,
237
,
10
,
11
,
205
,
241
,
/* 0 */
200
,
1
,
194
,
195
,
194
,
5
,
200
,
7
,
8
,
1
,
/* 10 */
10
,
11
,
0
,
5
,
14
,
15
,
16
,
17
,
245
,
19
,
/* 20 */
20
,
21
,
22
,
23
,
24
,
3
,
194
,
192
,
193
,
29
,
/* 30 */
30
,
2
61
,
259
,
33
,
34
,
35
,
200
,
7
,
8
,
1
,
/* 40 */
10
,
11
,
272
,
5
,
14
,
15
,
16
,
17
,
261
,
19
,
/* 50 */
20
,
21
,
22
,
23
,
24
,
216
,
2
61
,
218
,
219
,
29
,
/* 60 */
30
,
2
61
,
223
,
33
,
34
,
35
,
227
,
261
,
229
,
230
,
/* 70 */
3
,
4
,
272
,
7
,
8
,
240
,
10
,
11
,
272
,
269
,
/* 80 */
14
,
15
,
16
,
17
,
84
,
19
,
20
,
21
,
22
,
23
,
/* 90 */
24
,
83
,
268
,
201
,
270
,
29
,
30
,
88
,
1
,
33
,
/* 100 */
34
,
35
,
5
,
7
,
8
,
194
,
10
,
11
,
80
,
79
,
/* 110 */
14
,
15
,
16
,
17
,
203
,
19
,
20
,
21
,
22
,
23
,
/* 120 */
24
,
96
,
200
,
98
,
99
,
29
,
30
,
235
,
103
,
33
,
/* 130 */
34
,
35
,
107
,
78
,
109
,
110
,
19
2
,
193
,
41
,
42
,
/* 90 */
24
,
83
,
80
,
258
,
262
,
29
,
30
,
261
,
1
,
33
,
/* 100 */
34
,
35
,
5
,
7
,
8
,
88
,
10
,
11
,
272
,
79
,
/* 110 */
14
,
15
,
16
,
17
,
194
,
19
,
20
,
21
,
22
,
23
,
/* 120 */
24
,
96
,
80
,
98
,
99
,
29
,
30
,
194
,
103
,
33
,
/* 130 */
34
,
35
,
107
,
78
,
109
,
110
,
19
4
,
194
,
41
,
42
,
/* 140 */
43
,
44
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
52
,
/* 150 */
53
,
54
,
55
,
8
,
57
,
10
,
11
,
33
,
239
,
14
,
/* 160 */
15
,
16
,
17
,
247
,
19
,
20
,
21
,
22
,
23
,
24
,
/* 170 */
194
,
116
,
0
,
118
,
29
,
30
,
257
,
260
,
33
,
34
,
/* 180 */
35
,
265
,
260
,
239
,
1
,
10
,
11
,
260
,
5
,
14
,
/* 190 */
15
,
16
,
17
,
271
,
19
,
20
,
21
,
22
,
23
,
24
,
/* 200 */
194
,
257
,
3
,
4
,
29
,
30
,
122
,
123
,
33
,
34
,
/* 210 */
35
,
194
,
96
,
97
,
98
,
99
,
100
,
101
,
102
,
103
,
/* 220 */
104
,
105
,
106
,
107
,
108
,
109
,
110
,
216
,
217
,
218
,
/* 230 */
219
,
220
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
228
,
/* 240 */
229
,
230
,
266
,
119
,
268
,
40
,
21
,
22
,
23
,
24
,
/* 250 */
3
,
4
,
80
,
236
,
29
,
30
,
260
,
240
,
33
,
34
,
/* 260 */
35
,
78
,
57
,
194
,
1
,
2
,
3
,
4
,
5
,
64
,
/* 270 */
2
,
3
,
4
,
5
,
268
,
70
,
71
,
72
,
73
,
194
,
/* 280 */
139
,
64
,
77
,
78
,
1
,
2
,
3
,
4
,
5
,
148
,
/* 290 */
149
,
201
,
29
,
30
,
194
,
194
,
33
,
29
,
30
,
2
,
/* 300 */
3
,
4
,
5
,
203
,
203
,
236
,
58
,
59
,
60
,
240
,
/* 310 */
64
,
260
,
29
,
30
,
66
,
67
,
68
,
69
,
56
,
200
,
/* 320 */
121
,
116
,
232
,
233
,
234
,
235
,
29
,
30
,
58
,
59
,
/* 330 */
60
,
33
,
34
,
35
,
86
,
65
,
66
,
67
,
68
,
69
,
/* 340 */
78
,
78
,
200
,
138
,
201
,
140
,
58
,
59
,
60
,
58
,
/* 350 */
59
,
60
,
147
,
268
,
194
,
67
,
68
,
69
,
141
,
194
,
/* 360 */
143
,
78
,
145
,
146
,
76
,
29
,
30
,
3
,
121
,
33
,
/* 370 */
34
,
35
,
78
,
194
,
194
,
194
,
233
,
114
,
115
,
260
,
/* 380 */
194
,
194
,
114
,
115
,
121
,
194
,
194
,
141
,
194
,
143
,
/* 390 */
271
,
145
,
146
,
29
,
30
,
72
,
236
,
114
,
115
,
95
,
/* 400 */
240
,
236
,
260
,
78
,
121
,
240
,
79
,
79
,
199
,
84
,
/* 410 */
116
,
114
,
115
,
271
,
205
,
236
,
236
,
236
,
9
,
240
,
/* 420 */
240
,
240
,
236
,
236
,
120
,
74
,
240
,
240
,
236
,
244
,
/* 430 */
236
,
240
,
240
,
79
,
240
,
61
,
62
,
63
,
113
,
88
,
/* 440 */
214
,
215
,
79
,
258
,
117
,
117
,
79
,
79
,
95
,
95
,
/* 450 */
79
,
95
,
79
,
130
,
79
,
79
,
3
,
4
,
95
,
3
,
/* 460 */
4
,
79
,
95
,
95
,
78
,
1
,
95
,
79
,
95
,
79
,
/* 470 */
95
,
95
,
79
,
142
,
142
,
144
,
144
,
95
,
78
,
142
,
/* 480 */
142
,
144
,
144
,
95
,
142
,
95
,
144
,
260
,
95
,
136
,
/* 490 */
134
,
260
,
3
,
4
,
3
,
4
,
260
,
33
,
112
,
142
,
/* 500 */
260
,
144
,
74
,
75
,
260
,
260
,
241
,
243
,
239
,
260
,
/* 510 */
260
,
111
,
260
,
260
,
260
,
260
,
260
,
260
,
260
,
260
,
/* 520 */
260
,
260
,
243
,
114
,
243
,
259
,
231
,
231
,
194
,
194
,
/* 530 */
231
,
231
,
231
,
231
,
231
,
194
,
269
,
194
,
194
,
194
,
/* 540 */
194
,
194
,
194
,
194
,
239
,
239
,
194
,
269
,
239
,
194
,
/* 550 */
56
,
264
,
245
,
194
,
194
,
194
,
194
,
121
,
87
,
194
,
/* 560 */
194
,
248
,
254
,
194
,
194
,
255
,
194
,
256
,
128
,
126
,
/* 570 */
253
,
194
,
194
,
194
,
194
,
194
,
264
,
194
,
194
,
194
,
/* 580 */
264
,
194
,
264
,
194
,
133
,
194
,
194
,
135
,
194
,
194
,
/* 590 */
194
,
194
,
194
,
194
,
132
,
194
,
194
,
194
,
194
,
194
,
/* 600 */
194
,
194
,
194
,
131
,
194
,
194
,
194
,
194
,
194
,
194
,
/* 610 */
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
/* 620 */
194
,
194
,
125
,
194
,
194
,
194
,
194
,
124
,
127
,
196
,
/* 630 */
196
,
196
,
137
,
196
,
196
,
94
,
93
,
47
,
90
,
92
,
/* 640 */
51
,
196
,
91
,
196
,
196
,
89
,
80
,
3
,
150
,
3
,
/* 650 */
3
,
196
,
150
,
204
,
204
,
201
,
196
,
3
,
3
,
98
,
/* 660 */
97
,
139
,
117
,
78
,
196
,
112
,
196
,
79
,
207
,
211
,
/* 670 */
213
,
212
,
197
,
210
,
208
,
206
,
209
,
197
,
196
,
196
,
/* 680 */
215
,
197
,
197
,
196
,
196
,
78
,
95
,
95
,
246
,
79
,
/* 690 */
198
,
252
,
251
,
78
,
250
,
249
,
79
,
78
,
202
,
79
,
/* 700 */
95
,
78
,
1
,
79
,
78
,
78
,
95
,
129
,
95
,
129
,
/* 710 */
78
,
78
,
112
,
78
,
113
,
74
,
85
,
66
,
84
,
3
,
/* 720 */
5
,
85
,
84
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 730 */
81
,
74
,
82
,
20
,
82
,
79
,
9
,
78
,
78
,
114
,
/* 740 */
55
,
10
,
144
,
144
,
10
,
3
,
144
,
144
,
95
,
3
,
/* 750 */
79
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 760 */
3
,
3
,
3
,
3
,
3
,
95
,
56
,
81
,
0
,
272
,
/* 770 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
15
,
15
,
272
,
/* 780 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 790 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 800 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 810 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 820 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 830 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 840 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 850 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 860 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 870 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 880 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 890 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 900 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 910 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 920 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 930 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 940 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 950 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 960 */
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
272
,
/* 150 */
53
,
54
,
55
,
8
,
57
,
10
,
11
,
243
,
244
,
14
,
/* 160 */
15
,
16
,
17
,
78
,
19
,
20
,
21
,
22
,
23
,
24
,
/* 170 */
33
,
116
,
78
,
118
,
29
,
30
,
64
,
261
,
33
,
34
,
/* 180 */
35
,
63
,
261
,
263
,
264
,
10
,
11
,
199
,
121
,
14
,
/* 190 */
15
,
16
,
17
,
205
,
19
,
20
,
21
,
22
,
23
,
24
,
/* 200 */
267
,
116
,
269
,
238
,
29
,
30
,
112
,
242
,
33
,
34
,
/* 210 */
35
,
269
,
269
,
271
,
96
,
97
,
98
,
99
,
100
,
101
,
/* 220 */
102
,
103
,
104
,
105
,
106
,
107
,
108
,
109
,
110
,
201
,
/* 230 */
40
,
216
,
217
,
218
,
219
,
220
,
221
,
222
,
223
,
224
,
/* 240 */
225
,
226
,
227
,
228
,
229
,
230
,
231
,
57
,
1
,
2
,
/* 250 */
3
,
4
,
5
,
141
,
64
,
143
,
119
,
145
,
146
,
56
,
/* 260 */
70
,
71
,
72
,
73
,
236
,
139
,
3
,
77
,
78
,
1
,
/* 270 */
2
,
3
,
4
,
5
,
148
,
149
,
29
,
30
,
3
,
4
,
/* 280 */
33
,
78
,
21
,
22
,
23
,
24
,
2
,
3
,
4
,
5
,
/* 290 */
29
,
30
,
29
,
30
,
33
,
34
,
35
,
29
,
30
,
2
,
/* 300 */
3
,
4
,
5
,
33
,
34
,
35
,
116
,
58
,
59
,
60
,
/* 310 */
58
,
59
,
60
,
29
,
30
,
66
,
67
,
68
,
69
,
194
,
/* 320 */
201
,
122
,
123
,
64
,
194
,
78
,
29
,
30
,
138
,
194
,
/* 330 */
140
,
58
,
59
,
60
,
194
,
86
,
261
,
147
,
65
,
66
,
/* 340 */
67
,
68
,
69
,
194
,
194
,
194
,
78
,
58
,
59
,
60
,
/* 350 */
194
,
261
,
233
,
234
,
235
,
236
,
67
,
68
,
69
,
1
,
/* 360 */
194
,
114
,
115
,
5
,
239
,
76
,
194
,
237
,
121
,
29
,
/* 370 */
30
,
241
,
237
,
33
,
34
,
35
,
241
,
237
,
194
,
194
,
/* 380 */
194
,
241
,
114
,
115
,
261
,
194
,
237
,
237
,
237
,
121
,
/* 390 */
241
,
241
,
241
,
237
,
203
,
78
,
121
,
241
,
114
,
115
,
/* 400 */
141
,
84
,
143
,
237
,
145
,
146
,
248
,
241
,
61
,
62
,
/* 410 */
63
,
114
,
115
,
241
,
238
,
201
,
72
,
240
,
242
,
240
,
/* 420 */
194
,
237
,
237
,
237
,
266
,
241
,
241
,
241
,
74
,
203
,
/* 430 */
113
,
194
,
199
,
199
,
95
,
258
,
78
,
258
,
205
,
205
,
/* 440 */
203
,
79
,
88
,
214
,
215
,
79
,
79
,
79
,
234
,
79
,
/* 450 */
79
,
95
,
95
,
79
,
79
,
79
,
79
,
95
,
9
,
120
,
/* 460 */
3
,
4
,
79
,
95
,
1
,
95
,
95
,
3
,
4
,
95
,
/* 470 */
95
,
95
,
95
,
79
,
130
,
3
,
4
,
79
,
95
,
79
,
/* 480 */
142
,
78
,
144
,
117
,
117
,
142
,
261
,
144
,
142
,
95
,
/* 490 */
144
,
134
,
136
,
95
,
270
,
95
,
33
,
3
,
4
,
74
,
/* 500 */
75
,
142
,
142
,
144
,
144
,
142
,
261
,
144
,
232
,
261
,
/* 510 */
194
,
261
,
261
,
244
,
111
,
261
,
261
,
261
,
261
,
261
,
/* 520 */
242
,
261
,
240
,
261
,
244
,
261
,
261
,
261
,
232
,
244
,
/* 530 */
232
,
232
,
232
,
232
,
232
,
194
,
194
,
260
,
246
,
194
,
/* 540 */
56
,
270
,
194
,
194
,
194
,
240
,
240
,
194
,
240
,
194
,
/* 550 */
257
,
265
,
265
,
265
,
247
,
194
,
265
,
254
,
194
,
194
,
/* 560 */
256
,
251
,
121
,
114
,
255
,
196
,
194
,
194
,
253
,
250
,
/* 570 */
252
,
126
,
194
,
194
,
194
,
194
,
194
,
133
,
194
,
194
,
/* 580 */
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
135
,
194
,
/* 590 */
194
,
194
,
132
,
194
,
128
,
194
,
194
,
124
,
194
,
194
,
/* 600 */
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
/* 610 */
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
131
,
/* 620 */
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
194
,
/* 630 */
194
,
194
,
194
,
125
,
127
,
196
,
196
,
137
,
196
,
196
,
/* 640 */
87
,
94
,
93
,
196
,
196
,
47
,
196
,
90
,
92
,
91
,
/* 650 */
196
,
196
,
51
,
89
,
80
,
204
,
204
,
201
,
3
,
150
,
/* 660 */
3
,
3
,
150
,
3
,
3
,
98
,
196
,
97
,
139
,
207
,
/* 670 */
211
,
213
,
196
,
212
,
197
,
210
,
208
,
206
,
209
,
197
,
/* 680 */
197
,
196
,
215
,
196
,
198
,
117
,
197
,
196
,
196
,
112
,
/* 690 */
78
,
78
,
202
,
79
,
95
,
249
,
79
,
95
,
78
,
95
,
/* 700 */
79
,
78
,
1
,
79
,
78
,
95
,
79
,
78
,
78
,
129
,
/* 710 */
95
,
129
,
78
,
78
,
78
,
112
,
74
,
85
,
113
,
66
,
/* 720 */
3
,
84
,
3
,
85
,
84
,
5
,
3
,
3
,
3
,
3
,
/* 730 */
3
,
3
,
3
,
81
,
20
,
55
,
74
,
144
,
82
,
9
,
/* 740 */
144
,
82
,
78
,
10
,
79
,
114
,
78
,
10
,
3
,
95
,
/* 750 */
144
,
144
,
3
,
79
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 760 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
95
,
81
,
/* 770 */
0
,
56
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 780 */
15
,
15
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 790 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 800 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 810 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 820 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 830 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 840 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 850 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 860 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 870 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 880 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 890 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 900 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 910 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 920 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 930 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 940 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 950 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 960 */
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
273
,
/* 970 */
273
,
273
,
273
,
};
#define YY_SHIFT_COUNT (36
4
)
#define YY_SHIFT_COUNT (36
5
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (7
68
)
#define YY_SHIFT_MAX (7
70
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
205
,
116
,
25
,
28
,
263
,
283
,
283
,
183
,
31
,
31
,
/* 10 */
3
1
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
/* 20 */
3
1
,
0
,
97
,
283
,
268
,
297
,
297
,
294
,
294
,
31
,
/* 30 */
3
1
,
84
,
31
,
172
,
31
,
31
,
31
,
31
,
351
,
28
,
/* 40 */
9
,
9
,
3
,
779
,
283
,
283
,
283
,
283
,
283
,
283
,
/* 50 */
2
83
,
283
,
283
,
283
,
283
,
283
,
283
,
283
,
283
,
283
,
/* 60 */
2
83
,
283
,
283
,
283
,
283
,
283
,
268
,
297
,
268
,
268
,
/* 70 */
55
,
364
,
364
,
364
,
364
,
364
,
364
,
8
,
364
,
31
,
/* 80 */
3
1
,
31
,
124
,
31
,
31
,
31
,
294
,
294
,
31
,
31
,
/* 90 */
3
1
,
31
,
323
,
323
,
304
,
294
,
31
,
31
,
31
,
31
,
/* 100 */
3
1
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
/* 110 */
3
1
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
/* 120 */
3
1
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
/* 130 */
3
1
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
/* 140 */
3
1
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
31
,
/* 150 */
3
1
,
31
,
31
,
31
,
494
,
494
,
494
,
436
,
436
,
436
,
/* 160 */
4
36
,
494
,
494
,
451
,
452
,
440
,
462
,
472
,
443
,
497
,
/* 170 */
503
,
501
,
495
,
494
,
494
,
494
,
471
,
471
,
28
,
49
4
,
/* 180 */
4
94
,
541
,
543
,
590
,
548
,
547
,
589
,
551
,
556
,
3
,
/* 190 */
4
94
,
494
,
566
,
566
,
494
,
566
,
494
,
566
,
494
,
49
4
,
/* 200 */
7
79
,
779
,
30
,
66
,
66
,
96
,
66
,
145
,
175
,
225
,
/* 210 */
2
25
,
225
,
225
,
225
,
225
,
248
,
270
,
288
,
336
,
336
,
/* 220 */
3
36
,
336
,
217
,
246
,
141
,
325
,
298
,
298
,
199
,
247
,
/* 230 */
3
74
,
291
,
354
,
327
,
328
,
363
,
367
,
368
,
353
,
356
,
/* 240 */
37
1
,
373
,
375
,
376
,
453
,
456
,
382
,
386
,
388
,
390
,
/* 250 */
46
4
,
262
,
409
,
393
,
331
,
332
,
337
,
489
,
491
,
338
,
/* 260 */
3
42
,
400
,
357
,
428
,
644
,
498
,
646
,
647
,
502
,
654
,
/* 270 */
6
55
,
561
,
563
,
522
,
545
,
553
,
585
,
588
,
607
,
591
,
/* 280 */
592
,
610
,
615
,
617
,
619
,
620
,
605
,
623
,
624
,
626
,
/* 290 */
701
,
6
27
,
611
,
578
,
613
,
580
,
632
,
553
,
633
,
600
,
/* 300 */
63
5
,
601
,
641
,
631
,
634
,
651
,
716
,
636
,
638
,
715
,
/* 310 */
720
,
72
1
,
722
,
723
,
724
,
725
,
726
,
649
,
727
,
657
,
/* 320 */
6
50
,
652
,
659
,
656
,
625
,
660
,
713
,
685
,
731
,
598
,
/* 330 */
59
9
,
653
,
653
,
653
,
653
,
734
,
602
,
603
,
653
,
653
,
/* 340 */
65
3
,
742
,
746
,
671
,
653
,
748
,
749
,
750
,
751
,
752
,
/* 350 */
75
3
,
754
,
755
,
756
,
757
,
758
,
759
,
760
,
761
,
670
,
/* 360 */
6
86
,
762
,
763
,
710
,
768
,
/* 0 */
190
,
118
,
25
,
42
,
247
,
268
,
268
,
358
,
38
,
38
,
/* 10 */
3
8
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
/* 20 */
3
8
,
0
,
97
,
268
,
284
,
297
,
297
,
85
,
85
,
38
,
/* 30 */
3
8
,
199
,
38
,
12
,
38
,
38
,
38
,
38
,
354
,
42
,
/* 40 */
17
,
17
,
22
,
782
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 50 */
2
68
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
268
,
/* 60 */
2
68
,
268
,
268
,
268
,
268
,
268
,
284
,
297
,
284
,
284
,
/* 70 */
55
,
263
,
263
,
263
,
263
,
263
,
263
,
8
,
263
,
38
,
/* 80 */
3
8
,
38
,
137
,
38
,
38
,
38
,
85
,
85
,
38
,
38
,
/* 90 */
3
8
,
38
,
344
,
344
,
339
,
85
,
38
,
38
,
38
,
38
,
/* 100 */
3
8
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
/* 110 */
3
8
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
/* 120 */
3
8
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
/* 130 */
3
8
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
/* 140 */
3
8
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
38
,
/* 150 */
3
8
,
38
,
38
,
38
,
484
,
484
,
484
,
441
,
441
,
441
,
/* 160 */
4
41
,
484
,
484
,
444
,
453
,
466
,
460
,
488
,
445
,
508
,
/* 170 */
473
,
507
,
500
,
484
,
484
,
484
,
553
,
553
,
42
,
48
4
,
/* 180 */
4
84
,
547
,
549
,
598
,
557
,
556
,
601
,
558
,
564
,
22
,
/* 190 */
4
84
,
484
,
574
,
574
,
484
,
574
,
484
,
574
,
484
,
48
4
,
/* 200 */
7
82
,
782
,
30
,
66
,
66
,
96
,
66
,
145
,
175
,
261
,
/* 210 */
2
61
,
261
,
261
,
261
,
261
,
249
,
273
,
289
,
340
,
340
,
/* 220 */
3
40
,
340
,
112
,
259
,
126
,
317
,
270
,
270
,
67
,
275
,
/* 230 */
3
47
,
252
,
362
,
366
,
367
,
368
,
370
,
371
,
356
,
357
,
/* 240 */
37
4
,
375
,
376
,
377
,
457
,
464
,
383
,
94
,
394
,
398
,
/* 250 */
46
3
,
203
,
449
,
400
,
338
,
343
,
346
,
472
,
494
,
359
,
/* 260 */
3
60
,
403
,
363
,
425
,
655
,
509
,
657
,
658
,
512
,
660
,
/* 270 */
6
61
,
567
,
570
,
529
,
568
,
577
,
612
,
614
,
613
,
599
,
/* 280 */
602
,
617
,
620
,
621
,
623
,
624
,
604
,
626
,
627
,
629
,
/* 290 */
701
,
6
30
,
610
,
580
,
615
,
582
,
634
,
577
,
635
,
603
,
/* 300 */
63
6
,
605
,
642
,
632
,
637
,
653
,
717
,
638
,
640
,
719
,
/* 310 */
720
,
72
3
,
724
,
725
,
726
,
727
,
728
,
729
,
652
,
730
,
/* 320 */
6
62
,
656
,
659
,
664
,
665
,
631
,
668
,
714
,
680
,
733
,
/* 330 */
59
3
,
596
,
654
,
654
,
654
,
654
,
737
,
606
,
607
,
654
,
/* 340 */
65
4
,
654
,
745
,
749
,
674
,
654
,
751
,
752
,
753
,
754
,
/* 350 */
75
5
,
756
,
757
,
758
,
759
,
760
,
761
,
762
,
763
,
764
,
/* 360 */
6
73
,
688
,
765
,
766
,
715
,
770
,
};
#define YY_REDUCE_COUNT (201)
#define YY_REDUCE_MIN (-23
2
)
#define YY_REDUCE_MAX (49
6
)
#define YY_REDUCE_MIN (-23
0
)
#define YY_REDUCE_MAX (49
2
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
56
,
11
,
-
161
,
90
,
-
78
,
119
,
142
,
-
192
,
17
,
-
176
,
/* 10 */
-
24
,
69
,
160
,
165
,
179
,
180
,
181
,
186
,
187
,
192
,
/* 20 */
1
94
,
-
194
,
-
191
,
-
232
,
-
217
,
-
210
,
-
162
,
-
196
,
-
81
,
6
,
/* 30 */
85
,
-
84
,
-
182
,
-
108
,
-
89
,
100
,
101
,
191
,
-
157
,
143
,
/* 40 */
-
127
,
209
,
226
,
185
,
-
83
,
-
73
,
-
4
,
51
,
227
,
231
,
/* 50 */
236
,
240
,
244
,
245
,
249
,
250
,
252
,
253
,
254
,
255
,
/* 60 */
25
6
,
257
,
258
,
259
,
260
,
261
,
264
,
265
,
279
,
281
,
/* 70 */
2
69
,
295
,
296
,
299
,
300
,
301
,
302
,
334
,
303
,
335
,
/* 80 */
34
1
,
343
,
266
,
344
,
345
,
346
,
305
,
306
,
347
,
348
,
/* 90 */
3
49
,
352
,
267
,
278
,
307
,
309
,
355
,
359
,
360
,
361
,
/* 100 */
3
62
,
365
,
366
,
369
,
370
,
372
,
377
,
378
,
379
,
380
,
/* 110 */
3
81
,
383
,
384
,
385
,
387
,
389
,
391
,
392
,
394
,
395
,
/* 120 */
396
,
397
,
398
,
399
,
401
,
402
,
403
,
404
,
405
,
406
,
/* 130 */
4
07
,
408
,
410
,
411
,
412
,
413
,
414
,
415
,
416
,
417
,
/* 140 */
4
18
,
419
,
420
,
421
,
422
,
423
,
424
,
425
,
426
,
427
,
/* 150 */
4
29
,
430
,
431
,
432
,
433
,
434
,
435
,
287
,
312
,
316
,
/* 160 */
318
,
437
,
438
,
311
,
310
,
308
,
317
,
439
,
441
,
444
,
/* 170 */
446
,
313
,
442
,
445
,
447
,
448
,
449
,
450
,
454
,
455
,
/* 180 */
4
60
,
457
,
459
,
458
,
461
,
463
,
466
,
467
,
469
,
465
,
/* 190 */
4
68
,
470
,
475
,
480
,
482
,
484
,
483
,
485
,
487
,
488
,
/* 200 */
49
6
,
492
,
/* 0 */
-
165
,
15
,
-
161
,
119
,
-
200
,
-
194
,
-
164
,
-
80
,
130
,
-
58
,
/* 10 */
-
67
,
135
,
140
,
149
,
150
,
151
,
156
,
166
,
184
,
185
,
/* 20 */
1
86
,
-
168
,
-
192
,
-
230
,
-
86
,
-
35
,
176
,
177
,
179
,
-
190
,
/* 30 */
-
57
,
158
,
125
,
28
,
191
,
226
,
237
,
172
,
-
12
,
214
,
/* 40 */
233
,
234
,
229
,
-
227
,
-
213
,
-
205
,
-
84
,
-
79
,
75
,
90
,
/* 50 */
123
,
225
,
245
,
248
,
250
,
251
,
254
,
255
,
256
,
257
,
/* 60 */
25
8
,
260
,
262
,
264
,
265
,
266
,
269
,
278
,
280
,
285
,
/* 70 */
2
82
,
276
,
296
,
298
,
299
,
300
,
301
,
316
,
302
,
341
,
/* 80 */
34
2
,
345
,
277
,
348
,
349
,
350
,
305
,
306
,
353
,
355
,
/* 90 */
3
61
,
364
,
224
,
271
,
292
,
308
,
365
,
372
,
373
,
378
,
/* 100 */
3
79
,
380
,
381
,
382
,
384
,
385
,
386
,
387
,
388
,
389
,
/* 110 */
3
90
,
391
,
392
,
393
,
395
,
396
,
397
,
399
,
401
,
402
,
/* 120 */
404
,
405
,
406
,
407
,
408
,
409
,
410
,
411
,
412
,
413
,
/* 130 */
4
14
,
415
,
416
,
417
,
418
,
419
,
420
,
421
,
422
,
423
,
/* 140 */
4
24
,
426
,
427
,
428
,
429
,
430
,
431
,
432
,
433
,
434
,
/* 150 */
4
35
,
436
,
437
,
438
,
369
,
439
,
440
,
286
,
287
,
288
,
/* 160 */
291
,
442
,
443
,
293
,
304
,
309
,
303
,
315
,
318
,
310
,
/* 170 */
319
,
446
,
307
,
447
,
448
,
450
,
451
,
452
,
456
,
454
,
/* 180 */
4
55
,
458
,
461
,
459
,
462
,
465
,
468
,
469
,
471
,
467
,
/* 190 */
4
70
,
476
,
477
,
482
,
485
,
483
,
487
,
489
,
491
,
492
,
/* 200 */
49
0
,
486
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
8
85
,
948
,
935
,
944
,
1167
,
1167
,
1167
,
885
,
885
,
885
,
/* 10 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 20 */
8
85
,
1074
,
905
,
1167
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 30 */
8
85
,
1089
,
885
,
944
,
885
,
885
,
885
,
885
,
954
,
944
,
/* 40 */
95
4
,
954
,
885
,
1069
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 50 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 60 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 70 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 80 */
8
85
,
885
,
1076
,
1082
,
1079
,
885
,
885
,
885
,
1084
,
885
,
/* 90 */
8
85
,
885
,
1108
,
1108
,
1067
,
885
,
885
,
885
,
885
,
885
,
/* 100 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 110 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 120 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
933
,
885
,
931
,
/* 130 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 140 */
8
85
,
885
,
885
,
885
,
885
,
885
,
916
,
885
,
885
,
885
,
/* 150 */
8
85
,
885
,
885
,
903
,
907
,
907
,
907
,
885
,
885
,
885
,
/* 160 */
8
85
,
907
,
907
,
1115
,
1119
,
1101
,
1113
,
1109
,
1096
,
1094
,
/* 170 */
109
2
,
1100
,
1123
,
907
,
907
,
907
,
952
,
952
,
944
,
907
,
/* 180 */
9
07
,
970
,
968
,
966
,
958
,
964
,
960
,
962
,
956
,
885
,
/* 190 */
9
07
,
907
,
942
,
942
,
907
,
942
,
907
,
942
,
907
,
907
,
/* 200 */
99
1
,
1007
,
885
,
1124
,
1114
,
885
,
1166
,
1154
,
1153
,
1162
,
/* 210 */
116
1
,
1160
,
1152
,
1151
,
1150
,
885
,
885
,
885
,
1146
,
1149
,
/* 220 */
11
48
,
1147
,
885
,
885
,
885
,
885
,
1156
,
1155
,
885
,
885
,
/* 230 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
1120
,
1116
,
/* 240 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 250 */
8
85
,
1126
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 260 */
8
85
,
1015
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 270 */
8
85
,
885
,
885
,
885
,
1066
,
885
,
885
,
885
,
885
,
1078
,
/* 280 */
10
77
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 290 */
8
85
,
885
,
1110
,
885
,
1102
,
885
,
885
,
1027
,
885
,
885
,
/* 300 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 310 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 320 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
/* 330 */
8
85
,
1185
,
1180
,
1181
,
1178
,
885
,
885
,
885
,
1177
,
1172
,
/* 340 */
117
3
,
885
,
885
,
885
,
1170
,
885
,
885
,
885
,
885
,
885
,
/* 350 */
8
85
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
885
,
976
,
/* 360 */
885
,
914
,
912
,
885
,
885
,
/* 0 */
8
90
,
953
,
940
,
949
,
1174
,
1174
,
1174
,
890
,
890
,
890
,
/* 10 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 20 */
8
90
,
1081
,
910
,
1174
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 30 */
8
90
,
1096
,
890
,
949
,
890
,
890
,
890
,
890
,
959
,
949
,
/* 40 */
95
9
,
959
,
890
,
1076
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 50 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 60 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 70 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 80 */
8
90
,
890
,
1083
,
1089
,
1086
,
890
,
890
,
890
,
1091
,
890
,
/* 90 */
8
90
,
890
,
1115
,
1115
,
1074
,
890
,
890
,
890
,
890
,
890
,
/* 100 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 110 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 120 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
938
,
890
,
936
,
/* 130 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 140 */
8
90
,
890
,
890
,
890
,
890
,
890
,
921
,
890
,
890
,
890
,
/* 150 */
8
90
,
890
,
890
,
908
,
912
,
912
,
912
,
890
,
890
,
890
,
/* 160 */
8
90
,
912
,
912
,
1122
,
1126
,
1108
,
1120
,
1116
,
1103
,
1101
,
/* 170 */
109
9
,
1107
,
1130
,
912
,
912
,
912
,
957
,
957
,
949
,
912
,
/* 180 */
9
12
,
975
,
973
,
971
,
963
,
969
,
965
,
967
,
961
,
890
,
/* 190 */
9
12
,
912
,
947
,
947
,
912
,
947
,
912
,
947
,
912
,
912
,
/* 200 */
99
7
,
1014
,
890
,
1131
,
1121
,
890
,
1173
,
1161
,
1160
,
1169
,
/* 210 */
116
8
,
1167
,
1159
,
1158
,
1157
,
890
,
890
,
890
,
1153
,
1156
,
/* 220 */
11
55
,
1154
,
890
,
890
,
890
,
890
,
1163
,
1162
,
890
,
890
,
/* 230 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
1127
,
1123
,
/* 240 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 250 */
8
90
,
1133
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 260 */
8
90
,
1022
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 270 */
8
90
,
890
,
890
,
890
,
1073
,
890
,
890
,
890
,
890
,
1085
,
/* 280 */
10
84
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 290 */
8
90
,
890
,
1117
,
890
,
1109
,
890
,
890
,
1034
,
890
,
890
,
/* 300 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 310 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 320 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 330 */
8
90
,
890
,
1192
,
1187
,
1188
,
1185
,
890
,
890
,
890
,
1184
,
/* 340 */
117
9
,
1180
,
890
,
890
,
890
,
1177
,
890
,
890
,
890
,
890
,
/* 350 */
8
90
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
890
,
/* 360 */
981
,
890
,
919
,
917
,
890
,
890
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -1019,47 +1021,48 @@ static const char *const yyTokenName[] = {
/* 228 */
"prec"
,
/* 229 */
"update"
,
/* 230 */
"cachelast"
,
/* 231 */
"signed"
,
/* 232 */
"create_table_args"
,
/* 233 */
"create_stable_args"
,
/* 234 */
"create_table_list"
,
/* 235 */
"create_from_stable"
,
/* 236 */
"columnlist"
,
/* 237 */
"tagitemlist1"
,
/* 238 */
"tagNamelist"
,
/* 239 */
"select"
,
/* 240 */
"column"
,
/* 241 */
"tagitem1"
,
/* 242 */
"tagitemlist"
,
/* 243 */
"tagitem"
,
/* 244 */
"selcollist"
,
/* 245 */
"from"
,
/* 246 */
"where_opt"
,
/* 247 */
"interval_option"
,
/* 248 */
"sliding_opt"
,
/* 249 */
"session_option"
,
/* 250 */
"windowstate_option"
,
/* 251 */
"fill_opt"
,
/* 252 */
"groupby_opt"
,
/* 253 */
"having_opt"
,
/* 254 */
"orderby_opt"
,
/* 255 */
"slimit_opt"
,
/* 256 */
"limit_opt"
,
/* 257 */
"union"
,
/* 258 */
"sclp"
,
/* 259 */
"distinct"
,
/* 260 */
"expr"
,
/* 261 */
"as"
,
/* 262 */
"tablelist"
,
/* 263 */
"sub"
,
/* 264 */
"tmvar"
,
/* 265 */
"intervalKey"
,
/* 266 */
"sortlist"
,
/* 267 */
"sortitem"
,
/* 268 */
"item"
,
/* 269 */
"sortorder"
,
/* 270 */
"grouplist"
,
/* 271 */
"expritem"
,
/* 231 */
"vgroups"
,
/* 232 */
"signed"
,
/* 233 */
"create_table_args"
,
/* 234 */
"create_stable_args"
,
/* 235 */
"create_table_list"
,
/* 236 */
"create_from_stable"
,
/* 237 */
"columnlist"
,
/* 238 */
"tagitemlist1"
,
/* 239 */
"tagNamelist"
,
/* 240 */
"select"
,
/* 241 */
"column"
,
/* 242 */
"tagitem1"
,
/* 243 */
"tagitemlist"
,
/* 244 */
"tagitem"
,
/* 245 */
"selcollist"
,
/* 246 */
"from"
,
/* 247 */
"where_opt"
,
/* 248 */
"interval_option"
,
/* 249 */
"sliding_opt"
,
/* 250 */
"session_option"
,
/* 251 */
"windowstate_option"
,
/* 252 */
"fill_opt"
,
/* 253 */
"groupby_opt"
,
/* 254 */
"having_opt"
,
/* 255 */
"orderby_opt"
,
/* 256 */
"slimit_opt"
,
/* 257 */
"limit_opt"
,
/* 258 */
"union"
,
/* 259 */
"sclp"
,
/* 260 */
"distinct"
,
/* 261 */
"expr"
,
/* 262 */
"as"
,
/* 263 */
"tablelist"
,
/* 264 */
"sub"
,
/* 265 */
"tmvar"
,
/* 266 */
"intervalKey"
,
/* 267 */
"sortlist"
,
/* 268 */
"sortitem"
,
/* 269 */
"item"
,
/* 270 */
"sortorder"
,
/* 271 */
"grouplist"
,
/* 272 */
"expritem"
,
};
#endif
/* defined(YYCOVERAGE) || !defined(NDEBUG) */
...
...
@@ -1170,204 +1173,206 @@ static const char *const yyRuleName[] = {
/* 100 */
"prec ::= PRECISION STRING"
,
/* 101 */
"update ::= UPDATE INTEGER"
,
/* 102 */
"cachelast ::= CACHELAST INTEGER"
,
/* 103 */
"db_optr ::="
,
/* 104 */
"db_optr ::= db_optr cache"
,
/* 105 */
"db_optr ::= db_optr replica"
,
/* 106 */
"db_optr ::= db_optr quorum"
,
/* 107 */
"db_optr ::= db_optr days"
,
/* 108 */
"db_optr ::= db_optr minrows"
,
/* 109 */
"db_optr ::= db_optr maxrows"
,
/* 110 */
"db_optr ::= db_optr blocks"
,
/* 111 */
"db_optr ::= db_optr ctime"
,
/* 112 */
"db_optr ::= db_optr wal"
,
/* 113 */
"db_optr ::= db_optr fsync"
,
/* 114 */
"db_optr ::= db_optr comp"
,
/* 115 */
"db_optr ::= db_optr prec"
,
/* 116 */
"db_optr ::= db_optr keep"
,
/* 117 */
"db_optr ::= db_optr update"
,
/* 118 */
"db_optr ::= db_optr cachelast"
,
/* 119 */
"alter_db_optr ::="
,
/* 120 */
"alter_db_optr ::= alter_db_optr replica"
,
/* 121 */
"alter_db_optr ::= alter_db_optr quorum"
,
/* 122 */
"alter_db_optr ::= alter_db_optr keep"
,
/* 123 */
"alter_db_optr ::= alter_db_optr blocks"
,
/* 124 */
"alter_db_optr ::= alter_db_optr comp"
,
/* 125 */
"alter_db_optr ::= alter_db_optr update"
,
/* 126 */
"alter_db_optr ::= alter_db_optr cachelast"
,
/* 127 */
"typename ::= ids"
,
/* 128 */
"typename ::= ids LP signed RP"
,
/* 129 */
"typename ::= ids UNSIGNED"
,
/* 130 */
"signed ::= INTEGER"
,
/* 131 */
"signed ::= PLUS INTEGER"
,
/* 132 */
"signed ::= MINUS INTEGER"
,
/* 133 */
"cmd ::= CREATE TABLE create_table_args"
,
/* 134 */
"cmd ::= CREATE TABLE create_stable_args"
,
/* 135 */
"cmd ::= CREATE STABLE create_stable_args"
,
/* 136 */
"cmd ::= CREATE TABLE create_table_list"
,
/* 137 */
"create_table_list ::= create_from_stable"
,
/* 138 */
"create_table_list ::= create_table_list create_from_stable"
,
/* 139 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 140 */
"create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 141 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist1 RP"
,
/* 142 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist1 RP"
,
/* 143 */
"tagNamelist ::= tagNamelist COMMA ids"
,
/* 144 */
"tagNamelist ::= ids"
,
/* 145 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 146 */
"columnlist ::= columnlist COMMA column"
,
/* 147 */
"columnlist ::= column"
,
/* 148 */
"column ::= ids typename"
,
/* 149 */
"tagitemlist1 ::= tagitemlist1 COMMA tagitem1"
,
/* 150 */
"tagitemlist1 ::= tagitem1"
,
/* 151 */
"tagitem1 ::= MINUS INTEGER"
,
/* 152 */
"tagitem1 ::= MINUS FLOAT"
,
/* 153 */
"tagitem1 ::= PLUS INTEGER"
,
/* 154 */
"tagitem1 ::= PLUS FLOAT"
,
/* 155 */
"tagitem1 ::= INTEGER"
,
/* 156 */
"tagitem1 ::= FLOAT"
,
/* 157 */
"tagitem1 ::= STRING"
,
/* 158 */
"tagitem1 ::= BOOL"
,
/* 159 */
"tagitem1 ::= NULL"
,
/* 160 */
"tagitem1 ::= NOW"
,
/* 161 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 162 */
"tagitemlist ::= tagitem"
,
/* 163 */
"tagitem ::= INTEGER"
,
/* 164 */
"tagitem ::= FLOAT"
,
/* 165 */
"tagitem ::= STRING"
,
/* 166 */
"tagitem ::= BOOL"
,
/* 167 */
"tagitem ::= NULL"
,
/* 168 */
"tagitem ::= NOW"
,
/* 169 */
"tagitem ::= MINUS INTEGER"
,
/* 170 */
"tagitem ::= MINUS FLOAT"
,
/* 171 */
"tagitem ::= PLUS INTEGER"
,
/* 172 */
"tagitem ::= PLUS FLOAT"
,
/* 173 */
"select ::= SELECT selcollist from where_opt interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt"
,
/* 174 */
"select ::= LP select RP"
,
/* 175 */
"union ::= select"
,
/* 176 */
"union ::= union UNION ALL select"
,
/* 177 */
"union ::= union UNION select"
,
/* 178 */
"cmd ::= union"
,
/* 179 */
"select ::= SELECT selcollist"
,
/* 180 */
"sclp ::= selcollist COMMA"
,
/* 181 */
"sclp ::="
,
/* 182 */
"selcollist ::= sclp distinct expr as"
,
/* 183 */
"selcollist ::= sclp STAR"
,
/* 184 */
"as ::= AS ids"
,
/* 185 */
"as ::= ids"
,
/* 186 */
"as ::="
,
/* 187 */
"distinct ::= DISTINCT"
,
/* 188 */
"distinct ::="
,
/* 189 */
"from ::= FROM tablelist"
,
/* 190 */
"from ::= FROM sub"
,
/* 191 */
"sub ::= LP union RP"
,
/* 192 */
"sub ::= LP union RP ids"
,
/* 193 */
"sub ::= sub COMMA LP union RP ids"
,
/* 194 */
"tablelist ::= ids cpxName"
,
/* 195 */
"tablelist ::= ids cpxName ids"
,
/* 196 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 197 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 198 */
"tmvar ::= VARIABLE"
,
/* 199 */
"interval_option ::= intervalKey LP tmvar RP"
,
/* 200 */
"interval_option ::= intervalKey LP tmvar COMMA tmvar RP"
,
/* 201 */
"interval_option ::="
,
/* 202 */
"intervalKey ::= INTERVAL"
,
/* 203 */
"intervalKey ::= EVERY"
,
/* 204 */
"session_option ::="
,
/* 205 */
"session_option ::= SESSION LP ids cpxName COMMA tmvar RP"
,
/* 206 */
"windowstate_option ::="
,
/* 207 */
"windowstate_option ::= STATE_WINDOW LP ids RP"
,
/* 208 */
"fill_opt ::="
,
/* 209 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 210 */
"fill_opt ::= FILL LP ID RP"
,
/* 211 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 212 */
"sliding_opt ::="
,
/* 213 */
"orderby_opt ::="
,
/* 214 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 215 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 216 */
"sortlist ::= item sortorder"
,
/* 217 */
"item ::= ids cpxName"
,
/* 218 */
"sortorder ::= ASC"
,
/* 219 */
"sortorder ::= DESC"
,
/* 220 */
"sortorder ::="
,
/* 221 */
"groupby_opt ::="
,
/* 222 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 223 */
"grouplist ::= grouplist COMMA item"
,
/* 224 */
"grouplist ::= item"
,
/* 225 */
"having_opt ::="
,
/* 226 */
"having_opt ::= HAVING expr"
,
/* 227 */
"limit_opt ::="
,
/* 228 */
"limit_opt ::= LIMIT signed"
,
/* 229 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 230 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 231 */
"slimit_opt ::="
,
/* 232 */
"slimit_opt ::= SLIMIT signed"
,
/* 233 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 234 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 235 */
"where_opt ::="
,
/* 236 */
"where_opt ::= WHERE expr"
,
/* 237 */
"expr ::= LP expr RP"
,
/* 238 */
"expr ::= ID"
,
/* 239 */
"expr ::= ID DOT ID"
,
/* 240 */
"expr ::= ID DOT STAR"
,
/* 241 */
"expr ::= INTEGER"
,
/* 242 */
"expr ::= MINUS INTEGER"
,
/* 243 */
"expr ::= PLUS INTEGER"
,
/* 244 */
"expr ::= FLOAT"
,
/* 245 */
"expr ::= MINUS FLOAT"
,
/* 246 */
"expr ::= PLUS FLOAT"
,
/* 247 */
"expr ::= STRING"
,
/* 248 */
"expr ::= NOW"
,
/* 249 */
"expr ::= VARIABLE"
,
/* 250 */
"expr ::= PLUS VARIABLE"
,
/* 251 */
"expr ::= MINUS VARIABLE"
,
/* 252 */
"expr ::= BOOL"
,
/* 253 */
"expr ::= NULL"
,
/* 254 */
"expr ::= ID LP exprlist RP"
,
/* 255 */
"expr ::= ID LP STAR RP"
,
/* 256 */
"expr ::= expr IS NULL"
,
/* 257 */
"expr ::= expr IS NOT NULL"
,
/* 258 */
"expr ::= expr LT expr"
,
/* 259 */
"expr ::= expr GT expr"
,
/* 260 */
"expr ::= expr LE expr"
,
/* 261 */
"expr ::= expr GE expr"
,
/* 262 */
"expr ::= expr NE expr"
,
/* 263 */
"expr ::= expr EQ expr"
,
/* 264 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 265 */
"expr ::= expr AND expr"
,
/* 266 */
"expr ::= expr OR expr"
,
/* 267 */
"expr ::= expr PLUS expr"
,
/* 268 */
"expr ::= expr MINUS expr"
,
/* 269 */
"expr ::= expr STAR expr"
,
/* 270 */
"expr ::= expr SLASH expr"
,
/* 271 */
"expr ::= expr REM expr"
,
/* 272 */
"expr ::= expr LIKE expr"
,
/* 273 */
"expr ::= expr MATCH expr"
,
/* 274 */
"expr ::= expr NMATCH expr"
,
/* 275 */
"expr ::= expr IN LP exprlist RP"
,
/* 276 */
"exprlist ::= exprlist COMMA expritem"
,
/* 277 */
"exprlist ::= expritem"
,
/* 278 */
"expritem ::= expr"
,
/* 279 */
"expritem ::="
,
/* 280 */
"cmd ::= RESET QUERY CACHE"
,
/* 281 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 282 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 283 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 284 */
"cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 285 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 286 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 287 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 288 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 289 */
"cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist"
,
/* 290 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 291 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 292 */
"cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 293 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 294 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 295 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 296 */
"cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 297 */
"cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist"
,
/* 298 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 299 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 300 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 103 */
"vgroups ::= VGROUPS INTEGER"
,
/* 104 */
"db_optr ::="
,
/* 105 */
"db_optr ::= db_optr cache"
,
/* 106 */
"db_optr ::= db_optr replica"
,
/* 107 */
"db_optr ::= db_optr quorum"
,
/* 108 */
"db_optr ::= db_optr days"
,
/* 109 */
"db_optr ::= db_optr minrows"
,
/* 110 */
"db_optr ::= db_optr maxrows"
,
/* 111 */
"db_optr ::= db_optr blocks"
,
/* 112 */
"db_optr ::= db_optr ctime"
,
/* 113 */
"db_optr ::= db_optr wal"
,
/* 114 */
"db_optr ::= db_optr fsync"
,
/* 115 */
"db_optr ::= db_optr comp"
,
/* 116 */
"db_optr ::= db_optr prec"
,
/* 117 */
"db_optr ::= db_optr keep"
,
/* 118 */
"db_optr ::= db_optr update"
,
/* 119 */
"db_optr ::= db_optr cachelast"
,
/* 120 */
"db_optr ::= db_optr vgroups"
,
/* 121 */
"alter_db_optr ::="
,
/* 122 */
"alter_db_optr ::= alter_db_optr replica"
,
/* 123 */
"alter_db_optr ::= alter_db_optr quorum"
,
/* 124 */
"alter_db_optr ::= alter_db_optr keep"
,
/* 125 */
"alter_db_optr ::= alter_db_optr blocks"
,
/* 126 */
"alter_db_optr ::= alter_db_optr comp"
,
/* 127 */
"alter_db_optr ::= alter_db_optr update"
,
/* 128 */
"alter_db_optr ::= alter_db_optr cachelast"
,
/* 129 */
"typename ::= ids"
,
/* 130 */
"typename ::= ids LP signed RP"
,
/* 131 */
"typename ::= ids UNSIGNED"
,
/* 132 */
"signed ::= INTEGER"
,
/* 133 */
"signed ::= PLUS INTEGER"
,
/* 134 */
"signed ::= MINUS INTEGER"
,
/* 135 */
"cmd ::= CREATE TABLE create_table_args"
,
/* 136 */
"cmd ::= CREATE TABLE create_stable_args"
,
/* 137 */
"cmd ::= CREATE STABLE create_stable_args"
,
/* 138 */
"cmd ::= CREATE TABLE create_table_list"
,
/* 139 */
"create_table_list ::= create_from_stable"
,
/* 140 */
"create_table_list ::= create_table_list create_from_stable"
,
/* 141 */
"create_table_args ::= ifnotexists ids cpxName LP columnlist RP"
,
/* 142 */
"create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP"
,
/* 143 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist1 RP"
,
/* 144 */
"create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist1 RP"
,
/* 145 */
"tagNamelist ::= tagNamelist COMMA ids"
,
/* 146 */
"tagNamelist ::= ids"
,
/* 147 */
"create_table_args ::= ifnotexists ids cpxName AS select"
,
/* 148 */
"columnlist ::= columnlist COMMA column"
,
/* 149 */
"columnlist ::= column"
,
/* 150 */
"column ::= ids typename"
,
/* 151 */
"tagitemlist1 ::= tagitemlist1 COMMA tagitem1"
,
/* 152 */
"tagitemlist1 ::= tagitem1"
,
/* 153 */
"tagitem1 ::= MINUS INTEGER"
,
/* 154 */
"tagitem1 ::= MINUS FLOAT"
,
/* 155 */
"tagitem1 ::= PLUS INTEGER"
,
/* 156 */
"tagitem1 ::= PLUS FLOAT"
,
/* 157 */
"tagitem1 ::= INTEGER"
,
/* 158 */
"tagitem1 ::= FLOAT"
,
/* 159 */
"tagitem1 ::= STRING"
,
/* 160 */
"tagitem1 ::= BOOL"
,
/* 161 */
"tagitem1 ::= NULL"
,
/* 162 */
"tagitem1 ::= NOW"
,
/* 163 */
"tagitemlist ::= tagitemlist COMMA tagitem"
,
/* 164 */
"tagitemlist ::= tagitem"
,
/* 165 */
"tagitem ::= INTEGER"
,
/* 166 */
"tagitem ::= FLOAT"
,
/* 167 */
"tagitem ::= STRING"
,
/* 168 */
"tagitem ::= BOOL"
,
/* 169 */
"tagitem ::= NULL"
,
/* 170 */
"tagitem ::= NOW"
,
/* 171 */
"tagitem ::= MINUS INTEGER"
,
/* 172 */
"tagitem ::= MINUS FLOAT"
,
/* 173 */
"tagitem ::= PLUS INTEGER"
,
/* 174 */
"tagitem ::= PLUS FLOAT"
,
/* 175 */
"select ::= SELECT selcollist from where_opt interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt"
,
/* 176 */
"select ::= LP select RP"
,
/* 177 */
"union ::= select"
,
/* 178 */
"union ::= union UNION ALL select"
,
/* 179 */
"union ::= union UNION select"
,
/* 180 */
"cmd ::= union"
,
/* 181 */
"select ::= SELECT selcollist"
,
/* 182 */
"sclp ::= selcollist COMMA"
,
/* 183 */
"sclp ::="
,
/* 184 */
"selcollist ::= sclp distinct expr as"
,
/* 185 */
"selcollist ::= sclp STAR"
,
/* 186 */
"as ::= AS ids"
,
/* 187 */
"as ::= ids"
,
/* 188 */
"as ::="
,
/* 189 */
"distinct ::= DISTINCT"
,
/* 190 */
"distinct ::="
,
/* 191 */
"from ::= FROM tablelist"
,
/* 192 */
"from ::= FROM sub"
,
/* 193 */
"sub ::= LP union RP"
,
/* 194 */
"sub ::= LP union RP ids"
,
/* 195 */
"sub ::= sub COMMA LP union RP ids"
,
/* 196 */
"tablelist ::= ids cpxName"
,
/* 197 */
"tablelist ::= ids cpxName ids"
,
/* 198 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 199 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 200 */
"tmvar ::= VARIABLE"
,
/* 201 */
"interval_option ::= intervalKey LP tmvar RP"
,
/* 202 */
"interval_option ::= intervalKey LP tmvar COMMA tmvar RP"
,
/* 203 */
"interval_option ::="
,
/* 204 */
"intervalKey ::= INTERVAL"
,
/* 205 */
"intervalKey ::= EVERY"
,
/* 206 */
"session_option ::="
,
/* 207 */
"session_option ::= SESSION LP ids cpxName COMMA tmvar RP"
,
/* 208 */
"windowstate_option ::="
,
/* 209 */
"windowstate_option ::= STATE_WINDOW LP ids RP"
,
/* 210 */
"fill_opt ::="
,
/* 211 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 212 */
"fill_opt ::= FILL LP ID RP"
,
/* 213 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 214 */
"sliding_opt ::="
,
/* 215 */
"orderby_opt ::="
,
/* 216 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 217 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 218 */
"sortlist ::= item sortorder"
,
/* 219 */
"item ::= ids cpxName"
,
/* 220 */
"sortorder ::= ASC"
,
/* 221 */
"sortorder ::= DESC"
,
/* 222 */
"sortorder ::="
,
/* 223 */
"groupby_opt ::="
,
/* 224 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 225 */
"grouplist ::= grouplist COMMA item"
,
/* 226 */
"grouplist ::= item"
,
/* 227 */
"having_opt ::="
,
/* 228 */
"having_opt ::= HAVING expr"
,
/* 229 */
"limit_opt ::="
,
/* 230 */
"limit_opt ::= LIMIT signed"
,
/* 231 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 232 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 233 */
"slimit_opt ::="
,
/* 234 */
"slimit_opt ::= SLIMIT signed"
,
/* 235 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 236 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 237 */
"where_opt ::="
,
/* 238 */
"where_opt ::= WHERE expr"
,
/* 239 */
"expr ::= LP expr RP"
,
/* 240 */
"expr ::= ID"
,
/* 241 */
"expr ::= ID DOT ID"
,
/* 242 */
"expr ::= ID DOT STAR"
,
/* 243 */
"expr ::= INTEGER"
,
/* 244 */
"expr ::= MINUS INTEGER"
,
/* 245 */
"expr ::= PLUS INTEGER"
,
/* 246 */
"expr ::= FLOAT"
,
/* 247 */
"expr ::= MINUS FLOAT"
,
/* 248 */
"expr ::= PLUS FLOAT"
,
/* 249 */
"expr ::= STRING"
,
/* 250 */
"expr ::= NOW"
,
/* 251 */
"expr ::= VARIABLE"
,
/* 252 */
"expr ::= PLUS VARIABLE"
,
/* 253 */
"expr ::= MINUS VARIABLE"
,
/* 254 */
"expr ::= BOOL"
,
/* 255 */
"expr ::= NULL"
,
/* 256 */
"expr ::= ID LP exprlist RP"
,
/* 257 */
"expr ::= ID LP STAR RP"
,
/* 258 */
"expr ::= expr IS NULL"
,
/* 259 */
"expr ::= expr IS NOT NULL"
,
/* 260 */
"expr ::= expr LT expr"
,
/* 261 */
"expr ::= expr GT expr"
,
/* 262 */
"expr ::= expr LE expr"
,
/* 263 */
"expr ::= expr GE expr"
,
/* 264 */
"expr ::= expr NE expr"
,
/* 265 */
"expr ::= expr EQ expr"
,
/* 266 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 267 */
"expr ::= expr AND expr"
,
/* 268 */
"expr ::= expr OR expr"
,
/* 269 */
"expr ::= expr PLUS expr"
,
/* 270 */
"expr ::= expr MINUS expr"
,
/* 271 */
"expr ::= expr STAR expr"
,
/* 272 */
"expr ::= expr SLASH expr"
,
/* 273 */
"expr ::= expr REM expr"
,
/* 274 */
"expr ::= expr LIKE expr"
,
/* 275 */
"expr ::= expr MATCH expr"
,
/* 276 */
"expr ::= expr NMATCH expr"
,
/* 277 */
"expr ::= expr IN LP exprlist RP"
,
/* 278 */
"exprlist ::= exprlist COMMA expritem"
,
/* 279 */
"exprlist ::= expritem"
,
/* 280 */
"expritem ::= expr"
,
/* 281 */
"expritem ::="
,
/* 282 */
"cmd ::= RESET QUERY CACHE"
,
/* 283 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 284 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 285 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 286 */
"cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 287 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 288 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 289 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 290 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 291 */
"cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist"
,
/* 292 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 293 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 294 */
"cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 295 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 296 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 297 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 298 */
"cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 299 */
"cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist"
,
/* 300 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 301 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 302 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
#endif
/* NDEBUG */
...
...
@@ -1489,60 +1494,60 @@ static void yy_destructor(
*/
/********* Begin destructor definitions ***************************************/
case
200
:
/* exprlist */
case
24
4
:
/* selcollist */
case
25
8
:
/* sclp */
case
24
5
:
/* selcollist */
case
25
9
:
/* sclp */
{
tSqlExprListDestroy
((
yypminor
->
yy
413
));
tSqlExprListDestroy
((
yypminor
->
yy
165
));
}
break
;
case
214
:
/* intitemlist */
case
216
:
/* keep */
case
23
6
:
/* columnlist */
case
23
7
:
/* tagitemlist1 */
case
23
8
:
/* tagNamelist */
case
24
2
:
/* tagitemlist */
case
25
1
:
/* fill_opt */
case
25
2
:
/* groupby_opt */
case
25
4
:
/* orderby_opt */
case
26
6
:
/* sortlist */
case
27
0
:
/* grouplist */
{
taosArrayDestroy
((
yypminor
->
yy
413
));
case
23
7
:
/* columnlist */
case
23
8
:
/* tagitemlist1 */
case
23
9
:
/* tagNamelist */
case
24
3
:
/* tagitemlist */
case
25
2
:
/* fill_opt */
case
25
3
:
/* groupby_opt */
case
25
5
:
/* orderby_opt */
case
26
7
:
/* sortlist */
case
27
1
:
/* grouplist */
{
taosArrayDestroy
((
yypminor
->
yy
165
));
}
break
;
case
23
4
:
/* create_table_list */
case
23
5
:
/* create_table_list */
{
destroyCreateTableSql
((
yypminor
->
yy
438
));
destroyCreateTableSql
((
yypminor
->
yy
326
));
}
break
;
case
2
39
:
/* select */
case
2
40
:
/* select */
{
destroySqlNode
((
yypminor
->
yy2
4
));
destroySqlNode
((
yypminor
->
yy2
78
));
}
break
;
case
24
5
:
/* from */
case
26
2
:
/* tablelist */
case
26
3
:
/* sub */
case
24
6
:
/* from */
case
26
3
:
/* tablelist */
case
26
4
:
/* sub */
{
destroyRelationInfo
((
yypminor
->
yy
292
));
destroyRelationInfo
((
yypminor
->
yy
10
));
}
break
;
case
24
6
:
/* where_opt */
case
25
3
:
/* having_opt */
case
26
0
:
/* expr */
case
27
1
:
/* expritem */
case
24
7
:
/* where_opt */
case
25
4
:
/* having_opt */
case
26
1
:
/* expr */
case
27
2
:
/* expritem */
{
tSqlExprDestroy
((
yypminor
->
yy
370
));
tSqlExprDestroy
((
yypminor
->
yy
202
));
}
break
;
case
25
7
:
/* union */
case
25
8
:
/* union */
{
destroyAllSqlNode
((
yypminor
->
yy
129
));
destroyAllSqlNode
((
yypminor
->
yy
503
));
}
break
;
case
26
7
:
/* sortitem */
case
26
8
:
/* sortitem */
{
taosVariantDestroy
(
&
(
yypminor
->
yy4
61
));
taosVariantDestroy
(
&
(
yypminor
->
yy4
25
));
}
break
;
/********* End destructor definitions *****************************************/
...
...
@@ -1939,204 +1944,206 @@ static const struct {
{
228
,
-
2
},
/* (100) prec ::= PRECISION STRING */
{
229
,
-
2
},
/* (101) update ::= UPDATE INTEGER */
{
230
,
-
2
},
/* (102) cachelast ::= CACHELAST INTEGER */
{
202
,
0
},
/* (103) db_optr ::= */
{
202
,
-
2
},
/* (104) db_optr ::= db_optr cache */
{
202
,
-
2
},
/* (105) db_optr ::= db_optr replica */
{
202
,
-
2
},
/* (106) db_optr ::= db_optr quorum */
{
202
,
-
2
},
/* (107) db_optr ::= db_optr days */
{
202
,
-
2
},
/* (108) db_optr ::= db_optr minrows */
{
202
,
-
2
},
/* (109) db_optr ::= db_optr maxrows */
{
202
,
-
2
},
/* (110) db_optr ::= db_optr blocks */
{
202
,
-
2
},
/* (111) db_optr ::= db_optr ctime */
{
202
,
-
2
},
/* (112) db_optr ::= db_optr wal */
{
202
,
-
2
},
/* (113) db_optr ::= db_optr fsync */
{
202
,
-
2
},
/* (114) db_optr ::= db_optr comp */
{
202
,
-
2
},
/* (115) db_optr ::= db_optr prec */
{
202
,
-
2
},
/* (116) db_optr ::= db_optr keep */
{
202
,
-
2
},
/* (117) db_optr ::= db_optr update */
{
202
,
-
2
},
/* (118) db_optr ::= db_optr cachelast */
{
198
,
0
},
/* (119) alter_db_optr ::= */
{
198
,
-
2
},
/* (120) alter_db_optr ::= alter_db_optr replica */
{
198
,
-
2
},
/* (121) alter_db_optr ::= alter_db_optr quorum */
{
198
,
-
2
},
/* (122) alter_db_optr ::= alter_db_optr keep */
{
198
,
-
2
},
/* (123) alter_db_optr ::= alter_db_optr blocks */
{
198
,
-
2
},
/* (124) alter_db_optr ::= alter_db_optr comp */
{
198
,
-
2
},
/* (125) alter_db_optr ::= alter_db_optr update */
{
198
,
-
2
},
/* (126) alter_db_optr ::= alter_db_optr cachelast */
{
203
,
-
1
},
/* (127) typename ::= ids */
{
203
,
-
4
},
/* (128) typename ::= ids LP signed RP */
{
203
,
-
2
},
/* (129) typename ::= ids UNSIGNED */
{
231
,
-
1
},
/* (130) signed ::= INTEGER */
{
231
,
-
2
},
/* (131) signed ::= PLUS INTEGER */
{
231
,
-
2
},
/* (132) signed ::= MINUS INTEGER */
{
193
,
-
3
},
/* (133) cmd ::= CREATE TABLE create_table_args */
{
193
,
-
3
},
/* (134) cmd ::= CREATE TABLE create_stable_args */
{
193
,
-
3
},
/* (135) cmd ::= CREATE STABLE create_stable_args */
{
193
,
-
3
},
/* (136) cmd ::= CREATE TABLE create_table_list */
{
234
,
-
1
},
/* (137) create_table_list ::= create_from_stable */
{
234
,
-
2
},
/* (138) create_table_list ::= create_table_list create_from_stable */
{
232
,
-
6
},
/* (139) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
233
,
-
10
},
/* (140) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
235
,
-
10
},
/* (141) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist1 RP */
{
235
,
-
13
},
/* (142) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist1 RP */
{
238
,
-
3
},
/* (143) tagNamelist ::= tagNamelist COMMA ids */
{
238
,
-
1
},
/* (144) tagNamelist ::= ids */
{
232
,
-
5
},
/* (145) create_table_args ::= ifnotexists ids cpxName AS select */
{
236
,
-
3
},
/* (146) columnlist ::= columnlist COMMA column */
{
236
,
-
1
},
/* (147) columnlist ::= column */
{
240
,
-
2
},
/* (148) column ::= ids typename */
{
237
,
-
3
},
/* (149) tagitemlist1 ::= tagitemlist1 COMMA tagitem1 */
{
237
,
-
1
},
/* (150) tagitemlist1 ::= tagitem1 */
{
241
,
-
2
},
/* (151) tagitem1 ::= MINUS INTEGER */
{
241
,
-
2
},
/* (152) tagitem1 ::= MINUS FLOAT */
{
241
,
-
2
},
/* (153) tagitem1 ::= PLUS INTEGER */
{
241
,
-
2
},
/* (154) tagitem1 ::= PLUS FLOAT */
{
241
,
-
1
},
/* (155) tagitem1 ::= INTEGER */
{
241
,
-
1
},
/* (156) tagitem1 ::= FLOAT */
{
241
,
-
1
},
/* (157) tagitem1 ::= STRING */
{
241
,
-
1
},
/* (158) tagitem1 ::= BOOL */
{
241
,
-
1
},
/* (159) tagitem1 ::= NULL */
{
241
,
-
1
},
/* (160) tagitem1 ::= NOW */
{
242
,
-
3
},
/* (161) tagitemlist ::= tagitemlist COMMA tagitem */
{
242
,
-
1
},
/* (162) tagitemlist ::= tagitem */
{
243
,
-
1
},
/* (163) tagitem ::= INTEGER */
{
243
,
-
1
},
/* (164) tagitem ::= FLOAT */
{
243
,
-
1
},
/* (165) tagitem ::= STRING */
{
243
,
-
1
},
/* (166) tagitem ::= BOOL */
{
243
,
-
1
},
/* (167) tagitem ::= NULL */
{
243
,
-
1
},
/* (168) tagitem ::= NOW */
{
243
,
-
2
},
/* (169) tagitem ::= MINUS INTEGER */
{
243
,
-
2
},
/* (170) tagitem ::= MINUS FLOAT */
{
243
,
-
2
},
/* (171) tagitem ::= PLUS INTEGER */
{
243
,
-
2
},
/* (172) tagitem ::= PLUS FLOAT */
{
239
,
-
14
},
/* (173) select ::= SELECT selcollist from where_opt interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
{
239
,
-
3
},
/* (174) select ::= LP select RP */
{
257
,
-
1
},
/* (175) union ::= select */
{
257
,
-
4
},
/* (176) union ::= union UNION ALL select */
{
257
,
-
3
},
/* (177) union ::= union UNION select */
{
193
,
-
1
},
/* (178) cmd ::= union */
{
239
,
-
2
},
/* (179) select ::= SELECT selcollist */
{
258
,
-
2
},
/* (180) sclp ::= selcollist COMMA */
{
258
,
0
},
/* (181) sclp ::= */
{
244
,
-
4
},
/* (182) selcollist ::= sclp distinct expr as */
{
244
,
-
2
},
/* (183) selcollist ::= sclp STAR */
{
261
,
-
2
},
/* (184) as ::= AS ids */
{
261
,
-
1
},
/* (185) as ::= ids */
{
261
,
0
},
/* (186) as ::= */
{
259
,
-
1
},
/* (187) distinct ::= DISTINCT */
{
259
,
0
},
/* (188) distinct ::= */
{
245
,
-
2
},
/* (189) from ::= FROM tablelist */
{
245
,
-
2
},
/* (190) from ::= FROM sub */
{
263
,
-
3
},
/* (191) sub ::= LP union RP */
{
263
,
-
4
},
/* (192) sub ::= LP union RP ids */
{
263
,
-
6
},
/* (193) sub ::= sub COMMA LP union RP ids */
{
262
,
-
2
},
/* (194) tablelist ::= ids cpxName */
{
262
,
-
3
},
/* (195) tablelist ::= ids cpxName ids */
{
262
,
-
4
},
/* (196) tablelist ::= tablelist COMMA ids cpxName */
{
262
,
-
5
},
/* (197) tablelist ::= tablelist COMMA ids cpxName ids */
{
264
,
-
1
},
/* (198) tmvar ::= VARIABLE */
{
247
,
-
4
},
/* (199) interval_option ::= intervalKey LP tmvar RP */
{
247
,
-
6
},
/* (200) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{
247
,
0
},
/* (201) interval_option ::= */
{
265
,
-
1
},
/* (202) intervalKey ::= INTERVAL */
{
265
,
-
1
},
/* (203) intervalKey ::= EVERY */
{
249
,
0
},
/* (204) session_option ::= */
{
249
,
-
7
},
/* (205) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
250
,
0
},
/* (206) windowstate_option ::= */
{
250
,
-
4
},
/* (207) windowstate_option ::= STATE_WINDOW LP ids RP */
{
251
,
0
},
/* (208) fill_opt ::= */
{
251
,
-
6
},
/* (209) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
251
,
-
4
},
/* (210) fill_opt ::= FILL LP ID RP */
{
248
,
-
4
},
/* (211) sliding_opt ::= SLIDING LP tmvar RP */
{
248
,
0
},
/* (212) sliding_opt ::= */
{
254
,
0
},
/* (213) orderby_opt ::= */
{
254
,
-
3
},
/* (214) orderby_opt ::= ORDER BY sortlist */
{
266
,
-
4
},
/* (215) sortlist ::= sortlist COMMA item sortorder */
{
266
,
-
2
},
/* (216) sortlist ::= item sortorder */
{
268
,
-
2
},
/* (217) item ::= ids cpxName */
{
269
,
-
1
},
/* (218) sortorder ::= ASC */
{
269
,
-
1
},
/* (219) sortorder ::= DESC */
{
269
,
0
},
/* (220) sortorder ::= */
{
252
,
0
},
/* (221) groupby_opt ::= */
{
252
,
-
3
},
/* (222) groupby_opt ::= GROUP BY grouplist */
{
270
,
-
3
},
/* (223) grouplist ::= grouplist COMMA item */
{
270
,
-
1
},
/* (224) grouplist ::= item */
{
253
,
0
},
/* (225) having_opt ::= */
{
253
,
-
2
},
/* (226) having_opt ::= HAVING expr */
{
256
,
0
},
/* (227) limit_opt ::= */
{
256
,
-
2
},
/* (228) limit_opt ::= LIMIT signed */
{
256
,
-
4
},
/* (229) limit_opt ::= LIMIT signed OFFSET signed */
{
256
,
-
4
},
/* (230) limit_opt ::= LIMIT signed COMMA signed */
{
255
,
0
},
/* (231) slimit_opt ::= */
{
255
,
-
2
},
/* (232) slimit_opt ::= SLIMIT signed */
{
255
,
-
4
},
/* (233) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
255
,
-
4
},
/* (234) slimit_opt ::= SLIMIT signed COMMA signed */
{
246
,
0
},
/* (235) where_opt ::= */
{
246
,
-
2
},
/* (236) where_opt ::= WHERE expr */
{
260
,
-
3
},
/* (237) expr ::= LP expr RP */
{
260
,
-
1
},
/* (238) expr ::= ID */
{
260
,
-
3
},
/* (239) expr ::= ID DOT ID */
{
260
,
-
3
},
/* (240) expr ::= ID DOT STAR */
{
260
,
-
1
},
/* (241) expr ::= INTEGER */
{
260
,
-
2
},
/* (242) expr ::= MINUS INTEGER */
{
260
,
-
2
},
/* (243) expr ::= PLUS INTEGER */
{
260
,
-
1
},
/* (244) expr ::= FLOAT */
{
260
,
-
2
},
/* (245) expr ::= MINUS FLOAT */
{
260
,
-
2
},
/* (246) expr ::= PLUS FLOAT */
{
260
,
-
1
},
/* (247) expr ::= STRING */
{
260
,
-
1
},
/* (248) expr ::= NOW */
{
260
,
-
1
},
/* (249) expr ::= VARIABLE */
{
260
,
-
2
},
/* (250) expr ::= PLUS VARIABLE */
{
260
,
-
2
},
/* (251) expr ::= MINUS VARIABLE */
{
260
,
-
1
},
/* (252) expr ::= BOOL */
{
260
,
-
1
},
/* (253) expr ::= NULL */
{
260
,
-
4
},
/* (254) expr ::= ID LP exprlist RP */
{
260
,
-
4
},
/* (255) expr ::= ID LP STAR RP */
{
260
,
-
3
},
/* (256) expr ::= expr IS NULL */
{
260
,
-
4
},
/* (257) expr ::= expr IS NOT NULL */
{
260
,
-
3
},
/* (258) expr ::= expr LT expr */
{
260
,
-
3
},
/* (259) expr ::= expr GT expr */
{
260
,
-
3
},
/* (260) expr ::= expr LE expr */
{
260
,
-
3
},
/* (261) expr ::= expr GE expr */
{
260
,
-
3
},
/* (262) expr ::= expr NE expr */
{
260
,
-
3
},
/* (263) expr ::= expr EQ expr */
{
260
,
-
5
},
/* (264) expr ::= expr BETWEEN expr AND expr */
{
260
,
-
3
},
/* (265) expr ::= expr AND expr */
{
260
,
-
3
},
/* (266) expr ::= expr OR expr */
{
260
,
-
3
},
/* (267) expr ::= expr PLUS expr */
{
260
,
-
3
},
/* (268) expr ::= expr MINUS expr */
{
260
,
-
3
},
/* (269) expr ::= expr STAR expr */
{
260
,
-
3
},
/* (270) expr ::= expr SLASH expr */
{
260
,
-
3
},
/* (271) expr ::= expr REM expr */
{
260
,
-
3
},
/* (272) expr ::= expr LIKE expr */
{
260
,
-
3
},
/* (273) expr ::= expr MATCH expr */
{
260
,
-
3
},
/* (274) expr ::= expr NMATCH expr */
{
260
,
-
5
},
/* (275) expr ::= expr IN LP exprlist RP */
{
200
,
-
3
},
/* (276) exprlist ::= exprlist COMMA expritem */
{
200
,
-
1
},
/* (277) exprlist ::= expritem */
{
271
,
-
1
},
/* (278) expritem ::= expr */
{
271
,
0
},
/* (279) expritem ::= */
{
193
,
-
3
},
/* (280) cmd ::= RESET QUERY CACHE */
{
193
,
-
3
},
/* (281) cmd ::= SYNCDB ids REPLICA */
{
193
,
-
7
},
/* (282) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
193
,
-
7
},
/* (283) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
193
,
-
7
},
/* (284) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{
193
,
-
7
},
/* (285) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
193
,
-
7
},
/* (286) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
193
,
-
8
},
/* (287) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
193
,
-
9
},
/* (288) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
193
,
-
7
},
/* (289) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{
193
,
-
7
},
/* (290) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
193
,
-
7
},
/* (291) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
193
,
-
7
},
/* (292) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{
193
,
-
7
},
/* (293) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
193
,
-
7
},
/* (294) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
193
,
-
8
},
/* (295) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
193
,
-
9
},
/* (296) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{
193
,
-
7
},
/* (297) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{
193
,
-
3
},
/* (298) cmd ::= KILL CONNECTION INTEGER */
{
193
,
-
5
},
/* (299) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
193
,
-
5
},
/* (300) cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
231
,
-
2
},
/* (103) vgroups ::= VGROUPS INTEGER */
{
202
,
0
},
/* (104) db_optr ::= */
{
202
,
-
2
},
/* (105) db_optr ::= db_optr cache */
{
202
,
-
2
},
/* (106) db_optr ::= db_optr replica */
{
202
,
-
2
},
/* (107) db_optr ::= db_optr quorum */
{
202
,
-
2
},
/* (108) db_optr ::= db_optr days */
{
202
,
-
2
},
/* (109) db_optr ::= db_optr minrows */
{
202
,
-
2
},
/* (110) db_optr ::= db_optr maxrows */
{
202
,
-
2
},
/* (111) db_optr ::= db_optr blocks */
{
202
,
-
2
},
/* (112) db_optr ::= db_optr ctime */
{
202
,
-
2
},
/* (113) db_optr ::= db_optr wal */
{
202
,
-
2
},
/* (114) db_optr ::= db_optr fsync */
{
202
,
-
2
},
/* (115) db_optr ::= db_optr comp */
{
202
,
-
2
},
/* (116) db_optr ::= db_optr prec */
{
202
,
-
2
},
/* (117) db_optr ::= db_optr keep */
{
202
,
-
2
},
/* (118) db_optr ::= db_optr update */
{
202
,
-
2
},
/* (119) db_optr ::= db_optr cachelast */
{
202
,
-
2
},
/* (120) db_optr ::= db_optr vgroups */
{
198
,
0
},
/* (121) alter_db_optr ::= */
{
198
,
-
2
},
/* (122) alter_db_optr ::= alter_db_optr replica */
{
198
,
-
2
},
/* (123) alter_db_optr ::= alter_db_optr quorum */
{
198
,
-
2
},
/* (124) alter_db_optr ::= alter_db_optr keep */
{
198
,
-
2
},
/* (125) alter_db_optr ::= alter_db_optr blocks */
{
198
,
-
2
},
/* (126) alter_db_optr ::= alter_db_optr comp */
{
198
,
-
2
},
/* (127) alter_db_optr ::= alter_db_optr update */
{
198
,
-
2
},
/* (128) alter_db_optr ::= alter_db_optr cachelast */
{
203
,
-
1
},
/* (129) typename ::= ids */
{
203
,
-
4
},
/* (130) typename ::= ids LP signed RP */
{
203
,
-
2
},
/* (131) typename ::= ids UNSIGNED */
{
232
,
-
1
},
/* (132) signed ::= INTEGER */
{
232
,
-
2
},
/* (133) signed ::= PLUS INTEGER */
{
232
,
-
2
},
/* (134) signed ::= MINUS INTEGER */
{
193
,
-
3
},
/* (135) cmd ::= CREATE TABLE create_table_args */
{
193
,
-
3
},
/* (136) cmd ::= CREATE TABLE create_stable_args */
{
193
,
-
3
},
/* (137) cmd ::= CREATE STABLE create_stable_args */
{
193
,
-
3
},
/* (138) cmd ::= CREATE TABLE create_table_list */
{
235
,
-
1
},
/* (139) create_table_list ::= create_from_stable */
{
235
,
-
2
},
/* (140) create_table_list ::= create_table_list create_from_stable */
{
233
,
-
6
},
/* (141) create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
234
,
-
10
},
/* (142) create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
236
,
-
10
},
/* (143) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist1 RP */
{
236
,
-
13
},
/* (144) create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist1 RP */
{
239
,
-
3
},
/* (145) tagNamelist ::= tagNamelist COMMA ids */
{
239
,
-
1
},
/* (146) tagNamelist ::= ids */
{
233
,
-
5
},
/* (147) create_table_args ::= ifnotexists ids cpxName AS select */
{
237
,
-
3
},
/* (148) columnlist ::= columnlist COMMA column */
{
237
,
-
1
},
/* (149) columnlist ::= column */
{
241
,
-
2
},
/* (150) column ::= ids typename */
{
238
,
-
3
},
/* (151) tagitemlist1 ::= tagitemlist1 COMMA tagitem1 */
{
238
,
-
1
},
/* (152) tagitemlist1 ::= tagitem1 */
{
242
,
-
2
},
/* (153) tagitem1 ::= MINUS INTEGER */
{
242
,
-
2
},
/* (154) tagitem1 ::= MINUS FLOAT */
{
242
,
-
2
},
/* (155) tagitem1 ::= PLUS INTEGER */
{
242
,
-
2
},
/* (156) tagitem1 ::= PLUS FLOAT */
{
242
,
-
1
},
/* (157) tagitem1 ::= INTEGER */
{
242
,
-
1
},
/* (158) tagitem1 ::= FLOAT */
{
242
,
-
1
},
/* (159) tagitem1 ::= STRING */
{
242
,
-
1
},
/* (160) tagitem1 ::= BOOL */
{
242
,
-
1
},
/* (161) tagitem1 ::= NULL */
{
242
,
-
1
},
/* (162) tagitem1 ::= NOW */
{
243
,
-
3
},
/* (163) tagitemlist ::= tagitemlist COMMA tagitem */
{
243
,
-
1
},
/* (164) tagitemlist ::= tagitem */
{
244
,
-
1
},
/* (165) tagitem ::= INTEGER */
{
244
,
-
1
},
/* (166) tagitem ::= FLOAT */
{
244
,
-
1
},
/* (167) tagitem ::= STRING */
{
244
,
-
1
},
/* (168) tagitem ::= BOOL */
{
244
,
-
1
},
/* (169) tagitem ::= NULL */
{
244
,
-
1
},
/* (170) tagitem ::= NOW */
{
244
,
-
2
},
/* (171) tagitem ::= MINUS INTEGER */
{
244
,
-
2
},
/* (172) tagitem ::= MINUS FLOAT */
{
244
,
-
2
},
/* (173) tagitem ::= PLUS INTEGER */
{
244
,
-
2
},
/* (174) tagitem ::= PLUS FLOAT */
{
240
,
-
14
},
/* (175) select ::= SELECT selcollist from where_opt interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
{
240
,
-
3
},
/* (176) select ::= LP select RP */
{
258
,
-
1
},
/* (177) union ::= select */
{
258
,
-
4
},
/* (178) union ::= union UNION ALL select */
{
258
,
-
3
},
/* (179) union ::= union UNION select */
{
193
,
-
1
},
/* (180) cmd ::= union */
{
240
,
-
2
},
/* (181) select ::= SELECT selcollist */
{
259
,
-
2
},
/* (182) sclp ::= selcollist COMMA */
{
259
,
0
},
/* (183) sclp ::= */
{
245
,
-
4
},
/* (184) selcollist ::= sclp distinct expr as */
{
245
,
-
2
},
/* (185) selcollist ::= sclp STAR */
{
262
,
-
2
},
/* (186) as ::= AS ids */
{
262
,
-
1
},
/* (187) as ::= ids */
{
262
,
0
},
/* (188) as ::= */
{
260
,
-
1
},
/* (189) distinct ::= DISTINCT */
{
260
,
0
},
/* (190) distinct ::= */
{
246
,
-
2
},
/* (191) from ::= FROM tablelist */
{
246
,
-
2
},
/* (192) from ::= FROM sub */
{
264
,
-
3
},
/* (193) sub ::= LP union RP */
{
264
,
-
4
},
/* (194) sub ::= LP union RP ids */
{
264
,
-
6
},
/* (195) sub ::= sub COMMA LP union RP ids */
{
263
,
-
2
},
/* (196) tablelist ::= ids cpxName */
{
263
,
-
3
},
/* (197) tablelist ::= ids cpxName ids */
{
263
,
-
4
},
/* (198) tablelist ::= tablelist COMMA ids cpxName */
{
263
,
-
5
},
/* (199) tablelist ::= tablelist COMMA ids cpxName ids */
{
265
,
-
1
},
/* (200) tmvar ::= VARIABLE */
{
248
,
-
4
},
/* (201) interval_option ::= intervalKey LP tmvar RP */
{
248
,
-
6
},
/* (202) interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{
248
,
0
},
/* (203) interval_option ::= */
{
266
,
-
1
},
/* (204) intervalKey ::= INTERVAL */
{
266
,
-
1
},
/* (205) intervalKey ::= EVERY */
{
250
,
0
},
/* (206) session_option ::= */
{
250
,
-
7
},
/* (207) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
251
,
0
},
/* (208) windowstate_option ::= */
{
251
,
-
4
},
/* (209) windowstate_option ::= STATE_WINDOW LP ids RP */
{
252
,
0
},
/* (210) fill_opt ::= */
{
252
,
-
6
},
/* (211) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
252
,
-
4
},
/* (212) fill_opt ::= FILL LP ID RP */
{
249
,
-
4
},
/* (213) sliding_opt ::= SLIDING LP tmvar RP */
{
249
,
0
},
/* (214) sliding_opt ::= */
{
255
,
0
},
/* (215) orderby_opt ::= */
{
255
,
-
3
},
/* (216) orderby_opt ::= ORDER BY sortlist */
{
267
,
-
4
},
/* (217) sortlist ::= sortlist COMMA item sortorder */
{
267
,
-
2
},
/* (218) sortlist ::= item sortorder */
{
269
,
-
2
},
/* (219) item ::= ids cpxName */
{
270
,
-
1
},
/* (220) sortorder ::= ASC */
{
270
,
-
1
},
/* (221) sortorder ::= DESC */
{
270
,
0
},
/* (222) sortorder ::= */
{
253
,
0
},
/* (223) groupby_opt ::= */
{
253
,
-
3
},
/* (224) groupby_opt ::= GROUP BY grouplist */
{
271
,
-
3
},
/* (225) grouplist ::= grouplist COMMA item */
{
271
,
-
1
},
/* (226) grouplist ::= item */
{
254
,
0
},
/* (227) having_opt ::= */
{
254
,
-
2
},
/* (228) having_opt ::= HAVING expr */
{
257
,
0
},
/* (229) limit_opt ::= */
{
257
,
-
2
},
/* (230) limit_opt ::= LIMIT signed */
{
257
,
-
4
},
/* (231) limit_opt ::= LIMIT signed OFFSET signed */
{
257
,
-
4
},
/* (232) limit_opt ::= LIMIT signed COMMA signed */
{
256
,
0
},
/* (233) slimit_opt ::= */
{
256
,
-
2
},
/* (234) slimit_opt ::= SLIMIT signed */
{
256
,
-
4
},
/* (235) slimit_opt ::= SLIMIT signed SOFFSET signed */
{
256
,
-
4
},
/* (236) slimit_opt ::= SLIMIT signed COMMA signed */
{
247
,
0
},
/* (237) where_opt ::= */
{
247
,
-
2
},
/* (238) where_opt ::= WHERE expr */
{
261
,
-
3
},
/* (239) expr ::= LP expr RP */
{
261
,
-
1
},
/* (240) expr ::= ID */
{
261
,
-
3
},
/* (241) expr ::= ID DOT ID */
{
261
,
-
3
},
/* (242) expr ::= ID DOT STAR */
{
261
,
-
1
},
/* (243) expr ::= INTEGER */
{
261
,
-
2
},
/* (244) expr ::= MINUS INTEGER */
{
261
,
-
2
},
/* (245) expr ::= PLUS INTEGER */
{
261
,
-
1
},
/* (246) expr ::= FLOAT */
{
261
,
-
2
},
/* (247) expr ::= MINUS FLOAT */
{
261
,
-
2
},
/* (248) expr ::= PLUS FLOAT */
{
261
,
-
1
},
/* (249) expr ::= STRING */
{
261
,
-
1
},
/* (250) expr ::= NOW */
{
261
,
-
1
},
/* (251) expr ::= VARIABLE */
{
261
,
-
2
},
/* (252) expr ::= PLUS VARIABLE */
{
261
,
-
2
},
/* (253) expr ::= MINUS VARIABLE */
{
261
,
-
1
},
/* (254) expr ::= BOOL */
{
261
,
-
1
},
/* (255) expr ::= NULL */
{
261
,
-
4
},
/* (256) expr ::= ID LP exprlist RP */
{
261
,
-
4
},
/* (257) expr ::= ID LP STAR RP */
{
261
,
-
3
},
/* (258) expr ::= expr IS NULL */
{
261
,
-
4
},
/* (259) expr ::= expr IS NOT NULL */
{
261
,
-
3
},
/* (260) expr ::= expr LT expr */
{
261
,
-
3
},
/* (261) expr ::= expr GT expr */
{
261
,
-
3
},
/* (262) expr ::= expr LE expr */
{
261
,
-
3
},
/* (263) expr ::= expr GE expr */
{
261
,
-
3
},
/* (264) expr ::= expr NE expr */
{
261
,
-
3
},
/* (265) expr ::= expr EQ expr */
{
261
,
-
5
},
/* (266) expr ::= expr BETWEEN expr AND expr */
{
261
,
-
3
},
/* (267) expr ::= expr AND expr */
{
261
,
-
3
},
/* (268) expr ::= expr OR expr */
{
261
,
-
3
},
/* (269) expr ::= expr PLUS expr */
{
261
,
-
3
},
/* (270) expr ::= expr MINUS expr */
{
261
,
-
3
},
/* (271) expr ::= expr STAR expr */
{
261
,
-
3
},
/* (272) expr ::= expr SLASH expr */
{
261
,
-
3
},
/* (273) expr ::= expr REM expr */
{
261
,
-
3
},
/* (274) expr ::= expr LIKE expr */
{
261
,
-
3
},
/* (275) expr ::= expr MATCH expr */
{
261
,
-
3
},
/* (276) expr ::= expr NMATCH expr */
{
261
,
-
5
},
/* (277) expr ::= expr IN LP exprlist RP */
{
200
,
-
3
},
/* (278) exprlist ::= exprlist COMMA expritem */
{
200
,
-
1
},
/* (279) exprlist ::= expritem */
{
272
,
-
1
},
/* (280) expritem ::= expr */
{
272
,
0
},
/* (281) expritem ::= */
{
193
,
-
3
},
/* (282) cmd ::= RESET QUERY CACHE */
{
193
,
-
3
},
/* (283) cmd ::= SYNCDB ids REPLICA */
{
193
,
-
7
},
/* (284) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
193
,
-
7
},
/* (285) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
193
,
-
7
},
/* (286) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{
193
,
-
7
},
/* (287) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
193
,
-
7
},
/* (288) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
193
,
-
8
},
/* (289) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
193
,
-
9
},
/* (290) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
193
,
-
7
},
/* (291) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{
193
,
-
7
},
/* (292) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
193
,
-
7
},
/* (293) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
193
,
-
7
},
/* (294) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{
193
,
-
7
},
/* (295) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
193
,
-
7
},
/* (296) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
193
,
-
8
},
/* (297) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
193
,
-
9
},
/* (298) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{
193
,
-
7
},
/* (299) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{
193
,
-
3
},
/* (300) cmd ::= KILL CONNECTION INTEGER */
{
193
,
-
5
},
/* (301) cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
193
,
-
5
},
/* (302) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2217,9 +2224,9 @@ static void yy_reduce(
/********** Begin reduce actions **********************************************/
YYMINORTYPE
yylhsminor
;
case
0
:
/* program ::= cmd */
case
13
3
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
133
);
case
13
4
:
/* cmd ::= CREATE TABLE create_stable_args */
yytestcase
(
yyruleno
==
134
);
case
13
5
:
/* cmd ::= CREATE STABLE create_stable_args */
yytestcase
(
yyruleno
==
135
);
case
13
5
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
135
);
case
13
6
:
/* cmd ::= CREATE TABLE create_stable_args */
yytestcase
(
yyruleno
==
136
);
case
13
7
:
/* cmd ::= CREATE STABLE create_stable_args */
yytestcase
(
yyruleno
==
137
);
{}
break
;
case
1
:
/* cmd ::= SHOW DATABASES */
...
...
@@ -2395,16 +2402,16 @@ static void yy_reduce(
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
break
;
case
47
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
{
SToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
254
,
&
t
);}
{
SToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
16
,
&
t
);}
break
;
case
48
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
17
1
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy
21
1
);}
break
;
case
49
:
/* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
17
1
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
21
1
);}
break
;
case
50
:
/* cmd ::= COMPACT VNODES IN LP exprlist RP */
{
setCompactVnodeSql
(
pInfo
,
TSDB_SQL_COMPACT_VNODE
,
yymsp
[
-
1
].
minor
.
yy
413
);}
{
setCompactVnodeSql
(
pInfo
,
TSDB_SQL_COMPACT_VNODE
,
yymsp
[
-
1
].
minor
.
yy
165
);}
break
;
case
51
:
/* ids ::= ID */
case
52
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
52
);
...
...
@@ -2416,7 +2423,7 @@ static void yy_reduce(
break
;
case
54
:
/* ifexists ::= */
case
56
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
56
);
case
1
88
:
/* distinct ::= */
yytestcase
(
yyruleno
==
188
);
case
1
90
:
/* distinct ::= */
yytestcase
(
yyruleno
==
190
);
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
break
;
case
55
:
/* ifnotexists ::= IF NOT EXISTS */
...
...
@@ -2427,16 +2434,16 @@ static void yy_reduce(
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
2
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
59
:
/* 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
17
1
);}
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
21
1
);}
break
;
case
60
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
254
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy
16
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
61
:
/* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
280
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
106
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
break
;
case
62
:
/* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
280
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy
106
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
break
;
case
63
:
/* cmd ::= CREATE USER ids PASS ids */
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
...
...
@@ -2467,38 +2474,38 @@ static void yy_reduce(
break
;
case
84
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
{
yylhsminor
.
yy
17
1
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
17
1
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
17
1
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
17
1
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
17
1
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
17
1
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
17
1
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
17
1
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
17
1
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
yylhsminor
.
yy
21
1
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
21
1
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
21
1
.
maxTimeSeries
=
(
yymsp
[
-
7
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
7
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
21
1
.
maxStreams
=
(
yymsp
[
-
5
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
5
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
21
1
.
maxPointsPerSecond
=
(
yymsp
[
-
8
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
8
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
21
1
.
maxStorage
=
(
yymsp
[
-
6
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
6
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
21
1
.
maxQueryTime
=
(
yymsp
[
-
4
].
minor
.
yy0
.
n
>
0
)
?
strtoll
(
yymsp
[
-
4
].
minor
.
yy0
.
z
,
NULL
,
10
)
:-
1
;
yylhsminor
.
yy
21
1
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy
21
1
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
8
].
minor
.
yy
171
=
yylhsminor
.
yy17
1
;
yymsp
[
-
8
].
minor
.
yy
211
=
yylhsminor
.
yy21
1
;
break
;
case
85
:
/* intitemlist ::= intitemlist COMMA intitem */
case
16
1
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
yytestcase
(
yyruleno
==
161
);
{
yylhsminor
.
yy
413
=
tListItemAppend
(
yymsp
[
-
2
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy461
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
16
3
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
yytestcase
(
yyruleno
==
163
);
{
yylhsminor
.
yy
165
=
tListItemAppend
(
yymsp
[
-
2
].
minor
.
yy165
,
&
yymsp
[
0
].
minor
.
yy425
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
86
:
/* intitemlist ::= intitem */
case
16
2
:
/* tagitemlist ::= tagitem */
yytestcase
(
yyruleno
==
162
);
{
yylhsminor
.
yy
413
=
tListItemAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy461
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
16
4
:
/* tagitemlist ::= tagitem */
yytestcase
(
yyruleno
==
164
);
{
yylhsminor
.
yy
165
=
tListItemAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy425
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
87
:
/* intitem ::= INTEGER */
case
16
3
:
/* tagitem ::= INTEGER */
yytestcase
(
yyruleno
==
163
);
case
16
4
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
164
);
case
16
5
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
165
);
case
16
6
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
166
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
taosVariantCreate
(
&
yylhsminor
.
yy4
61
,
yymsp
[
0
].
minor
.
yy0
.
z
,
yymsp
[
0
].
minor
.
yy0
.
n
,
yymsp
[
0
].
minor
.
yy0
.
type
);
}
yymsp
[
0
].
minor
.
yy4
61
=
yylhsminor
.
yy461
;
case
16
5
:
/* tagitem ::= INTEGER */
yytestcase
(
yyruleno
==
165
);
case
16
6
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
166
);
case
16
7
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
167
);
case
16
8
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
168
);
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
taosVariantCreate
(
&
yylhsminor
.
yy4
25
,
yymsp
[
0
].
minor
.
yy0
.
z
,
yymsp
[
0
].
minor
.
yy0
.
n
,
yymsp
[
0
].
minor
.
yy0
.
type
);
}
yymsp
[
0
].
minor
.
yy4
25
=
yylhsminor
.
yy425
;
break
;
case
88
:
/* keep ::= KEEP intitemlist */
{
yymsp
[
-
1
].
minor
.
yy
413
=
yymsp
[
0
].
minor
.
yy413
;
}
{
yymsp
[
-
1
].
minor
.
yy
165
=
yymsp
[
0
].
minor
.
yy165
;
}
break
;
case
89
:
/* cache ::= CACHE INTEGER */
case
90
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
90
);
...
...
@@ -2514,673 +2521,678 @@ static void yy_reduce(
case
100
:
/* prec ::= PRECISION STRING */
yytestcase
(
yyruleno
==
100
);
case
101
:
/* update ::= UPDATE INTEGER */
yytestcase
(
yyruleno
==
101
);
case
102
:
/* cachelast ::= CACHELAST INTEGER */
yytestcase
(
yyruleno
==
102
);
case
103
:
/* vgroups ::= VGROUPS INTEGER */
yytestcase
(
yyruleno
==
103
);
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
10
3
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
254
);}
case
10
4
:
/* db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy
16
);}
break
;
case
10
4
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
10
5
:
/* db_optr ::= db_optr cache */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
10
5
:
/* db_optr ::= db_optr replica */
case
12
0
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
120
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
10
6
:
/* db_optr ::= db_optr replica */
case
12
2
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
122
);
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
10
6
:
/* db_optr ::= db_optr quorum */
case
12
1
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
121
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
10
7
:
/* db_optr ::= db_optr quorum */
case
12
3
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
123
);
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
10
7
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
10
8
:
/* db_optr ::= db_optr days */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
10
8
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
10
9
:
/* db_optr ::= db_optr minrows */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
1
09
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
1
10
:
/* db_optr ::= db_optr maxrows */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
0
:
/* db_optr ::= db_optr blocks */
case
12
3
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
123
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
1
:
/* db_optr ::= db_optr blocks */
case
12
5
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
125
);
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
1
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
2
:
/* db_optr ::= db_optr ctime */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
2
:
/* db_optr ::= db_optr wal */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
3
:
/* db_optr ::= db_optr wal */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
3
:
/* db_optr ::= db_optr fsync */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
4
:
/* db_optr ::= db_optr fsync */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
4
:
/* db_optr ::= db_optr comp */
case
12
4
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
124
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
5
:
/* db_optr ::= db_optr comp */
case
12
6
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
126
);
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
5
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
6
:
/* db_optr ::= db_optr prec */
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
6
:
/* db_optr ::= db_optr keep */
case
12
2
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
122
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
keep
=
yymsp
[
0
].
minor
.
yy413
;
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
7
:
/* db_optr ::= db_optr keep */
case
12
4
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
124
);
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
keep
=
yymsp
[
0
].
minor
.
yy165
;
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
7
:
/* db_optr ::= db_optr update */
case
12
5
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
125
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
8
:
/* db_optr ::= db_optr update */
case
12
7
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
127
);
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
11
8
:
/* db_optr ::= db_optr cachelast */
case
12
6
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
126
);
{
yylhsminor
.
yy
254
=
yymsp
[
-
1
].
minor
.
yy254
;
yylhsminor
.
yy254
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
254
=
yylhsminor
.
yy254
;
case
11
9
:
/* db_optr ::= db_optr cachelast */
case
12
8
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
128
);
{
yylhsminor
.
yy
16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy
16
=
yylhsminor
.
yy16
;
break
;
case
119
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy254
);}
case
120
:
/* db_optr ::= db_optr vgroups */
{
yylhsminor
.
yy16
=
yymsp
[
-
1
].
minor
.
yy16
;
yylhsminor
.
yy16
.
numOfVgroups
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
-
1
].
minor
.
yy16
=
yylhsminor
.
yy16
;
break
;
case
127
:
/* typename ::= ids */
case
121
:
/* alter_db_optr ::= */
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy16
);}
break
;
case
129
:
/* typename ::= ids */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
280
,
&
yymsp
[
0
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
106
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
280
=
yylhsminor
.
yy280
;
yymsp
[
0
].
minor
.
yy
106
=
yylhsminor
.
yy106
;
break
;
case
1
28
:
/* typename ::= ids LP signed RP */
case
1
30
:
/* typename ::= ids LP signed RP */
{
if
(
yymsp
[
-
1
].
minor
.
yy
15
7
<=
0
)
{
if
(
yymsp
[
-
1
].
minor
.
yy
20
7
<=
0
)
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy
280
,
&
yymsp
[
-
3
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
106
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
else
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
15
7
;
// negative value of name length
tSetColumnType
(
&
yylhsminor
.
yy
280
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yymsp
[
-
3
].
minor
.
yy0
.
type
=
-
yymsp
[
-
1
].
minor
.
yy
20
7
;
// negative value of name length
tSetColumnType
(
&
yylhsminor
.
yy
106
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
}
yymsp
[
-
3
].
minor
.
yy
280
=
yylhsminor
.
yy280
;
yymsp
[
-
3
].
minor
.
yy
106
=
yylhsminor
.
yy106
;
break
;
case
1
29
:
/* typename ::= ids UNSIGNED */
case
1
31
:
/* typename ::= ids UNSIGNED */
{
yymsp
[
-
1
].
minor
.
yy0
.
type
=
0
;
yymsp
[
-
1
].
minor
.
yy0
.
n
=
((
yymsp
[
0
].
minor
.
yy0
.
z
+
yymsp
[
0
].
minor
.
yy0
.
n
)
-
yymsp
[
-
1
].
minor
.
yy0
.
z
);
tSetColumnType
(
&
yylhsminor
.
yy
280
,
&
yymsp
[
-
1
].
minor
.
yy0
);
tSetColumnType
(
&
yylhsminor
.
yy
106
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
yymsp
[
-
1
].
minor
.
yy
280
=
yylhsminor
.
yy280
;
yymsp
[
-
1
].
minor
.
yy
106
=
yylhsminor
.
yy106
;
break
;
case
13
0
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy
15
7
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
157
=
yylhsminor
.
yy15
7
;
case
13
2
:
/* signed ::= INTEGER */
{
yylhsminor
.
yy
20
7
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
yymsp
[
0
].
minor
.
yy
207
=
yylhsminor
.
yy20
7
;
break
;
case
13
1
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
15
7
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
case
13
3
:
/* signed ::= PLUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
20
7
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
break
;
case
13
2
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
15
7
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
case
13
4
:
/* signed ::= MINUS INTEGER */
{
yymsp
[
-
1
].
minor
.
yy
20
7
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
break
;
case
13
6
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
438
;}
case
13
8
:
/* cmd ::= CREATE TABLE create_table_list */
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy
326
;}
break
;
case
13
7
:
/* create_table_list ::= create_from_stable */
case
13
9
:
/* create_table_list ::= create_from_stable */
{
SCreateTableSql
*
pCreateTable
=
calloc
(
1
,
sizeof
(
SCreateTableSql
));
pCreateTable
->
childTableInfo
=
taosArrayInit
(
4
,
sizeof
(
SCreatedTableInfo
));
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy
544
);
taosArrayPush
(
pCreateTable
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy
150
);
pCreateTable
->
type
=
TSQL_CREATE_CTABLE
;
yylhsminor
.
yy
438
=
pCreateTable
;
yylhsminor
.
yy
326
=
pCreateTable
;
}
yymsp
[
0
].
minor
.
yy
438
=
yylhsminor
.
yy438
;
yymsp
[
0
].
minor
.
yy
326
=
yylhsminor
.
yy326
;
break
;
case
1
38
:
/* create_table_list ::= create_table_list create_from_stable */
case
1
40
:
/* create_table_list ::= create_table_list create_from_stable */
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
438
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy544
);
yylhsminor
.
yy
438
=
yymsp
[
-
1
].
minor
.
yy438
;
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy
326
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy150
);
yylhsminor
.
yy
326
=
yymsp
[
-
1
].
minor
.
yy326
;
}
yymsp
[
-
1
].
minor
.
yy
438
=
yylhsminor
.
yy438
;
yymsp
[
-
1
].
minor
.
yy
326
=
yylhsminor
.
yy326
;
break
;
case
1
39
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
case
1
41
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
{
yylhsminor
.
yy
438
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy413
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
326
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy165
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
326
,
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
438
=
yylhsminor
.
yy438
;
yymsp
[
-
5
].
minor
.
yy
326
=
yylhsminor
.
yy326
;
break
;
case
14
0
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
case
14
2
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
{
yylhsminor
.
yy
438
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy413
,
yymsp
[
-
1
].
minor
.
yy413
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
326
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy165
,
yymsp
[
-
1
].
minor
.
yy165
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
326
,
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
438
=
yylhsminor
.
yy438
;
yymsp
[
-
9
].
minor
.
yy
326
=
yylhsminor
.
yy326
;
break
;
case
14
1
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist1 RP */
case
14
3
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist1 RP */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
544
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy413
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
yylhsminor
.
yy
150
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy165
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
yymsp
[
-
9
].
minor
.
yy
544
=
yylhsminor
.
yy544
;
yymsp
[
-
9
].
minor
.
yy
150
=
yylhsminor
.
yy150
;
break
;
case
14
2
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist1 RP */
case
14
4
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist1 RP */
{
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
11
].
minor
.
yy0
.
n
+=
yymsp
[
-
10
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
544
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy413
,
yymsp
[
-
1
].
minor
.
yy413
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
yylhsminor
.
yy
150
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy165
,
yymsp
[
-
1
].
minor
.
yy165
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
}
yymsp
[
-
12
].
minor
.
yy
544
=
yylhsminor
.
yy544
;
yymsp
[
-
12
].
minor
.
yy
150
=
yylhsminor
.
yy150
;
break
;
case
14
3
:
/* tagNamelist ::= tagNamelist COMMA ids */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
413
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy413
=
yymsp
[
-
2
].
minor
.
yy413
;
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
14
5
:
/* tagNamelist ::= tagNamelist COMMA ids */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
165
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy165
=
yymsp
[
-
2
].
minor
.
yy165
;
}
yymsp
[
-
2
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
14
4
:
/* tagNamelist ::= ids */
{
yylhsminor
.
yy
413
=
taosArrayInit
(
4
,
sizeof
(
SToken
));
taosArrayPush
(
yylhsminor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
14
6
:
/* tagNamelist ::= ids */
{
yylhsminor
.
yy
165
=
taosArrayInit
(
4
,
sizeof
(
SToken
));
taosArrayPush
(
yylhsminor
.
yy165
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
0
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
14
5
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
case
14
7
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
{
yylhsminor
.
yy
438
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy24
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
438
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
yylhsminor
.
yy
326
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy278
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy
326
,
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
438
=
yylhsminor
.
yy438
;
yymsp
[
-
4
].
minor
.
yy
326
=
yylhsminor
.
yy326
;
break
;
case
14
6
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
413
,
&
yymsp
[
0
].
minor
.
yy280
);
yylhsminor
.
yy413
=
yymsp
[
-
2
].
minor
.
yy413
;
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
14
8
:
/* columnlist ::= columnlist COMMA column */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
165
,
&
yymsp
[
0
].
minor
.
yy106
);
yylhsminor
.
yy165
=
yymsp
[
-
2
].
minor
.
yy165
;
}
yymsp
[
-
2
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
14
7
:
/* columnlist ::= column */
{
yylhsminor
.
yy
413
=
taosArrayInit
(
4
,
sizeof
(
SField
));
taosArrayPush
(
yylhsminor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy280
);}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
14
9
:
/* columnlist ::= column */
{
yylhsminor
.
yy
165
=
taosArrayInit
(
4
,
sizeof
(
SField
));
taosArrayPush
(
yylhsminor
.
yy165
,
&
yymsp
[
0
].
minor
.
yy106
);}
yymsp
[
0
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
1
48
:
/* column ::= ids typename */
case
1
50
:
/* column ::= ids typename */
{
tSetColumnInfo
(
&
yylhsminor
.
yy
280
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy280
);
tSetColumnInfo
(
&
yylhsminor
.
yy
106
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy106
);
}
yymsp
[
-
1
].
minor
.
yy
280
=
yylhsminor
.
yy280
;
yymsp
[
-
1
].
minor
.
yy
106
=
yylhsminor
.
yy106
;
break
;
case
1
49
:
/* tagitemlist1 ::= tagitemlist1 COMMA tagitem1 */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
413
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy413
=
yymsp
[
-
2
].
minor
.
yy413
;}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
1
51
:
/* tagitemlist1 ::= tagitemlist1 COMMA tagitem1 */
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy
165
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy165
=
yymsp
[
-
2
].
minor
.
yy165
;}
yymsp
[
-
2
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
15
0
:
/* tagitemlist1 ::= tagitem1 */
{
yylhsminor
.
yy
413
=
taosArrayInit
(
4
,
sizeof
(
SToken
));
taosArrayPush
(
yylhsminor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
15
2
:
/* tagitemlist1 ::= tagitem1 */
{
yylhsminor
.
yy
165
=
taosArrayInit
(
4
,
sizeof
(
SToken
));
taosArrayPush
(
yylhsminor
.
yy165
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
0
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
15
1
:
/* tagitem1 ::= MINUS INTEGER */
case
15
2
:
/* tagitem1 ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
152
);
case
15
3
:
/* tagitem1 ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
153
);
case
15
4
:
/* tagitem1 ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
154
);
case
15
3
:
/* tagitem1 ::= MINUS INTEGER */
case
15
4
:
/* tagitem1 ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
154
);
case
15
5
:
/* tagitem1 ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
155
);
case
15
6
:
/* tagitem1 ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
156
);
{
yylhsminor
.
yy0
.
n
=
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
}
yymsp
[
-
1
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
15
5
:
/* tagitem1 ::= INTEGER */
case
15
6
:
/* tagitem1 ::= FLOAT */
yytestcase
(
yyruleno
==
156
);
case
15
7
:
/* tagitem1 ::= STRING */
yytestcase
(
yyruleno
==
157
);
case
1
58
:
/* tagitem1 ::= BOOL */
yytestcase
(
yyruleno
==
158
);
case
1
59
:
/* tagitem1 ::= NULL */
yytestcase
(
yyruleno
==
159
);
case
16
0
:
/* tagitem1 ::= NOW */
yytestcase
(
yyruleno
==
160
);
case
15
7
:
/* tagitem1 ::= INTEGER */
case
15
8
:
/* tagitem1 ::= FLOAT */
yytestcase
(
yyruleno
==
158
);
case
15
9
:
/* tagitem1 ::= STRING */
yytestcase
(
yyruleno
==
159
);
case
1
60
:
/* tagitem1 ::= BOOL */
yytestcase
(
yyruleno
==
160
);
case
1
61
:
/* tagitem1 ::= NULL */
yytestcase
(
yyruleno
==
161
);
case
16
2
:
/* tagitem1 ::= NOW */
yytestcase
(
yyruleno
==
162
);
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
16
7
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
taosVariantCreate
(
&
yylhsminor
.
yy4
61
,
yymsp
[
0
].
minor
.
yy0
.
z
,
yymsp
[
0
].
minor
.
yy0
.
n
,
yymsp
[
0
].
minor
.
yy0
.
type
);
}
yymsp
[
0
].
minor
.
yy4
61
=
yylhsminor
.
yy461
;
case
16
9
:
/* tagitem ::= NULL */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
taosVariantCreate
(
&
yylhsminor
.
yy4
25
,
yymsp
[
0
].
minor
.
yy0
.
z
,
yymsp
[
0
].
minor
.
yy0
.
n
,
yymsp
[
0
].
minor
.
yy0
.
type
);
}
yymsp
[
0
].
minor
.
yy4
25
=
yylhsminor
.
yy425
;
break
;
case
1
68
:
/* tagitem ::= NOW */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
taosVariantCreate
(
&
yylhsminor
.
yy4
61
,
yymsp
[
0
].
minor
.
yy0
.
z
,
yymsp
[
0
].
minor
.
yy0
.
n
,
yymsp
[
0
].
minor
.
yy0
.
type
);}
yymsp
[
0
].
minor
.
yy4
61
=
yylhsminor
.
yy461
;
case
1
70
:
/* tagitem ::= NOW */
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
taosVariantCreate
(
&
yylhsminor
.
yy4
25
,
yymsp
[
0
].
minor
.
yy0
.
z
,
yymsp
[
0
].
minor
.
yy0
.
n
,
yymsp
[
0
].
minor
.
yy0
.
type
);}
yymsp
[
0
].
minor
.
yy4
25
=
yylhsminor
.
yy425
;
break
;
case
1
69
:
/* tagitem ::= MINUS INTEGER */
case
17
0
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
170
);
case
17
1
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
171
);
case
17
2
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
172
);
case
1
71
:
/* tagitem ::= MINUS INTEGER */
case
17
2
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
172
);
case
17
3
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
173
);
case
17
4
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
174
);
{
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
);
taosVariantCreate
(
&
yylhsminor
.
yy4
61
,
yymsp
[
-
1
].
minor
.
yy0
.
z
,
yymsp
[
-
1
].
minor
.
yy0
.
n
,
yymsp
[
-
1
].
minor
.
yy0
.
type
);
taosVariantCreate
(
&
yylhsminor
.
yy4
25
,
yymsp
[
-
1
].
minor
.
yy0
.
z
,
yymsp
[
-
1
].
minor
.
yy0
.
n
,
yymsp
[
-
1
].
minor
.
yy0
.
type
);
}
yymsp
[
-
1
].
minor
.
yy4
61
=
yylhsminor
.
yy461
;
yymsp
[
-
1
].
minor
.
yy4
25
=
yylhsminor
.
yy425
;
break
;
case
17
3
:
/* select ::= SELECT selcollist from where_opt interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
case
17
5
:
/* select ::= SELECT selcollist from where_opt interval_option sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
{
yylhsminor
.
yy2
4
=
tSetQuerySqlNode
(
&
yymsp
[
-
13
].
minor
.
yy0
,
yymsp
[
-
12
].
minor
.
yy413
,
yymsp
[
-
11
].
minor
.
yy292
,
yymsp
[
-
10
].
minor
.
yy370
,
yymsp
[
-
4
].
minor
.
yy413
,
yymsp
[
-
2
].
minor
.
yy413
,
&
yymsp
[
-
9
].
minor
.
yy136
,
&
yymsp
[
-
7
].
minor
.
yy251
,
&
yymsp
[
-
6
].
minor
.
yy256
,
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy503
,
&
yymsp
[
-
1
].
minor
.
yy503
,
yymsp
[
-
3
].
minor
.
yy370
);
yylhsminor
.
yy2
78
=
tSetQuerySqlNode
(
&
yymsp
[
-
13
].
minor
.
yy0
,
yymsp
[
-
12
].
minor
.
yy165
,
yymsp
[
-
11
].
minor
.
yy10
,
yymsp
[
-
10
].
minor
.
yy202
,
yymsp
[
-
4
].
minor
.
yy165
,
yymsp
[
-
2
].
minor
.
yy165
,
&
yymsp
[
-
9
].
minor
.
yy532
,
&
yymsp
[
-
7
].
minor
.
yy97
,
&
yymsp
[
-
6
].
minor
.
yy6
,
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy165
,
&
yymsp
[
0
].
minor
.
yy367
,
&
yymsp
[
-
1
].
minor
.
yy367
,
yymsp
[
-
3
].
minor
.
yy202
);
}
yymsp
[
-
13
].
minor
.
yy2
4
=
yylhsminor
.
yy24
;
yymsp
[
-
13
].
minor
.
yy2
78
=
yylhsminor
.
yy278
;
break
;
case
17
4
:
/* select ::= LP select RP */
{
yymsp
[
-
2
].
minor
.
yy2
4
=
yymsp
[
-
1
].
minor
.
yy24
;}
case
17
6
:
/* select ::= LP select RP */
{
yymsp
[
-
2
].
minor
.
yy2
78
=
yymsp
[
-
1
].
minor
.
yy278
;}
break
;
case
17
5
:
/* union ::= select */
{
yylhsminor
.
yy
129
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy24
);
}
yymsp
[
0
].
minor
.
yy
129
=
yylhsminor
.
yy129
;
case
17
7
:
/* union ::= select */
{
yylhsminor
.
yy
503
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy278
);
}
yymsp
[
0
].
minor
.
yy
503
=
yylhsminor
.
yy503
;
break
;
case
17
6
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy
129
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy129
,
SQL_TYPE_UNIONALL
,
yymsp
[
0
].
minor
.
yy24
);
}
yymsp
[
-
3
].
minor
.
yy
129
=
yylhsminor
.
yy129
;
case
17
8
:
/* union ::= union UNION ALL select */
{
yylhsminor
.
yy
503
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy503
,
SQL_TYPE_UNIONALL
,
yymsp
[
0
].
minor
.
yy278
);
}
yymsp
[
-
3
].
minor
.
yy
503
=
yylhsminor
.
yy503
;
break
;
case
17
7
:
/* union ::= union UNION select */
{
yylhsminor
.
yy
129
=
appendSelectClause
(
yymsp
[
-
2
].
minor
.
yy129
,
SQL_TYPE_UNION
,
yymsp
[
0
].
minor
.
yy24
);
}
yymsp
[
-
2
].
minor
.
yy
129
=
yylhsminor
.
yy129
;
case
17
9
:
/* union ::= union UNION select */
{
yylhsminor
.
yy
503
=
appendSelectClause
(
yymsp
[
-
2
].
minor
.
yy503
,
SQL_TYPE_UNION
,
yymsp
[
0
].
minor
.
yy278
);
}
yymsp
[
-
2
].
minor
.
yy
503
=
yylhsminor
.
yy503
;
break
;
case
1
78
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
129
,
NULL
,
TSDB_SQL_SELECT
);
}
case
1
80
:
/* cmd ::= union */
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy
503
,
NULL
,
TSDB_SQL_SELECT
);
}
break
;
case
1
79
:
/* select ::= SELECT selcollist */
case
1
81
:
/* select ::= SELECT selcollist */
{
yylhsminor
.
yy2
4
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy413
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
yylhsminor
.
yy2
78
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy165
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy2
4
=
yylhsminor
.
yy24
;
yymsp
[
-
1
].
minor
.
yy2
78
=
yylhsminor
.
yy278
;
break
;
case
18
0
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy
413
=
yymsp
[
-
1
].
minor
.
yy413
;}
yymsp
[
-
1
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
18
2
:
/* sclp ::= selcollist COMMA */
{
yylhsminor
.
yy
165
=
yymsp
[
-
1
].
minor
.
yy165
;}
yymsp
[
-
1
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
18
1
:
/* sclp ::= */
case
21
3
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
213
);
{
yymsp
[
1
].
minor
.
yy
413
=
0
;}
case
18
3
:
/* sclp ::= */
case
21
5
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
215
);
{
yymsp
[
1
].
minor
.
yy
165
=
0
;}
break
;
case
18
2
:
/* selcollist ::= sclp distinct expr as */
case
18
4
:
/* selcollist ::= sclp distinct expr as */
{
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy413
,
yymsp
[
-
1
].
minor
.
yy370
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
yylhsminor
.
yy
165
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy165
,
yymsp
[
-
1
].
minor
.
yy202
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
yymsp
[
-
3
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
3
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
18
3
:
/* selcollist ::= sclp STAR */
case
18
5
:
/* selcollist ::= sclp STAR */
{
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
NULL
,
TK_ALL
);
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy413
,
pNode
,
0
,
0
);
yylhsminor
.
yy
165
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy165
,
pNode
,
0
,
0
);
}
yymsp
[
-
1
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
1
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
18
4
:
/* as ::= AS ids */
case
18
6
:
/* as ::= AS ids */
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
break
;
case
18
5
:
/* as ::= ids */
case
18
7
:
/* as ::= ids */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
18
6
:
/* as ::= */
case
18
8
:
/* as ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
break
;
case
18
7
:
/* distinct ::= DISTINCT */
case
18
9
:
/* distinct ::= DISTINCT */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
1
89
:
/* from ::= FROM tablelist */
case
19
0
:
/* from ::= FROM sub */
yytestcase
(
yyruleno
==
190
);
{
yymsp
[
-
1
].
minor
.
yy
292
=
yymsp
[
0
].
minor
.
yy292
;}
case
1
91
:
/* from ::= FROM tablelist */
case
19
2
:
/* from ::= FROM sub */
yytestcase
(
yyruleno
==
192
);
{
yymsp
[
-
1
].
minor
.
yy
10
=
yymsp
[
0
].
minor
.
yy10
;}
break
;
case
19
1
:
/* sub ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy
292
=
addSubquery
(
NULL
,
yymsp
[
-
1
].
minor
.
yy129
,
NULL
);}
case
19
3
:
/* sub ::= LP union RP */
{
yymsp
[
-
2
].
minor
.
yy
10
=
addSubquery
(
NULL
,
yymsp
[
-
1
].
minor
.
yy503
,
NULL
);}
break
;
case
19
2
:
/* sub ::= LP union RP ids */
{
yymsp
[
-
3
].
minor
.
yy
292
=
addSubquery
(
NULL
,
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy0
);}
case
19
4
:
/* sub ::= LP union RP ids */
{
yymsp
[
-
3
].
minor
.
yy
10
=
addSubquery
(
NULL
,
yymsp
[
-
2
].
minor
.
yy503
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
19
3
:
/* sub ::= sub COMMA LP union RP ids */
{
yylhsminor
.
yy
292
=
addSubquery
(
yymsp
[
-
5
].
minor
.
yy292
,
yymsp
[
-
2
].
minor
.
yy129
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
-
5
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
case
19
5
:
/* sub ::= sub COMMA LP union RP ids */
{
yylhsminor
.
yy
10
=
addSubquery
(
yymsp
[
-
5
].
minor
.
yy10
,
yymsp
[
-
2
].
minor
.
yy503
,
&
yymsp
[
0
].
minor
.
yy0
);}
yymsp
[
-
5
].
minor
.
yy
10
=
yylhsminor
.
yy10
;
break
;
case
19
4
:
/* tablelist ::= ids cpxName */
case
19
6
:
/* tablelist ::= ids cpxName */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
10
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
1
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
1
].
minor
.
yy
10
=
yylhsminor
.
yy10
;
break
;
case
19
5
:
/* tablelist ::= ids cpxName ids */
case
19
7
:
/* tablelist ::= ids cpxName ids */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
10
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
2
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
2
].
minor
.
yy
10
=
yylhsminor
.
yy10
;
break
;
case
19
6
:
/* tablelist ::= tablelist COMMA ids cpxName */
case
19
8
:
/* tablelist ::= tablelist COMMA ids cpxName */
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy292
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
yylhsminor
.
yy
10
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy10
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
yymsp
[
-
3
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
3
].
minor
.
yy
10
=
yylhsminor
.
yy10
;
break
;
case
19
7
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
case
19
9
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy
292
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy292
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy
10
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy10
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
yymsp
[
-
4
].
minor
.
yy
292
=
yylhsminor
.
yy292
;
yymsp
[
-
4
].
minor
.
yy
10
=
yylhsminor
.
yy10
;
break
;
case
198
:
/* tmvar ::= VARIABLE */
case
200
:
/* tmvar ::= VARIABLE */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
199
:
/* interval_option ::= intervalKey LP tmvar RP */
{
yylhsminor
.
yy
136
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy136
.
offset
.
n
=
0
;
yylhsminor
.
yy136
.
token
=
yymsp
[
-
3
].
minor
.
yy51
6
;}
yymsp
[
-
3
].
minor
.
yy
136
=
yylhsminor
.
yy136
;
case
201
:
/* interval_option ::= intervalKey LP tmvar RP */
{
yylhsminor
.
yy
532
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy532
.
offset
.
n
=
0
;
yylhsminor
.
yy532
.
token
=
yymsp
[
-
3
].
minor
.
yy4
6
;}
yymsp
[
-
3
].
minor
.
yy
532
=
yylhsminor
.
yy532
;
break
;
case
20
0
:
/* interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{
yylhsminor
.
yy
136
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yylhsminor
.
yy136
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy136
.
token
=
yymsp
[
-
5
].
minor
.
yy51
6
;}
yymsp
[
-
5
].
minor
.
yy
136
=
yylhsminor
.
yy136
;
case
20
2
:
/* interval_option ::= intervalKey LP tmvar COMMA tmvar RP */
{
yylhsminor
.
yy
532
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yylhsminor
.
yy532
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;
yylhsminor
.
yy532
.
token
=
yymsp
[
-
5
].
minor
.
yy4
6
;}
yymsp
[
-
5
].
minor
.
yy
532
=
yylhsminor
.
yy532
;
break
;
case
20
1
:
/* interval_option ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy
136
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy136
));}
case
20
3
:
/* interval_option ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy
532
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy532
));}
break
;
case
20
2
:
/* intervalKey ::= INTERVAL */
{
yymsp
[
0
].
minor
.
yy
51
6
=
TK_INTERVAL
;}
case
20
4
:
/* intervalKey ::= INTERVAL */
{
yymsp
[
0
].
minor
.
yy
4
6
=
TK_INTERVAL
;}
break
;
case
20
3
:
/* intervalKey ::= EVERY */
{
yymsp
[
0
].
minor
.
yy
51
6
=
TK_EVERY
;
}
case
20
5
:
/* intervalKey ::= EVERY */
{
yymsp
[
0
].
minor
.
yy
4
6
=
TK_EVERY
;
}
break
;
case
20
4
:
/* session_option ::= */
{
yymsp
[
1
].
minor
.
yy
251
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy251
.
gap
.
n
=
0
;}
case
20
6
:
/* session_option ::= */
{
yymsp
[
1
].
minor
.
yy
97
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy97
.
gap
.
n
=
0
;}
break
;
case
20
5
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
case
20
7
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy
251
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
251
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
97
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy
97
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
20
6
:
/* windowstate_option ::= */
{
yymsp
[
1
].
minor
.
yy
256
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy25
6
.
col
.
z
=
NULL
;}
case
20
8
:
/* windowstate_option ::= */
{
yymsp
[
1
].
minor
.
yy
6
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy
6
.
col
.
z
=
NULL
;}
break
;
case
20
7
:
/* windowstate_option ::= STATE_WINDOW LP ids RP */
{
yymsp
[
-
3
].
minor
.
yy
25
6
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
}
case
20
9
:
/* windowstate_option ::= STATE_WINDOW LP ids RP */
{
yymsp
[
-
3
].
minor
.
yy6
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
2
08
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy
413
=
0
;
}
case
2
10
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy
165
=
0
;
}
break
;
case
2
09
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
case
2
11
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
SVariant
A
=
{
0
};
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
taosVariantCreate
(
&
A
,
yymsp
[
-
3
].
minor
.
yy0
.
z
,
yymsp
[
-
3
].
minor
.
yy0
.
n
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
tListItemInsert
(
yymsp
[
-
1
].
minor
.
yy
413
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
413
=
yymsp
[
-
1
].
minor
.
yy413
;
tListItemInsert
(
yymsp
[
-
1
].
minor
.
yy
165
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy
165
=
yymsp
[
-
1
].
minor
.
yy165
;
}
break
;
case
21
0
:
/* fill_opt ::= FILL LP ID RP */
case
21
2
:
/* fill_opt ::= FILL LP ID RP */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy
413
=
tListItemAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yymsp
[
-
3
].
minor
.
yy
165
=
tListItemAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
break
;
case
21
1
:
/* sliding_opt ::= SLIDING LP tmvar RP */
case
21
3
:
/* sliding_opt ::= SLIDING LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
case
21
2
:
/* sliding_opt ::= */
case
21
4
:
/* sliding_opt ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
break
;
case
21
4
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy
413
=
yymsp
[
0
].
minor
.
yy413
;}
case
21
6
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy
165
=
yymsp
[
0
].
minor
.
yy165
;}
break
;
case
21
5
:
/* sortlist ::= sortlist COMMA item sortorder */
case
21
7
:
/* sortlist ::= sortlist COMMA item sortorder */
{
yylhsminor
.
yy
413
=
tListItemAppend
(
yymsp
[
-
3
].
minor
.
yy413
,
&
yymsp
[
-
1
].
minor
.
yy461
,
yymsp
[
0
].
minor
.
yy60
);
yylhsminor
.
yy
165
=
tListItemAppend
(
yymsp
[
-
3
].
minor
.
yy165
,
&
yymsp
[
-
1
].
minor
.
yy425
,
yymsp
[
0
].
minor
.
yy47
);
}
yymsp
[
-
3
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
3
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
21
6
:
/* sortlist ::= item sortorder */
case
21
8
:
/* sortlist ::= item sortorder */
{
yylhsminor
.
yy
413
=
tListItemAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy461
,
yymsp
[
0
].
minor
.
yy60
);
yylhsminor
.
yy
165
=
tListItemAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy425
,
yymsp
[
0
].
minor
.
yy47
);
}
yymsp
[
-
1
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
1
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
21
7
:
/* item ::= ids cpxName */
case
21
9
:
/* item ::= ids cpxName */
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
taosVariantCreate
(
&
yylhsminor
.
yy4
61
,
yymsp
[
-
1
].
minor
.
yy0
.
z
,
yymsp
[
-
1
].
minor
.
yy0
.
n
,
yymsp
[
-
1
].
minor
.
yy0
.
type
);
taosVariantCreate
(
&
yylhsminor
.
yy4
25
,
yymsp
[
-
1
].
minor
.
yy0
.
z
,
yymsp
[
-
1
].
minor
.
yy0
.
n
,
yymsp
[
-
1
].
minor
.
yy0
.
type
);
}
yymsp
[
-
1
].
minor
.
yy4
61
=
yylhsminor
.
yy461
;
yymsp
[
-
1
].
minor
.
yy4
25
=
yylhsminor
.
yy425
;
break
;
case
2
18
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy
60
=
TSDB_ORDER_ASC
;
}
case
2
20
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy
47
=
TSDB_ORDER_ASC
;
}
break
;
case
2
19
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy
60
=
TSDB_ORDER_DESC
;}
case
2
21
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy
47
=
TSDB_ORDER_DESC
;}
break
;
case
22
0
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy
60
=
TSDB_ORDER_ASC
;
}
case
22
2
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy
47
=
TSDB_ORDER_ASC
;
}
break
;
case
22
1
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy
413
=
0
;}
case
22
3
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy
165
=
0
;}
break
;
case
22
2
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy
413
=
yymsp
[
0
].
minor
.
yy413
;}
case
22
4
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy
165
=
yymsp
[
0
].
minor
.
yy165
;}
break
;
case
22
3
:
/* grouplist ::= grouplist COMMA item */
case
22
5
:
/* grouplist ::= grouplist COMMA item */
{
yylhsminor
.
yy
413
=
tListItemAppend
(
yymsp
[
-
2
].
minor
.
yy413
,
&
yymsp
[
0
].
minor
.
yy461
,
-
1
);
yylhsminor
.
yy
165
=
tListItemAppend
(
yymsp
[
-
2
].
minor
.
yy165
,
&
yymsp
[
0
].
minor
.
yy425
,
-
1
);
}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
-
2
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
22
4
:
/* grouplist ::= item */
case
22
6
:
/* grouplist ::= item */
{
yylhsminor
.
yy
413
=
tListItemAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy461
,
-
1
);
yylhsminor
.
yy
165
=
tListItemAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy425
,
-
1
);
}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
yymsp
[
0
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
22
5
:
/* having_opt ::= */
case
23
5
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
235
);
case
2
79
:
/* expritem ::= */
yytestcase
(
yyruleno
==
279
);
{
yymsp
[
1
].
minor
.
yy
370
=
0
;}
case
22
7
:
/* having_opt ::= */
case
23
7
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
237
);
case
2
81
:
/* expritem ::= */
yytestcase
(
yyruleno
==
281
);
{
yymsp
[
1
].
minor
.
yy
202
=
0
;}
break
;
case
22
6
:
/* having_opt ::= HAVING expr */
case
23
6
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
236
);
{
yymsp
[
-
1
].
minor
.
yy
370
=
yymsp
[
0
].
minor
.
yy370
;}
case
22
8
:
/* having_opt ::= HAVING expr */
case
23
8
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
238
);
{
yymsp
[
-
1
].
minor
.
yy
202
=
yymsp
[
0
].
minor
.
yy202
;}
break
;
case
22
7
:
/* limit_opt ::= */
case
23
1
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
231
);
{
yymsp
[
1
].
minor
.
yy
503
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy503
.
offset
=
0
;}
case
22
9
:
/* limit_opt ::= */
case
23
3
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
233
);
{
yymsp
[
1
].
minor
.
yy
367
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy367
.
offset
=
0
;}
break
;
case
2
28
:
/* limit_opt ::= LIMIT signed */
case
23
2
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
232
);
{
yymsp
[
-
1
].
minor
.
yy
503
.
limit
=
yymsp
[
0
].
minor
.
yy157
;
yymsp
[
-
1
].
minor
.
yy503
.
offset
=
0
;}
case
2
30
:
/* limit_opt ::= LIMIT signed */
case
23
4
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
234
);
{
yymsp
[
-
1
].
minor
.
yy
367
.
limit
=
yymsp
[
0
].
minor
.
yy207
;
yymsp
[
-
1
].
minor
.
yy367
.
offset
=
0
;}
break
;
case
2
29
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
503
.
limit
=
yymsp
[
-
2
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy503
.
offset
=
yymsp
[
0
].
minor
.
yy15
7
;}
case
2
31
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
367
.
limit
=
yymsp
[
-
2
].
minor
.
yy207
;
yymsp
[
-
3
].
minor
.
yy367
.
offset
=
yymsp
[
0
].
minor
.
yy20
7
;}
break
;
case
23
0
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
503
.
limit
=
yymsp
[
0
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy503
.
offset
=
yymsp
[
-
2
].
minor
.
yy15
7
;}
case
23
2
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
367
.
limit
=
yymsp
[
0
].
minor
.
yy207
;
yymsp
[
-
3
].
minor
.
yy367
.
offset
=
yymsp
[
-
2
].
minor
.
yy20
7
;}
break
;
case
23
3
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
503
.
limit
=
yymsp
[
-
2
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy503
.
offset
=
yymsp
[
0
].
minor
.
yy15
7
;}
case
23
5
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy
367
.
limit
=
yymsp
[
-
2
].
minor
.
yy207
;
yymsp
[
-
3
].
minor
.
yy367
.
offset
=
yymsp
[
0
].
minor
.
yy20
7
;}
break
;
case
23
4
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
503
.
limit
=
yymsp
[
0
].
minor
.
yy157
;
yymsp
[
-
3
].
minor
.
yy503
.
offset
=
yymsp
[
-
2
].
minor
.
yy15
7
;}
case
23
6
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy
367
.
limit
=
yymsp
[
0
].
minor
.
yy207
;
yymsp
[
-
3
].
minor
.
yy367
.
offset
=
yymsp
[
-
2
].
minor
.
yy20
7
;}
break
;
case
23
7
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy
370
=
yymsp
[
-
1
].
minor
.
yy370
;
yylhsminor
.
yy370
->
exprToken
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy370
->
exprToken
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
23
9
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy
202
=
yymsp
[
-
1
].
minor
.
yy202
;
yylhsminor
.
yy202
->
exprToken
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy202
->
exprToken
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
38
:
/* expr ::= ID */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
40
:
/* expr ::= ID */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
39
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
41
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
24
0
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
24
2
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
24
1
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
24
3
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
24
2
:
/* expr ::= MINUS INTEGER */
case
24
3
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
243
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
24
4
:
/* expr ::= MINUS INTEGER */
case
24
5
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
245
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
24
4
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
24
6
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
24
5
:
/* expr ::= MINUS FLOAT */
case
24
6
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
246
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
24
7
:
/* expr ::= MINUS FLOAT */
case
24
8
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
248
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
24
7
:
/* expr ::= STRING */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
24
9
:
/* expr ::= STRING */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
48
:
/* expr ::= NOW */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
50
:
/* expr ::= NOW */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
49
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
51
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
25
0
:
/* expr ::= PLUS VARIABLE */
case
25
1
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
251
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
-
1
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
25
2
:
/* expr ::= PLUS VARIABLE */
case
25
3
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
253
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
-
1
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
25
2
:
/* expr ::= BOOL */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
25
4
:
/* expr ::= BOOL */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
25
3
:
/* expr ::= NULL */
{
yylhsminor
.
yy
370
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
25
5
:
/* expr ::= NULL */
{
yylhsminor
.
yy
202
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
25
4
:
/* expr ::= ID LP exprlist RP */
{
tRecordFuncName
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
370
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy413
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
25
6
:
/* expr ::= ID LP exprlist RP */
{
tRecordFuncName
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
202
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy165
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
25
5
:
/* expr ::= ID LP STAR RP */
{
tRecordFuncName
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
370
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
25
7
:
/* expr ::= ID LP STAR RP */
{
tRecordFuncName
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy
202
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
25
6
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
25
8
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
25
7
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy370
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
25
9
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy202
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
58
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
60
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
59
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
61
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
0
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
2
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
1
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
3
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
2
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
4
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
3
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
5
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
4
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
370
);
yylhsminor
.
yy370
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy370
,
yymsp
[
-
2
].
minor
.
yy370
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy370
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
6
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy
202
);
yylhsminor
.
yy202
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy202
,
yymsp
[
-
2
].
minor
.
yy202
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy202
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
5
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
7
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
6
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
8
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
26
7
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
26
9
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
68
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
70
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
2
69
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
71
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
27
0
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
27
2
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
27
1
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
27
3
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
27
2
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
27
4
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
27
3
:
/* expr ::= expr MATCH expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_MATCH
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
27
5
:
/* expr ::= expr MATCH expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_MATCH
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
27
4
:
/* expr ::= expr NMATCH expr */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy370
,
yymsp
[
0
].
minor
.
yy370
,
TK_NMATCH
);
}
yymsp
[
-
2
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
27
6
:
/* expr ::= expr NMATCH expr */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy202
,
yymsp
[
0
].
minor
.
yy202
,
TK_NMATCH
);
}
yymsp
[
-
2
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
27
5
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
370
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy370
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy413
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
27
7
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy
202
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy202
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy165
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
27
6
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy413
,
yymsp
[
0
].
minor
.
yy370
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
27
8
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy
165
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy165
,
yymsp
[
0
].
minor
.
yy202
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
27
7
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
413
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy370
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy
413
=
yylhsminor
.
yy413
;
case
27
9
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy
165
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy202
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy
165
=
yylhsminor
.
yy165
;
break
;
case
2
78
:
/* expritem ::= expr */
{
yylhsminor
.
yy
370
=
yymsp
[
0
].
minor
.
yy370
;}
yymsp
[
0
].
minor
.
yy
370
=
yylhsminor
.
yy370
;
case
2
80
:
/* expritem ::= expr */
{
yylhsminor
.
yy
202
=
yymsp
[
0
].
minor
.
yy202
;}
yymsp
[
0
].
minor
.
yy
202
=
yylhsminor
.
yy202
;
break
;
case
28
0
:
/* cmd ::= RESET QUERY CACHE */
case
28
2
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
break
;
case
28
1
:
/* cmd ::= SYNCDB ids REPLICA */
case
28
3
:
/* cmd ::= SYNCDB ids REPLICA */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
break
;
case
28
2
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
28
4
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
28
3
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
28
5
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
...
...
@@ -3189,21 +3201,21 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
28
4
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
case
28
6
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
28
5
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
28
7
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
28
6
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
28
8
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3214,7 +3226,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
28
7
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
28
9
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3228,33 +3240,33 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
2
88
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
case
2
90
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
SArray
*
A
=
tListItemAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
A
=
tListItemAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy4
61
,
-
1
);
A
=
tListItemAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy4
25
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
2
89
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
case
2
91
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
0
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
case
29
2
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
1
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
case
29
3
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3265,21 +3277,21 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
2
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
case
29
4
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
3
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
case
29
5
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
4
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
case
29
6
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3290,7 +3302,7 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
5
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
case
29
7
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3304,32 +3316,32 @@ static void yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
6
:
/* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
case
29
8
:
/* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
SArray
*
A
=
tListItemAppendToken
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
);
A
=
tListItemAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy4
61
,
-
1
);
A
=
tListItemAppend
(
A
,
&
yymsp
[
0
].
minor
.
yy4
25
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
29
7
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
case
29
9
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
413
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy
165
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
break
;
case
298
:
/* cmd ::= KILL CONNECTION INTEGER */
case
300
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
case
299
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
case
301
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_STREAM
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
case
30
0
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
case
30
2
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
+
yymsp
[
0
].
minor
.
yy0
.
n
);
setKillSql
(
pInfo
,
TSDB_SQL_KILL_QUERY
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
break
;
default:
...
...
source/libs/parser/test/mockCatalog.cpp
浏览文件 @
a85169a1
...
...
@@ -45,12 +45,12 @@ int32_t __catalogGetHandle(const char *clusterId, struct SCatalog** catalogHandl
return
0
;
}
int32_t
__catalogGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
)
{
return
mockCatalogService
->
catalogGetTableMeta
(
p
DBName
,
p
TableName
,
pTableMeta
);
int32_t
__catalogGetTableMeta
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
)
{
return
mockCatalogService
->
catalogGetTableMeta
(
pTableName
,
pTableMeta
);
}
int32_t
__catalogGetTableHashVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
char
*
pDBName
,
const
char
*
pTableName
,
SVgroupInfo
*
vgInfo
)
{
return
mockCatalogService
->
catalogGetTableHashVgroup
(
p
DBName
,
p
TableName
,
vgInfo
);
int32_t
__catalogGetTableHashVgroup
(
struct
SCatalog
*
pCatalog
,
void
*
pRpc
,
const
SEpSet
*
pMgmtEps
,
const
SName
*
pTableName
,
SVgroupInfo
*
vgInfo
)
{
return
mockCatalogService
->
catalogGetTableHashVgroup
(
pTableName
,
vgInfo
);
}
void
initMetaDataEnv
()
{
...
...
source/libs/parser/test/mockCatalogService.cpp
浏览文件 @
a85169a1
...
...
@@ -94,9 +94,14 @@ public:
return
0
;
}
int32_t
catalogGetTableMeta
(
const
char
*
pDbFullName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
)
const
{
int32_t
catalogGetTableMeta
(
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
)
const
{
std
::
unique_ptr
<
STableMeta
>
table
;
int32_t
code
=
copyTableSchemaMeta
(
toDbname
(
pDbFullName
),
pTableName
,
&
table
);
char
db
[
TSDB_DB_FNAME_LEN
]
=
{
0
};
tNameGetFullDbName
(
pTableName
,
db
);
const
char
*
tname
=
tNameGetTableName
(
pTableName
);
int32_t
code
=
copyTableSchemaMeta
(
db
,
tname
,
&
table
);
if
(
TSDB_CODE_SUCCESS
!=
code
)
{
return
code
;
}
...
...
@@ -104,7 +109,7 @@ public:
return
TSDB_CODE_SUCCESS
;
}
int32_t
catalogGetTableHashVgroup
(
const
char
*
pDbFullName
,
const
char
*
pTableName
,
SVgroupInfo
*
vgInfo
)
const
{
int32_t
catalogGetTableHashVgroup
(
const
SName
*
pTableName
,
SVgroupInfo
*
vgInfo
)
const
{
// todo
return
0
;
}
...
...
@@ -283,10 +288,10 @@ std::shared_ptr<MockTableMeta> MockCatalogService::getTableMeta(const std::strin
return
impl_
->
getTableMeta
(
db
,
tbname
);
}
int32_t
MockCatalogService
::
catalogGetTableMeta
(
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
)
const
{
return
impl_
->
catalogGetTableMeta
(
p
DBName
,
p
TableName
,
pTableMeta
);
int32_t
MockCatalogService
::
catalogGetTableMeta
(
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
)
const
{
return
impl_
->
catalogGetTableMeta
(
pTableName
,
pTableMeta
);
}
int32_t
MockCatalogService
::
catalogGetTableHashVgroup
(
const
char
*
pDBName
,
const
char
*
pTableName
,
SVgroupInfo
*
vgInfo
)
const
{
return
impl_
->
catalogGetTableHashVgroup
(
p
DBName
,
p
TableName
,
vgInfo
);
int32_t
MockCatalogService
::
catalogGetTableHashVgroup
(
const
SName
*
pTableName
,
SVgroupInfo
*
vgInfo
)
const
{
return
impl_
->
catalogGetTableHashVgroup
(
pTableName
,
vgInfo
);
}
\ No newline at end of file
source/libs/parser/test/mockCatalogService.h
浏览文件 @
a85169a1
...
...
@@ -57,8 +57,8 @@ public:
void
showTables
()
const
;
std
::
shared_ptr
<
MockTableMeta
>
getTableMeta
(
const
std
::
string
&
db
,
const
std
::
string
&
tbname
)
const
;
int32_t
catalogGetTableMeta
(
const
char
*
pDBName
,
const
char
*
pTableName
,
STableMeta
**
pTableMeta
)
const
;
int32_t
catalogGetTableHashVgroup
(
const
char
*
pDBName
,
const
char
*
pTableName
,
SVgroupInfo
*
vgInfo
)
const
;
int32_t
catalogGetTableMeta
(
const
SName
*
pTableName
,
STableMeta
**
pTableMeta
)
const
;
int32_t
catalogGetTableHashVgroup
(
const
SName
*
pTableName
,
SVgroupInfo
*
vgInfo
)
const
;
private:
std
::
unique_ptr
<
MockCatalogServiceImpl
>
impl_
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录