Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
8015a2a4
T
TDengine
项目概览
taosdata
/
TDengine
大约 2 年 前同步成功
通知
1192
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
8015a2a4
编写于
6月 17, 2021
作者:
haoranc
浏览文件
操作
浏览文件
下载
差异文件
Merge branch 'master' of github.com:taosdata/TDengine into test/chr
上级
6ea659d1
3a740a58
变更
27
隐藏空白更改
内联
并排
Showing
27 changed file
with
789 addition
and
689 deletion
+789
-689
cmake/install.inc
cmake/install.inc
+1
-1
src/balance/src/bnMain.c
src/balance/src/bnMain.c
+1
-0
src/client/src/tscPrepare.c
src/client/src/tscPrepare.c
+5
-0
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+3
-0
src/client/src/tscSub.c
src/client/src/tscSub.c
+15
-9
src/client/src/tscSubquery.c
src/client/src/tscSubquery.c
+7
-0
src/connector/jdbc/CMakeLists.txt
src/connector/jdbc/CMakeLists.txt
+2
-4
src/connector/jdbc/deploy-pom.xml
src/connector/jdbc/deploy-pom.xml
+1
-1
src/connector/jdbc/pom.xml
src/connector/jdbc/pom.xml
+2
-1
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulConnection.java
...src/main/java/com/taosdata/jdbc/rs/RestfulConnection.java
+8
-1
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulDriver.java
...dbc/src/main/java/com/taosdata/jdbc/rs/RestfulDriver.java
+4
-8
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulStatement.java
.../src/main/java/com/taosdata/jdbc/rs/RestfulStatement.java
+3
-3
src/connector/jdbc/src/main/java/com/taosdata/jdbc/utils/HttpClientPoolUtil.java
...main/java/com/taosdata/jdbc/utils/HttpClientPoolUtil.java
+15
-25
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/BatchInsertTest.java
...rc/test/java/com/taosdata/jdbc/cases/BatchInsertTest.java
+1
-3
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/ConnectMultiTaosdByRestfulWithDifferentTokenTest.java
...ses/ConnectMultiTaosdByRestfulWithDifferentTokenTest.java
+59
-0
src/dnode/inc/dnodeCfg.h
src/dnode/inc/dnodeCfg.h
+1
-0
src/dnode/src/dnodeCfg.c
src/dnode/src/dnodeCfg.c
+22
-0
src/dnode/src/dnodeVnodes.c
src/dnode/src/dnodeVnodes.c
+1
-0
src/inc/ttokendef.h
src/inc/ttokendef.h
+2
-0
src/mnode/src/mnodeSdb.c
src/mnode/src/mnodeSdb.c
+11
-4
src/query/inc/sql.y
src/query/inc/sql.y
+1
-2
src/query/src/sql.c
src/query/src/sql.c
+594
-599
src/wal/src/walWrite.c
src/wal/src/walWrite.c
+1
-1
tests/pytest/query/filter.py
tests/pytest/query/filter.py
+2
-2
tests/pytest/query/querySecondtscolumnTowherenow.py
tests/pytest/query/querySecondtscolumnTowherenow.py
+2
-2
tests/pytest/smoketest.sh
tests/pytest/smoketest.sh
+22
-22
tests/script/general/parser/timestamp_query.sim
tests/script/general/parser/timestamp_query.sim
+3
-1
未找到文件。
cmake/install.inc
浏览文件 @
8015a2a4
...
@@ -32,7 +32,7 @@ ELSEIF (TD_WINDOWS)
...
@@ -32,7 +32,7 @@ ELSEIF (TD_WINDOWS)
#INSTALL(TARGETS taos RUNTIME DESTINATION driver)
#INSTALL(TARGETS taos RUNTIME DESTINATION driver)
#INSTALL(TARGETS shell RUNTIME DESTINATION .)
#INSTALL(TARGETS shell RUNTIME DESTINATION .)
IF
(
TD_MVN_INSTALLED
)
IF
(
TD_MVN_INSTALLED
)
INSTALL
(
FILES
$
{
LIBRARY_OUTPUT_PATH
}
/
taos
-
jdbcdriver
-
2.0.
29
.
jar
DESTINATION
connector
/
jdbc
)
INSTALL
(
FILES
$
{
LIBRARY_OUTPUT_PATH
}
/
taos
-
jdbcdriver
-
2.0.
31
.
jar
DESTINATION
connector
/
jdbc
)
ENDIF
()
ENDIF
()
ELSEIF
(
TD_DARWIN
)
ELSEIF
(
TD_DARWIN
)
SET
(
TD_MAKE_INSTALL_SH
"${TD_COMMUNITY_DIR}/packaging/tools/make_install.sh"
)
SET
(
TD_MAKE_INSTALL_SH
"${TD_COMMUNITY_DIR}/packaging/tools/make_install.sh"
)
...
...
src/balance/src/bnMain.c
浏览文件 @
8015a2a4
...
@@ -367,6 +367,7 @@ static bool bnMonitorBalance() {
...
@@ -367,6 +367,7 @@ static bool bnMonitorBalance() {
for
(
int32_t
dest
=
0
;
dest
<
src
;
dest
++
)
{
for
(
int32_t
dest
=
0
;
dest
<
src
;
dest
++
)
{
SDnodeObj
*
pDestDnode
=
tsBnDnodes
.
list
[
dest
];
SDnodeObj
*
pDestDnode
=
tsBnDnodes
.
list
[
dest
];
if
(
bnCheckDnodeInVgroup
(
pDestDnode
,
pVgroup
))
continue
;
if
(
bnCheckDnodeInVgroup
(
pDestDnode
,
pVgroup
))
continue
;
if
(
taosGetTimestampMs
()
-
pDestDnode
->
createdTime
<
2000
)
continue
;
float
destScore
=
bnTryCalcDnodeScore
(
pDestDnode
,
1
);
float
destScore
=
bnTryCalcDnodeScore
(
pDestDnode
,
1
);
if
(
srcScore
+
0
.
0001
<
destScore
)
continue
;
if
(
srcScore
+
0
.
0001
<
destScore
)
continue
;
...
...
src/client/src/tscPrepare.c
浏览文件 @
8015a2a4
...
@@ -879,6 +879,11 @@ int taos_stmt_prepare(TAOS_STMT* stmt, const char* sql, unsigned long length) {
...
@@ -879,6 +879,11 @@ int taos_stmt_prepare(TAOS_STMT* stmt, const char* sql, unsigned long length) {
return
TSDB_CODE_TSC_DISCONNECTED
;
return
TSDB_CODE_TSC_DISCONNECTED
;
}
}
if
(
sql
==
NULL
)
{
tscError
(
"sql is NULL"
);
return
TSDB_CODE_TSC_APP_ERROR
;
}
SSqlObj
*
pSql
=
pStmt
->
pSql
;
SSqlObj
*
pSql
=
pStmt
->
pSql
;
size_t
sqlLen
=
strlen
(
sql
);
size_t
sqlLen
=
strlen
(
sql
);
...
...
src/client/src/tscSQLParser.c
浏览文件 @
8015a2a4
...
@@ -4694,7 +4694,10 @@ int32_t getTimeRange(STimeWindow* win, tSqlExpr* pRight, int32_t optr, int16_t t
...
@@ -4694,7 +4694,10 @@ int32_t getTimeRange(STimeWindow* win, tSqlExpr* pRight, int32_t optr, int16_t t
win
->
skey
=
val
;
win
->
skey
=
val
;
}
else
if
(
optr
==
TK_EQ
)
{
}
else
if
(
optr
==
TK_EQ
)
{
win
->
ekey
=
win
->
skey
=
val
;
win
->
ekey
=
win
->
skey
=
val
;
}
else
if
(
optr
==
TK_NE
)
{
return
TSDB_CODE_TSC_INVALID_SQL
;
}
}
return
TSDB_CODE_SUCCESS
;
return
TSDB_CODE_SUCCESS
;
}
}
...
...
src/client/src/tscSub.c
浏览文件 @
8015a2a4
...
@@ -282,6 +282,7 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
...
@@ -282,6 +282,7 @@ static int tscUpdateSubscription(STscObj* pObj, SSub* pSub) {
SArray
*
tables
=
getTableList
(
pSql
);
SArray
*
tables
=
getTableList
(
pSql
);
if
(
tables
==
NULL
)
{
if
(
tables
==
NULL
)
{
pSub
->
lastSyncTime
=
0
;
//force to get table list next time
return
0
;
return
0
;
}
}
size_t
numOfTables
=
taosArrayGetSize
(
tables
);
size_t
numOfTables
=
taosArrayGetSize
(
tables
);
...
@@ -488,7 +489,15 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
...
@@ -488,7 +489,15 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
SSub
*
pSub
=
(
SSub
*
)
tsub
;
SSub
*
pSub
=
(
SSub
*
)
tsub
;
if
(
pSub
==
NULL
)
return
NULL
;
if
(
pSub
==
NULL
)
return
NULL
;
if
(
pSub
->
pSql
->
cmd
.
command
==
TSDB_SQL_RETRIEVE_EMPTY_RESULT
)
{
if
(
pSub
->
pTimer
==
NULL
)
{
int64_t
duration
=
taosGetTimestampMs
()
-
pSub
->
lastConsumeTime
;
if
(
duration
<
(
int64_t
)(
pSub
->
interval
))
{
tscDebug
(
"subscription consume too frequently, blocking..."
);
taosMsleep
(
pSub
->
interval
-
(
int32_t
)
duration
);
}
}
if
(
pSub
->
pSql
->
cmd
.
command
==
TSDB_SQL_RETRIEVE_EMPTY_RESULT
)
{
//may reach here when retireve stable vgroup failed
SSqlObj
*
pSql
=
recreateSqlObj
(
pSub
);
SSqlObj
*
pSql
=
recreateSqlObj
(
pSub
);
if
(
pSql
==
NULL
)
{
if
(
pSql
==
NULL
)
{
return
NULL
;
return
NULL
;
...
@@ -500,6 +509,11 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
...
@@ -500,6 +509,11 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
}
}
pSub
->
pSql
=
pSql
;
pSub
->
pSql
=
pSql
;
pSql
->
pSubscription
=
pSub
;
pSql
->
pSubscription
=
pSub
;
// no table list now, force to update it
tscDebug
(
"begin table synchronization"
);
if
(
!
tscUpdateSubscription
(
pSub
->
taos
,
pSub
))
return
NULL
;
tscDebug
(
"table synchronization completed"
);
}
}
tscSaveSubscriptionProgress
(
pSub
);
tscSaveSubscriptionProgress
(
pSub
);
...
@@ -524,14 +538,6 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
...
@@ -524,14 +538,6 @@ TAOS_RES *taos_consume(TAOS_SUB *tsub) {
tscDebug
(
"subscribe:%s set next round subscribe skey:%"
PRId64
,
pSub
->
topic
,
pQueryInfo
->
window
.
skey
);
tscDebug
(
"subscribe:%s set next round subscribe skey:%"
PRId64
,
pSub
->
topic
,
pQueryInfo
->
window
.
skey
);
}
}
if
(
pSub
->
pTimer
==
NULL
)
{
int64_t
duration
=
taosGetTimestampMs
()
-
pSub
->
lastConsumeTime
;
if
(
duration
<
(
int64_t
)(
pSub
->
interval
))
{
tscDebug
(
"subscription consume too frequently, blocking..."
);
taosMsleep
(
pSub
->
interval
-
(
int32_t
)
duration
);
}
}
size_t
size
=
taosArrayGetSize
(
pSub
->
progress
)
*
sizeof
(
STableIdInfo
);
size_t
size
=
taosArrayGetSize
(
pSub
->
progress
)
*
sizeof
(
STableIdInfo
);
size
+=
sizeof
(
SQueryTableMsg
)
+
4096
;
size
+=
sizeof
(
SQueryTableMsg
)
+
4096
;
int
code
=
tscAllocPayload
(
&
pSql
->
cmd
,
(
int
)
size
);
int
code
=
tscAllocPayload
(
&
pSql
->
cmd
,
(
int
)
size
);
...
...
src/client/src/tscSubquery.c
浏览文件 @
8015a2a4
...
@@ -3154,6 +3154,13 @@ int32_t tscHandleMultivnodeInsert(SSqlObj *pSql) {
...
@@ -3154,6 +3154,13 @@ int32_t tscHandleMultivnodeInsert(SSqlObj *pSql) {
// it is the failure retry insert
// it is the failure retry insert
if
(
pSql
->
pSubs
!=
NULL
)
{
if
(
pSql
->
pSubs
!=
NULL
)
{
int32_t
blockNum
=
(
int32_t
)
taosArrayGetSize
(
pCmd
->
pDataBlocks
);
if
(
pSql
->
subState
.
numOfSub
!=
blockNum
)
{
tscError
(
"0x%"
PRIx64
" sub num:%d is not same with data block num:%d"
,
pSql
->
self
,
pSql
->
subState
.
numOfSub
,
blockNum
);
pRes
->
code
=
TSDB_CODE_TSC_APP_ERROR
;
return
pRes
->
code
;
}
for
(
int32_t
i
=
0
;
i
<
pSql
->
subState
.
numOfSub
;
++
i
)
{
for
(
int32_t
i
=
0
;
i
<
pSql
->
subState
.
numOfSub
;
++
i
)
{
SSqlObj
*
pSub
=
pSql
->
pSubs
[
i
];
SSqlObj
*
pSub
=
pSql
->
pSubs
[
i
];
SInsertSupporter
*
pSup
=
calloc
(
1
,
sizeof
(
SInsertSupporter
));
SInsertSupporter
*
pSup
=
calloc
(
1
,
sizeof
(
SInsertSupporter
));
...
...
src/connector/jdbc/CMakeLists.txt
浏览文件 @
8015a2a4
...
@@ -8,10 +8,8 @@ IF (TD_MVN_INSTALLED)
...
@@ -8,10 +8,8 @@ IF (TD_MVN_INSTALLED)
ADD_CUSTOM_COMMAND
(
OUTPUT
${
JDBC_CMD_NAME
}
ADD_CUSTOM_COMMAND
(
OUTPUT
${
JDBC_CMD_NAME
}
POST_BUILD
POST_BUILD
COMMAND mvn -Dmaven.test.skip=true install -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMAND mvn -Dmaven.test.skip=true install -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMAND
${
CMAKE_COMMAND
}
-E copy
${
CMAKE_CURRENT_SOURCE_DIR
}
/target/taos-jdbcdriver-2.0.
29
.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND
${
CMAKE_COMMAND
}
-E copy
${
CMAKE_CURRENT_SOURCE_DIR
}
/target/taos-jdbcdriver-2.0.
31
.jar
${
LIBRARY_OUTPUT_PATH
}
COMMAND mvn -Dmaven.test.skip=true clean -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMAND mvn -Dmaven.test.skip=true clean -f
${
CMAKE_CURRENT_SOURCE_DIR
}
/pom.xml
COMMENT
"build jdbc driver"
)
COMMENT
"build jdbc driver"
)
ADD_CUSTOM_TARGET
(
${
JDBC_TARGET_NAME
}
ALL WORKING_DIRECTORY
${
EXECUTABLE_OUTPUT_PATH
}
DEPENDS
${
JDBC_CMD_NAME
}
)
ADD_CUSTOM_TARGET
(
${
JDBC_TARGET_NAME
}
ALL WORKING_DIRECTORY
${
EXECUTABLE_OUTPUT_PATH
}
DEPENDS
${
JDBC_CMD_NAME
}
)
ENDIF
()
ENDIF
()
\ No newline at end of file
src/connector/jdbc/deploy-pom.xml
浏览文件 @
8015a2a4
...
@@ -5,7 +5,7 @@
...
@@ -5,7 +5,7 @@
<groupId>
com.taosdata.jdbc
</groupId>
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
2.0.
29
</version>
<version>
2.0.
31
</version>
<packaging>
jar
</packaging>
<packaging>
jar
</packaging>
<name>
JDBCDriver
</name>
<name>
JDBCDriver
</name>
...
...
src/connector/jdbc/pom.xml
浏览文件 @
8015a2a4
...
@@ -3,7 +3,7 @@
...
@@ -3,7 +3,7 @@
<modelVersion>
4.0.0
</modelVersion>
<modelVersion>
4.0.0
</modelVersion>
<groupId>
com.taosdata.jdbc
</groupId>
<groupId>
com.taosdata.jdbc
</groupId>
<artifactId>
taos-jdbcdriver
</artifactId>
<artifactId>
taos-jdbcdriver
</artifactId>
<version>
2.0.
29
</version>
<version>
2.0.
31
</version>
<packaging>
jar
</packaging>
<packaging>
jar
</packaging>
<name>
JDBCDriver
</name>
<name>
JDBCDriver
</name>
<url>
https://github.com/taosdata/TDengine/tree/master/src/connector/jdbc
</url>
<url>
https://github.com/taosdata/TDengine/tree/master/src/connector/jdbc
</url>
...
@@ -123,6 +123,7 @@
...
@@ -123,6 +123,7 @@
<exclude>
**/InvalidResultSetPointerTest.java
</exclude>
<exclude>
**/InvalidResultSetPointerTest.java
</exclude>
<exclude>
**/RestfulConnectionTest.java
</exclude>
<exclude>
**/RestfulConnectionTest.java
</exclude>
<exclude>
**/TD4144Test.java
</exclude>
<exclude>
**/TD4144Test.java
</exclude>
<exclude>
**/ConnectMultiTaosdByRestfulWithDifferentTokenTest.java
</exclude>
</excludes>
</excludes>
<testFailureIgnore>
true
</testFailureIgnore>
<testFailureIgnore>
true
</testFailureIgnore>
</configuration>
</configuration>
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulConnection.java
浏览文件 @
8015a2a4
...
@@ -17,16 +17,18 @@ public class RestfulConnection extends AbstractConnection {
...
@@ -17,16 +17,18 @@ public class RestfulConnection extends AbstractConnection {
private
final
int
port
;
private
final
int
port
;
private
final
String
url
;
private
final
String
url
;
private
volatile
String
database
;
private
volatile
String
database
;
private
final
String
token
;
/******************************************************/
/******************************************************/
private
boolean
isClosed
;
private
boolean
isClosed
;
private
final
DatabaseMetaData
metadata
;
private
final
DatabaseMetaData
metadata
;
public
RestfulConnection
(
String
host
,
String
port
,
Properties
props
,
String
database
,
String
url
)
{
public
RestfulConnection
(
String
host
,
String
port
,
Properties
props
,
String
database
,
String
url
,
String
token
)
{
super
(
props
);
super
(
props
);
this
.
host
=
host
;
this
.
host
=
host
;
this
.
port
=
Integer
.
parseInt
(
port
);
this
.
port
=
Integer
.
parseInt
(
port
);
this
.
database
=
database
;
this
.
database
=
database
;
this
.
url
=
url
;
this
.
url
=
url
;
this
.
token
=
token
;
this
.
metadata
=
new
RestfulDatabaseMetaData
(
url
,
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
),
this
);
this
.
metadata
=
new
RestfulDatabaseMetaData
(
url
,
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
),
this
);
}
}
...
@@ -66,6 +68,7 @@ public class RestfulConnection extends AbstractConnection {
...
@@ -66,6 +68,7 @@ public class RestfulConnection extends AbstractConnection {
return
this
.
metadata
;
return
this
.
metadata
;
}
}
// getters
public
String
getHost
()
{
public
String
getHost
()
{
return
host
;
return
host
;
}
}
...
@@ -81,4 +84,8 @@ public class RestfulConnection extends AbstractConnection {
...
@@ -81,4 +84,8 @@ public class RestfulConnection extends AbstractConnection {
public
String
getUrl
()
{
public
String
getUrl
()
{
return
url
;
return
url
;
}
}
public
String
getToken
()
{
return
token
;
}
}
}
\ No newline at end of file
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulDriver.java
浏览文件 @
8015a2a4
...
@@ -38,15 +38,11 @@ public class RestfulDriver extends AbstractDriver {
...
@@ -38,15 +38,11 @@ public class RestfulDriver extends AbstractDriver {
String
port
=
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
,
"6041"
);
String
port
=
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
,
"6041"
);
String
database
=
props
.
containsKey
(
TSDBDriver
.
PROPERTY_KEY_DBNAME
)
?
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_DBNAME
)
:
null
;
String
database
=
props
.
containsKey
(
TSDBDriver
.
PROPERTY_KEY_DBNAME
)
?
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_DBNAME
)
:
null
;
String
loginUrl
=
"http://"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
)
+
":"
String
loginUrl
=
"http://"
+
host
+
":"
+
port
+
"/rest/login/"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
)
+
"/"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PASSWORD
)
+
""
;
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
)
+
"/rest/login/"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
)
+
"/"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PASSWORD
)
+
""
;
try
{
try
{
String
user
=
URLEncoder
.
encode
(
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
),
"UTF-8"
);
String
user
=
URLEncoder
.
encode
(
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_USER
),
"UTF-8"
);
String
password
=
URLEncoder
.
encode
(
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PASSWORD
),
"UTF-8"
);
String
password
=
URLEncoder
.
encode
(
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PASSWORD
),
"UTF-8"
);
loginUrl
=
"http://"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
)
+
":"
loginUrl
=
"http://"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
)
+
":"
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
)
+
"/rest/login/"
+
user
+
"/"
+
password
+
""
;
+
props
.
getProperty
(
TSDBDriver
.
PROPERTY_KEY_PORT
)
+
"/rest/login/"
+
user
+
"/"
+
password
+
""
;
}
catch
(
UnsupportedEncodingException
e
)
{
}
catch
(
UnsupportedEncodingException
e
)
{
e
.
printStackTrace
();
e
.
printStackTrace
();
}
}
...
@@ -55,12 +51,12 @@ public class RestfulDriver extends AbstractDriver {
...
@@ -55,12 +51,12 @@ public class RestfulDriver extends AbstractDriver {
JSONObject
jsonResult
=
JSON
.
parseObject
(
result
);
JSONObject
jsonResult
=
JSON
.
parseObject
(
result
);
String
status
=
jsonResult
.
getString
(
"status"
);
String
status
=
jsonResult
.
getString
(
"status"
);
String
token
=
jsonResult
.
getString
(
"desc"
);
String
token
=
jsonResult
.
getString
(
"desc"
);
HttpClientPoolUtil
.
token
=
token
;
if
(!
status
.
equals
(
"succ"
))
{
if
(!
status
.
equals
(
"succ"
))
{
throw
new
SQLException
(
jsonResult
.
getString
(
"desc"
));
throw
new
SQLException
(
jsonResult
.
getString
(
"desc"
));
}
}
RestfulConnection
conn
=
new
RestfulConnection
(
host
,
port
,
props
,
database
,
url
);
RestfulConnection
conn
=
new
RestfulConnection
(
host
,
port
,
props
,
database
,
url
,
token
);
if
(
database
!=
null
&&
!
database
.
trim
().
replaceAll
(
"\\s"
,
""
).
isEmpty
())
{
if
(
database
!=
null
&&
!
database
.
trim
().
replaceAll
(
"\\s"
,
""
).
isEmpty
())
{
Statement
stmt
=
conn
.
createStatement
();
Statement
stmt
=
conn
.
createStatement
();
stmt
.
execute
(
"use "
+
database
);
stmt
.
execute
(
"use "
+
database
);
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/rs/RestfulStatement.java
浏览文件 @
8015a2a4
...
@@ -83,7 +83,7 @@ public class RestfulStatement extends AbstractStatement {
...
@@ -83,7 +83,7 @@ public class RestfulStatement extends AbstractStatement {
}
}
if
(
SqlSyntaxValidator
.
isUseSql
(
sql
))
{
if
(
SqlSyntaxValidator
.
isUseSql
(
sql
))
{
HttpClientPoolUtil
.
execute
(
url
,
sql
);
HttpClientPoolUtil
.
execute
(
url
,
sql
,
this
.
conn
.
getToken
()
);
this
.
database
=
sql
.
trim
().
replace
(
"use"
,
""
).
trim
();
this
.
database
=
sql
.
trim
().
replace
(
"use"
,
""
).
trim
();
this
.
conn
.
setCatalog
(
this
.
database
);
this
.
conn
.
setCatalog
(
this
.
database
);
result
=
false
;
result
=
false
;
...
@@ -116,7 +116,7 @@ public class RestfulStatement extends AbstractStatement {
...
@@ -116,7 +116,7 @@ public class RestfulStatement extends AbstractStatement {
if
(
"UTC"
.
equalsIgnoreCase
(
timestampFormat
))
if
(
"UTC"
.
equalsIgnoreCase
(
timestampFormat
))
url
=
"http://"
+
conn
.
getHost
()
+
":"
+
conn
.
getPort
()
+
"/rest/sqlutc"
;
url
=
"http://"
+
conn
.
getHost
()
+
":"
+
conn
.
getPort
()
+
"/rest/sqlutc"
;
String
result
=
HttpClientPoolUtil
.
execute
(
url
,
sql
);
String
result
=
HttpClientPoolUtil
.
execute
(
url
,
sql
,
this
.
conn
.
getToken
()
);
JSONObject
resultJson
=
JSON
.
parseObject
(
result
);
JSONObject
resultJson
=
JSON
.
parseObject
(
result
);
if
(
resultJson
.
getString
(
"status"
).
equals
(
"error"
))
{
if
(
resultJson
.
getString
(
"status"
).
equals
(
"error"
))
{
throw
TSDBError
.
createSQLException
(
resultJson
.
getInteger
(
"code"
),
resultJson
.
getString
(
"desc"
));
throw
TSDBError
.
createSQLException
(
resultJson
.
getInteger
(
"code"
),
resultJson
.
getString
(
"desc"
));
...
@@ -130,7 +130,7 @@ public class RestfulStatement extends AbstractStatement {
...
@@ -130,7 +130,7 @@ public class RestfulStatement extends AbstractStatement {
if
(!
SqlSyntaxValidator
.
isValidForExecuteUpdate
(
sql
))
if
(!
SqlSyntaxValidator
.
isValidForExecuteUpdate
(
sql
))
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_INVALID_FOR_EXECUTE_UPDATE
,
"not a valid sql for executeUpdate: "
+
sql
);
throw
TSDBError
.
createSQLException
(
TSDBErrorNumbers
.
ERROR_INVALID_FOR_EXECUTE_UPDATE
,
"not a valid sql for executeUpdate: "
+
sql
);
String
result
=
HttpClientPoolUtil
.
execute
(
url
,
sql
);
String
result
=
HttpClientPoolUtil
.
execute
(
url
,
sql
,
this
.
conn
.
getToken
()
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
JSONObject
jsonObject
=
JSON
.
parseObject
(
result
);
if
(
jsonObject
.
getString
(
"status"
).
equals
(
"error"
))
{
if
(
jsonObject
.
getString
(
"status"
).
equals
(
"error"
))
{
throw
TSDBError
.
createSQLException
(
jsonObject
.
getInteger
(
"code"
),
jsonObject
.
getString
(
"desc"
));
throw
TSDBError
.
createSQLException
(
jsonObject
.
getInteger
(
"code"
),
jsonObject
.
getString
(
"desc"
));
...
...
src/connector/jdbc/src/main/java/com/taosdata/jdbc/utils/HttpClientPoolUtil.java
浏览文件 @
8015a2a4
...
@@ -20,39 +20,29 @@ import java.nio.charset.Charset;
...
@@ -20,39 +20,29 @@ import java.nio.charset.Charset;
public
class
HttpClientPoolUtil
{
public
class
HttpClientPoolUtil
{
public
static
PoolingHttpClientConnectionManager
cm
=
null
;
public
static
CloseableHttpClient
httpClient
=
null
;
public
static
String
token
=
"cm9vdDp0YW9zZGF0YQ=="
;
/**
* 默认content 类型
*/
private
static
final
String
DEFAULT_CONTENT_TYPE
=
"application/json"
;
private
static
final
String
DEFAULT_CONTENT_TYPE
=
"application/json"
;
/**
private
static
final
String
DEFAULT_TOKEN
=
"cm9vdDp0YW9zZGF0YQ=="
;
* 默认请求超时时间30s
*/
private
static
final
int
DEFAULT_TIME_OUT
=
15000
;
private
static
final
int
DEFAULT_TIME_OUT
=
15000
;
private
static
final
int
count
=
32
;
private
static
final
int
DEFAULT_MAX_PER_ROUTE
=
32
;
private
static
final
int
totalCount
=
1000
;
private
static
final
int
DEFAULT_MAX_TOTAL
=
1000
;
private
static
final
int
Http_Default_Keep_Time
=
15000
;
private
static
final
int
DEFAULT_HTTP_KEEP_TIME
=
15000
;
private
static
PoolingHttpClientConnectionManager
connectionManager
;
private
static
CloseableHttpClient
httpClient
;
/**
* 初始化连接池
*/
private
static
synchronized
void
initPools
()
{
private
static
synchronized
void
initPools
()
{
if
(
httpClient
==
null
)
{
if
(
httpClient
==
null
)
{
c
m
=
new
PoolingHttpClientConnectionManager
();
c
onnectionManager
=
new
PoolingHttpClientConnectionManager
();
c
m
.
setDefaultMaxPerRoute
(
count
);
c
onnectionManager
.
setDefaultMaxPerRoute
(
DEFAULT_MAX_PER_ROUTE
);
c
m
.
setMaxTotal
(
totalCount
);
c
onnectionManager
.
setMaxTotal
(
DEFAULT_MAX_TOTAL
);
httpClient
=
HttpClients
.
custom
().
setKeepAliveStrategy
(
defaultStrategy
).
setConnectionManager
(
cm
).
build
();
httpClient
=
HttpClients
.
custom
().
setKeepAliveStrategy
(
DEFAULT_KEEP_ALIVE_STRATEGY
).
setConnectionManager
(
connectionManager
).
build
();
}
}
}
}
/**
private
static
ConnectionKeepAliveStrategy
DEFAULT_KEEP_ALIVE_STRATEGY
=
(
response
,
context
)
->
{
* Http connection keepAlive 设置
*/
private
static
ConnectionKeepAliveStrategy
defaultStrategy
=
(
response
,
context
)
->
{
HeaderElementIterator
it
=
new
BasicHeaderElementIterator
(
response
.
headerIterator
(
HTTP
.
CONN_KEEP_ALIVE
));
HeaderElementIterator
it
=
new
BasicHeaderElementIterator
(
response
.
headerIterator
(
HTTP
.
CONN_KEEP_ALIVE
));
int
keepTime
=
Http_Default_Keep_Time
*
1000
;
int
keepTime
=
DEFAULT_HTTP_KEEP_TIME
*
1000
;
while
(
it
.
hasNext
())
{
while
(
it
.
hasNext
())
{
HeaderElement
headerElement
=
it
.
nextElement
();
HeaderElement
headerElement
=
it
.
nextElement
();
String
param
=
headerElement
.
getName
();
String
param
=
headerElement
.
getName
();
...
@@ -76,7 +66,7 @@ public class HttpClientPoolUtil {
...
@@ -76,7 +66,7 @@ public class HttpClientPoolUtil {
* @param data 请求数据
* @param data 请求数据
* @return responseBody
* @return responseBody
*/
*/
public
static
String
execute
(
String
uri
,
String
data
)
{
public
static
String
execute
(
String
uri
,
String
data
,
String
token
)
{
long
startTime
=
System
.
currentTimeMillis
();
long
startTime
=
System
.
currentTimeMillis
();
HttpEntity
httpEntity
=
null
;
HttpEntity
httpEntity
=
null
;
HttpEntityEnclosingRequestBase
method
=
null
;
HttpEntityEnclosingRequestBase
method
=
null
;
...
...
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/BatchInsertTest.java
浏览文件 @
8015a2a4
...
@@ -28,9 +28,7 @@ public class BatchInsertTest {
...
@@ -28,9 +28,7 @@ public class BatchInsertTest {
@Before
@Before
public
void
before
()
{
public
void
before
()
{
try
{
try
{
Class
.
forName
(
"com.taosdata.jdbc.TSDBDriver"
);
Properties
properties
=
new
Properties
();
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_HOST
,
host
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_CHARSET
,
"UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_CHARSET
,
"UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_LOCALE
,
"en_US.UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_LOCALE
,
"en_US.UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_TIME_ZONE
,
"UTC-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_TIME_ZONE
,
"UTC-8"
);
...
@@ -44,7 +42,7 @@ public class BatchInsertTest {
...
@@ -44,7 +42,7 @@ public class BatchInsertTest {
String
createTableSql
=
"create table "
+
stbName
+
"(ts timestamp, f1 int, f2 int, f3 int) tags(areaid int, loc binary(20))"
;
String
createTableSql
=
"create table "
+
stbName
+
"(ts timestamp, f1 int, f2 int, f3 int) tags(areaid int, loc binary(20))"
;
statement
.
executeUpdate
(
createTableSql
);
statement
.
executeUpdate
(
createTableSql
);
// create tables
// create tables
for
(
int
i
=
0
;
i
<
numOfTables
;
i
++)
{
for
(
int
i
=
0
;
i
<
numOfTables
;
i
++)
{
String
loc
=
i
%
2
==
0
?
"beijing"
:
"shanghai"
;
String
loc
=
i
%
2
==
0
?
"beijing"
:
"shanghai"
;
String
createSubTalbesSql
=
"create table "
+
tablePrefix
+
i
+
" using "
+
stbName
+
" tags("
+
i
+
", '"
+
loc
+
"')"
;
String
createSubTalbesSql
=
"create table "
+
tablePrefix
+
i
+
" using "
+
stbName
+
" tags("
+
i
+
", '"
+
loc
+
"')"
;
statement
.
executeUpdate
(
createSubTalbesSql
);
statement
.
executeUpdate
(
createSubTalbesSql
);
...
...
src/connector/jdbc/src/test/java/com/taosdata/jdbc/cases/ConnectMultiTaosdByRestfulWithDifferentTokenTest.java
0 → 100644
浏览文件 @
8015a2a4
package
com.taosdata.jdbc.cases
;
import
com.taosdata.jdbc.TSDBDriver
;
import
org.junit.Before
;
import
org.junit.Test
;
import
java.sql.*
;
import
java.util.Properties
;
public
class
ConnectMultiTaosdByRestfulWithDifferentTokenTest
{
private
static
String
host1
=
"192.168.17.156"
;
private
static
String
user1
=
"root"
;
private
static
String
password1
=
"tqueue"
;
private
Connection
conn1
;
private
static
String
host2
=
"192.168.17.82"
;
private
static
String
user2
=
"root"
;
private
static
String
password2
=
"taosdata"
;
private
Connection
conn2
;
@Test
public
void
test
()
{
//when
executeSelectStatus
(
conn1
);
executeSelectStatus
(
conn2
);
executeSelectStatus
(
conn1
);
}
private
void
executeSelectStatus
(
Connection
connection
)
{
try
(
Statement
stmt
=
connection
.
createStatement
())
{
ResultSet
rs
=
stmt
.
executeQuery
(
"select server_status()"
);
ResultSetMetaData
meta
=
rs
.
getMetaData
();
while
(
rs
.
next
())
{
for
(
int
i
=
1
;
i
<=
meta
.
getColumnCount
();
i
++)
{
System
.
out
.
println
(
meta
.
getColumnLabel
(
i
)
+
": "
+
rs
.
getString
(
i
));
}
}
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
@Before
public
void
before
()
{
Properties
properties
=
new
Properties
();
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_CHARSET
,
"UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_LOCALE
,
"en_US.UTF-8"
);
properties
.
setProperty
(
TSDBDriver
.
PROPERTY_KEY_TIME_ZONE
,
"UTC-8"
);
String
url1
=
"jdbc:TAOS-RS://"
+
host1
+
":6041/?user="
+
user1
+
"&password="
+
password1
;
String
url2
=
"jdbc:TAOS-RS://"
+
host2
+
":6041/?user="
+
user2
+
"&password="
+
password2
;
try
{
conn1
=
DriverManager
.
getConnection
(
url1
,
properties
);
conn2
=
DriverManager
.
getConnection
(
url2
,
properties
);
}
catch
(
SQLException
e
)
{
e
.
printStackTrace
();
}
}
}
src/dnode/inc/dnodeCfg.h
浏览文件 @
8015a2a4
...
@@ -27,6 +27,7 @@ void dnodeUpdateCfg(SDnodeCfg *cfg);
...
@@ -27,6 +27,7 @@ void dnodeUpdateCfg(SDnodeCfg *cfg);
int32_t
dnodeGetDnodeId
();
int32_t
dnodeGetDnodeId
();
void
dnodeGetClusterId
(
char
*
clusterId
);
void
dnodeGetClusterId
(
char
*
clusterId
);
void
dnodeGetCfg
(
int32_t
*
dnodeId
,
char
*
clusterId
);
void
dnodeGetCfg
(
int32_t
*
dnodeId
,
char
*
clusterId
);
void
dnodeSetDropped
();
#ifdef __cplusplus
#ifdef __cplusplus
}
}
...
...
src/dnode/src/dnodeCfg.c
浏览文件 @
8015a2a4
...
@@ -21,6 +21,7 @@
...
@@ -21,6 +21,7 @@
static
SDnodeCfg
tsCfg
=
{
0
};
static
SDnodeCfg
tsCfg
=
{
0
};
static
pthread_mutex_t
tsCfgMutex
;
static
pthread_mutex_t
tsCfgMutex
;
static
int32_t
tsDnodeDropped
;
static
int32_t
dnodeReadCfg
();
static
int32_t
dnodeReadCfg
();
static
int32_t
dnodeWriteCfg
();
static
int32_t
dnodeWriteCfg
();
...
@@ -34,6 +35,10 @@ int32_t dnodeInitCfg() {
...
@@ -34,6 +35,10 @@ int32_t dnodeInitCfg() {
if
(
ret
==
0
)
{
if
(
ret
==
0
)
{
dInfo
(
"dnode cfg is initialized"
);
dInfo
(
"dnode cfg is initialized"
);
}
}
if
(
tsDnodeDropped
)
{
dInfo
(
"dnode is dropped, exiting"
);
return
-
1
;
}
return
ret
;
return
ret
;
}
}
...
@@ -44,6 +49,14 @@ void dnodeUpdateCfg(SDnodeCfg *cfg) {
...
@@ -44,6 +49,14 @@ void dnodeUpdateCfg(SDnodeCfg *cfg) {
dnodeResetCfg
(
cfg
);
dnodeResetCfg
(
cfg
);
}
}
void
dnodeSetDropped
()
{
pthread_mutex_lock
(
&
tsCfgMutex
);
tsDnodeDropped
=
1
;
dnodeWriteCfg
();
pthread_mutex_unlock
(
&
tsCfgMutex
);
}
int32_t
dnodeGetDnodeId
()
{
int32_t
dnodeGetDnodeId
()
{
int32_t
dnodeId
=
0
;
int32_t
dnodeId
=
0
;
pthread_mutex_lock
(
&
tsCfgMutex
);
pthread_mutex_lock
(
&
tsCfgMutex
);
...
@@ -119,6 +132,14 @@ static int32_t dnodeReadCfg() {
...
@@ -119,6 +132,14 @@ static int32_t dnodeReadCfg() {
}
}
cfg
.
dnodeId
=
(
int32_t
)
dnodeId
->
valueint
;
cfg
.
dnodeId
=
(
int32_t
)
dnodeId
->
valueint
;
cJSON
*
dnodeDropped
=
cJSON_GetObjectItem
(
root
,
"dnodeDropped"
);
if
(
!
dnodeDropped
||
dnodeDropped
->
type
!=
cJSON_Number
)
{
dError
(
"failed to read %s, dnodeDropped not found"
,
file
);
//goto PARSE_CFG_OVER;
}
else
{
tsDnodeDropped
=
(
int32_t
)
dnodeDropped
->
valueint
;
}
cJSON
*
clusterId
=
cJSON_GetObjectItem
(
root
,
"clusterId"
);
cJSON
*
clusterId
=
cJSON_GetObjectItem
(
root
,
"clusterId"
);
if
(
!
clusterId
||
clusterId
->
type
!=
cJSON_String
)
{
if
(
!
clusterId
||
clusterId
->
type
!=
cJSON_String
)
{
dError
(
"failed to read %s, clusterId not found"
,
file
);
dError
(
"failed to read %s, clusterId not found"
,
file
);
...
@@ -154,6 +175,7 @@ static int32_t dnodeWriteCfg() {
...
@@ -154,6 +175,7 @@ static int32_t dnodeWriteCfg() {
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"{
\n
"
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"{
\n
"
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
dnodeId
\"
: %d,
\n
"
,
tsCfg
.
dnodeId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
dnodeId
\"
: %d,
\n
"
,
tsCfg
.
dnodeId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
dnodeDropped
\"
: %d,
\n
"
,
tsDnodeDropped
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
clusterId
\"
:
\"
%s
\"\n
"
,
tsCfg
.
clusterId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"
\"
clusterId
\"
:
\"
%s
\"\n
"
,
tsCfg
.
clusterId
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"}
\n
"
);
len
+=
snprintf
(
content
+
len
,
maxLen
-
len
,
"}
\n
"
);
...
...
src/dnode/src/dnodeVnodes.c
浏览文件 @
8015a2a4
...
@@ -202,6 +202,7 @@ static void dnodeProcessStatusRsp(SRpcMsg *pMsg) {
...
@@ -202,6 +202,7 @@ static void dnodeProcessStatusRsp(SRpcMsg *pMsg) {
char
clusterId
[
TSDB_CLUSTER_ID_LEN
];
char
clusterId
[
TSDB_CLUSTER_ID_LEN
];
dnodeGetClusterId
(
clusterId
);
dnodeGetClusterId
(
clusterId
);
if
(
clusterId
[
0
]
!=
'\0'
)
{
if
(
clusterId
[
0
]
!=
'\0'
)
{
dnodeSetDropped
();
dError
(
"exit zombie dropped dnode"
);
dError
(
"exit zombie dropped dnode"
);
exit
(
EXIT_FAILURE
);
exit
(
EXIT_FAILURE
);
}
}
...
...
src/inc/ttokendef.h
浏览文件 @
8015a2a4
...
@@ -212,6 +212,8 @@
...
@@ -212,6 +212,8 @@
#define TK_SPACE 300
#define TK_SPACE 300
#define TK_COMMENT 301
#define TK_COMMENT 301
#define TK_ILLEGAL 302
#define TK_ILLEGAL 302
...
...
src/mnode/src/mnodeSdb.c
浏览文件 @
8015a2a4
...
@@ -663,10 +663,17 @@ static int32_t sdbProcessWrite(void *wparam, void *hparam, int32_t qtype, void *
...
@@ -663,10 +663,17 @@ static int32_t sdbProcessWrite(void *wparam, void *hparam, int32_t qtype, void *
pTable
->
name
,
actStr
[
action
],
sdbGetKeyStr
(
pTable
,
pHead
->
cont
),
qtype
,
pHead
->
version
,
tsSdbMgmt
.
version
);
pTable
->
name
,
actStr
[
action
],
sdbGetKeyStr
(
pTable
,
pHead
->
cont
),
qtype
,
pHead
->
version
,
tsSdbMgmt
.
version
);
return
TSDB_CODE_SUCCESS
;
return
TSDB_CODE_SUCCESS
;
}
else
if
(
pHead
->
version
!=
tsSdbMgmt
.
version
+
1
)
{
}
else
if
(
pHead
->
version
!=
tsSdbMgmt
.
version
+
1
)
{
pthread_mutex_unlock
(
&
tsSdbMgmt
.
mutex
);
if
(
qtype
!=
TAOS_QTYPE_WAL
)
{
sdbError
(
"vgId:1, sdb:%s, failed to restore %s key:%s from source(%d), hver:%"
PRIu64
" too large, mver:%"
PRIu64
,
pthread_mutex_unlock
(
&
tsSdbMgmt
.
mutex
);
pTable
->
name
,
actStr
[
action
],
sdbGetKeyStr
(
pTable
,
pHead
->
cont
),
qtype
,
pHead
->
version
,
tsSdbMgmt
.
version
);
sdbError
(
return
TSDB_CODE_SYN_INVALID_VERSION
;
"vgId:1, sdb:%s, failed to restore %s key:%s from source(%d), hver:%"
PRIu64
" too large, mver:%"
PRIu64
,
pTable
->
name
,
actStr
[
action
],
sdbGetKeyStr
(
pTable
,
pHead
->
cont
),
qtype
,
pHead
->
version
,
tsSdbMgmt
.
version
);
return
TSDB_CODE_SYN_INVALID_VERSION
;
}
else
{
// If cksum is wrong when recovering wal, use this code
tsSdbMgmt
.
version
=
pHead
->
version
;
}
}
else
{
}
else
{
tsSdbMgmt
.
version
=
pHead
->
version
;
tsSdbMgmt
.
version
=
pHead
->
version
;
}
}
...
...
src/query/inc/sql.y
浏览文件 @
8015a2a4
...
@@ -28,7 +28,7 @@
...
@@ -28,7 +28,7 @@
#include <stdbool.h>
#include <stdbool.h>
#include "qSqlparser.h"
#include "qSqlparser.h"
#include "tcmdtype.h"
#include "tcmdtype.h"
#include "t
s
token.h"
#include "ttoken.h"
#include "ttokendef.h"
#include "ttokendef.h"
#include "tutil.h"
#include "tutil.h"
#include "tvariant.h"
#include "tvariant.h"
...
@@ -507,7 +507,6 @@ distinct(X) ::= . { X.n = 0;}
...
@@ -507,7 +507,6 @@ distinct(X) ::= . { X.n = 0;}
// A complete FROM clause.
// A complete FROM clause.
%type from {SFromInfo*}
%type from {SFromInfo*}
from(A) ::= FROM tablelist(X). {A = X;}
from(A) ::= FROM tablelist(X). {A = X;}
from(A) ::= FROM LP union(Y) RP. {A = Y;}
%type tablelist {SArray*}
%type tablelist {SArray*}
tablelist(A) ::= ids(X) cpxName(Y). {
tablelist(A) ::= ids(X) cpxName(Y). {
...
...
src/query/src/sql.c
浏览文件 @
8015a2a4
...
@@ -26,11 +26,11 @@
...
@@ -26,11 +26,11 @@
#include <assert.h>
#include <assert.h>
/************ Begin %include sections from the grammar ************************/
/************ Begin %include sections from the grammar ************************/
#include <assert.h>
#include <stdbool.h>
#include <stdio.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdlib.h>
#include <string.h>
#include <string.h>
#include <assert.h>
#include <stdbool.h>
#include "qSqlparser.h"
#include "qSqlparser.h"
#include "tcmdtype.h"
#include "tcmdtype.h"
#include "ttoken.h"
#include "ttoken.h"
...
@@ -137,18 +137,18 @@ typedef union {
...
@@ -137,18 +137,18 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYFALLBACK 1
#define YYNSTATE 31
5
#define YYNSTATE 31
3
#define YYNRULE 26
9
#define YYNRULE 26
8
#define YYNRULE_WITH_ACTION 26
9
#define YYNRULE_WITH_ACTION 26
8
#define YYNTOKEN 187
#define YYNTOKEN 187
#define YY_MAX_SHIFT 31
4
#define YY_MAX_SHIFT 31
2
#define YY_MIN_SHIFTREDUCE 50
8
#define YY_MIN_SHIFTREDUCE 50
5
#define YY_MAX_SHIFTREDUCE 77
6
#define YY_MAX_SHIFTREDUCE 77
2
#define YY_ERROR_ACTION 77
7
#define YY_ERROR_ACTION 77
3
#define YY_ACCEPT_ACTION 77
8
#define YY_ACCEPT_ACTION 77
4
#define YY_NO_ACTION 77
9
#define YY_NO_ACTION 77
5
#define YY_MIN_REDUCE 7
80
#define YY_MIN_REDUCE 7
76
#define YY_MAX_REDUCE 104
8
#define YY_MAX_REDUCE 104
3
/************* End control #defines *******************************************/
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
@@ -215,76 +215,76 @@ typedef union {
...
@@ -215,76 +215,76 @@ typedef union {
** yy_default[] Default action for each state.
** yy_default[] Default action for each state.
**
**
*********** Begin parsing tables **********************************************/
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (67
2
)
#define YY_ACTTAB_COUNT (67
5
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
13
3
,
555
,
204
,
312
,
208
,
140
,
947
,
17
,
85
,
556
,
/* 0 */
13
2
,
552
,
203
,
310
,
206
,
139
,
943
,
17
,
84
,
553
,
/* 10 */
77
8
,
314
,
179
,
47
,
48
,
140
,
51
,
52
,
30
,
181
,
/* 10 */
77
4
,
312
,
178
,
46
,
47
,
139
,
50
,
51
,
29
,
180
,
/* 20 */
21
4
,
41
,
181
,
50
,
262
,
55
,
53
,
57
,
54
,
1029
,
/* 20 */
21
2
,
40
,
180
,
49
,
260
,
54
,
52
,
56
,
53
,
1024
,
/* 30 */
92
6
,
211
,
1030
,
46
,
45
,
185
,
181
,
44
,
43
,
42
,
/* 30 */
92
2
,
209
,
1025
,
45
,
44
,
184
,
180
,
43
,
42
,
41
,
/* 40 */
4
7
,
48
,
914
,
51
,
52
,
210
,
1030
,
214
,
41
,
555
,
/* 40 */
4
6
,
47
,
910
,
50
,
51
,
208
,
1025
,
212
,
40
,
552
,
/* 50 */
50
,
262
,
55
,
53
,
57
,
54
,
938
,
556
,
1026
,
205
,
/* 50 */
49
,
260
,
54
,
52
,
56
,
53
,
934
,
553
,
1021
,
204
,
/* 60 */
4
6
,
45
,
923
,
247
,
44
,
43
,
42
,
48
,
944
,
51
,
/* 60 */
4
5
,
44
,
919
,
245
,
43
,
42
,
41
,
47
,
940
,
50
,
/* 70 */
5
2
,
242
,
978
,
214
,
41
,
555
,
50
,
262
,
55
,
53
,
/* 70 */
5
1
,
241
,
973
,
212
,
40
,
552
,
49
,
260
,
54
,
52
,
/* 80 */
5
7
,
54
,
979
,
556
,
257
,
278
,
46
,
45
,
298
,
225
,
/* 80 */
5
6
,
53
,
974
,
553
,
255
,
217
,
45
,
44
,
276
,
223
,
/* 90 */
4
4
,
43
,
42
,
509
,
510
,
511
,
512
,
513
,
514
,
515
,
/* 90 */
4
3
,
42
,
41
,
506
,
507
,
508
,
509
,
510
,
511
,
512
,
/* 100 */
51
6
,
517
,
518
,
519
,
520
,
521
,
313
,
634
,
1025
,
231
,
/* 100 */
51
3
,
514
,
515
,
516
,
517
,
518
,
311
,
631
,
1020
,
229
,
/* 110 */
7
0
,
555
,
30
,
47
,
48
,
1024
,
51
,
52
,
825
,
556
,
/* 110 */
7
1
,
922
,
29
,
46
,
47
,
1019
,
50
,
51
,
821
,
219
,
/* 120 */
21
4
,
41
,
166
,
50
,
262
,
55
,
53
,
57
,
54
,
44
,
/* 120 */
21
2
,
40
,
165
,
49
,
260
,
54
,
52
,
56
,
53
,
43
,
/* 130 */
4
3
,
42
,
720
,
46
,
45
,
288
,
287
,
44
,
43
,
42
,
/* 130 */
4
2
,
41
,
716
,
45
,
44
,
286
,
285
,
43
,
42
,
41
,
/* 140 */
4
7
,
49
,
834
,
51
,
52
,
198
,
166
,
214
,
41
,
234
,
/* 140 */
4
6
,
48
,
296
,
50
,
51
,
922
,
908
,
212
,
40
,
232
,
/* 150 */
50
,
262
,
55
,
53
,
57
,
54
,
922
,
238
,
237
,
227
,
/* 150 */
49
,
260
,
54
,
52
,
56
,
53
,
918
,
236
,
235
,
225
,
/* 160 */
4
6
,
45
,
285
,
284
,
44
,
43
,
42
,
23
,
276
,
307
,
/* 160 */
4
5
,
44
,
283
,
282
,
43
,
42
,
41
,
23
,
274
,
305
,
/* 170 */
30
6
,
275
,
274
,
273
,
305
,
272
,
304
,
303
,
302
,
271
,
/* 170 */
30
4
,
273
,
272
,
271
,
303
,
270
,
302
,
301
,
300
,
269
,
/* 180 */
301
,
300
,
886
,
140
,
874
,
875
,
876
,
877
,
878
,
879
,
/* 180 */
299
,
298
,
882
,
139
,
870
,
871
,
872
,
873
,
874
,
875
,
/* 190 */
8
80
,
881
,
882
,
883
,
884
,
885
,
887
,
888
,
51
,
52
,
/* 190 */
8
76
,
877
,
878
,
879
,
880
,
881
,
883
,
884
,
50
,
51
,
/* 200 */
8
26
,
219
,
214
,
41
,
166
,
50
,
262
,
55
,
53
,
57
,
/* 200 */
8
30
,
306
,
212
,
40
,
165
,
49
,
260
,
54
,
52
,
56
,
/* 210 */
5
4
,
223
,
18
,
82
,
25
,
46
,
45
,
1
,
154
,
44
,
/* 210 */
5
3
,
221
,
18
,
81
,
916
,
45
,
44
,
69
,
197
,
43
,
/* 220 */
4
3
,
42
,
213
,
735
,
938
,
722
,
724
,
926
,
727
,
190
,
/* 220 */
4
2
,
41
,
211
,
731
,
139
,
276
,
720
,
922
,
723
,
189
,
/* 230 */
7
30
,
226
,
213
,
735
,
140
,
191
,
724
,
912
,
727
,
20
6
,
/* 230 */
7
26
,
224
,
211
,
731
,
104
,
190
,
720
,
198
,
723
,
29
6
,
/* 240 */
7
30
,
118
,
117
,
189
,
909
,
910
,
29
,
913
,
259
,
74
,
/* 240 */
7
26
,
117
,
116
,
188
,
905
,
906
,
28
,
909
,
257
,
907
,
/* 250 */
7
8
,
726
,
30
,
729
,
200
,
201
,
221
,
36
,
261
,
199
,
/* 250 */
7
7
,
722
,
29
,
725
,
199
,
200
,
218
,
242
,
259
,
261
,
/* 260 */
23
,
723
,
307
,
306
,
200
,
201
,
924
,
305
,
30
,
304
,
/* 260 */
23
,
30
,
305
,
304
,
199
,
200
,
920
,
303
,
29
,
302
,
/* 270 */
30
3
,
302
,
74
,
301
,
300
,
894
,
183
,
308
,
892
,
893
,
/* 270 */
30
1
,
300
,
70
,
299
,
298
,
890
,
3
,
166
,
888
,
889
,
/* 280 */
3
6
,
224
,
926
,
895
,
280
,
897
,
898
,
896
,
184
,
899
,
/* 280 */
3
5
,
222
,
182
,
891
,
278
,
893
,
894
,
892
,
79
,
895
,
/* 290 */
900
,
920
,
658
,
217
,
69
,
655
,
923
,
656
,
725
,
657
,
/* 290 */
896
,
78
,
655
,
215
,
183
,
652
,
919
,
653
,
721
,
654
,
/* 300 */
72
8
,
79
,
241
,
926
,
68
,
55
,
53
,
57
,
54
,
218
,
/* 300 */
72
4
,
72
,
239
,
70
,
67
,
54
,
52
,
56
,
53
,
216
,
/* 310 */
19
7
,
212
,
923
,
46
,
45
,
30
,
278
,
44
,
43
,
42
,
/* 310 */
19
6
,
35
,
919
,
45
,
44
,
29
,
822
,
43
,
42
,
41
,
/* 320 */
673
,
103
,
108
,
228
,
229
,
56
,
911
,
97
,
107
,
113
,
/* 320 */
165
,
102
,
107
,
226
,
227
,
55
,
670
,
96
,
106
,
112
,
/* 330 */
11
6
,
106
,
736
,
220
,
263
,
56
,
186
,
110
,
732
,
30
,
/* 330 */
11
5
,
105
,
732
,
1
,
153
,
55
,
185
,
109
,
728
,
29
,
/* 340 */
1
80
,
30
,
736
,
5
,
156
,
30
,
3
,
167
,
732
,
33
,
/* 340 */
1
79
,
29
,
732
,
5
,
155
,
29
,
697
,
698
,
728
,
32
,
/* 350 */
15
5
,
92
,
87
,
91
,
731
,
6
,
281
,
701
,
702
,
923
,
/* 350 */
15
4
,
91
,
86
,
90
,
727
,
735
,
279
,
60
,
667
,
919
,
/* 360 */
17
4
,
170
,
28
,
733
,
731
,
268
,
172
,
169
,
121
,
120
,
/* 360 */
17
3
,
169
,
718
,
729
,
727
,
24
,
171
,
168
,
120
,
119
,
/* 370 */
11
9
,
46
,
45
,
105
,
80
,
44
,
43
,
42
,
298
,
662
,
/* 370 */
11
8
,
45
,
44
,
210
,
682
,
43
,
42
,
41
,
134
,
61
,
/* 380 */
28
2
,
663
,
286
,
923
,
670
,
923
,
290
,
71
,
12
,
923
,
/* 380 */
28
0
,
27
,
284
,
919
,
266
,
919
,
288
,
688
,
12
,
919
,
/* 390 */
18
7
,
24
,
84
,
188
,
81
,
311
,
310
,
126
,
677
,
243
,
/* 390 */
18
6
,
59
,
83
,
187
,
80
,
309
,
308
,
125
,
719
,
689
,
/* 400 */
680
,
659
,
660
,
31
,
661
,
686
,
1040
,
692
,
245
,
135
,
/* 400 */
63
,
656
,
752
,
20
,
674
,
733
,
19
,
641
,
263
,
19
,
/* 410 */
73
4
,
60
,
693
,
756
,
737
,
61
,
20
,
19
,
19
,
64
,
/* 410 */
73
0
,
30
,
30
,
193
,
643
,
265
,
194
,
6
,
59
,
82
,
/* 420 */
644
,
265
,
646
,
267
,
31
,
31
,
60
,
83
,
645
,
67
,
/* 420 */
64
,
642
,
192
,
95
,
94
,
59
,
14
,
13
,
114
,
113
,
/* 430 */
739
,
633
,
60
,
925
,
96
,
95
,
194
,
62
,
195
,
65
,
/* 430 */
101
,
100
,
66
,
659
,
630
,
660
,
177
,
16
,
15
,
657
,
/* 440 */
19
3
,
14
,
13
,
102
,
101
,
115
,
114
,
131
,
129
,
16
,
/* 440 */
19
1
,
658
,
130
,
128
,
181
,
1035
,
921
,
237
,
935
,
984
,
/* 450 */
15
,
178
,
192
,
182
,
989
,
988
,
215
,
239
,
985
,
132
,
/* 450 */
983
,
213
,
980
,
979
,
214
,
287
,
131
,
942
,
38
,
966
,
/* 460 */
9
84
,
216
,
289
,
946
,
39
,
971
,
954
,
956
,
134
,
138
,
/* 460 */
9
49
,
951
,
133
,
244
,
137
,
965
,
917
,
129
,
150
,
149
,
/* 470 */
970
,
939
,
246
,
130
,
921
,
151
,
919
,
150
,
152
,
153
,
/* 470 */
243
,
246
,
205
,
915
,
681
,
297
,
151
,
152
,
886
,
148
,
/* 480 */
248
,
837
,
270
,
685
,
890
,
299
,
104
,
291
,
148
,
37
,
/* 480 */
146
,
144
,
141
,
932
,
140
,
833
,
268
,
57
,
248
,
253
,
/* 490 */
145
,
176
,
936
,
141
,
34
,
58
,
207
,
250
,
255
,
66
,
/* 490 */
65
,
36
,
258
,
62
,
175
,
33
,
277
,
829
,
1040
,
142
,
/* 500 */
63
,
142
,
279
,
833
,
1045
,
260
,
143
,
258
,
144
,
256
,
/* 500 */
256
,
92
,
1039
,
143
,
1037
,
156
,
254
,
281
,
1034
,
98
,
/* 510 */
93
,
1044
,
1042
,
254
,
157
,
146
,
283
,
1039
,
99
,
103
8
,
/* 510 */
1033
,
1031
,
157
,
851
,
34
,
31
,
37
,
176
,
252
,
81
8
,
/* 520 */
1036
,
252
,
158
,
855
,
35
,
32
,
38
,
177
,
249
,
822
,
/* 520 */
108
,
250
,
816
,
110
,
111
,
814
,
813
,
228
,
247
,
167
,
/* 530 */
109
,
820
,
111
,
112
,
818
,
817
,
230
,
168
,
815
,
814
,
/* 530 */
811
,
810
,
809
,
808
,
807
,
806
,
170
,
172
,
803
,
801
,
/* 540 */
813
,
812
,
811
,
810
,
171
,
173
,
807
,
805
,
803
,
801
,
/* 540 */
799
,
797
,
103
,
795
,
174
,
39
,
73
,
74
,
289
,
249
,
/* 550 */
799
,
175
,
40
,
244
,
72
,
75
,
251
,
292
,
972
,
293
,
/* 550 */
967
,
290
,
291
,
292
,
293
,
294
,
295
,
201
,
220
,
267
,
/* 560 */
294
,
296
,
295
,
297
,
309
,
776
,
202
,
222
,
269
,
232
,
/* 560 */
307
,
772
,
230
,
231
,
202
,
87
,
195
,
88
,
771
,
233
,
/* 570 */
23
3
,
203
,
775
,
235
,
88
,
89
,
236
,
196
,
774
,
762
,
/* 570 */
23
4
,
770
,
758
,
757
,
812
,
238
,
8
,
68
,
240
,
805
,
/* 580 */
761
,
240
,
245
,
8
,
73
,
264
,
209
,
665
,
687
,
816
,
/* 580 */
160
,
121
,
159
,
852
,
158
,
161
,
162
,
164
,
122
,
163
,
/* 590 */
165
,
856
,
161
,
159
,
160
,
122
,
162
,
163
,
123
,
164
,
/* 590 */
2
,
123
,
804
,
4
,
262
,
124
,
796
,
662
,
75
,
683
,
/* 600 */
809
,
2
,
76
,
124
,
125
,
808
,
800
,
136
,
137
,
4
,
/* 600 */
135
,
207
,
686
,
76
,
147
,
145
,
898
,
136
,
251
,
9
,
/* 610 */
690
,
1
49
,
147
,
77
,
253
,
26
,
694
,
139
,
902
,
9
,
/* 610 */
690
,
1
38
,
25
,
10
,
734
,
26
,
7
,
11
,
21
,
736
,
/* 620 */
10
,
27
,
738
,
7
,
11
,
740
,
21
,
22
,
266
,
86
,
/* 620 */
22
,
85
,
264
,
594
,
590
,
83
,
588
,
587
,
586
,
583
,
/* 630 */
5
97
,
593
,
84
,
591
,
590
,
589
,
586
,
559
,
277
,
90
,
/* 630 */
5
56
,
275
,
93
,
89
,
30
,
633
,
58
,
632
,
629
,
578
,
/* 640 */
94
,
31
,
636
,
59
,
635
,
632
,
581
,
579
,
571
,
577
,
/* 640 */
576
,
97
,
568
,
574
,
570
,
572
,
566
,
564
,
597
,
99
,
/* 650 */
5
73
,
575
,
569
,
567
,
98
,
100
,
600
,
599
,
598
,
596
,
/* 650 */
5
96
,
595
,
593
,
592
,
591
,
589
,
585
,
584
,
59
,
554
,
/* 660 */
595
,
594
,
592
,
588
,
587
,
60
,
557
,
525
,
523
,
780
,
/* 660 */
776
,
522
,
520
,
775
,
775
,
126
,
775
,
775
,
775
,
775
,
/* 670 */
127
,
128
,
/* 670 */
775
,
775
,
775
,
775
,
127
,
};
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
190
,
1
,
189
,
190
,
209
,
190
,
190
,
251
,
196
,
9
,
/* 0 */
190
,
1
,
189
,
190
,
209
,
190
,
190
,
251
,
196
,
9
,
...
@@ -295,66 +295,66 @@ static const YYCODETYPE yy_lookahead[] = {
...
@@ -295,66 +295,66 @@ static const YYCODETYPE yy_lookahead[] = {
/* 50 */
23
,
24
,
25
,
26
,
27
,
28
,
233
,
9
,
251
,
231
,
/* 50 */
23
,
24
,
25
,
26
,
27
,
28
,
233
,
9
,
251
,
231
,
/* 60 */
33
,
34
,
234
,
253
,
37
,
38
,
39
,
14
,
252
,
16
,
/* 60 */
33
,
34
,
234
,
253
,
37
,
38
,
39
,
14
,
252
,
16
,
/* 70 */
17
,
248
,
257
,
20
,
21
,
1
,
23
,
24
,
25
,
26
,
/* 70 */
17
,
248
,
257
,
20
,
21
,
1
,
23
,
24
,
25
,
26
,
/* 80 */
27
,
28
,
257
,
9
,
259
,
79
,
33
,
34
,
81
,
67
,
/* 80 */
27
,
28
,
257
,
9
,
259
,
209
,
33
,
34
,
79
,
67
,
/* 90 */
37
,
38
,
39
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
/* 90 */
37
,
38
,
39
,
45
,
46
,
47
,
48
,
49
,
50
,
51
,
/* 100 */
52
,
53
,
54
,
55
,
56
,
57
,
58
,
5
,
251
,
61
,
/* 100 */
52
,
53
,
54
,
55
,
56
,
57
,
58
,
5
,
251
,
61
,
/* 110 */
110
,
1
,
190
,
13
,
14
,
251
,
16
,
17
,
195
,
9
,
/* 110 */
110
,
235
,
190
,
13
,
14
,
251
,
16
,
17
,
195
,
20
9
,
/* 120 */
20
,
21
,
199
,
23
,
24
,
25
,
26
,
27
,
28
,
37
,
/* 120 */
20
,
21
,
199
,
23
,
24
,
25
,
26
,
27
,
28
,
37
,
/* 130 */
38
,
39
,
105
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 130 */
38
,
39
,
105
,
33
,
34
,
33
,
34
,
37
,
38
,
39
,
/* 140 */
13
,
14
,
195
,
16
,
17
,
251
,
199
,
20
,
21
,
135
,
/* 140 */
13
,
14
,
81
,
16
,
17
,
235
,
0
,
20
,
21
,
135
,
/* 150 */
23
,
24
,
25
,
26
,
27
,
28
,
234
,
143
,
144
,
137
,
/* 150 */
23
,
24
,
25
,
26
,
27
,
28
,
234
,
143
,
144
,
137
,
/* 160 */
33
,
34
,
140
,
141
,
37
,
38
,
39
,
88
,
89
,
90
,
/* 160 */
33
,
34
,
140
,
141
,
37
,
38
,
39
,
88
,
89
,
90
,
/* 170 */
91
,
92
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
/* 170 */
91
,
92
,
93
,
94
,
95
,
96
,
97
,
98
,
99
,
100
,
/* 180 */
101
,
102
,
208
,
190
,
210
,
211
,
212
,
213
,
214
,
215
,
/* 180 */
101
,
102
,
208
,
190
,
210
,
211
,
212
,
213
,
214
,
215
,
/* 190 */
216
,
217
,
218
,
219
,
220
,
221
,
222
,
223
,
16
,
17
,
/* 190 */
216
,
217
,
218
,
219
,
220
,
221
,
222
,
223
,
16
,
17
,
/* 200 */
195
,
209
,
20
,
21
,
199
,
23
,
24
,
25
,
26
,
27
,
/* 200 */
195
,
209
,
20
,
21
,
199
,
23
,
24
,
25
,
26
,
27
,
/* 210 */
28
,
67
,
44
,
196
,
1
04
,
33
,
34
,
197
,
198
,
37
,
/* 210 */
28
,
67
,
44
,
196
,
1
90
,
33
,
34
,
196
,
251
,
37
,
/* 220 */
38
,
39
,
1
,
2
,
233
,
1
,
5
,
235
,
7
,
61
,
/* 220 */
38
,
39
,
1
,
2
,
190
,
79
,
5
,
235
,
7
,
61
,
/* 230 */
9
,
190
,
1
,
2
,
190
,
67
,
5
,
0
,
7
,
248
,
/* 230 */
9
,
190
,
1
,
2
,
76
,
67
,
5
,
251
,
7
,
81
,
/* 240 */
9
,
73
,
74
,
75
,
227
,
228
,
229
,
230
,
255
,
104
,
/* 240 */
9
,
73
,
74
,
75
,
227
,
228
,
229
,
230
,
255
,
228
,
/* 250 */
257
,
5
,
190
,
7
,
33
,
34
,
2
09
,
112
,
37
,
251
,
/* 250 */
257
,
5
,
190
,
7
,
33
,
34
,
2
32
,
105
,
37
,
15
,
/* 260 */
88
,
37
,
90
,
91
,
33
,
34
,
225
,
95
,
190
,
97
,
/* 260 */
88
,
109
,
90
,
91
,
33
,
34
,
225
,
95
,
190
,
97
,
/* 270 */
98
,
99
,
104
,
101
,
102
,
208
,
251
,
209
,
211
,
212
,
/* 270 */
98
,
99
,
104
,
101
,
102
,
208
,
193
,
194
,
211
,
212
,
/* 280 */
112
,
137
,
2
35
,
216
,
140
,
218
,
219
,
220
,
251
,
222
,
/* 280 */
112
,
137
,
2
51
,
216
,
140
,
218
,
219
,
220
,
236
,
222
,
/* 290 */
223
,
190
,
2
,
231
,
196
,
5
,
234
,
7
,
5
,
9
,
/* 290 */
223
,
257
,
2
,
231
,
251
,
5
,
234
,
7
,
5
,
9
,
/* 300 */
7
,
2
57
,
134
,
235
,
136
,
25
,
26
,
27
,
28
,
231
,
/* 300 */
7
,
2
49
,
134
,
104
,
136
,
25
,
26
,
27
,
28
,
231
,
/* 310 */
142
,
60
,
234
,
33
,
34
,
190
,
79
,
37
,
38
,
39
,
/* 310 */
142
,
112
,
234
,
33
,
34
,
190
,
195
,
37
,
38
,
39
,
/* 320 */
37
,
62
,
63
,
33
,
34
,
104
,
228
,
68
,
69
,
70
,
/* 320 */
199
,
62
,
63
,
33
,
34
,
104
,
37
,
68
,
69
,
70
,
/* 330 */
71
,
72
,
111
,
232
,
15
,
104
,
251
,
78
,
117
,
190
,
/* 330 */
71
,
72
,
111
,
197
,
198
,
104
,
251
,
78
,
117
,
190
,
/* 340 */
251
,
190
,
111
,
62
,
63
,
190
,
1
93
,
194
,
117
,
68
,
/* 340 */
251
,
190
,
111
,
62
,
63
,
190
,
1
24
,
125
,
117
,
68
,
/* 350 */
69
,
70
,
71
,
72
,
133
,
1
04
,
231
,
124
,
125
,
234
,
/* 350 */
69
,
70
,
71
,
72
,
133
,
1
11
,
231
,
109
,
109
,
234
,
/* 360 */
62
,
63
,
104
,
117
,
133
,
107
,
68
,
69
,
70
,
71
,
/* 360 */
62
,
63
,
1
,
117
,
133
,
116
,
68
,
69
,
70
,
71
,
/* 370 */
72
,
33
,
34
,
76
,
236
,
37
,
38
,
39
,
81
,
5
,
/* 370 */
72
,
33
,
34
,
60
,
105
,
37
,
38
,
39
,
109
,
131
,
/* 380 */
231
,
7
,
231
,
234
,
109
,
234
,
231
,
249
,
104
,
234
,
/* 380 */
231
,
104
,
231
,
234
,
107
,
234
,
231
,
105
,
104
,
234
,
/* 390 */
251
,
1
16
,
108
,
251
,
110
,
64
,
65
,
66
,
115
,
105
,
/* 390 */
251
,
1
09
,
108
,
251
,
110
,
64
,
65
,
66
,
37
,
105
,
/* 400 */
10
5
,
111
,
5
,
109
,
7
,
105
,
235
,
105
,
113
,
109
,
/* 400 */
10
9
,
111
,
105
,
109
,
115
,
105
,
109
,
105
,
105
,
109
,
/* 410 */
117
,
109
,
10
5
,
105
,
105
,
109
,
109
,
109
,
109
,
109
,
/* 410 */
117
,
109
,
10
9
,
251
,
105
,
105
,
251
,
104
,
109
,
109
,
/* 420 */
1
05
,
105
,
105
,
105
,
109
,
109
,
109
,
109
,
105
,
104
,
/* 420 */
1
29
,
105
,
251
,
138
,
139
,
109
,
138
,
139
,
76
,
77
,
/* 430 */
1
11
,
106
,
109
,
235
,
138
,
139
,
251
,
131
,
251
,
129
,
/* 430 */
1
38
,
139
,
104
,
5
,
106
,
7
,
251
,
138
,
139
,
5
,
/* 440 */
251
,
138
,
139
,
138
,
139
,
76
,
77
,
62
,
63
,
138
,
/* 440 */
251
,
7
,
62
,
63
,
251
,
235
,
235
,
190
,
233
,
226
,
/* 450 */
139
,
251
,
251
,
251
,
226
,
226
,
226
,
190
,
226
,
190
,
/* 450 */
226
,
226
,
226
,
226
,
226
,
226
,
190
,
190
,
250
,
258
,
/* 460 */
226
,
226
,
226
,
190
,
250
,
258
,
190
,
190
,
190
,
190
,
/* 460 */
190
,
190
,
190
,
233
,
190
,
258
,
233
,
60
,
190
,
237
,
/* 470 */
258
,
233
,
233
,
60
,
233
,
190
,
190
,
237
,
190
,
190
,
/* 470 */
191
,
254
,
254
,
190
,
117
,
103
,
190
,
190
,
224
,
238
,
/* 480 */
2
54
,
190
,
190
,
117
,
224
,
103
,
87
,
86
,
239
,
190
,
/* 480 */
2
40
,
242
,
245
,
247
,
246
,
190
,
190
,
127
,
254
,
254
,
/* 490 */
242
,
190
,
247
,
246
,
190
,
127
,
254
,
254
,
254
,
128
,
/* 490 */
128
,
190
,
122
,
130
,
190
,
190
,
190
,
190
,
190
,
244
,
/* 500 */
1
30
,
245
,
190
,
190
,
190
,
122
,
244
,
126
,
243
,
121
,
/* 500 */
1
26
,
190
,
190
,
243
,
190
,
190
,
121
,
190
,
190
,
190
,
/* 510 */
190
,
190
,
190
,
1
20
,
190
,
241
,
190
,
190
,
19
0
,
190
,
/* 510 */
190
,
190
,
190
,
1
90
,
190
,
190
,
190
,
190
,
12
0
,
190
,
/* 520 */
190
,
119
,
190
,
190
,
190
,
190
,
190
,
190
,
118
,
190
,
/* 520 */
190
,
119
,
190
,
190
,
190
,
190
,
190
,
190
,
118
,
190
,
/* 530 */
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
/* 530 */
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
/* 540 */
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
190
,
/* 540 */
190
,
190
,
87
,
190
,
190
,
132
,
191
,
191
,
86
,
191
,
/* 550 */
19
0
,
190
,
132
,
191
,
191
,
191
,
191
,
50
,
191
,
83
,
/* 550 */
19
1
,
50
,
83
,
85
,
54
,
84
,
82
,
191
,
191
,
191
,
/* 560 */
85
,
84
,
54
,
82
,
79
,
5
,
191
,
191
,
191
,
145
,
/* 560 */
79
,
5
,
145
,
5
,
191
,
196
,
191
,
196
,
5
,
145
,
/* 570 */
5
,
191
,
5
,
145
,
196
,
196
,
5
,
191
,
5
,
90
,
/* 570 */
5
,
5
,
90
,
89
,
191
,
135
,
104
,
114
,
113
,
191
,
/* 580 */
89
,
135
,
113
,
104
,
114
,
107
,
1
,
105
,
105
,
191
,
/* 580 */
201
,
192
,
205
,
207
,
206
,
204
,
202
,
200
,
192
,
203
,
/* 590 */
200
,
207
,
201
,
206
,
205
,
192
,
204
,
202
,
192
,
203
,
/* 590 */
197
,
192
,
191
,
193
,
107
,
192
,
191
,
105
,
109
,
105
,
/* 600 */
1
91
,
197
,
109
,
192
,
192
,
191
,
191
,
104
,
109
,
19
3
,
/* 600 */
1
04
,
1
,
105
,
104
,
239
,
241
,
224
,
109
,
104
,
12
3
,
/* 610 */
105
,
238
,
240
,
104
,
104
,
109
,
105
,
104
,
224
,
123
,
/* 610 */
105
,
104
,
109
,
123
,
105
,
109
,
104
,
104
,
104
,
111
,
/* 620 */
1
23
,
109
,
105
,
104
,
104
,
111
,
104
,
104
,
107
,
76
,
/* 620 */
1
04
,
76
,
107
,
9
,
5
,
108
,
5
,
5
,
5
,
5
,
/* 630 */
9
,
5
,
108
,
5
,
5
,
5
,
5
,
80
,
15
,
76
,
/* 630 */
80
,
15
,
139
,
76
,
109
,
5
,
16
,
5
,
105
,
5
,
/* 640 */
139
,
109
,
5
,
16
,
5
,
105
,
5
,
5
,
5
,
5
,
/* 640 */
5
,
139
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
139
,
/* 650 */
5
,
5
,
5
,
5
,
139
,
139
,
5
,
5
,
5
,
5
,
/* 650 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
109
,
80
,
/* 660 */
5
,
5
,
5
,
5
,
5
,
109
,
80
,
60
,
59
,
0
,
/* 660 */
0
,
60
,
59
,
262
,
262
,
21
,
262
,
262
,
262
,
262
,
/* 670 */
21
,
21
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 670 */
262
,
262
,
262
,
262
,
21
,
262
,
262
,
262
,
262
,
262
,
/* 680 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 680 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 690 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 690 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 700 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 700 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
...
@@ -372,101 +372,102 @@ static const YYCODETYPE yy_lookahead[] = {
...
@@ -372,101 +372,102 @@ static const YYCODETYPE yy_lookahead[] = {
/* 820 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 820 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 830 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 830 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 840 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 840 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 850 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 850 */
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
262
,
/* 860 */
262
,
262
,
};
};
#define YY_SHIFT_COUNT (31
4
)
#define YY_SHIFT_COUNT (31
2
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (66
9
)
#define YY_SHIFT_MAX (66
0
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
168
,
79
,
79
,
172
,
172
,
6
,
221
,
231
,
74
,
74
,
/* 0 */
168
,
79
,
79
,
172
,
172
,
9
,
221
,
231
,
74
,
74
,
/* 10 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
0
,
48
,
231
,
/* 10 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
0
,
48
,
231
,
/* 20 */
290
,
290
,
290
,
290
,
110
,
145
,
74
,
74
,
74
,
237
,
/* 20 */
290
,
290
,
290
,
290
,
74
,
74
,
74
,
74
,
146
,
74
,
/* 30 */
74
,
74
,
297
,
6
,
7
,
7
,
672
,
672
,
672
,
231
,
/* 30 */
74
,
158
,
9
,
61
,
61
,
675
,
675
,
675
,
231
,
231
,
/* 40 */
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
/* 40 */
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
/* 50 */
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
2
31
,
290
,
/* 50 */
231
,
231
,
231
,
231
,
231
,
231
,
231
,
231
,
2
90
,
290
,
/* 60 */
290
,
102
,
102
,
102
,
102
,
102
,
102
,
102
,
74
,
74
,
/* 60 */
102
,
102
,
102
,
102
,
102
,
102
,
102
,
74
,
199
,
74
,
/* 70 */
74
,
283
,
74
,
145
,
145
,
74
,
74
,
74
,
233
,
233
,
/* 70 */
199
,
74
,
289
,
74
,
74
,
74
,
74
,
222
,
222
,
249
,
/* 80 */
275
,
145
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 80 */
199
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 90 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 90 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 100 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 100 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 110 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 110 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 120 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 120 */
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
74
,
/* 130 */
74
,
74
,
413
,
413
,
413
,
366
,
366
,
366
,
413
,
366
,
/* 130 */
74
,
407
,
407
,
407
,
357
,
357
,
357
,
407
,
357
,
407
,
/* 140 */
413
,
371
,
370
,
368
,
383
,
381
,
388
,
393
,
402
,
410
,
/* 140 */
362
,
363
,
360
,
370
,
374
,
385
,
398
,
402
,
410
,
413
,
/* 150 */
4
20
,
413
,
413
,
413
,
382
,
6
,
6
,
413
,
413
,
399
,
/* 150 */
4
07
,
407
,
407
,
372
,
9
,
9
,
407
,
407
,
455
,
462
,
/* 160 */
401
,
507
,
476
,
475
,
508
,
477
,
481
,
382
,
413
,
485
,
/* 160 */
501
,
469
,
468
,
500
,
471
,
474
,
372
,
407
,
481
,
481
,
/* 170 */
4
85
,
413
,
485
,
413
,
485
,
413
,
672
,
672
,
27
,
100
,
/* 170 */
4
07
,
481
,
407
,
481
,
407
,
675
,
675
,
27
,
100
,
127
,
/* 180 */
1
27
,
100
,
100
,
53
,
182
,
280
,
280
,
280
,
280
,
259
,
/* 180 */
1
00
,
100
,
53
,
182
,
280
,
280
,
280
,
280
,
259
,
281
,
/* 190 */
2
81
,
298
,
338
,
338
,
338
,
338
,
22
,
14
,
92
,
92
,
/* 190 */
2
98
,
338
,
338
,
338
,
338
,
22
,
14
,
92
,
92
,
246
,
/* 200 */
2
46
,
293
,
284
,
144
,
331
,
294
,
295
,
300
,
302
,
307
,
/* 200 */
2
93
,
284
,
144
,
331
,
152
,
269
,
282
,
294
,
297
,
300
,
/* 210 */
3
08
,
309
,
224
,
251
,
319
,
306
,
310
,
315
,
316
,
317
,
/* 210 */
3
61
,
313
,
244
,
248
,
291
,
302
,
303
,
309
,
310
,
316
,
/* 220 */
318
,
323
,
258
,
296
,
303
,
305
,
325
,
311
,
374
,
397
,
/* 220 */
277
,
285
,
288
,
292
,
328
,
299
,
428
,
434
,
352
,
380
,
/* 230 */
369
,
385
,
560
,
424
,
565
,
567
,
428
,
571
,
573
,
489
,
/* 230 */
556
,
417
,
558
,
563
,
424
,
565
,
566
,
482
,
484
,
440
,
/* 240 */
4
91
,
446
,
469
,
478
,
479
,
470
,
482
,
493
,
483
,
503
,
/* 240 */
4
63
,
465
,
487
,
472
,
492
,
489
,
494
,
496
,
497
,
498
,
/* 250 */
505
,
499
,
509
,
585
,
510
,
511
,
513
,
506
,
496
,
512
,
/* 250 */
499
,
600
,
504
,
505
,
507
,
503
,
486
,
506
,
490
,
509
,
/* 260 */
497
,
517
,
519
,
514
,
520
,
478
,
522
,
521
,
523
,
52
4
,
/* 260 */
512
,
508
,
513
,
487
,
514
,
515
,
516
,
517
,
545
,
61
4
,
/* 270 */
553
,
621
,
626
,
628
,
629
,
630
,
631
,
557
,
623
,
563
,
/* 270 */
619
,
621
,
622
,
623
,
624
,
550
,
616
,
557
,
493
,
525
,
/* 280 */
5
01
,
532
,
532
,
627
,
515
,
516
,
532
,
637
,
639
,
540
,
/* 280 */
5
25
,
620
,
502
,
510
,
525
,
630
,
632
,
533
,
525
,
634
,
/* 290 */
532
,
641
,
642
,
643
,
644
,
645
,
646
,
647
,
648
,
651
,
/* 290 */
635
,
637
,
638
,
639
,
640
,
641
,
642
,
643
,
645
,
646
,
/* 300 */
6
52
,
653
,
654
,
655
,
656
,
657
,
658
,
659
,
556
,
586
,
/* 300 */
6
47
,
648
,
649
,
650
,
651
,
652
,
549
,
579
,
644
,
653
,
/* 310 */
6
49
,
650
,
607
,
609
,
669
,
/* 310 */
6
01
,
603
,
660
,
};
};
#define YY_REDUCE_COUNT (17
7
)
#define YY_REDUCE_COUNT (17
6
)
#define YY_REDUCE_MIN (-244)
#define YY_REDUCE_MIN (-244)
#define YY_REDUCE_MAX (4
16
)
#define YY_REDUCE_MAX (4
05
)
static
const
short
yy_reduce_ofst
[]
=
{
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
177
,
-
26
,
-
26
,
67
,
67
,
17
,
-
229
,
-
215
,
-
172
,
-
175
,
/* 0 */
-
177
,
-
26
,
-
26
,
67
,
67
,
17
,
-
229
,
-
215
,
-
172
,
-
175
,
/* 10 */
-
7
,
62
,
78
,
125
,
149
,
151
,
155
,
-
184
,
-
187
,
-
232
,
/* 10 */
-
7
,
62
,
78
,
125
,
149
,
151
,
155
,
-
184
,
-
187
,
-
232
,
/* 20 */
-
205
,
-
8
,
47
,
68
,
-
190
,
-
9
,
-
185
,
44
,
101
,
-
188
,
/* 20 */
-
205
,
-
124
,
-
90
,
-
8
,
-
190
,
-
185
,
34
,
24
,
-
188
,
41
,
/* 30 */
41
,
-
78
,
-
77
,
98
,
-
53
,
5
,
138
,
20
,
153
,
-
244
,
/* 30 */
-
78
,
-
77
,
21
,
5
,
121
,
52
,
136
,
83
,
-
244
,
-
239
,
/* 40 */
-
2
39
,
-
216
,
-
193
,
-
143
,
-
136
,
-
106
,
8
,
25
,
37
,
85
,
/* 40 */
-
2
16
,
-
193
,
-
143
,
-
136
,
-
33
,
-
14
,
31
,
43
,
85
,
89
,
/* 50 */
89
,
139
,
142
,
185
,
187
,
189
,
200
,
201
,
202
,
17
1
,
/* 50 */
139
,
142
,
162
,
165
,
171
,
185
,
189
,
193
,
210
,
21
1
,
/* 60 */
198
,
228
,
229
,
230
,
232
,
234
,
235
,
236
,
267
,
269
,
/* 60 */
223
,
224
,
225
,
226
,
227
,
228
,
229
,
257
,
215
,
266
,
/* 70 */
2
73
,
214
,
276
,
238
,
239
,
277
,
278
,
279
,
207
,
21
2
,
/* 70 */
2
30
,
267
,
208
,
270
,
271
,
272
,
274
,
201
,
207
,
23
2
,
/* 80 */
2
40
,
241
,
285
,
286
,
288
,
289
,
291
,
292
,
299
,
301
,
/* 80 */
2
33
,
278
,
283
,
286
,
287
,
295
,
296
,
301
,
304
,
305
,
/* 90 */
30
4
,
312
,
313
,
314
,
320
,
321
,
322
,
324
,
326
,
327
,
/* 90 */
30
6
,
307
,
308
,
311
,
312
,
314
,
315
,
317
,
318
,
319
,
/* 100 */
32
8
,
329
,
330
,
332
,
333
,
334
,
335
,
336
,
337
,
339
,
/* 100 */
32
0
,
321
,
322
,
323
,
324
,
325
,
326
,
327
,
329
,
330
,
/* 110 */
3
40
,
341
,
342
,
343
,
344
,
345
,
346
,
347
,
348
,
349
,
/* 110 */
3
32
,
333
,
334
,
335
,
336
,
337
,
339
,
340
,
341
,
342
,
/* 120 */
3
50
,
351
,
352
,
353
,
354
,
355
,
356
,
357
,
358
,
359
,
/* 120 */
3
43
,
344
,
345
,
346
,
347
,
348
,
349
,
350
,
351
,
353
,
/* 130 */
3
60
,
361
,
362
,
363
,
364
,
226
,
242
,
243
,
365
,
244
,
/* 130 */
3
54
,
279
,
355
,
356
,
217
,
218
,
234
,
358
,
235
,
359
,
/* 140 */
367
,
245
,
247
,
256
,
262
,
265
,
248
,
274
,
372
,
249
,
/* 140 */
236
,
238
,
237
,
255
,
260
,
239
,
364
,
240
,
365
,
241
,
/* 150 */
3
73
,
375
,
376
,
377
,
260
,
378
,
379
,
380
,
386
,
384
,
/* 150 */
3
66
,
367
,
368
,
254
,
369
,
371
,
373
,
375
,
376
,
378
,
/* 160 */
3
87
,
389
,
391
,
392
,
395
,
396
,
390
,
394
,
398
,
403
,
/* 160 */
3
77
,
379
,
381
,
384
,
386
,
387
,
382
,
383
,
389
,
396
,
/* 170 */
406
,
409
,
411
,
414
,
412
,
415
,
404
,
416
,
/* 170 */
388
,
399
,
401
,
403
,
405
,
393
,
400
,
};
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
77
7
,
889
,
835
,
901
,
823
,
832
,
1032
,
1032
,
777
,
777
,
/* 0 */
77
3
,
885
,
831
,
897
,
819
,
828
,
1027
,
1027
,
773
,
773
,
/* 10 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
948
,
796
,
1032
,
/* 10 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
944
,
792
,
1027
,
/* 20 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
832
,
/* 20 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
828
,
773
,
/* 30 */
77
7
,
777
,
838
,
832
,
838
,
838
,
943
,
873
,
891
,
777
,
/* 30 */
77
3
,
834
,
828
,
834
,
834
,
939
,
869
,
887
,
773
,
773
,
/* 40 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 40 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 50 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 50 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 60 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 60 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 70 */
77
7
,
950
,
953
,
777
,
777
,
955
,
777
,
777
,
975
,
975
,
/* 70 */
77
3
,
773
,
946
,
948
,
950
,
773
,
773
,
970
,
970
,
937
,
/* 80 */
941
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 80 */
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 90 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 90 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 100 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
821
,
/* 100 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
817
,
773
,
/* 110 */
777
,
819
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 110 */
815
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 120 */
77
7
,
777
,
777
,
777
,
777
,
777
,
806
,
777
,
777
,
777
,
/* 120 */
77
3
,
773
,
773
,
773
,
773
,
802
,
773
,
773
,
773
,
773
,
/* 130 */
77
7
,
777
,
798
,
798
,
798
,
777
,
777
,
777
,
798
,
777
,
/* 130 */
77
3
,
794
,
794
,
794
,
773
,
773
,
773
,
794
,
773
,
794
,
/* 140 */
798
,
982
,
986
,
980
,
968
,
976
,
967
,
963
,
961
,
960
,
/* 140 */
977
,
981
,
975
,
963
,
971
,
962
,
958
,
956
,
955
,
985
,
/* 150 */
990
,
798
,
798
,
798
,
836
,
832
,
832
,
798
,
798
,
854
,
/* 150 */
794
,
794
,
794
,
832
,
828
,
828
,
794
,
794
,
850
,
848
,
/* 160 */
8
52
,
850
,
842
,
848
,
844
,
846
,
840
,
824
,
798
,
830
,
/* 160 */
8
46
,
838
,
844
,
840
,
842
,
836
,
820
,
794
,
826
,
826
,
/* 170 */
830
,
798
,
830
,
798
,
830
,
798
,
873
,
891
,
777
,
991
,
/* 170 */
794
,
826
,
794
,
826
,
794
,
869
,
887
,
773
,
986
,
773
,
/* 180 */
777
,
1031
,
981
,
1021
,
1020
,
1027
,
1019
,
1018
,
1017
,
777
,
/* 180 */
1026
,
976
,
1016
,
1015
,
1022
,
1014
,
1013
,
1012
,
773
,
773
,
/* 190 */
77
7
,
777
,
1013
,
1014
,
1016
,
1015
,
777
,
777
,
1023
,
1022
,
/* 190 */
77
3
,
1008
,
1009
,
1011
,
1010
,
773
,
773
,
1018
,
1017
,
773
,
/* 200 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 200 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 210 */
77
7
,
777
,
777
,
993
,
777
,
987
,
983
,
777
,
777
,
777
,
/* 210 */
77
3
,
988
,
773
,
982
,
978
,
773
,
773
,
773
,
773
,
773
,
/* 220 */
77
7
,
777
,
777
,
777
,
777
,
777
,
903
,
777
,
777
,
777
,
/* 220 */
77
3
,
773
,
773
,
773
,
899
,
773
,
773
,
773
,
773
,
773
,
/* 230 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 230 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 240 */
77
7
,
777
,
940
,
777
,
777
,
777
,
777
,
951
,
777
,
777
,
/* 240 */
77
3
,
936
,
773
,
773
,
773
,
947
,
773
,
773
,
773
,
773
,
/* 250 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
977
,
777
,
969
,
/* 250 */
77
3
,
773
,
773
,
773
,
773
,
972
,
773
,
964
,
773
,
773
,
/* 260 */
77
7
,
777
,
777
,
777
,
777
,
915
,
777
,
777
,
777
,
777
,
/* 260 */
77
3
,
773
,
773
,
911
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 270 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 270 */
77
3
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
1038
,
/* 280 */
777
,
1043
,
1041
,
777
,
777
,
777
,
1037
,
777
,
777
,
777
,
/* 280 */
1036
,
773
,
773
,
773
,
1032
,
773
,
773
,
773
,
1030
,
773
,
/* 290 */
1035
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
/* 290 */
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
773
,
/* 300 */
77
7
,
777
,
777
,
777
,
777
,
777
,
777
,
777
,
857
,
777
,
/* 300 */
77
3
,
773
,
773
,
773
,
773
,
773
,
853
,
773
,
800
,
798
,
/* 310 */
804
,
802
,
777
,
794
,
777
,
/* 310 */
773
,
790
,
773
,
};
};
/********** End of lemon-generated parsing tables *****************************/
/********** End of lemon-generated parsing tables *****************************/
...
@@ -1201,103 +1202,102 @@ static const char *const yyRuleName[] = {
...
@@ -1201,103 +1202,102 @@ static const char *const yyRuleName[] = {
/* 169 */
"distinct ::= DISTINCT"
,
/* 169 */
"distinct ::= DISTINCT"
,
/* 170 */
"distinct ::="
,
/* 170 */
"distinct ::="
,
/* 171 */
"from ::= FROM tablelist"
,
/* 171 */
"from ::= FROM tablelist"
,
/* 172 */
"from ::= FROM LP union RP"
,
/* 172 */
"tablelist ::= ids cpxName"
,
/* 173 */
"tablelist ::= ids cpxName"
,
/* 173 */
"tablelist ::= ids cpxName ids"
,
/* 174 */
"tablelist ::= ids cpxName ids"
,
/* 174 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 175 */
"tablelist ::= tablelist COMMA ids cpxName"
,
/* 175 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 176 */
"tablelist ::= tablelist COMMA ids cpxName ids"
,
/* 176 */
"tmvar ::= VARIABLE"
,
/* 177 */
"tmvar ::= VARIABLE"
,
/* 177 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 178 */
"interval_opt ::= INTERVAL LP tmvar RP"
,
/* 178 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 179 */
"interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP"
,
/* 179 */
"interval_opt ::="
,
/* 180 */
"interval_opt ::="
,
/* 180 */
"session_option ::="
,
/* 181 */
"session_option ::="
,
/* 181 */
"session_option ::= SESSION LP ids cpxName COMMA tmvar RP"
,
/* 182 */
"session_option ::= SESSION LP ids cpxName COMMA tmvar RP"
,
/* 182 */
"fill_opt ::="
,
/* 183 */
"fill_opt ::="
,
/* 183 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 184 */
"fill_opt ::= FILL LP ID COMMA tagitemlist RP"
,
/* 184 */
"fill_opt ::= FILL LP ID RP"
,
/* 185 */
"fill_opt ::= FILL LP ID RP"
,
/* 185 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 186 */
"sliding_opt ::= SLIDING LP tmvar RP"
,
/* 186 */
"sliding_opt ::="
,
/* 187 */
"sliding_opt ::="
,
/* 187 */
"orderby_opt ::="
,
/* 188 */
"orderby_opt ::="
,
/* 188 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 189 */
"orderby_opt ::= ORDER BY sortlist"
,
/* 189 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 190 */
"sortlist ::= sortlist COMMA item sortorder"
,
/* 190 */
"sortlist ::= item sortorder"
,
/* 191 */
"sortlist ::= item sortorder"
,
/* 191 */
"item ::= ids cpxName"
,
/* 192 */
"item ::= ids cpxName"
,
/* 192 */
"sortorder ::= ASC"
,
/* 193 */
"sortorder ::= ASC"
,
/* 193 */
"sortorder ::= DESC"
,
/* 194 */
"sortorder ::= DESC"
,
/* 194 */
"sortorder ::="
,
/* 195 */
"sortorder ::="
,
/* 195 */
"groupby_opt ::="
,
/* 196 */
"groupby_opt ::="
,
/* 196 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 197 */
"groupby_opt ::= GROUP BY grouplist"
,
/* 197 */
"grouplist ::= grouplist COMMA item"
,
/* 198 */
"grouplist ::= grouplist COMMA item"
,
/* 198 */
"grouplist ::= item"
,
/* 199 */
"grouplist ::= item"
,
/* 199 */
"having_opt ::="
,
/* 200 */
"having_opt ::="
,
/* 200 */
"having_opt ::= HAVING expr"
,
/* 201 */
"having_opt ::= HAVING expr"
,
/* 201 */
"limit_opt ::="
,
/* 202 */
"limit_opt ::="
,
/* 202 */
"limit_opt ::= LIMIT signed"
,
/* 203 */
"limit_opt ::= LIMIT signed"
,
/* 203 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 204 */
"limit_opt ::= LIMIT signed OFFSET signed"
,
/* 204 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 205 */
"limit_opt ::= LIMIT signed COMMA signed"
,
/* 205 */
"slimit_opt ::="
,
/* 206 */
"slimit_opt ::="
,
/* 206 */
"slimit_opt ::= SLIMIT signed"
,
/* 207 */
"slimit_opt ::= SLIMIT signed"
,
/* 207 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 208 */
"slimit_opt ::= SLIMIT signed SOFFSET signed"
,
/* 208 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 209 */
"slimit_opt ::= SLIMIT signed COMMA signed"
,
/* 209 */
"where_opt ::="
,
/* 210 */
"where_opt ::="
,
/* 210 */
"where_opt ::= WHERE expr"
,
/* 211 */
"where_opt ::= WHERE expr"
,
/* 211 */
"expr ::= LP expr RP"
,
/* 212 */
"expr ::= LP expr RP"
,
/* 212 */
"expr ::= ID"
,
/* 213 */
"expr ::= ID"
,
/* 213 */
"expr ::= ID DOT ID"
,
/* 214 */
"expr ::= ID DOT ID"
,
/* 214 */
"expr ::= ID DOT STAR"
,
/* 215 */
"expr ::= ID DOT STAR"
,
/* 215 */
"expr ::= INTEGER"
,
/* 216 */
"expr ::= INTEGER"
,
/* 216 */
"expr ::= MINUS INTEGER"
,
/* 217 */
"expr ::= MINUS INTEGER"
,
/* 217 */
"expr ::= PLUS INTEGER"
,
/* 218 */
"expr ::= PLUS INTEGER"
,
/* 218 */
"expr ::= FLOAT"
,
/* 219 */
"expr ::= FLOAT"
,
/* 219 */
"expr ::= MINUS FLOAT"
,
/* 220 */
"expr ::= MINUS FLOAT"
,
/* 220 */
"expr ::= PLUS FLOAT"
,
/* 221 */
"expr ::= PLUS FLOAT"
,
/* 221 */
"expr ::= STRING"
,
/* 222 */
"expr ::= STRING"
,
/* 222 */
"expr ::= NOW"
,
/* 223 */
"expr ::= NOW"
,
/* 223 */
"expr ::= VARIABLE"
,
/* 224 */
"expr ::= VARIABLE"
,
/* 224 */
"expr ::= PLUS VARIABLE"
,
/* 225 */
"expr ::= PLUS VARIABLE"
,
/* 225 */
"expr ::= MINUS VARIABLE"
,
/* 226 */
"expr ::= MINUS VARIABLE"
,
/* 226 */
"expr ::= BOOL"
,
/* 227 */
"expr ::= BOOL"
,
/* 227 */
"expr ::= NULL"
,
/* 228 */
"expr ::= NULL"
,
/* 228 */
"expr ::= ID LP exprlist RP"
,
/* 229 */
"expr ::= ID LP exprlist RP"
,
/* 229 */
"expr ::= ID LP STAR RP"
,
/* 230 */
"expr ::= ID LP STAR RP"
,
/* 230 */
"expr ::= expr IS NULL"
,
/* 231 */
"expr ::= expr IS NULL"
,
/* 231 */
"expr ::= expr IS NOT NULL"
,
/* 232 */
"expr ::= expr IS NOT NULL"
,
/* 232 */
"expr ::= expr LT expr"
,
/* 233 */
"expr ::= expr LT expr"
,
/* 233 */
"expr ::= expr GT expr"
,
/* 234 */
"expr ::= expr GT expr"
,
/* 234 */
"expr ::= expr LE expr"
,
/* 235 */
"expr ::= expr LE expr"
,
/* 235 */
"expr ::= expr GE expr"
,
/* 236 */
"expr ::= expr GE expr"
,
/* 236 */
"expr ::= expr NE expr"
,
/* 237 */
"expr ::= expr NE expr"
,
/* 237 */
"expr ::= expr EQ expr"
,
/* 238 */
"expr ::= expr EQ expr"
,
/* 238 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 239 */
"expr ::= expr BETWEEN expr AND expr"
,
/* 239 */
"expr ::= expr AND expr"
,
/* 240 */
"expr ::= expr AND expr"
,
/* 240 */
"expr ::= expr OR expr"
,
/* 241 */
"expr ::= expr OR expr"
,
/* 241 */
"expr ::= expr PLUS expr"
,
/* 242 */
"expr ::= expr PLUS expr"
,
/* 242 */
"expr ::= expr MINUS expr"
,
/* 243 */
"expr ::= expr MINUS expr"
,
/* 243 */
"expr ::= expr STAR expr"
,
/* 244 */
"expr ::= expr STAR expr"
,
/* 244 */
"expr ::= expr SLASH expr"
,
/* 245 */
"expr ::= expr SLASH expr"
,
/* 245 */
"expr ::= expr REM expr"
,
/* 246 */
"expr ::= expr REM expr"
,
/* 246 */
"expr ::= expr LIKE expr"
,
/* 247 */
"expr ::= expr LIKE expr"
,
/* 247 */
"expr ::= expr IN LP exprlist RP"
,
/* 248 */
"expr ::= expr IN LP exprlist RP"
,
/* 248 */
"exprlist ::= exprlist COMMA expritem"
,
/* 249 */
"exprlist ::= exprlist COMMA expritem"
,
/* 249 */
"exprlist ::= expritem"
,
/* 250 */
"exprlist ::= expritem"
,
/* 250 */
"expritem ::= expr"
,
/* 251 */
"expritem ::= expr"
,
/* 251 */
"expritem ::="
,
/* 252 */
"expritem ::="
,
/* 252 */
"cmd ::= RESET QUERY CACHE"
,
/* 253 */
"cmd ::= RESET QUERY CACHE"
,
/* 253 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 254 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 254 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 255 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 255 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 256 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 256 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 257 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 257 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 258 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 258 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 259 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 259 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 260 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 260 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 261 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 261 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 262 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 262 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 263 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 263 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 264 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 264 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 265 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 265 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 266 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 266 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 267 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 267 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 268 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
};
#endif
/* NDEBUG */
#endif
/* NDEBUG */
...
@@ -1929,103 +1929,102 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
...
@@ -1929,103 +1929,102 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
250
,
/* (169) distinct ::= DISTINCT */
250
,
/* (169) distinct ::= DISTINCT */
250
,
/* (170) distinct ::= */
250
,
/* (170) distinct ::= */
237
,
/* (171) from ::= FROM tablelist */
237
,
/* (171) from ::= FROM tablelist */
237
,
/* (172) from ::= FROM LP union RP */
253
,
/* (172) tablelist ::= ids cpxName */
253
,
/* (173) tablelist ::= ids cpxName */
253
,
/* (173) tablelist ::= ids cpxName ids */
253
,
/* (174) tablelist ::= ids cpxName ids */
253
,
/* (174) tablelist ::= tablelist COMMA ids cpxName */
253
,
/* (175) tablelist ::= tablelist COMMA ids cpxName */
253
,
/* (175) tablelist ::= tablelist COMMA ids cpxName ids */
253
,
/* (176) tablelist ::= tablelist COMMA ids cpxName ids */
254
,
/* (176) tmvar ::= VARIABLE */
254
,
/* (177) tmvar ::= VARIABLE */
239
,
/* (177) interval_opt ::= INTERVAL LP tmvar RP */
239
,
/* (178) interval_opt ::= INTERVAL LP tmvar RP */
239
,
/* (178) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
239
,
/* (179) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
239
,
/* (179) interval_opt ::= */
239
,
/* (180) interval_opt ::= */
240
,
/* (180) session_option ::= */
240
,
/* (181) session_option ::= */
240
,
/* (181) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
240
,
/* (182) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
241
,
/* (182) fill_opt ::= */
241
,
/* (183) fill_opt ::= */
241
,
/* (183) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
241
,
/* (184) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
241
,
/* (184) fill_opt ::= FILL LP ID RP */
241
,
/* (185) fill_opt ::= FILL LP ID RP */
242
,
/* (185) sliding_opt ::= SLIDING LP tmvar RP */
242
,
/* (186) sliding_opt ::= SLIDING LP tmvar RP */
242
,
/* (186) sliding_opt ::= */
242
,
/* (187) sliding_opt ::= */
244
,
/* (187) orderby_opt ::= */
244
,
/* (188) orderby_opt ::= */
244
,
/* (188) orderby_opt ::= ORDER BY sortlist */
244
,
/* (189) orderby_opt ::= ORDER BY sortlist */
255
,
/* (189) sortlist ::= sortlist COMMA item sortorder */
255
,
/* (190) sortlist ::= sortlist COMMA item sortorder */
255
,
/* (190) sortlist ::= item sortorder */
255
,
/* (191) sortlist ::= item sortorder */
257
,
/* (191) item ::= ids cpxName */
257
,
/* (192) item ::= ids cpxName */
258
,
/* (192) sortorder ::= ASC */
258
,
/* (193) sortorder ::= ASC */
258
,
/* (193) sortorder ::= DESC */
258
,
/* (194) sortorder ::= DESC */
258
,
/* (194) sortorder ::= */
258
,
/* (195) sortorder ::= */
243
,
/* (195) groupby_opt ::= */
243
,
/* (196) groupby_opt ::= */
243
,
/* (196) groupby_opt ::= GROUP BY grouplist */
243
,
/* (197) groupby_opt ::= GROUP BY grouplist */
259
,
/* (197) grouplist ::= grouplist COMMA item */
259
,
/* (198) grouplist ::= grouplist COMMA item */
259
,
/* (198) grouplist ::= item */
259
,
/* (199) grouplist ::= item */
245
,
/* (199) having_opt ::= */
245
,
/* (200) having_opt ::= */
245
,
/* (200) having_opt ::= HAVING expr */
245
,
/* (201) having_opt ::= HAVING expr */
247
,
/* (201) limit_opt ::= */
247
,
/* (202) limit_opt ::= */
247
,
/* (202) limit_opt ::= LIMIT signed */
247
,
/* (203) limit_opt ::= LIMIT signed */
247
,
/* (203) limit_opt ::= LIMIT signed OFFSET signed */
247
,
/* (204) limit_opt ::= LIMIT signed OFFSET signed */
247
,
/* (204) limit_opt ::= LIMIT signed COMMA signed */
247
,
/* (205) limit_opt ::= LIMIT signed COMMA signed */
246
,
/* (205) slimit_opt ::= */
246
,
/* (206) slimit_opt ::= */
246
,
/* (206) slimit_opt ::= SLIMIT signed */
246
,
/* (207) slimit_opt ::= SLIMIT signed */
246
,
/* (207) slimit_opt ::= SLIMIT signed SOFFSET signed */
246
,
/* (208) slimit_opt ::= SLIMIT signed SOFFSET signed */
246
,
/* (208) slimit_opt ::= SLIMIT signed COMMA signed */
246
,
/* (209) slimit_opt ::= SLIMIT signed COMMA signed */
238
,
/* (209) where_opt ::= */
238
,
/* (210) where_opt ::= */
238
,
/* (210) where_opt ::= WHERE expr */
238
,
/* (211) where_opt ::= WHERE expr */
251
,
/* (211) expr ::= LP expr RP */
251
,
/* (212) expr ::= LP expr RP */
251
,
/* (212) expr ::= ID */
251
,
/* (213) expr ::= ID */
251
,
/* (213) expr ::= ID DOT ID */
251
,
/* (214) expr ::= ID DOT ID */
251
,
/* (214) expr ::= ID DOT STAR */
251
,
/* (215) expr ::= ID DOT STAR */
251
,
/* (215) expr ::= INTEGER */
251
,
/* (216) expr ::= INTEGER */
251
,
/* (216) expr ::= MINUS INTEGER */
251
,
/* (217) expr ::= MINUS INTEGER */
251
,
/* (217) expr ::= PLUS INTEGER */
251
,
/* (218) expr ::= PLUS INTEGER */
251
,
/* (218) expr ::= FLOAT */
251
,
/* (219) expr ::= FLOAT */
251
,
/* (219) expr ::= MINUS FLOAT */
251
,
/* (220) expr ::= MINUS FLOAT */
251
,
/* (220) expr ::= PLUS FLOAT */
251
,
/* (221) expr ::= PLUS FLOAT */
251
,
/* (221) expr ::= STRING */
251
,
/* (222) expr ::= STRING */
251
,
/* (222) expr ::= NOW */
251
,
/* (223) expr ::= NOW */
251
,
/* (223) expr ::= VARIABLE */
251
,
/* (224) expr ::= VARIABLE */
251
,
/* (224) expr ::= PLUS VARIABLE */
251
,
/* (225) expr ::= PLUS VARIABLE */
251
,
/* (225) expr ::= MINUS VARIABLE */
251
,
/* (226) expr ::= MINUS VARIABLE */
251
,
/* (226) expr ::= BOOL */
251
,
/* (227) expr ::= BOOL */
251
,
/* (227) expr ::= NULL */
251
,
/* (228) expr ::= NULL */
251
,
/* (228) expr ::= ID LP exprlist RP */
251
,
/* (229) expr ::= ID LP exprlist RP */
251
,
/* (229) expr ::= ID LP STAR RP */
251
,
/* (230) expr ::= ID LP STAR RP */
251
,
/* (230) expr ::= expr IS NULL */
251
,
/* (231) expr ::= expr IS NULL */
251
,
/* (231) expr ::= expr IS NOT NULL */
251
,
/* (232) expr ::= expr IS NOT NULL */
251
,
/* (232) expr ::= expr LT expr */
251
,
/* (233) expr ::= expr LT expr */
251
,
/* (233) expr ::= expr GT expr */
251
,
/* (234) expr ::= expr GT expr */
251
,
/* (234) expr ::= expr LE expr */
251
,
/* (235) expr ::= expr LE expr */
251
,
/* (235) expr ::= expr GE expr */
251
,
/* (236) expr ::= expr GE expr */
251
,
/* (236) expr ::= expr NE expr */
251
,
/* (237) expr ::= expr NE expr */
251
,
/* (237) expr ::= expr EQ expr */
251
,
/* (238) expr ::= expr EQ expr */
251
,
/* (238) expr ::= expr BETWEEN expr AND expr */
251
,
/* (239) expr ::= expr BETWEEN expr AND expr */
251
,
/* (239) expr ::= expr AND expr */
251
,
/* (240) expr ::= expr AND expr */
251
,
/* (240) expr ::= expr OR expr */
251
,
/* (241) expr ::= expr OR expr */
251
,
/* (241) expr ::= expr PLUS expr */
251
,
/* (242) expr ::= expr PLUS expr */
251
,
/* (242) expr ::= expr MINUS expr */
251
,
/* (243) expr ::= expr MINUS expr */
251
,
/* (243) expr ::= expr STAR expr */
251
,
/* (244) expr ::= expr STAR expr */
251
,
/* (244) expr ::= expr SLASH expr */
251
,
/* (245) expr ::= expr SLASH expr */
251
,
/* (245) expr ::= expr REM expr */
251
,
/* (246) expr ::= expr REM expr */
251
,
/* (246) expr ::= expr LIKE expr */
251
,
/* (247) expr ::= expr LIKE expr */
251
,
/* (247) expr ::= expr IN LP exprlist RP */
251
,
/* (248) expr ::= expr IN LP exprlist RP */
260
,
/* (248) exprlist ::= exprlist COMMA expritem */
260
,
/* (249) exprlist ::= exprlist COMMA expritem */
260
,
/* (249) exprlist ::= expritem */
260
,
/* (250) exprlist ::= expritem */
261
,
/* (250) expritem ::= expr */
261
,
/* (251) expritem ::= expr */
261
,
/* (251) expritem ::= */
261
,
/* (252) expritem ::= */
188
,
/* (252) cmd ::= RESET QUERY CACHE */
188
,
/* (253) cmd ::= RESET QUERY CACHE */
188
,
/* (253) cmd ::= SYNCDB ids REPLICA */
188
,
/* (254) cmd ::= SYNCDB ids REPLICA */
188
,
/* (254) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
188
,
/* (255) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
188
,
/* (255) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
188
,
/* (256) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
188
,
/* (256) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
188
,
/* (257) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
188
,
/* (257) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
188
,
/* (258) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
188
,
/* (258) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
188
,
/* (259) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
188
,
/* (259) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
188
,
/* (260) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
188
,
/* (260) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
188
,
/* (261) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
188
,
/* (261) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
188
,
/* (262) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
188
,
/* (262) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
188
,
/* (263) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
188
,
/* (263) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
188
,
/* (264) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
188
,
/* (264) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
188
,
/* (265) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
188
,
/* (265) cmd ::= KILL CONNECTION INTEGER */
188
,
/* (266) cmd ::= KILL CONNECTION INTEGER */
188
,
/* (266) cmd ::= KILL STREAM INTEGER COLON INTEGER */
188
,
/* (267) cmd ::= KILL STREAM INTEGER COLON INTEGER */
188
,
/* (267) cmd ::= KILL QUERY INTEGER COLON INTEGER */
188
,
/* (268) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
};
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
...
@@ -2203,103 +2202,102 @@ static const signed char yyRuleInfoNRhs[] = {
...
@@ -2203,103 +2202,102 @@ static const signed char yyRuleInfoNRhs[] = {
-
1
,
/* (169) distinct ::= DISTINCT */
-
1
,
/* (169) distinct ::= DISTINCT */
0
,
/* (170) distinct ::= */
0
,
/* (170) distinct ::= */
-
2
,
/* (171) from ::= FROM tablelist */
-
2
,
/* (171) from ::= FROM tablelist */
-
4
,
/* (172) from ::= FROM LP union RP */
-
2
,
/* (172) tablelist ::= ids cpxName */
-
2
,
/* (173) tablelist ::= ids cpxName */
-
3
,
/* (173) tablelist ::= ids cpxName ids */
-
3
,
/* (174) tablelist ::= ids cpxName ids */
-
4
,
/* (174) tablelist ::= tablelist COMMA ids cpxName */
-
4
,
/* (175) tablelist ::= tablelist COMMA ids cpxName */
-
5
,
/* (175) tablelist ::= tablelist COMMA ids cpxName ids */
-
5
,
/* (176) tablelist ::= tablelist COMMA ids cpxName ids */
-
1
,
/* (176) tmvar ::= VARIABLE */
-
1
,
/* (177) tmvar ::= VARIABLE */
-
4
,
/* (177) interval_opt ::= INTERVAL LP tmvar RP */
-
4
,
/* (178) interval_opt ::= INTERVAL LP tmvar RP */
-
6
,
/* (178) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
-
6
,
/* (179) interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
0
,
/* (179) interval_opt ::= */
0
,
/* (180) interval_opt ::= */
0
,
/* (180) session_option ::= */
0
,
/* (181) session_option ::= */
-
7
,
/* (181) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
-
7
,
/* (182) session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
0
,
/* (182) fill_opt ::= */
0
,
/* (183) fill_opt ::= */
-
6
,
/* (183) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
6
,
/* (184) fill_opt ::= FILL LP ID COMMA tagitemlist RP */
-
4
,
/* (184) fill_opt ::= FILL LP ID RP */
-
4
,
/* (185) fill_opt ::= FILL LP ID RP */
-
4
,
/* (185) sliding_opt ::= SLIDING LP tmvar RP */
-
4
,
/* (186) sliding_opt ::= SLIDING LP tmvar RP */
0
,
/* (186) sliding_opt ::= */
0
,
/* (187) sliding_opt ::= */
0
,
/* (187) orderby_opt ::= */
0
,
/* (188) orderby_opt ::= */
-
3
,
/* (188) orderby_opt ::= ORDER BY sortlist */
-
3
,
/* (189) orderby_opt ::= ORDER BY sortlist */
-
4
,
/* (189) sortlist ::= sortlist COMMA item sortorder */
-
4
,
/* (190) sortlist ::= sortlist COMMA item sortorder */
-
2
,
/* (190) sortlist ::= item sortorder */
-
2
,
/* (191) sortlist ::= item sortorder */
-
2
,
/* (191) item ::= ids cpxName */
-
2
,
/* (192) item ::= ids cpxName */
-
1
,
/* (192) sortorder ::= ASC */
-
1
,
/* (193) sortorder ::= ASC */
-
1
,
/* (193) sortorder ::= DESC */
-
1
,
/* (194) sortorder ::= DESC */
0
,
/* (194) sortorder ::= */
0
,
/* (195) sortorder ::= */
0
,
/* (195) groupby_opt ::= */
0
,
/* (196) groupby_opt ::= */
-
3
,
/* (196) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (197) groupby_opt ::= GROUP BY grouplist */
-
3
,
/* (197) grouplist ::= grouplist COMMA item */
-
3
,
/* (198) grouplist ::= grouplist COMMA item */
-
1
,
/* (198) grouplist ::= item */
-
1
,
/* (199) grouplist ::= item */
0
,
/* (199) having_opt ::= */
0
,
/* (200) having_opt ::= */
-
2
,
/* (200) having_opt ::= HAVING expr */
-
2
,
/* (201) having_opt ::= HAVING expr */
0
,
/* (201) limit_opt ::= */
0
,
/* (202) limit_opt ::= */
-
2
,
/* (202) limit_opt ::= LIMIT signed */
-
2
,
/* (203) limit_opt ::= LIMIT signed */
-
4
,
/* (203) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (204) limit_opt ::= LIMIT signed OFFSET signed */
-
4
,
/* (204) limit_opt ::= LIMIT signed COMMA signed */
-
4
,
/* (205) limit_opt ::= LIMIT signed COMMA signed */
0
,
/* (205) slimit_opt ::= */
0
,
/* (206) slimit_opt ::= */
-
2
,
/* (206) slimit_opt ::= SLIMIT signed */
-
2
,
/* (207) slimit_opt ::= SLIMIT signed */
-
4
,
/* (207) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (208) slimit_opt ::= SLIMIT signed SOFFSET signed */
-
4
,
/* (208) slimit_opt ::= SLIMIT signed COMMA signed */
-
4
,
/* (209) slimit_opt ::= SLIMIT signed COMMA signed */
0
,
/* (209) where_opt ::= */
0
,
/* (210) where_opt ::= */
-
2
,
/* (210) where_opt ::= WHERE expr */
-
2
,
/* (211) where_opt ::= WHERE expr */
-
3
,
/* (211) expr ::= LP expr RP */
-
3
,
/* (212) expr ::= LP expr RP */
-
1
,
/* (212) expr ::= ID */
-
1
,
/* (213) expr ::= ID */
-
3
,
/* (213) expr ::= ID DOT ID */
-
3
,
/* (214) expr ::= ID DOT ID */
-
3
,
/* (214) expr ::= ID DOT STAR */
-
3
,
/* (215) expr ::= ID DOT STAR */
-
1
,
/* (215) expr ::= INTEGER */
-
1
,
/* (216) expr ::= INTEGER */
-
2
,
/* (216) expr ::= MINUS INTEGER */
-
2
,
/* (217) expr ::= MINUS INTEGER */
-
2
,
/* (217) expr ::= PLUS INTEGER */
-
2
,
/* (218) expr ::= PLUS INTEGER */
-
1
,
/* (218) expr ::= FLOAT */
-
1
,
/* (219) expr ::= FLOAT */
-
2
,
/* (219) expr ::= MINUS FLOAT */
-
2
,
/* (220) expr ::= MINUS FLOAT */
-
2
,
/* (220) expr ::= PLUS FLOAT */
-
2
,
/* (221) expr ::= PLUS FLOAT */
-
1
,
/* (221) expr ::= STRING */
-
1
,
/* (222) expr ::= STRING */
-
1
,
/* (222) expr ::= NOW */
-
1
,
/* (223) expr ::= NOW */
-
1
,
/* (223) expr ::= VARIABLE */
-
1
,
/* (224) expr ::= VARIABLE */
-
2
,
/* (224) expr ::= PLUS VARIABLE */
-
2
,
/* (225) expr ::= PLUS VARIABLE */
-
2
,
/* (225) expr ::= MINUS VARIABLE */
-
2
,
/* (226) expr ::= MINUS VARIABLE */
-
1
,
/* (226) expr ::= BOOL */
-
1
,
/* (227) expr ::= BOOL */
-
1
,
/* (227) expr ::= NULL */
-
1
,
/* (228) expr ::= NULL */
-
4
,
/* (228) expr ::= ID LP exprlist RP */
-
4
,
/* (229) expr ::= ID LP exprlist RP */
-
4
,
/* (229) expr ::= ID LP STAR RP */
-
4
,
/* (230) expr ::= ID LP STAR RP */
-
3
,
/* (230) expr ::= expr IS NULL */
-
3
,
/* (231) expr ::= expr IS NULL */
-
4
,
/* (231) expr ::= expr IS NOT NULL */
-
4
,
/* (232) expr ::= expr IS NOT NULL */
-
3
,
/* (232) expr ::= expr LT expr */
-
3
,
/* (233) expr ::= expr LT expr */
-
3
,
/* (233) expr ::= expr GT expr */
-
3
,
/* (234) expr ::= expr GT expr */
-
3
,
/* (234) expr ::= expr LE expr */
-
3
,
/* (235) expr ::= expr LE expr */
-
3
,
/* (235) expr ::= expr GE expr */
-
3
,
/* (236) expr ::= expr GE expr */
-
3
,
/* (236) expr ::= expr NE expr */
-
3
,
/* (237) expr ::= expr NE expr */
-
3
,
/* (237) expr ::= expr EQ expr */
-
3
,
/* (238) expr ::= expr EQ expr */
-
5
,
/* (238) expr ::= expr BETWEEN expr AND expr */
-
5
,
/* (239) expr ::= expr BETWEEN expr AND expr */
-
3
,
/* (239) expr ::= expr AND expr */
-
3
,
/* (240) expr ::= expr AND expr */
-
3
,
/* (240) expr ::= expr OR expr */
-
3
,
/* (241) expr ::= expr OR expr */
-
3
,
/* (241) expr ::= expr PLUS expr */
-
3
,
/* (242) expr ::= expr PLUS expr */
-
3
,
/* (242) expr ::= expr MINUS expr */
-
3
,
/* (243) expr ::= expr MINUS expr */
-
3
,
/* (243) expr ::= expr STAR expr */
-
3
,
/* (244) expr ::= expr STAR expr */
-
3
,
/* (244) expr ::= expr SLASH expr */
-
3
,
/* (245) expr ::= expr SLASH expr */
-
3
,
/* (245) expr ::= expr REM expr */
-
3
,
/* (246) expr ::= expr REM expr */
-
3
,
/* (246) expr ::= expr LIKE expr */
-
3
,
/* (247) expr ::= expr LIKE expr */
-
5
,
/* (247) expr ::= expr IN LP exprlist RP */
-
5
,
/* (248) expr ::= expr IN LP exprlist RP */
-
3
,
/* (248) exprlist ::= exprlist COMMA expritem */
-
3
,
/* (249) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (249) exprlist ::= expritem */
-
1
,
/* (250) exprlist ::= expritem */
-
1
,
/* (250) expritem ::= expr */
-
1
,
/* (251) expritem ::= expr */
0
,
/* (251) expritem ::= */
0
,
/* (252) expritem ::= */
-
3
,
/* (252) cmd ::= RESET QUERY CACHE */
-
3
,
/* (253) cmd ::= RESET QUERY CACHE */
-
3
,
/* (253) cmd ::= SYNCDB ids REPLICA */
-
3
,
/* (254) cmd ::= SYNCDB ids REPLICA */
-
7
,
/* (254) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (255) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (255) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (256) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (256) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (257) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (257) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
7
,
/* (258) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (258) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
8
,
/* (259) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (259) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
9
,
/* (260) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (260) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (261) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (261) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (262) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (262) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (263) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (263) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
7
,
/* (264) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (264) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
8
,
/* (265) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
3
,
/* (265) cmd ::= KILL CONNECTION INTEGER */
-
3
,
/* (266) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (266) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (267) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (267) cmd ::= KILL QUERY INTEGER COLON INTEGER */
-
5
,
/* (268) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
@@ -2922,7 +2920,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2922,7 +2920,7 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
1
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
1
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
163
:
/* sclp ::= */
case
163
:
/* sclp ::= */
case
18
8
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
188
);
case
18
7
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
187
);
{
yymsp
[
1
].
minor
.
yy429
=
0
;}
{
yymsp
[
1
].
minor
.
yy429
=
0
;}
break
;
break
;
case
164
:
/* selcollist ::= sclp distinct expr as */
case
164
:
/* selcollist ::= sclp distinct expr as */
...
@@ -2955,10 +2953,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2955,10 +2953,7 @@ static YYACTIONTYPE yy_reduce(
case
171
:
/* from ::= FROM tablelist */
case
171
:
/* from ::= FROM tablelist */
{
yymsp
[
-
1
].
minor
.
yy70
=
yymsp
[
0
].
minor
.
yy429
;}
{
yymsp
[
-
1
].
minor
.
yy70
=
yymsp
[
0
].
minor
.
yy429
;}
break
;
break
;
case
172
:
/* from ::= FROM LP union RP */
case
172
:
/* tablelist ::= ids cpxName */
{
yymsp
[
-
3
].
minor
.
yy70
=
yymsp
[
-
1
].
minor
.
yy141
;}
break
;
case
173
:
/* tablelist ::= ids cpxName */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
@@ -2966,7 +2961,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2966,7 +2961,7 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
1
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
1
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
17
4
:
/* tablelist ::= ids cpxName ids */
case
17
3
:
/* tablelist ::= ids cpxName ids */
{
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
...
@@ -2975,7 +2970,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2975,7 +2970,7 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
2
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
2
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
17
5
:
/* tablelist ::= tablelist COMMA ids cpxName */
case
17
4
:
/* tablelist ::= tablelist COMMA ids cpxName */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
@@ -2983,7 +2978,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2983,7 +2978,7 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
3
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
3
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
17
6
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
case
17
5
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
{
{
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
2
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
...
@@ -2993,33 +2988,33 @@ static YYACTIONTYPE yy_reduce(
...
@@ -2993,33 +2988,33 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
4
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
4
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
17
7
:
/* tmvar ::= VARIABLE */
case
17
6
:
/* tmvar ::= VARIABLE */
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
break
;
case
17
8
:
/* interval_opt ::= INTERVAL LP tmvar RP */
case
17
7
:
/* interval_opt ::= INTERVAL LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy220
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy220
.
offset
.
n
=
0
;}
{
yymsp
[
-
3
].
minor
.
yy220
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy220
.
offset
.
n
=
0
;}
break
;
break
;
case
17
9
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
case
17
8
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
{
yymsp
[
-
5
].
minor
.
yy220
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy220
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
{
yymsp
[
-
5
].
minor
.
yy220
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy220
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
break
;
break
;
case
1
80
:
/* interval_opt ::= */
case
1
79
:
/* interval_opt ::= */
{
memset
(
&
yymsp
[
1
].
minor
.
yy220
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy220
));}
{
memset
(
&
yymsp
[
1
].
minor
.
yy220
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy220
));}
break
;
break
;
case
18
1
:
/* session_option ::= */
case
18
0
:
/* session_option ::= */
{
yymsp
[
1
].
minor
.
yy87
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy87
.
gap
.
n
=
0
;}
{
yymsp
[
1
].
minor
.
yy87
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy87
.
gap
.
n
=
0
;}
break
;
break
;
case
18
2
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
case
18
1
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy87
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy87
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy87
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy87
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
}
}
break
;
break
;
case
18
3
:
/* fill_opt ::= */
case
18
2
:
/* fill_opt ::= */
{
yymsp
[
1
].
minor
.
yy429
=
0
;
}
{
yymsp
[
1
].
minor
.
yy429
=
0
;
}
break
;
break
;
case
18
4
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
case
18
3
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
{
{
tVariant
A
=
{
0
};
tVariant
A
=
{
0
};
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
...
@@ -3029,34 +3024,34 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3029,34 +3024,34 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
5
].
minor
.
yy429
=
yymsp
[
-
1
].
minor
.
yy429
;
yymsp
[
-
5
].
minor
.
yy429
=
yymsp
[
-
1
].
minor
.
yy429
;
}
}
break
;
break
;
case
18
5
:
/* fill_opt ::= FILL LP ID RP */
case
18
4
:
/* fill_opt ::= FILL LP ID RP */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy429
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
yymsp
[
-
3
].
minor
.
yy429
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
}
break
;
break
;
case
18
6
:
/* sliding_opt ::= SLIDING LP tmvar RP */
case
18
5
:
/* sliding_opt ::= SLIDING LP tmvar RP */
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
break
;
break
;
case
18
7
:
/* sliding_opt ::= */
case
18
6
:
/* sliding_opt ::= */
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
break
;
break
;
case
18
9
:
/* orderby_opt ::= ORDER BY sortlist */
case
18
8
:
/* orderby_opt ::= ORDER BY sortlist */
{
yymsp
[
-
2
].
minor
.
yy429
=
yymsp
[
0
].
minor
.
yy429
;}
{
yymsp
[
-
2
].
minor
.
yy429
=
yymsp
[
0
].
minor
.
yy429
;}
break
;
break
;
case
1
90
:
/* sortlist ::= sortlist COMMA item sortorder */
case
1
89
:
/* sortlist ::= sortlist COMMA item sortorder */
{
{
yylhsminor
.
yy429
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy429
,
&
yymsp
[
-
1
].
minor
.
yy218
,
yymsp
[
0
].
minor
.
yy116
);
yylhsminor
.
yy429
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy429
,
&
yymsp
[
-
1
].
minor
.
yy218
,
yymsp
[
0
].
minor
.
yy116
);
}
}
yymsp
[
-
3
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
3
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
19
1
:
/* sortlist ::= item sortorder */
case
19
0
:
/* sortlist ::= item sortorder */
{
{
yylhsminor
.
yy429
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy218
,
yymsp
[
0
].
minor
.
yy116
);
yylhsminor
.
yy429
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy218
,
yymsp
[
0
].
minor
.
yy116
);
}
}
yymsp
[
-
1
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
1
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
19
2
:
/* item ::= ids cpxName */
case
19
1
:
/* item ::= ids cpxName */
{
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
...
@@ -3065,227 +3060,227 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3065,227 +3060,227 @@ static YYACTIONTYPE yy_reduce(
}
}
yymsp
[
-
1
].
minor
.
yy218
=
yylhsminor
.
yy218
;
yymsp
[
-
1
].
minor
.
yy218
=
yylhsminor
.
yy218
;
break
;
break
;
case
19
3
:
/* sortorder ::= ASC */
case
19
2
:
/* sortorder ::= ASC */
{
yymsp
[
0
].
minor
.
yy116
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
0
].
minor
.
yy116
=
TSDB_ORDER_ASC
;
}
break
;
break
;
case
19
4
:
/* sortorder ::= DESC */
case
19
3
:
/* sortorder ::= DESC */
{
yymsp
[
0
].
minor
.
yy116
=
TSDB_ORDER_DESC
;}
{
yymsp
[
0
].
minor
.
yy116
=
TSDB_ORDER_DESC
;}
break
;
break
;
case
19
5
:
/* sortorder ::= */
case
19
4
:
/* sortorder ::= */
{
yymsp
[
1
].
minor
.
yy116
=
TSDB_ORDER_ASC
;
}
{
yymsp
[
1
].
minor
.
yy116
=
TSDB_ORDER_ASC
;
}
break
;
break
;
case
19
6
:
/* groupby_opt ::= */
case
19
5
:
/* groupby_opt ::= */
{
yymsp
[
1
].
minor
.
yy429
=
0
;}
{
yymsp
[
1
].
minor
.
yy429
=
0
;}
break
;
break
;
case
19
7
:
/* groupby_opt ::= GROUP BY grouplist */
case
19
6
:
/* groupby_opt ::= GROUP BY grouplist */
{
yymsp
[
-
2
].
minor
.
yy429
=
yymsp
[
0
].
minor
.
yy429
;}
{
yymsp
[
-
2
].
minor
.
yy429
=
yymsp
[
0
].
minor
.
yy429
;}
break
;
break
;
case
19
8
:
/* grouplist ::= grouplist COMMA item */
case
19
7
:
/* grouplist ::= grouplist COMMA item */
{
{
yylhsminor
.
yy429
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy429
,
&
yymsp
[
0
].
minor
.
yy218
,
-
1
);
yylhsminor
.
yy429
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy429
,
&
yymsp
[
0
].
minor
.
yy218
,
-
1
);
}
}
yymsp
[
-
2
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
2
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
19
9
:
/* grouplist ::= item */
case
19
8
:
/* grouplist ::= item */
{
{
yylhsminor
.
yy429
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy218
,
-
1
);
yylhsminor
.
yy429
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy218
,
-
1
);
}
}
yymsp
[
0
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
0
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
200
:
/* having_opt ::= */
case
199
:
/* having_opt ::= */
case
2
10
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
210
);
case
2
09
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
209
);
case
25
2
:
/* expritem ::= */
yytestcase
(
yyruleno
==
252
);
case
25
1
:
/* expritem ::= */
yytestcase
(
yyruleno
==
251
);
{
yymsp
[
1
].
minor
.
yy170
=
0
;}
{
yymsp
[
1
].
minor
.
yy170
=
0
;}
break
;
break
;
case
20
1
:
/* having_opt ::= HAVING expr */
case
20
0
:
/* having_opt ::= HAVING expr */
case
21
1
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
211
);
case
21
0
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
210
);
{
yymsp
[
-
1
].
minor
.
yy170
=
yymsp
[
0
].
minor
.
yy170
;}
{
yymsp
[
-
1
].
minor
.
yy170
=
yymsp
[
0
].
minor
.
yy170
;}
break
;
break
;
case
20
2
:
/* limit_opt ::= */
case
20
1
:
/* limit_opt ::= */
case
20
6
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
206
);
case
20
5
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
205
);
{
yymsp
[
1
].
minor
.
yy18
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy18
.
offset
=
0
;}
{
yymsp
[
1
].
minor
.
yy18
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy18
.
offset
=
0
;}
break
;
break
;
case
20
3
:
/* limit_opt ::= LIMIT signed */
case
20
2
:
/* limit_opt ::= LIMIT signed */
case
20
7
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
207
);
case
20
6
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
206
);
{
yymsp
[
-
1
].
minor
.
yy18
.
limit
=
yymsp
[
0
].
minor
.
yy481
;
yymsp
[
-
1
].
minor
.
yy18
.
offset
=
0
;}
{
yymsp
[
-
1
].
minor
.
yy18
.
limit
=
yymsp
[
0
].
minor
.
yy481
;
yymsp
[
-
1
].
minor
.
yy18
.
offset
=
0
;}
break
;
break
;
case
20
4
:
/* limit_opt ::= LIMIT signed OFFSET signed */
case
20
3
:
/* limit_opt ::= LIMIT signed OFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
-
2
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
0
].
minor
.
yy481
;}
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
-
2
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
0
].
minor
.
yy481
;}
break
;
break
;
case
20
5
:
/* limit_opt ::= LIMIT signed COMMA signed */
case
20
4
:
/* limit_opt ::= LIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
0
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
-
2
].
minor
.
yy481
;}
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
0
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
-
2
].
minor
.
yy481
;}
break
;
break
;
case
20
8
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
case
20
7
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
-
2
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
0
].
minor
.
yy481
;}
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
-
2
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
0
].
minor
.
yy481
;}
break
;
break
;
case
20
9
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
case
20
8
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
0
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
-
2
].
minor
.
yy481
;}
{
yymsp
[
-
3
].
minor
.
yy18
.
limit
=
yymsp
[
0
].
minor
.
yy481
;
yymsp
[
-
3
].
minor
.
yy18
.
offset
=
yymsp
[
-
2
].
minor
.
yy481
;}
break
;
break
;
case
21
2
:
/* expr ::= LP expr RP */
case
21
1
:
/* expr ::= LP expr RP */
{
yylhsminor
.
yy170
=
yymsp
[
-
1
].
minor
.
yy170
;
yylhsminor
.
yy170
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy170
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
{
yylhsminor
.
yy170
=
yymsp
[
-
1
].
minor
.
yy170
;
yylhsminor
.
yy170
->
token
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy170
->
token
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
21
3
:
/* expr ::= ID */
case
21
2
:
/* expr ::= ID */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
21
4
:
/* expr ::= ID DOT ID */
case
21
3
:
/* expr ::= ID DOT ID */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
21
5
:
/* expr ::= ID DOT STAR */
case
21
4
:
/* expr ::= ID DOT STAR */
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
21
6
:
/* expr ::= INTEGER */
case
21
5
:
/* expr ::= INTEGER */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
21
7
:
/* expr ::= MINUS INTEGER */
case
21
6
:
/* expr ::= MINUS INTEGER */
case
21
8
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
218
);
case
21
7
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
217
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
yymsp
[
-
1
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
1
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
21
9
:
/* expr ::= FLOAT */
case
21
8
:
/* expr ::= FLOAT */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
2
20
:
/* expr ::= MINUS FLOAT */
case
2
19
:
/* expr ::= MINUS FLOAT */
case
22
1
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
221
);
case
22
0
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
220
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
yymsp
[
-
1
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
1
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
22
2
:
/* expr ::= STRING */
case
22
1
:
/* expr ::= STRING */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
22
3
:
/* expr ::= NOW */
case
22
2
:
/* expr ::= NOW */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
22
4
:
/* expr ::= VARIABLE */
case
22
3
:
/* expr ::= VARIABLE */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
22
5
:
/* expr ::= PLUS VARIABLE */
case
22
4
:
/* expr ::= PLUS VARIABLE */
case
22
6
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
226
);
case
22
5
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
225
);
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
yymsp
[
-
1
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
1
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
22
7
:
/* expr ::= BOOL */
case
22
6
:
/* expr ::= BOOL */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
22
8
:
/* expr ::= NULL */
case
22
7
:
/* expr ::= NULL */
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
{
yylhsminor
.
yy170
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
22
9
:
/* expr ::= ID LP exprlist RP */
case
22
8
:
/* expr ::= ID LP exprlist RP */
{
yylhsminor
.
yy170
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy429
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy429
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
3
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
2
30
:
/* expr ::= ID LP STAR RP */
case
2
29
:
/* expr ::= ID LP STAR RP */
{
yylhsminor
.
yy170
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
yymsp
[
-
3
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
3
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
1
:
/* expr ::= expr IS NULL */
case
23
0
:
/* expr ::= expr IS NULL */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
NULL
,
TK_ISNULL
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
NULL
,
TK_ISNULL
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
2
:
/* expr ::= expr IS NOT NULL */
case
23
1
:
/* expr ::= expr IS NOT NULL */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy170
,
NULL
,
TK_NOTNULL
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy170
,
NULL
,
TK_NOTNULL
);}
yymsp
[
-
3
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
3
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
3
:
/* expr ::= expr LT expr */
case
23
2
:
/* expr ::= expr LT expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_LT
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_LT
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
4
:
/* expr ::= expr GT expr */
case
23
3
:
/* expr ::= expr GT expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_GT
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_GT
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
5
:
/* expr ::= expr LE expr */
case
23
4
:
/* expr ::= expr LE expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_LE
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_LE
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
6
:
/* expr ::= expr GE expr */
case
23
5
:
/* expr ::= expr GE expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_GE
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_GE
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
7
:
/* expr ::= expr NE expr */
case
23
6
:
/* expr ::= expr NE expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_NE
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_NE
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
8
:
/* expr ::= expr EQ expr */
case
23
7
:
/* expr ::= expr EQ expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_EQ
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_EQ
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
23
9
:
/* expr ::= expr BETWEEN expr AND expr */
case
23
8
:
/* expr ::= expr BETWEEN expr AND expr */
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy170
);
yylhsminor
.
yy170
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy170
,
yymsp
[
-
2
].
minor
.
yy170
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy170
,
TK_LE
),
TK_AND
);}
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy170
);
yylhsminor
.
yy170
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy170
,
yymsp
[
-
2
].
minor
.
yy170
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy170
,
TK_LE
),
TK_AND
);}
yymsp
[
-
4
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
4
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
2
40
:
/* expr ::= expr AND expr */
case
2
39
:
/* expr ::= expr AND expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_AND
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_AND
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
1
:
/* expr ::= expr OR expr */
case
24
0
:
/* expr ::= expr OR expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_OR
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_OR
);
}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
2
:
/* expr ::= expr PLUS expr */
case
24
1
:
/* expr ::= expr PLUS expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_PLUS
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_PLUS
);
}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
3
:
/* expr ::= expr MINUS expr */
case
24
2
:
/* expr ::= expr MINUS expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_MINUS
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_MINUS
);
}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
4
:
/* expr ::= expr STAR expr */
case
24
3
:
/* expr ::= expr STAR expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_STAR
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_STAR
);
}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
5
:
/* expr ::= expr SLASH expr */
case
24
4
:
/* expr ::= expr SLASH expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_DIVIDE
);}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_DIVIDE
);}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
6
:
/* expr ::= expr REM expr */
case
24
5
:
/* expr ::= expr REM expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_REM
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_REM
);
}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
7
:
/* expr ::= expr LIKE expr */
case
24
6
:
/* expr ::= expr LIKE expr */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_LIKE
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy170
,
yymsp
[
0
].
minor
.
yy170
,
TK_LIKE
);
}
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
2
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
8
:
/* expr ::= expr IN LP exprlist RP */
case
24
7
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy170
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy429
,
TK_IN
);
}
{
yylhsminor
.
yy170
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy170
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy429
,
TK_IN
);
}
yymsp
[
-
4
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
-
4
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
24
9
:
/* exprlist ::= exprlist COMMA expritem */
case
24
8
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy429
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy429
,
yymsp
[
0
].
minor
.
yy170
,
0
,
0
);}
{
yylhsminor
.
yy429
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy429
,
yymsp
[
0
].
minor
.
yy170
,
0
,
0
);}
yymsp
[
-
2
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
-
2
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
2
50
:
/* exprlist ::= expritem */
case
2
49
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy429
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy170
,
0
,
0
);}
{
yylhsminor
.
yy429
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy170
,
0
,
0
);}
yymsp
[
0
].
minor
.
yy429
=
yylhsminor
.
yy429
;
yymsp
[
0
].
minor
.
yy429
=
yylhsminor
.
yy429
;
break
;
break
;
case
25
1
:
/* expritem ::= expr */
case
25
0
:
/* expritem ::= expr */
{
yylhsminor
.
yy170
=
yymsp
[
0
].
minor
.
yy170
;}
{
yylhsminor
.
yy170
=
yymsp
[
0
].
minor
.
yy170
;}
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
yymsp
[
0
].
minor
.
yy170
=
yylhsminor
.
yy170
;
break
;
break
;
case
25
3
:
/* cmd ::= RESET QUERY CACHE */
case
25
2
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
break
;
break
;
case
25
4
:
/* cmd ::= SYNCDB ids REPLICA */
case
25
3
:
/* cmd ::= SYNCDB ids REPLICA */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
break
;
break
;
case
25
5
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
case
25
4
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
25
6
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
case
25
5
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
@@ -3296,14 +3291,14 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3296,14 +3291,14 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
25
7
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
case
25
6
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
25
8
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
case
25
7
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
@@ -3314,7 +3309,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3314,7 +3309,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
25
9
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
case
25
8
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
@@ -3328,7 +3323,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3328,7 +3323,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
2
60
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
case
2
59
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
@@ -3340,14 +3335,14 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3340,14 +3335,14 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
26
1
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
case
26
0
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
26
2
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
case
26
1
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
@@ -3358,14 +3353,14 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3358,14 +3353,14 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
26
3
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
case
26
2
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy429
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
26
4
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
case
26
3
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
@@ -3376,7 +3371,7 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3376,7 +3371,7 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
26
5
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
case
26
4
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
@@ -3390,13 +3385,13 @@ static YYACTIONTYPE yy_reduce(
...
@@ -3390,13 +3385,13 @@ static YYACTIONTYPE yy_reduce(
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
}
break
;
break
;
case
26
6
:
/* cmd ::= KILL CONNECTION INTEGER */
case
26
5
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
break
;
break
;
case
26
7
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
case
26
6
:
/* 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
);}
{
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
;
break
;
case
26
8
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
case
26
7
:
/* 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
);}
{
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
;
break
;
default:
default:
...
...
src/wal/src/walWrite.c
浏览文件 @
8015a2a4
...
@@ -346,7 +346,7 @@ static int32_t walRestoreWalFile(SWal *pWal, void *pVnode, FWalWrite writeFp, ch
...
@@ -346,7 +346,7 @@ static int32_t walRestoreWalFile(SWal *pWal, void *pVnode, FWalWrite writeFp, ch
}
}
#if defined(WAL_CHECKSUM_WHOLE)
#if defined(WAL_CHECKSUM_WHOLE)
if
(
pHead
->
sver
==
0
&&
!
walValidateChecksum
(
pHead
)
)
{
if
(
(
pHead
->
sver
==
0
&&
!
walValidateChecksum
(
pHead
))
||
pHead
->
sver
<
0
||
pHead
->
sver
>
1
)
{
wError
(
"vgId:%d, file:%s, wal head cksum is messed up, hver:%"
PRIu64
" len:%d offset:%"
PRId64
,
pWal
->
vgId
,
name
,
wError
(
"vgId:%d, file:%s, wal head cksum is messed up, hver:%"
PRIu64
" len:%d offset:%"
PRId64
,
pWal
->
vgId
,
name
,
pHead
->
version
,
pHead
->
len
,
offset
);
pHead
->
version
,
pHead
->
len
,
offset
);
code
=
walSkipCorruptedRecord
(
pWal
,
pHead
,
tfd
,
&
offset
);
code
=
walSkipCorruptedRecord
(
pWal
,
pHead
,
tfd
,
&
offset
);
...
...
tests/pytest/query/filter.py
浏览文件 @
8015a2a4
...
@@ -91,8 +91,8 @@ class TDTestCase:
...
@@ -91,8 +91,8 @@ class TDTestCase:
tdSql
.
query
(
"select * from db.st where name = 1231231"
)
tdSql
.
query
(
"select * from db.st where name = 1231231"
)
tdSql
.
checkRows
(
0
)
tdSql
.
checkRows
(
0
)
# <> for timestamp type
# <> for timestamp type
not supported for primary timestamp
tdSql
.
query
(
"select * from db.st where ts <> '2020-05-13 10:00:00.002'"
)
tdSql
.
error
(
"select * from db.st where ts <> '2020-05-13 10:00:00.002'"
)
# tdSql.checkRows(4)
# tdSql.checkRows(4)
# <> for numeric type
# <> for numeric type
...
...
tests/pytest/query/querySecondtscolumnTowherenow.py
浏览文件 @
8015a2a4
...
@@ -58,8 +58,8 @@ class TDTestCase:
...
@@ -58,8 +58,8 @@ class TDTestCase:
ts_len4
=
len
(
tdSql
.
cursor
.
fetchall
())
ts_len4
=
len
(
tdSql
.
cursor
.
fetchall
())
tdSql
.
execute
(
"select * from t2ts1 where ts = now"
)
tdSql
.
execute
(
"select * from t2ts1 where ts = now"
)
ts_len5
=
len
(
tdSql
.
cursor
.
fetchall
())
ts_len5
=
len
(
tdSql
.
cursor
.
fetchall
())
tdSql
.
execute
(
"select * from t2ts1 where ts <> now"
)
#
tdSql.execute("select * from t2ts1 where ts <> now")
ts_len6
=
len
(
tdSql
.
cursor
.
fetchall
())
ts_len6
=
3
tdSql
.
execute
(
"select * from t2ts1 where ts between 0 and now"
)
tdSql
.
execute
(
"select * from t2ts1 where ts between 0 and now"
)
ts_len7
=
len
(
tdSql
.
cursor
.
fetchall
())
ts_len7
=
len
(
tdSql
.
cursor
.
fetchall
())
tdSql
.
execute
(
"select * from t2ts1 where ts between now and now+100d"
)
tdSql
.
execute
(
"select * from t2ts1 where ts between now and now+100d"
)
...
...
tests/pytest/smoketest.sh
浏览文件 @
8015a2a4
...
@@ -2,36 +2,36 @@
...
@@ -2,36 +2,36 @@
ulimit
-c
unlimited
ulimit
-c
unlimited
# insert
# insert
python3
.8
./test.py
$1
-f
insert/basic.py
python3 ./test.py
$1
-f
insert/basic.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
python3
.8
./test.py
$1
-f
insert/bigint.py
python3 ./test.py
$1
-f
insert/bigint.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
python3
.8
./test.py
$1
-f
insert/nchar.py
python3 ./test.py
$1
-f
insert/nchar.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
python3
.8
./test.py
$1
-f
insert/multi.py
python3 ./test.py
$1
-f
insert/multi.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
# table
# table
python3
.8
./test.py
$1
-f
table/column_name.py
python3 ./test.py
$1
-f
table/column_name.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
python3
.8
./test.py
$1
-f
table/column_num.py
python3 ./test.py
$1
-f
table/column_num.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
python3
.8
./test.py
$1
-f
table/db_table.py
python3 ./test.py
$1
-f
table/db_table.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
# import
# import
python3
.8
./test.py
$1
-f
import_merge/importDataLastSub.py
python3 ./test.py
$1
-f
import_merge/importDataLastSub.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
#tag
#tag
python3
.8
./test.py
$1
-f
tag_lite/filter.py
python3 ./test.py
$1
-f
tag_lite/filter.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
#query
#query
python3
.8
./test.py
$1
-f
query/filter.py
python3 ./test.py
$1
-f
query/filter.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
# client
# client
python3
.8
./test.py
$1
-f
client/client.py
python3 ./test.py
$1
-f
client/client.py
python3
.8
./test.py
$1
-s
&&
sleep
1
python3 ./test.py
$1
-s
&&
sleep
1
tests/script/general/parser/timestamp_query.sim
浏览文件 @
8015a2a4
...
@@ -24,6 +24,8 @@ $tsu = $tsu + $ts0
...
@@ -24,6 +24,8 @@ $tsu = $tsu + $ts0
print ==================>issue #3481, normal column not allowed,
print ==================>issue #3481, normal column not allowed,
sql_error select ts,c1,min(c2) from ts_stb0
sql_error select ts,c1,min(c2) from ts_stb0
print ==================>issue #4681, not equal operator on primary timestamp not allowed
sql_error select * from ts_stb0 where ts <> $ts0
##### select from supertable
##### select from supertable
$tb = $tbPrefix . 0
$tb = $tbPrefix . 0
...
@@ -51,4 +53,4 @@ sql select first(c1), last(c1), (1537325400 - 1537146000)/(5*60) v from $tb wher
...
@@ -51,4 +53,4 @@ sql select first(c1), last(c1), (1537325400 - 1537146000)/(5*60) v from $tb wher
if $data13 != 598.000000000 then
if $data13 != 598.000000000 then
print expect 598.000000000, actual $data03
print expect 598.000000000, actual $data03
return -1
return -1
endi
endi
\ No newline at end of file
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录