Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
1f54d6aa
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1187
Star
22018
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
1f54d6aa
编写于
8月 23, 2021
作者:
S
shenglian zhou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-6145]<feature>:support tag filtering with regex
上级
03c9253d
变更
14
显示空白变更内容
内联
并排
Showing
14 changed file
with
887 addition
and
1204 deletion
+887
-1204
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+111
-53
src/common/inc/texpr.h
src/common/inc/texpr.h
+2
-0
src/common/inc/tglobal.h
src/common/inc/tglobal.h
+1
-0
src/common/src/texpr.c
src/common/src/texpr.c
+11
-0
src/common/src/tglobal.c
src/common/src/tglobal.c
+1
-0
src/inc/taosdef.h
src/inc/taosdef.h
+2
-0
src/inc/ttokendef.h
src/inc/ttokendef.h
+153
-153
src/query/inc/sql.y
src/query/inc/sql.y
+4
-1
src/query/src/qFilter.c
src/query/src/qFilter.c
+12
-4
src/query/src/sql.c
src/query/src/sql.c
+533
-987
src/tsdb/src/tsdbRead.c
src/tsdb/src/tsdbRead.c
+8
-2
src/util/inc/tcompare.h
src/util/inc/tcompare.h
+2
-0
src/util/src/tcompare.c
src/util/src/tcompare.c
+46
-4
src/util/src/ttokenizer.c
src/util/src/ttokenizer.c
+1
-0
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
1f54d6aa
...
...
@@ -279,6 +279,8 @@ static uint8_t convertRelationalOperator(SStrToken *pToken) {
return
TSDB_BINARY_OP_REMAINDER
;
case
TK_LIKE
:
return
TSDB_RELATION_LIKE
;
case
TK_MATCH
:
return
TSDB_RELATION_MATCH
;
case
TK_ISNULL
:
return
TSDB_RELATION_ISNULL
;
case
TK_NOTNULL
:
...
...
@@ -3788,6 +3790,9 @@ static int32_t doExtractColumnFilterInfo(SSqlCmd* pCmd, SQueryInfo* pQueryInfo,
case
TK_LIKE
:
pColumnFilter
->
lowerRelOptr
=
TSDB_RELATION_LIKE
;
break
;
case
TK_MATCH
:
pColumnFilter
->
lowerRelOptr
=
TSDB_RELATION_MATCH
;
break
;
case
TK_ISNULL
:
pColumnFilter
->
lowerRelOptr
=
TSDB_RELATION_ISNULL
;
break
;
...
...
@@ -3851,9 +3856,15 @@ static int32_t tablenameListToString(tSqlExpr* pExpr, SStringBuilder* sb) {
return
TSDB_CODE_SUCCESS
;
}
static
int32_t
tablenameCondToString
(
tSqlExpr
*
pExpr
,
SStringBuilder
*
sb
)
{
static
int32_t
tablenameCondToString
(
tSqlExpr
*
pExpr
,
uint32_t
opToken
,
SStringBuilder
*
sb
)
{
assert
(
opToken
==
TK_LIKE
||
opToken
==
TK_MATCH
);
if
(
opToken
==
TK_LIKE
)
{
taosStringBuilderAppendStringLen
(
sb
,
QUERY_COND_REL_PREFIX_LIKE
,
QUERY_COND_REL_PREFIX_LIKE_LEN
);
taosStringBuilderAppendString
(
sb
,
pExpr
->
value
.
pz
);
}
else
if
(
opToken
==
TK_MATCH
)
{
taosStringBuilderAppendStringLen
(
sb
,
QUERY_COND_REL_PREFIX_MATCH
,
QUERY_COND_REL_PREFIX_MATCH_LEN
);
taosStringBuilderAppendString
(
sb
,
pExpr
->
value
.
pz
);
}
return
TSDB_CODE_SUCCESS
;
}
...
...
@@ -3874,7 +3885,7 @@ static int32_t checkColumnFilterInfo(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SCol
STableMeta
*
pTableMeta
=
pTableMetaInfo
->
pTableMeta
;
SSchema
*
pSchema
=
tscGetTableColumnSchema
(
pTableMeta
,
pIndex
->
columnIndex
);
int32_t
ret
=
0
;
const
char
*
msg1
=
"non binary column not support like operator"
;
const
char
*
msg1
=
"non binary column not support like
/match
operator"
;
const
char
*
msg2
=
"binary column not support this operator"
;
const
char
*
msg3
=
"bool column not support this operator"
;
const
char
*
msg4
=
"primary key not support this operator"
;
...
...
@@ -3902,12 +3913,13 @@ static int32_t checkColumnFilterInfo(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SCol
&&
pExpr
->
tokenId
!=
TK_ISNULL
&&
pExpr
->
tokenId
!=
TK_NOTNULL
&&
pExpr
->
tokenId
!=
TK_LIKE
&&
pExpr
->
tokenId
!=
TK_MATCH
&&
pExpr
->
tokenId
!=
TK_IN
)
{
ret
=
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg2
);
goto
_err_ret
;
}
}
else
{
if
(
pExpr
->
tokenId
==
TK_LIKE
)
{
if
(
pExpr
->
tokenId
==
TK_LIKE
||
pExpr
->
tokenId
==
TK_MATCH
)
{
ret
=
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg1
);
goto
_err_ret
;
}
...
...
@@ -3955,12 +3967,12 @@ static int32_t getTablenameCond(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSqlExpr*
if
(
pTableCond
->
tokenId
==
TK_IN
)
{
ret
=
tablenameListToString
(
pRight
,
sb
);
}
else
if
(
pTableCond
->
tokenId
==
TK_LIKE
)
{
}
else
if
(
pTableCond
->
tokenId
==
TK_LIKE
||
pTableCond
->
tokenId
==
TK_MATCH
)
{
if
(
pRight
->
tokenId
!=
TK_STRING
)
{
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg1
);
}
ret
=
tablenameCondToString
(
pRight
,
sb
);
ret
=
tablenameCondToString
(
pRight
,
pTableCond
->
tokenId
,
sb
);
}
if
(
ret
!=
TSDB_CODE_SUCCESS
)
{
...
...
@@ -4409,7 +4421,7 @@ static bool validateJoinExprNode(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSqlExpr
}
static
bool
validTableNameOptr
(
tSqlExpr
*
pExpr
)
{
const
char
nameFilterOptr
[]
=
{
TK_IN
,
TK_LIKE
};
const
char
nameFilterOptr
[]
=
{
TK_IN
,
TK_LIKE
,
TK_MATCH
};
for
(
int32_t
i
=
0
;
i
<
tListLen
(
nameFilterOptr
);
++
i
)
{
if
(
pExpr
->
tokenId
==
nameFilterOptr
[
i
])
{
...
...
@@ -4501,6 +4513,44 @@ static int32_t validateLikeExpr(tSqlExpr* pExpr, STableMeta* pTableMeta, int32_t
return
TSDB_CODE_SUCCESS
;
}
// check for match expression
static
int32_t
validateMatchExpr
(
tSqlExpr
*
pExpr
,
STableMeta
*
pTableMeta
,
int32_t
index
,
char
*
msgBuf
)
{
const
char
*
msg1
=
"regular expression string should be less than %d characters"
;
const
char
*
msg2
=
"illegal column type for match"
;
const
char
*
msg3
=
"invalid regular expression"
;
tSqlExpr
*
pLeft
=
pExpr
->
pLeft
;
tSqlExpr
*
pRight
=
pExpr
->
pRight
;
if
(
pExpr
->
tokenId
==
TK_MATCH
)
{
if
(
pRight
->
value
.
nLen
>
tsMaxRegexStringLen
)
{
char
tmp
[
64
]
=
{
0
};
sprintf
(
tmp
,
msg1
,
tsMaxRegexStringLen
);
return
invalidOperationMsg
(
msgBuf
,
tmp
);
}
SSchema
*
pSchema
=
tscGetTableSchema
(
pTableMeta
);
if
((
!
isTablenameToken
(
&
pLeft
->
columnName
))
&&
!
IS_VAR_DATA_TYPE
(
pSchema
[
index
].
type
))
{
return
invalidOperationMsg
(
msgBuf
,
msg2
);
}
int
errCode
=
0
;
regex_t
regex
;
char
regErrBuf
[
256
]
=
{
0
};
const
char
*
pattern
=
pRight
->
value
.
pz
;
int
cflags
=
REG_EXTENDED
|
REG_ICASE
;
if
((
errCode
=
regcomp
(
&
regex
,
pattern
,
cflags
))
!=
0
)
{
regerror
(
errCode
,
&
regex
,
regErrBuf
,
sizeof
(
regErrBuf
));
tscError
(
"Failed to compile regex pattern %s. reason %s"
,
pattern
,
regErrBuf
);
return
invalidOperationMsg
(
msgBuf
,
msg3
);
}
}
return
TSDB_CODE_SUCCESS
;
}
int32_t
handleNeOptr
(
tSqlExpr
**
rexpr
,
tSqlExpr
*
expr
)
{
tSqlExpr
*
left
=
tSqlExprClone
(
expr
);
tSqlExpr
*
right
=
expr
;
...
...
@@ -4552,6 +4602,12 @@ static int32_t handleExprInQueryCond(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, tSql
return
code
;
}
// validate the match expression
code
=
validateMatchExpr
(
*
pExpr
,
pTableMeta
,
index
.
columnIndex
,
tscGetErrorMsgPayload
(
pCmd
));
if
(
code
!=
TSDB_CODE_SUCCESS
)
{
return
code
;
}
SSchema
*
pSchema
=
tscGetTableColumnSchema
(
pTableMeta
,
index
.
columnIndex
);
if
(
pSchema
->
type
==
TSDB_DATA_TYPE_TIMESTAMP
&&
index
.
columnIndex
==
PRIMARYKEY_TIMESTAMP_COL_INDEX
)
{
// query on time range
if
(
!
validateJoinExprNode
(
pCmd
,
pQueryInfo
,
*
pExpr
,
&
index
))
{
...
...
@@ -4879,16 +4935,16 @@ static int32_t setTableCondForSTableQuery(SSqlCmd* pCmd, SQueryInfo* pQueryInfo,
STagCond
*
pTagCond
=
&
pQueryInfo
->
tagCond
;
pTagCond
->
tbnameCond
.
uid
=
pTableMetaInfo
->
pTableMeta
->
id
.
uid
;
assert
(
pExpr
->
tokenId
==
TK_LIKE
||
pExpr
->
tokenId
==
TK_IN
);
assert
(
pExpr
->
tokenId
==
TK_LIKE
||
pExpr
->
tokenId
==
TK_
MATCH
||
pExpr
->
tokenId
==
TK_
IN
);
if
(
pExpr
->
tokenId
==
TK_LIKE
)
{
if
(
pExpr
->
tokenId
==
TK_LIKE
||
pExpr
->
tokenId
==
TK_MATCH
)
{
char
*
str
=
taosStringBuilderGetResult
(
sb
,
NULL
);
pQueryInfo
->
tagCond
.
tbnameCond
.
cond
=
strdup
(
str
);
pQueryInfo
->
tagCond
.
tbnameCond
.
len
=
(
int32_t
)
strlen
(
str
);
return
TSDB_CODE_SUCCESS
;
}
SStringBuilder
sb1
;
memset
(
&
sb1
,
0
,
sizeof
(
sb1
));
}
else
{
SStringBuilder
sb1
;
memset
(
&
sb1
,
0
,
sizeof
(
sb1
));
taosStringBuilderAppendStringLen
(
&
sb1
,
QUERY_COND_REL_PREFIX_IN
,
QUERY_COND_REL_PREFIX_IN_LEN
);
// remove the duplicated input table names
...
...
@@ -4908,7 +4964,7 @@ static int32_t setTableCondForSTableQuery(SSqlCmd* pCmd, SQueryInfo* pQueryInfo,
char
name
[
TSDB_DB_NAME_LEN
]
=
{
0
};
tNameGetDbName
(
&
pTableMetaInfo
->
name
,
name
);
SStrToken
dbToken
=
{
.
type
=
TK_STRING
,
.
z
=
name
,
.
n
=
(
uint32_t
)
strlen
(
name
)
};
SStrToken
dbToken
=
{.
type
=
TK_STRING
,
.
z
=
name
,
.
n
=
(
uint32_t
)
strlen
(
name
)
};
for
(
int32_t
i
=
0
;
i
<
num
;
++
i
)
{
if
(
i
>=
1
)
{
...
...
@@ -4933,11 +4989,12 @@ static int32_t setTableCondForSTableQuery(SSqlCmd* pCmd, SQueryInfo* pQueryInfo,
char
*
str
=
taosStringBuilderGetResult
(
&
sb1
,
NULL
);
pQueryInfo
->
tagCond
.
tbnameCond
.
cond
=
strdup
(
str
);
pQueryInfo
->
tagCond
.
tbnameCond
.
len
=
(
int32_t
)
strlen
(
str
);
pQueryInfo
->
tagCond
.
tbnameCond
.
len
=
(
int32_t
)
strlen
(
str
);
taosStringBuilderDestroy
(
&
sb1
);
tfree
(
segments
);
return
TSDB_CODE_SUCCESS
;
}
}
int32_t
mergeTimeRange
(
SSqlCmd
*
pCmd
,
STimeWindow
*
res
,
STimeWindow
*
win
,
int32_t
optr
)
{
...
...
@@ -8114,7 +8171,7 @@ int32_t tscGetExprFilters(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, SArray* pSelect
}
static
int32_t
handleExprInHavingClause
(
SSqlCmd
*
pCmd
,
SQueryInfo
*
pQueryInfo
,
SArray
*
pSelectNodeList
,
tSqlExpr
*
pExpr
,
int32_t
sqlOptr
)
{
const
char
*
msg1
=
"non binary column not support like operator"
;
const
char
*
msg1
=
"non binary column not support like
/match
operator"
;
const
char
*
msg2
=
"invalid operator for binary column in having clause"
;
const
char
*
msg3
=
"invalid operator for bool column in having clause"
;
...
...
@@ -8166,11 +8223,12 @@ static int32_t handleExprInHavingClause(SSqlCmd* pCmd, SQueryInfo* pQueryInfo, S
&&
pExpr
->
tokenId
!=
TK_ISNULL
&&
pExpr
->
tokenId
!=
TK_NOTNULL
&&
pExpr
->
tokenId
!=
TK_LIKE
&&
pExpr
->
tokenId
!=
TK_MATCH
)
{
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg2
);
}
}
else
{
if
(
pExpr
->
tokenId
==
TK_LIKE
)
{
if
(
pExpr
->
tokenId
==
TK_LIKE
||
pExpr
->
tokenId
==
TK_MATCH
)
{
return
invalidOperationMsg
(
tscGetErrorMsgPayload
(
pCmd
),
msg1
);
}
...
...
src/common/inc/texpr.h
浏览文件 @
1f54d6aa
...
...
@@ -33,9 +33,11 @@ struct SSchema;
#define QUERY_COND_REL_PREFIX_IN "IN|"
#define QUERY_COND_REL_PREFIX_LIKE "LIKE|"
#define QUERY_COND_REL_PREFIX_MATCH "MATCH|"
#define QUERY_COND_REL_PREFIX_IN_LEN 3
#define QUERY_COND_REL_PREFIX_LIKE_LEN 5
#define QUERY_COND_REL_PREFIX_MATCH_LEN 6
typedef
bool
(
*
__result_filter_fn_t
)(
const
void
*
,
void
*
);
typedef
void
(
*
__do_filter_suppl_fn_t
)(
void
*
,
void
*
);
...
...
src/common/inc/tglobal.h
浏览文件 @
1f54d6aa
...
...
@@ -74,6 +74,7 @@ extern int8_t tsKeepOriginalColumnName;
// client
extern
int32_t
tsMaxSQLStringLen
;
extern
int32_t
tsMaxWildCardsLen
;
extern
int32_t
tsMaxRegexStringLen
;
extern
int8_t
tsTscEnableRecordSql
;
extern
int32_t
tsMaxNumOfOrderedResults
;
extern
int32_t
tsMinSlidingTime
;
...
...
src/common/src/texpr.c
浏览文件 @
1f54d6aa
...
...
@@ -430,6 +430,17 @@ tExprNode* exprTreeFromTableName(const char* tbnameCond) {
pVal
->
nType
=
TSDB_DATA_TYPE_BINARY
;
pVal
->
nLen
=
(
int32_t
)
len
;
}
else
if
(
strncmp
(
tbnameCond
,
QUERY_COND_REL_PREFIX_MATCH
,
QUERY_COND_REL_PREFIX_MATCH_LEN
)
==
0
)
{
right
->
nodeType
=
TSQL_NODE_VALUE
;
expr
->
_node
.
optr
=
TSDB_RELATION_MATCH
;
tVariant
*
pVal
=
exception_calloc
(
1
,
sizeof
(
tVariant
));
right
->
pVal
=
pVal
;
size_t
len
=
strlen
(
tbnameCond
+
QUERY_COND_REL_PREFIX_MATCH_LEN
)
+
1
;
pVal
->
pz
=
exception_malloc
(
len
);
memcpy
(
pVal
->
pz
,
tbnameCond
+
QUERY_COND_REL_PREFIX_MATCH_LEN
,
len
);
pVal
->
nType
=
TSDB_DATA_TYPE_BINARY
;
pVal
->
nLen
=
(
int32_t
)
len
;
}
else
if
(
strncmp
(
tbnameCond
,
QUERY_COND_REL_PREFIX_IN
,
QUERY_COND_REL_PREFIX_IN_LEN
)
==
0
)
{
right
->
nodeType
=
TSQL_NODE_VALUE
;
expr
->
_node
.
optr
=
TSDB_RELATION_IN
;
...
...
src/common/src/tglobal.c
浏览文件 @
1f54d6aa
...
...
@@ -85,6 +85,7 @@ int32_t tsCompressColData = -1;
// client
int32_t
tsMaxSQLStringLen
=
TSDB_MAX_ALLOWED_SQL_LEN
;
int32_t
tsMaxWildCardsLen
=
TSDB_PATTERN_STRING_MAX_LEN
;
int32_t
tsMaxRegexStringLen
=
TSDB_REGEX_STRING_MAX_LEN
;
int8_t
tsTscEnableRecordSql
=
0
;
// the maximum number of results for projection query on super table that are returned from
...
...
src/inc/taosdef.h
浏览文件 @
1f54d6aa
...
...
@@ -164,6 +164,8 @@ do { \
#define TSDB_RELATION_OR 12
#define TSDB_RELATION_NOT 13
#define TSDB_RELATION_MATCH 14
#define TSDB_BINARY_OP_ADD 30
#define TSDB_BINARY_OP_SUBTRACT 31
#define TSDB_BINARY_OP_MULTIPLY 32
...
...
src/inc/ttokendef.h
浏览文件 @
1f54d6aa
...
...
@@ -37,159 +37,159 @@
#define TK_NOTNULL 19
#define TK_IS 20
#define TK_LIKE 21
#define TK_
GLOB
22
#define TK_
BETWEEN
23
#define TK_
IN
24
#define TK_
GT
25
#define TK_G
E
26
#define TK_
LT
27
#define TK_L
E
28
#define TK_
BITAND
29
#define TK_BIT
OR
30
#define TK_
LSHIFT
31
#define TK_
R
SHIFT 32
#define TK_
PLUS
33
#define TK_
MINUS
34
#define TK_
DIVIDE
35
#define TK_
TIMES
36
#define TK_
STAR
37
#define TK_S
LASH
38
#define TK_
REM
39
#define TK_
CONCAT
40
#define TK_
UMINUS
41
#define TK_U
PLUS
42
#define TK_
BITNOT
43
#define TK_
SHOW
44
#define TK_
DATABASES
45
#define TK_
TOPICS
46
#define TK_
FUNCTIONS
47
#define TK_
MNODES
48
#define TK_
D
NODES 49
#define TK_
ACCOUNTS
50
#define TK_
USERS
51
#define TK_
MODULES
52
#define TK_
QUERI
ES 53
#define TK_
CONNECTIONS
54
#define TK_
STREAMS
55
#define TK_
VARIABLES
56
#define TK_
SCORES
57
#define TK_
GRANT
S 58
#define TK_
VNODE
S 59
#define TK_
DOT
60
#define TK_
CREATE
61
#define TK_
TABLE
62
#define TK_
STABLE
63
#define TK_
DATABASE
64
#define TK_
TABLES
65
#define TK_
STABLES
66
#define TK_
VGROUP
S 67
#define TK_
DROP
68
#define TK_
TOPIC
69
#define TK_
FUNCTION
70
#define TK_
DNODE
71
#define TK_
USER
72
#define TK_
ACCOUNT
73
#define TK_
USE
74
#define TK_
DESCRIBE
75
#define TK_
ALTER
76
#define TK_
PASS
77
#define TK_P
RIVILEGE
78
#define TK_
LOCAL
79
#define TK_
COMPACT
80
#define TK_
LP
81
#define TK_
R
P 82
#define TK_
IF
83
#define TK_
EXISTS
84
#define TK_
AS
85
#define TK_
OUTPUTTYPE
86
#define TK_
AGGREGATE
87
#define TK_
BUFSIZE
88
#define TK_
PPS
89
#define TK_
TSERIES
90
#define TK_
DBS
91
#define TK_
STORAGE
92
#define TK_
QTIME
93
#define TK_
CONNS
94
#define TK_
STATE
95
#define TK_
COMMA
96
#define TK_
KEEP
97
#define TK_
CACHE
98
#define TK_
REPLICA
99
#define TK_
QUORUM
100
#define TK_
DAYS
101
#define TK_
MINROWS
102
#define TK_M
AX
ROWS 103
#define TK_
BLOCKS
104
#define TK_
CTIME
105
#define TK_
WAL
106
#define TK_
FSYNC
107
#define TK_
COMP
108
#define TK_
PRECISION
109
#define TK_
UPDATE
110
#define TK_
CACHELAST
111
#define TK_
PARTITIONS
112
#define TK_
UNSIGNED
113
#define TK_
TAGS
114
#define TK_
USING
115
#define TK_
NULL
116
#define TK_N
OW
117
#define TK_
SELECT
118
#define TK_
UNION
119
#define TK_
ALL
120
#define TK_
DISTINCT
121
#define TK_
FROM
122
#define TK_
VARIABLE
123
#define TK_
INTERVAL
124
#define TK_
SESSION
125
#define TK_S
TATE_WINDOW
126
#define TK_
FILL
127
#define TK_
SLIDING
128
#define TK_
ORDER
129
#define TK_
BY
130
#define TK_
ASC
131
#define TK_
DESC
132
#define TK_
GROUP
133
#define TK_
HAVING
134
#define TK_
LIMIT
135
#define TK_
OFFSET
136
#define TK_
SLIMI
T 137
#define TK_S
OFFSET
138
#define TK_
WHERE
139
#define TK_
RESET
140
#define TK_
QUERY
141
#define TK_
SYNCDB
142
#define TK_
ADD
143
#define TK_
COLUMN
144
#define TK_
MODIFY
145
#define TK_
TAG
146
#define TK_
CHANGE
147
#define TK_
SET
148
#define TK_
KILL
149
#define TK_
CONNECTION
150
#define TK_
STREAM
151
#define TK_
COLON
152
#define TK_
ABORT
153
#define TK_A
FTER
154
#define TK_A
TTACH
155
#define TK_
BEFORE
156
#define TK_BE
GIN
157
#define TK_
CASCADE
158
#define TK_C
LUSTER
159
#define TK_C
ONFLICT
160
#define TK_CO
PY
161
#define TK_
DEFERRED
162
#define TK_DE
LIMITERS
163
#define TK_DE
TACH
164
#define TK_
EACH
165
#define TK_E
ND
166
#define TK_E
XPLAIN
167
#define TK_
FAIL
168
#define TK_F
OR
169
#define TK_
IGNORE
170
#define TK_I
MMEDIATE
171
#define TK_I
NITIALLY
172
#define TK_IN
STEAD
173
#define TK_
MATCH
174
#define TK_
MATCH
22
#define TK_
GLOB
23
#define TK_
BETWEEN
24
#define TK_
IN
25
#define TK_G
T
26
#define TK_
GE
27
#define TK_L
T
28
#define TK_
LE
29
#define TK_BIT
AND
30
#define TK_
BITOR
31
#define TK_
L
SHIFT 32
#define TK_
RSHIFT
33
#define TK_
PLUS
34
#define TK_
MINUS
35
#define TK_
DIVIDE
36
#define TK_
TIMES
37
#define TK_S
TAR
38
#define TK_
SLASH
39
#define TK_
REM
40
#define TK_
CONCAT
41
#define TK_U
MINUS
42
#define TK_
UPLUS
43
#define TK_
BITNOT
44
#define TK_
SHOW
45
#define TK_
DATABASES
46
#define TK_
TOPICS
47
#define TK_
FUNCTIONS
48
#define TK_
M
NODES 49
#define TK_
DNODES
50
#define TK_
ACCOUNTS
51
#define TK_
USERS
52
#define TK_
MODUL
ES 53
#define TK_
QUERIES
54
#define TK_
CONNECTIONS
55
#define TK_
STREAMS
56
#define TK_
VARIABLES
57
#define TK_
SCORE
S 58
#define TK_
GRANT
S 59
#define TK_
VNODES
60
#define TK_
DOT
61
#define TK_
CREATE
62
#define TK_
TABLE
63
#define TK_
STABLE
64
#define TK_
DATABASE
65
#define TK_
TABLES
66
#define TK_
STABLE
S 67
#define TK_
VGROUPS
68
#define TK_
DROP
69
#define TK_
TOPIC
70
#define TK_
FUNCTION
71
#define TK_
DNODE
72
#define TK_
USER
73
#define TK_
ACCOUNT
74
#define TK_
USE
75
#define TK_
DESCRIBE
76
#define TK_
ALTER
77
#define TK_P
ASS
78
#define TK_
PRIVILEGE
79
#define TK_
LOCAL
80
#define TK_
COMPACT
81
#define TK_
L
P 82
#define TK_
RP
83
#define TK_
IF
84
#define TK_
EXISTS
85
#define TK_
AS
86
#define TK_
OUTPUTTYPE
87
#define TK_
AGGREGATE
88
#define TK_
BUFSIZE
89
#define TK_
PPS
90
#define TK_
TSERIES
91
#define TK_
DBS
92
#define TK_
STORAGE
93
#define TK_
QTIME
94
#define TK_
CONNS
95
#define TK_
STATE
96
#define TK_
COMMA
97
#define TK_
KEEP
98
#define TK_
CACHE
99
#define TK_
REPLICA
100
#define TK_
QUORUM
101
#define TK_
DAYS
102
#define TK_M
IN
ROWS 103
#define TK_
MAXROWS
104
#define TK_
BLOCKS
105
#define TK_
CTIME
106
#define TK_
WAL
107
#define TK_
FSYNC
108
#define TK_
COMP
109
#define TK_
PRECISION
110
#define TK_
UPDATE
111
#define TK_
CACHELAST
112
#define TK_
PARTITIONS
113
#define TK_
UNSIGNED
114
#define TK_
TAGS
115
#define TK_
USING
116
#define TK_N
ULL
117
#define TK_
NOW
118
#define TK_
SELECT
119
#define TK_
UNION
120
#define TK_
ALL
121
#define TK_
DISTINCT
122
#define TK_
FROM
123
#define TK_
VARIABLE
124
#define TK_
INTERVAL
125
#define TK_S
ESSION
126
#define TK_
STATE_WINDOW
127
#define TK_
FILL
128
#define TK_
SLIDING
129
#define TK_
ORDER
130
#define TK_
BY
131
#define TK_
ASC
132
#define TK_
DESC
133
#define TK_
GROUP
134
#define TK_
HAVING
135
#define TK_
LIMIT
136
#define TK_
OFFSE
T 137
#define TK_S
LIMIT
138
#define TK_
SOFFSET
139
#define TK_
WHERE
140
#define TK_
RESET
141
#define TK_
QUERY
142
#define TK_
SYNCDB
143
#define TK_
ADD
144
#define TK_
COLUMN
145
#define TK_
MODIFY
146
#define TK_
TAG
147
#define TK_
CHANGE
148
#define TK_
SET
149
#define TK_
KILL
150
#define TK_
CONNECTION
151
#define TK_
STREAM
152
#define TK_
COLON
153
#define TK_A
BORT
154
#define TK_A
FTER
155
#define TK_
ATTACH
156
#define TK_BE
FORE
157
#define TK_
BEGIN
158
#define TK_C
ASCADE
159
#define TK_C
LUSTER
160
#define TK_CO
NFLICT
161
#define TK_
COPY
162
#define TK_DE
FERRED
163
#define TK_DE
LIMITERS
164
#define TK_
DETACH
165
#define TK_E
ACH
166
#define TK_E
ND
167
#define TK_
EXPLAIN
168
#define TK_F
AIL
169
#define TK_
FOR
170
#define TK_I
GNORE
171
#define TK_I
MMEDIATE
172
#define TK_IN
ITIALLY
173
#define TK_
INSTEAD
174
#define TK_KEY 175
#define TK_OF 176
#define TK_RAISE 177
...
...
src/query/inc/sql.y
浏览文件 @
1f54d6aa
...
...
@@ -11,7 +11,7 @@
%left OR.
%left AND.
%right NOT.
%left EQ NE ISNULL NOTNULL IS LIKE GLOB BETWEEN IN.
%left EQ NE ISNULL NOTNULL IS LIKE
MATCH
GLOB BETWEEN IN.
%left GT GE LT LE.
%left BITAND BITOR LSHIFT RSHIFT.
%left PLUS MINUS.
...
...
@@ -743,6 +743,9 @@ expr(A) ::= expr(X) REM expr(Y). {A = tSqlExprCreate(X, Y, TK_REM); }
// like expression
expr(A) ::= expr(X) LIKE expr(Y). {A = tSqlExprCreate(X, Y, TK_LIKE); }
// match expression
expr(A) ::= expr(X) MATCH expr(Y). {A = tSqlExprCreate(X, Y, TK_MATCH); }
//in expression
expr(A) ::= expr(X) IN LP exprlist(Y) RP. {A = tSqlExprCreate(X, (tSqlExpr*)Y, TK_IN); }
...
...
src/query/src/qFilter.c
浏览文件 @
1f54d6aa
...
...
@@ -28,6 +28,7 @@ OptrStr gOptrStr[] = {
{
TSDB_RELATION_GREATER_EQUAL
,
">="
},
{
TSDB_RELATION_NOT_EQUAL
,
"!="
},
{
TSDB_RELATION_LIKE
,
"like"
},
{
TSDB_RELATION_MATCH
,
"match"
},
{
TSDB_RELATION_ISNULL
,
"is null"
},
{
TSDB_RELATION_NOTNULL
,
"not null"
},
{
TSDB_RELATION_IN
,
"in"
},
...
...
@@ -156,7 +157,7 @@ int8_t filterGetRangeCompFuncFromOptrs(uint8_t optr, uint8_t optr2) {
__compar_fn_t
gDataCompare
[]
=
{
compareInt32Val
,
compareInt8Val
,
compareInt16Val
,
compareInt64Val
,
compareFloatVal
,
compareDoubleVal
,
compareLenPrefixedStr
,
compareStrPatternComp
,
compareFindItemInSet
,
compareWStrPatternComp
,
compareLenPrefixedWStr
,
compareUint8Val
,
compareUint16Val
,
compareUint32Val
,
compareUint64Val
,
setCompareBytes1
,
setCompareBytes2
,
setCompareBytes4
,
setCompareBytes8
setCompareBytes1
,
setCompareBytes2
,
setCompareBytes4
,
setCompareBytes8
,
compareStrRegexComp
,
};
int8_t
filterGetCompFuncIdx
(
int32_t
type
,
int32_t
optr
)
{
...
...
@@ -195,7 +196,9 @@ int8_t filterGetCompFuncIdx(int32_t type, int32_t optr) {
case
TSDB_DATA_TYPE_FLOAT
:
comparFn
=
4
;
break
;
case
TSDB_DATA_TYPE_DOUBLE
:
comparFn
=
5
;
break
;
case
TSDB_DATA_TYPE_BINARY
:
{
if
(
optr
==
TSDB_RELATION_LIKE
)
{
/* wildcard query using like operator */
if
(
optr
==
TSDB_RELATION_MATCH
)
{
comparFn
=
19
;
}
else
if
(
optr
==
TSDB_RELATION_LIKE
)
{
/* wildcard query using like operator */
comparFn
=
7
;
}
else
if
(
optr
==
TSDB_RELATION_IN
)
{
comparFn
=
8
;
...
...
@@ -207,7 +210,9 @@ int8_t filterGetCompFuncIdx(int32_t type, int32_t optr) {
}
case
TSDB_DATA_TYPE_NCHAR
:
{
if
(
optr
==
TSDB_RELATION_LIKE
)
{
if
(
optr
==
TSDB_RELATION_MATCH
)
{
comparFn
=
19
;
}
else
if
(
optr
==
TSDB_RELATION_LIKE
)
{
comparFn
=
9
;
}
else
if
(
optr
==
TSDB_RELATION_IN
)
{
comparFn
=
8
;
...
...
@@ -1871,6 +1876,9 @@ bool filterDoCompare(__compar_fn_t func, uint8_t optr, void *left, void *right)
case
TSDB_RELATION_LIKE
:
{
return
ret
==
0
;
}
case
TSDB_RELATION_MATCH
:
{
return
ret
==
0
;
}
case
TSDB_RELATION_IN
:
{
return
ret
==
1
;
}
...
...
@@ -2641,7 +2649,7 @@ int32_t filterRmUnitByRange(SFilterInfo *info, SDataStatis *pDataStatis, int32_t
}
if
(
cunit
->
optr
==
TSDB_RELATION_ISNULL
||
cunit
->
optr
==
TSDB_RELATION_NOTNULL
||
cunit
->
optr
==
TSDB_RELATION_IN
||
cunit
->
optr
==
TSDB_RELATION_LIKE
||
cunit
->
optr
==
TSDB_RELATION_IN
||
cunit
->
optr
==
TSDB_RELATION_LIKE
||
cunit
->
optr
==
TSDB_RELATION_MATCH
||
cunit
->
optr
==
TSDB_RELATION_NOT_EQUAL
)
{
continue
;
}
...
...
src/query/src/sql.c
浏览文件 @
1f54d6aa
...
...
@@ -25,7 +25,6 @@
#include <stdio.h>
#include <assert.h>
/************ Begin %include sections from the grammar ************************/
#line 23 "sql.y"
#include <stdio.h>
#include <stdlib.h>
...
...
@@ -38,7 +37,6 @@
#include "ttokendef.h"
#include "tutil.h"
#include "tvariant.h"
#line 42 "sql.c"
/**************** End of %include directives **********************************/
/* These constants specify the various numeric values for terminal symbols
** in a format understandable to "makeheaders". This section is blank unless
...
...
@@ -139,18 +137,18 @@ typedef union {
#define ParseCTX_FETCH
#define ParseCTX_STORE
#define YYFALLBACK 1
#define YYNSTATE 36
2
#define YYNRULE 2
89
#define YYNRULE_WITH_ACTION 2
89
#define YYNSTATE 36
4
#define YYNRULE 2
90
#define YYNRULE_WITH_ACTION 2
90
#define YYNTOKEN 195
#define YY_MAX_SHIFT 36
1
#define YY_MIN_SHIFTREDUCE 56
7
#define YY_MAX_SHIFTREDUCE 85
5
#define YY_ERROR_ACTION 85
6
#define YY_ACCEPT_ACTION 8
57
#define YY_NO_ACTION 8
58
#define YY_MIN_REDUCE 8
59
#define YY_MAX_REDUCE 11
47
#define YY_MAX_SHIFT 36
3
#define YY_MIN_SHIFTREDUCE 56
9
#define YY_MAX_SHIFTREDUCE 85
8
#define YY_ERROR_ACTION 85
9
#define YY_ACCEPT_ACTION 8
60
#define YY_NO_ACTION 8
61
#define YY_MIN_REDUCE 8
62
#define YY_MAX_REDUCE 11
51
/************* End control #defines *******************************************/
#define YY_NLOOKAHEAD ((int)(sizeof(yy_lookahead)/sizeof(yy_lookahead[0])))
...
...
@@ -217,163 +215,164 @@ typedef union {
** yy_default[] Default action for each state.
**
*********** Begin parsing tables **********************************************/
#define YY_ACTTAB_COUNT (7
54
)
#define YY_ACTTAB_COUNT (7
61
)
static
const
YYACTIONTYPE
yy_action
[]
=
{
/* 0 */
207
,
618
,
246
,
618
,
618
,
245
,
360
,
229
,
160
,
619
,
/* 10 */
1123
,
619
,
619
,
56
,
57
,
1036
,
60
,
61
,
857
,
361
,
/* 20 */
249
,
50
,
618
,
59
,
318
,
64
,
62
,
65
,
63
,
984
,
/* 30 */
619
,
982
,
983
,
55
,
54
,
160
,
985
,
53
,
52
,
51
,
/* 40 */
986
,
153
,
987
,
988
,
356
,
945
,
654
,
568
,
569
,
570
,
/* 50 */
571
,
572
,
573
,
574
,
575
,
576
,
577
,
578
,
579
,
580
,
/* 60 */
581
,
151
,
207
,
230
,
907
,
207
,
56
,
57
,
1027
,
60
,
/* 70 */
61
,
189
,
1124
,
249
,
50
,
1124
,
59
,
318
,
64
,
62
,
/* 80 */
65
,
63
,
1072
,
1033
,
271
,
79
,
55
,
54
,
3
,
190
,
/* 90 */
53
,
52
,
51
,
56
,
57
,
250
,
60
,
61
,
702
,
1027
,
/* 100 */
249
,
50
,
29
,
59
,
318
,
64
,
62
,
65
,
63
,
91
,
/* 110 */
278
,
277
,
37
,
55
,
54
,
232
,
94
,
53
,
52
,
51
,
/* 120 */
235
,
120
,
114
,
125
,
1014
,
241
,
338
,
337
,
124
,
1014
,
/* 130 */
130
,
133
,
123
,
56
,
58
,
794
,
60
,
61
,
127
,
85
,
/* 140 */
249
,
50
,
92
,
59
,
318
,
64
,
62
,
65
,
63
,
997
,
/* 150 */
998
,
34
,
1001
,
55
,
54
,
207
,
80
,
53
,
52
,
51
,
/* 160 */
57
,
1010
,
60
,
61
,
316
,
1124
,
249
,
50
,
263
,
59
,
/* 170 */
318
,
64
,
62
,
65
,
63
,
37
,
44
,
267
,
266
,
55
,
/* 180 */
54
,
348
,
243
,
53
,
52
,
51
,
1014
,
160
,
43
,
314
,
/* 190 */
355
,
354
,
313
,
312
,
311
,
353
,
310
,
309
,
308
,
352
,
/* 200 */
307
,
351
,
350
,
976
,
964
,
965
,
966
,
967
,
968
,
969
,
/* 210 */
970
,
971
,
972
,
973
,
974
,
975
,
977
,
978
,
60
,
61
,
/* 220 */
231
,
160
,
249
,
50
,
1011
,
59
,
318
,
64
,
62
,
65
,
/* 230 */
63
,
1008
,
1027
,
24
,
258
,
55
,
54
,
1000
,
97
,
53
,
/* 240 */
52
,
51
,
252
,
248
,
809
,
175
,
1013
,
798
,
233
,
801
,
/* 250 */
210
,
804
,
248
,
809
,
1143
,
917
,
798
,
216
,
801
,
292
,
/* 260 */
804
,
90
,
189
,
135
,
134
,
215
,
258
,
55
,
54
,
323
,
/* 270 */
85
,
53
,
52
,
51
,
1002
,
227
,
228
,
176
,
242
,
319
,
/* 280 */
5
,
40
,
179
,
258
,
227
,
228
,
23
,
178
,
103
,
108
,
/* 290 */
99
,
107
,
204
,
726
,
1012
,
1073
,
723
,
290
,
724
,
908
,
/* 300 */
725
,
64
,
62
,
65
,
63
,
303
,
189
,
44
,
257
,
55
,
/* 310 */
54
,
37
,
37
,
53
,
52
,
51
,
800
,
253
,
803
,
251
,
/* 320 */
316
,
326
,
325
,
66
,
254
,
255
,
198
,
196
,
194
,
270
,
/* 330 */
37
,
77
,
66
,
193
,
139
,
138
,
137
,
136
,
223
,
742
,
/* 340 */
799
,
43
,
802
,
355
,
354
,
37
,
37
,
37
,
353
,
53
,
/* 350 */
52
,
51
,
352
,
37
,
351
,
350
,
239
,
240
,
810
,
805
,
/* 360 */
1011
,
1011
,
272
,
78
,
37
,
806
,
122
,
810
,
805
,
37
,
/* 370 */
37
,
359
,
358
,
144
,
806
,
327
,
38
,
14
,
348
,
1011
,
/* 380 */
82
,
93
,
70
,
259
,
739
,
256
,
320
,
333
,
332
,
83
,
/* 390 */
328
,
329
,
330
,
73
,
1011
,
1011
,
1011
,
999
,
334
,
150
,
/* 400 */
148
,
147
,
1011
,
1
,
177
,
775
,
776
,
727
,
728
,
335
,
/* 410 */
9
,
96
,
796
,
1011
,
336
,
340
,
758
,
274
,
1011
,
1011
,
/* 420 */
1083
,
766
,
767
,
746
,
71
,
712
,
274
,
295
,
714
,
297
,
/* 430 */
155
,
713
,
33
,
74
,
807
,
67
,
26
,
830
,
811
,
38
,
/* 440 */
247
,
38
,
67
,
95
,
76
,
67
,
617
,
16
,
797
,
15
,
/* 450 */
205
,
25
,
25
,
113
,
18
,
112
,
17
,
731
,
808
,
732
,
/* 460 */
25
,
6
,
729
,
211
,
730
,
298
,
20
,
119
,
19
,
118
,
/* 470 */
22
,
1120
,
21
,
132
,
131
,
1119
,
701
,
1118
,
225
,
226
,
/* 480 */
208
,
209
,
1135
,
212
,
206
,
213
,
214
,
813
,
218
,
219
,
/* 490 */
220
,
217
,
203
,
1082
,
237
,
1079
,
1078
,
238
,
339
,
47
,
/* 500 */
1028
,
268
,
152
,
1065
,
1064
,
1035
,
149
,
275
,
1009
,
279
,
/* 510 */
1046
,
1043
,
1044
,
1048
,
154
,
159
,
286
,
171
,
172
,
273
,
/* 520 */
234
,
1007
,
173
,
162
,
174
,
922
,
300
,
301
,
302
,
305
,
/* 530 */
306
,
757
,
1025
,
45
,
281
,
201
,
161
,
283
,
41
,
317
,
/* 540 */
75
,
916
,
293
,
72
,
49
,
324
,
164
,
1142
,
291
,
110
,
/* 550 */
1141
,
1138
,
163
,
289
,
180
,
331
,
1134
,
116
,
1133
,
1130
,
/* 560 */
287
,
285
,
181
,
942
,
42
,
39
,
46
,
202
,
282
,
904
,
/* 570 */
126
,
902
,
128
,
129
,
900
,
899
,
260
,
280
,
192
,
897
,
/* 580 */
896
,
895
,
894
,
893
,
892
,
891
,
195
,
197
,
888
,
886
,
/* 590 */
884
,
882
,
199
,
48
,
879
,
200
,
875
,
304
,
349
,
81
,
/* 600 */
86
,
284
,
1066
,
121
,
341
,
342
,
343
,
344
,
345
,
346
,
/* 610 */
347
,
357
,
855
,
262
,
261
,
854
,
224
,
244
,
299
,
264
,
/* 620 */
265
,
853
,
836
,
221
,
222
,
835
,
269
,
294
,
104
,
921
,
/* 630 */
920
,
274
,
105
,
10
,
276
,
87
,
84
,
898
,
734
,
140
,
/* 640 */
30
,
156
,
141
,
184
,
890
,
183
,
943
,
182
,
185
,
187
,
/* 650 */
186
,
142
,
188
,
2
,
889
,
759
,
143
,
881
,
980
,
165
,
/* 660 */
880
,
166
,
167
,
944
,
168
,
169
,
170
,
4
,
990
,
768
,
/* 670 */
157
,
158
,
762
,
88
,
236
,
764
,
89
,
288
,
31
,
11
,
/* 680 */
32
,
12
,
13
,
27
,
296
,
28
,
96
,
101
,
98
,
35
,
/* 690 */
100
,
632
,
36
,
667
,
102
,
665
,
664
,
663
,
661
,
660
,
/* 700 */
659
,
656
,
622
,
315
,
106
,
7
,
321
,
812
,
322
,
8
,
/* 710 */
814
,
109
,
111
,
68
,
69
,
38
,
704
,
703
,
115
,
700
,
/* 720 */
117
,
648
,
646
,
638
,
644
,
640
,
642
,
636
,
634
,
670
,
/* 730 */
669
,
668
,
666
,
662
,
658
,
657
,
191
,
620
,
585
,
859
,
/* 740 */
858
,
858
,
858
,
858
,
858
,
858
,
858
,
858
,
858
,
858
,
/* 750 */
858
,
858
,
145
,
146
,
/* 0 */
208
,
620
,
237
,
620
,
362
,
231
,
1017
,
1030
,
243
,
621
,
/* 10 */
1127
,
621
,
1017
,
57
,
58
,
37
,
61
,
62
,
656
,
1039
,
/* 20 */
251
,
51
,
50
,
234
,
60
,
320
,
65
,
63
,
66
,
64
,
/* 30 */
1030
,
802
,
245
,
805
,
56
,
55
,
1017
,
23
,
54
,
53
,
/* 40 */
52
,
57
,
58
,
620
,
61
,
62
,
235
,
260
,
251
,
51
,
/* 50 */
50
,
621
,
60
,
320
,
65
,
63
,
66
,
64
,
176
,
154
,
/* 60 */
233
,
205
,
56
,
55
,
1014
,
248
,
54
,
53
,
52
,
979
,
/* 70 */
967
,
968
,
969
,
970
,
971
,
972
,
973
,
974
,
975
,
976
,
/* 80 */
977
,
978
,
980
,
981
,
29
,
318
,
80
,
1036
,
570
,
571
,
/* 90 */
572
,
573
,
574
,
575
,
576
,
577
,
578
,
579
,
580
,
581
,
/* 100 */
582
,
583
,
152
,
98
,
232
,
57
,
58
,
37
,
61
,
62
,
/* 110 */
247
,
796
,
251
,
51
,
50
,
350
,
60
,
320
,
65
,
63
,
/* 120 */
66
,
64
,
54
,
53
,
52
,
208
,
56
,
55
,
280
,
279
,
/* 130 */
54
,
53
,
52
,
57
,
59
,
1128
,
61
,
62
,
74
,
1005
,
/* 140 */
251
,
51
,
50
,
620
,
60
,
320
,
65
,
63
,
66
,
64
,
/* 150 */
809
,
621
,
241
,
206
,
56
,
55
,
1014
,
1003
,
54
,
53
,
/* 160 */
52
,
58
,
161
,
61
,
62
,
212
,
260
,
251
,
51
,
50
,
/* 170 */
208
,
60
,
320
,
65
,
63
,
66
,
64
,
177
,
75
,
252
,
/* 180 */
1128
,
56
,
55
,
161
,
213
,
54
,
53
,
52
,
61
,
62
,
/* 190 */
860
,
363
,
251
,
51
,
50
,
265
,
60
,
320
,
65
,
63
,
/* 200 */
66
,
64
,
704
,
1011
,
269
,
268
,
56
,
55
,
358
,
948
,
/* 210 */
54
,
53
,
52
,
43
,
316
,
357
,
356
,
315
,
314
,
313
,
/* 220 */
355
,
312
,
311
,
310
,
354
,
309
,
353
,
352
,
24
,
250
,
/* 230 */
811
,
340
,
339
,
800
,
95
,
803
,
1076
,
806
,
292
,
208
,
/* 240 */
1030
,
318
,
86
,
260
,
1123
,
211
,
37
,
250
,
811
,
1128
,
/* 250 */
244
,
800
,
218
,
803
,
1015
,
806
,
273
,
1075
,
136
,
135
,
/* 260 */
217
,
1122
,
229
,
230
,
325
,
86
,
321
,
1000
,
1001
,
34
,
/* 270 */
1004
,
1121
,
37
,
37
,
274
,
5
,
40
,
180
,
37
,
44
,
/* 280 */
229
,
230
,
179
,
104
,
109
,
100
,
108
,
728
,
38
,
123
,
/* 290 */
725
,
242
,
726
,
37
,
727
,
1014
,
801
,
161
,
804
,
37
,
/* 300 */
305
,
350
,
44
,
65
,
63
,
66
,
64
,
910
,
161
,
14
,
/* 310 */
67
,
56
,
55
,
94
,
190
,
54
,
53
,
52
,
329
,
256
,
/* 320 */
257
,
1013
,
1014
,
330
,
272
,
227
,
78
,
1014
,
67
,
920
,
/* 330 */
121
,
115
,
126
,
225
,
254
,
37
,
190
,
125
,
331
,
131
,
/* 340 */
134
,
124
,
1014
,
97
,
332
,
812
,
807
,
128
,
1014
,
199
,
/* 350 */
197
,
195
,
808
,
259
,
1
,
178
,
194
,
140
,
139
,
138
,
/* 360 */
137
,
56
,
55
,
812
,
807
,
54
,
53
,
52
,
911
,
294
,
/* 370 */
808
,
91
,
37
,
37
,
43
,
190
,
357
,
356
,
37
,
93
,
/* 380 */
336
,
355
,
92
,
744
,
1014
,
354
,
322
,
353
,
352
,
361
,
/* 390 */
360
,
145
,
79
,
81
,
987
,
71
,
985
,
986
,
151
,
149
,
/* 400 */
148
,
988
,
729
,
730
,
83
,
989
,
1016
,
990
,
991
,
255
,
/* 410 */
741
,
253
,
84
,
328
,
327
,
810
,
228
,
337
,
338
,
3
,
/* 420 */
191
,
1014
,
1014
,
342
,
777
,
778
,
1002
,
1014
,
261
,
760
,
/* 430 */
258
,
768
,
335
,
334
,
769
,
33
,
9
,
72
,
714
,
297
,
/* 440 */
716
,
276
,
299
,
156
,
715
,
68
,
833
,
813
,
26
,
276
,
/* 450 */
798
,
249
,
38
,
38
,
68
,
619
,
96
,
16
,
68
,
15
,
/* 460 */
25
,
25
,
114
,
18
,
113
,
17
,
77
,
748
,
300
,
25
,
/* 470 */
209
,
733
,
6
,
734
,
731
,
20
,
732
,
19
,
120
,
22
,
/* 480 */
119
,
21
,
133
,
132
,
210
,
214
,
207
,
799
,
815
,
215
,
/* 490 */
216
,
1147
,
1139
,
220
,
221
,
222
,
219
,
204
,
703
,
1086
,
/* 500 */
1085
,
239
,
270
,
1082
,
153
,
1081
,
240
,
341
,
1038
,
1068
,
/* 510 */
47
,
1049
,
1046
,
1047
,
1067
,
150
,
1031
,
277
,
1012
,
1051
,
/* 520 */
281
,
155
,
160
,
288
,
172
,
173
,
236
,
283
,
1010
,
174
,
/* 530 */
170
,
168
,
163
,
175
,
925
,
302
,
303
,
304
,
307
,
308
,
/* 540 */
45
,
202
,
759
,
1028
,
41
,
164
,
319
,
919
,
285
,
326
,
/* 550 */
76
,
1146
,
162
,
73
,
295
,
111
,
49
,
1145
,
165
,
1142
,
/* 560 */
293
,
291
,
181
,
333
,
1138
,
117
,
1137
,
1134
,
289
,
287
,
/* 570 */
182
,
945
,
42
,
39
,
46
,
203
,
907
,
127
,
905
,
129
,
/* 580 */
130
,
284
,
903
,
902
,
262
,
193
,
900
,
282
,
899
,
898
,
/* 590 */
897
,
896
,
895
,
894
,
196
,
198
,
891
,
889
,
887
,
885
,
/* 600 */
200
,
48
,
882
,
201
,
878
,
306
,
351
,
275
,
82
,
87
,
/* 610 */
286
,
1069
,
344
,
122
,
343
,
345
,
346
,
347
,
226
,
246
,
/* 620 */
348
,
349
,
301
,
359
,
858
,
263
,
264
,
857
,
223
,
266
,
/* 630 */
224
,
267
,
856
,
839
,
924
,
105
,
923
,
106
,
271
,
838
,
/* 640 */
276
,
296
,
85
,
278
,
10
,
901
,
736
,
141
,
142
,
185
,
/* 650 */
893
,
184
,
946
,
183
,
186
,
187
,
189
,
143
,
188
,
892
,
/* 660 */
947
,
2
,
30
,
144
,
983
,
4
,
884
,
883
,
166
,
169
,
/* 670 */
167
,
88
,
171
,
761
,
993
,
157
,
159
,
770
,
158
,
238
,
/* 680 */
764
,
89
,
31
,
766
,
90
,
290
,
11
,
12
,
32
,
13
,
/* 690 */
27
,
298
,
28
,
97
,
99
,
102
,
35
,
101
,
634
,
36
,
/* 700 */
103
,
669
,
667
,
666
,
665
,
663
,
662
,
661
,
658
,
317
,
/* 710 */
624
,
107
,
7
,
323
,
814
,
816
,
8
,
324
,
110
,
112
,
/* 720 */
69
,
70
,
116
,
706
,
705
,
38
,
702
,
650
,
118
,
648
,
/* 730 */
640
,
646
,
642
,
644
,
638
,
636
,
672
,
671
,
670
,
668
,
/* 740 */
664
,
660
,
659
,
192
,
622
,
587
,
862
,
861
,
861
,
861
,
/* 750 */
861
,
861
,
861
,
861
,
861
,
861
,
861
,
861
,
861
,
146
,
/* 760 */
147
,
};
static
const
YYCODETYPE
yy_lookahead
[]
=
{
/* 0 */
264
,
1
,
2
04
,
1
,
1
,
204
,
197
,
198
,
197
,
9
,
/* 10 */
274
,
9
,
9
,
13
,
14
,
197
,
16
,
17
,
195
,
196
,
/* 20 */
20
,
21
,
1
,
23
,
24
,
25
,
26
,
27
,
28
,
221
,
/* 30 */
9
,
223
,
224
,
33
,
34
,
197
,
228
,
37
,
38
,
39
,
/* 40 */
232
,
197
,
234
,
235
,
219
,
220
,
5
,
45
,
46
,
47
,
/* 50 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
5
7
,
/* 60 */
58
,
59
,
264
,
61
,
203
,
264
,
13
,
14
,
245
,
16
,
/* 70 */
17
,
210
,
274
,
20
,
21
,
274
,
23
,
24
,
25
,
26
,
/* 80 */
27
,
28
,
271
,
265
,
261
,
85
,
33
,
34
,
201
,
202
,
/* 90 */
37
,
38
,
39
,
13
,
14
,
204
,
16
,
17
,
5
,
245
,
/* 100 */
20
,
21
,
81
,
23
,
24
,
25
,
26
,
27
,
28
,
271
,
/* 110 */
2
66
,
267
,
197
,
33
,
34
,
261
,
205
,
37
,
38
,
39
,
/* 120 */
243
,
62
,
63
,
64
,
247
,
243
,
33
,
34
,
69
,
24
7
,
/* 130 */
71
,
72
,
73
,
13
,
14
,
82
,
16
,
17
,
79
,
8
1
,
/* 140 */
20
,
21
,
248
,
23
,
24
,
25
,
26
,
27
,
28
,
238
,
/* 150 */
239
,
240
,
241
,
33
,
34
,
264
,
262
,
37
,
38
,
39
,
/* 160 */
14
,
246
,
16
,
17
,
83
,
274
,
20
,
21
,
141
,
23
,
/* 170 */
24
,
25
,
26
,
27
,
28
,
197
,
118
,
150
,
151
,
33
,
/* 180 */
34
,
89
,
243
,
37
,
38
,
39
,
247
,
197
,
97
,
98
,
/* 190 */
99
,
100
,
101
,
102
,
103
,
104
,
105
,
106
,
107
,
108
,
/* 200 */
109
,
110
,
111
,
221
,
222
,
223
,
224
,
225
,
226
,
227
,
/* 210 */
228
,
229
,
230
,
231
,
232
,
233
,
234
,
235
,
16
,
17
,
/* 220 */
242
,
197
,
20
,
21
,
246
,
23
,
24
,
25
,
26
,
27
,
/* 230 */
28
,
197
,
245
,
44
,
197
,
33
,
34
,
0
,
205
,
37
,
/* 240 */
38
,
39
,
68
,
1
,
2
,
208
,
247
,
5
,
261
,
7
,
/* 250 */
61
,
9
,
1
,
2
,
247
,
203
,
5
,
68
,
7
,
269
,
/* 260 */
9
,
271
,
210
,
74
,
75
,
76
,
197
,
33
,
34
,
8
0
,
/* 270 */
81
,
37
,
38
,
39
,
241
,
33
,
34
,
208
,
244
,
37
,
/* 280 */
62
,
63
,
64
,
197
,
33
,
34
,
264
,
69
,
70
,
71
,
/* 290 */
72
,
73
,
264
,
2
,
208
,
271
,
5
,
273
,
7
,
203
,
/* 300 */
9
,
25
,
26
,
27
,
28
,
87
,
210
,
118
,
68
,
33
,
/* 310 */
34
,
197
,
197
,
37
,
38
,
39
,
5
,
143
,
7
,
145
,
/* 320 */
83
,
147
,
148
,
81
,
33
,
34
,
62
,
63
,
64
,
140
,
/* 330 */
197
,
142
,
81
,
69
,
70
,
71
,
72
,
73
,
149
,
37
,
/* 340 */
5
,
97
,
7
,
99
,
100
,
197
,
197
,
197
,
104
,
37
,
/* 350 */
38
,
39
,
108
,
197
,
110
,
111
,
242
,
242
,
116
,
117
,
/* 360 */
246
,
246
,
82
,
205
,
197
,
123
,
77
,
116
,
117
,
197
,
/* 370 */
1
97
,
65
,
66
,
67
,
123
,
242
,
96
,
81
,
89
,
246
,
/* 380 */
82
,
85
,
96
,
143
,
96
,
145
,
15
,
147
,
148
,
82
,
/* 390 */
242
,
242
,
242
,
96
,
246
,
246
,
246
,
239
,
242
,
62
,
/* 400 */
6
3
,
64
,
246
,
206
,
207
,
131
,
132
,
116
,
117
,
242
,
/* 410 */
122
,
115
,
1
,
246
,
242
,
242
,
82
,
119
,
246
,
246
,
/* 420 */
2
37
,
82
,
82
,
121
,
138
,
82
,
119
,
82
,
82
,
82
,
/* 430 */
96
,
82
,
81
,
136
,
123
,
96
,
96
,
82
,
82
,
96
,
/* 440 */
60
,
96
,
96
,
96
,
81
,
96
,
82
,
144
,
37
,
146
,
/* 450 */
264
,
96
,
96
,
144
,
144
,
146
,
146
,
5
,
123
,
7
,
/* 460 */
9
6
,
81
,
5
,
264
,
7
,
114
,
144
,
144
,
146
,
146
,
/* 470 */
144
,
264
,
146
,
77
,
78
,
264
,
113
,
264
,
264
,
264
,
/* 480 */
264
,
264
,
247
,
264
,
264
,
264
,
264
,
116
,
264
,
264
,
/* 490 */
264
,
2
64
,
264
,
237
,
237
,
237
,
237
,
237
,
237
,
263
,
/* 500 */
2
45
,
197
,
197
,
272
,
272
,
197
,
60
,
245
,
245
,
268
,
/* 510 */
197
,
197
,
197
,
197
,
197
,
197
,
197
,
249
,
197
,
199
,
/* 520 */
268
,
197
,
197
,
258
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 530 */
197
,
123
,
260
,
197
,
268
,
197
,
259
,
268
,
197
,
197
,
/* 540 */
1
35
,
197
,
129
,
137
,
134
,
197
,
256
,
197
,
133
,
197
,
/* 550 */
1
97
,
197
,
257
,
127
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 560 */
1
26
,
125
,
197
,
197
,
197
,
197
,
197
,
197
,
128
,
197
,
/* 570 */
197
,
197
,
197
,
197
,
197
,
197
,
197
,
1
24
,
197
,
197
,
/* 580 */
197
,
1
97
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 590 */
197
,
197
,
197
,
1
39
,
197
,
197
,
197
,
88
,
112
,
199
,
/* 600 */
19
9
,
199
,
199
,
95
,
94
,
51
,
91
,
93
,
55
,
92
,
/* 610 */
90
,
83
,
5
,
5
,
152
,
5
,
199
,
199
,
199
,
152
,
/* 620 */
5
,
5
,
99
,
199
,
199
,
98
,
141
,
114
,
205
,
209
,
/* 630 */
209
,
119
,
205
,
81
,
96
,
96
,
120
,
199
,
82
,
200
,
/* 640 */
81
,
81
,
200
,
212
,
199
,
216
,
218
,
217
,
215
,
214
,
/* 650 */
213
,
200
,
211
,
206
,
199
,
82
,
200
,
199
,
236
,
255
,
/* 660 */
199
,
254
,
253
,
220
,
252
,
251
,
250
,
201
,
236
,
8
2
,
/* 670 */
81
,
96
,
82
,
81
,
1
,
82
,
81
,
81
,
96
,
130
,
/* 680 */
96
,
130
,
81
,
81
,
114
,
81
,
115
,
70
,
77
,
86
,
/* 690 */
8
5
,
5
,
86
,
9
,
85
,
5
,
5
,
5
,
5
,
5
,
/* 700 */
5
,
5
,
84
,
15
,
77
,
81
,
24
,
82
,
59
,
81
,
/* 710 */
116
,
146
,
146
,
16
,
16
,
96
,
5
,
5
,
146
,
82
,
/* 720 */
146
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 730 */
5
,
5
,
5
,
5
,
5
,
5
,
96
,
84
,
60
,
0
,
/* 740 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 750 */
275
,
275
,
21
,
21
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 760 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 0 */
264
,
1
,
2
43
,
1
,
197
,
198
,
247
,
245
,
243
,
9
,
/* 10 */
274
,
9
,
247
,
13
,
14
,
197
,
16
,
17
,
5
,
197
,
/* 20 */
20
,
21
,
22
,
261
,
24
,
25
,
26
,
27
,
28
,
29
,
/* 30 */
245
,
5
,
243
,
7
,
34
,
35
,
247
,
264
,
38
,
39
,
/* 40 */
40
,
13
,
14
,
1
,
16
,
17
,
261
,
197
,
20
,
21
,
/* 50 */
22
,
9
,
24
,
25
,
26
,
27
,
28
,
29
,
208
,
19
7
,
/* 60 */
242
,
264
,
34
,
35
,
246
,
204
,
38
,
39
,
40
,
221
,
/* 70 */
222
,
223
,
224
,
225
,
226
,
227
,
228
,
229
,
230
,
231
,
/* 80 */
232
,
233
,
234
,
235
,
82
,
84
,
86
,
265
,
46
,
47
,
/* 90 */
48
,
49
,
50
,
51
,
52
,
53
,
54
,
55
,
56
,
57
,
/* 100 */
58
,
59
,
60
,
205
,
62
,
13
,
14
,
197
,
16
,
17
,
/* 110 */
2
04
,
83
,
20
,
21
,
22
,
90
,
24
,
25
,
26
,
27
,
/* 120 */
28
,
29
,
38
,
39
,
40
,
264
,
34
,
35
,
266
,
26
7
,
/* 130 */
38
,
39
,
40
,
13
,
14
,
274
,
16
,
17
,
97
,
24
1
,
/* 140 */
20
,
21
,
22
,
1
,
24
,
25
,
26
,
27
,
28
,
29
,
/* 150 */
124
,
9
,
242
,
264
,
34
,
35
,
246
,
0
,
38
,
39
,
/* 160 */
40
,
14
,
197
,
16
,
17
,
264
,
197
,
20
,
21
,
22
,
/* 170 */
264
,
24
,
25
,
26
,
27
,
28
,
29
,
208
,
137
,
204
,
/* 180 */
274
,
34
,
35
,
197
,
264
,
38
,
39
,
40
,
16
,
17
,
/* 190 */
195
,
196
,
20
,
21
,
22
,
142
,
24
,
25
,
26
,
27
,
/* 200 */
28
,
29
,
5
,
197
,
151
,
152
,
34
,
35
,
219
,
220
,
/* 210 */
38
,
39
,
40
,
98
,
99
,
100
,
101
,
102
,
103
,
104
,
/* 220 */
105
,
106
,
107
,
108
,
109
,
110
,
111
,
112
,
45
,
1
,
/* 230 */
2
,
34
,
35
,
5
,
205
,
7
,
271
,
9
,
273
,
264
,
/* 240 */
245
,
84
,
82
,
197
,
264
,
62
,
197
,
1
,
2
,
274
,
/* 250 */
244
,
5
,
69
,
7
,
208
,
9
,
261
,
271
,
75
,
76
,
/* 260 */
77
,
264
,
34
,
35
,
81
,
82
,
38
,
238
,
239
,
24
0
,
/* 270 */
241
,
264
,
197
,
197
,
83
,
63
,
64
,
65
,
197
,
119
,
/* 280 */
34
,
35
,
70
,
71
,
72
,
73
,
74
,
2
,
97
,
78
,
/* 290 */
5
,
242
,
7
,
197
,
9
,
246
,
5
,
197
,
7
,
197
,
/* 300 */
88
,
90
,
119
,
26
,
27
,
28
,
29
,
203
,
197
,
82
,
/* 310 */
82
,
34
,
35
,
86
,
210
,
38
,
39
,
40
,
242
,
34
,
/* 320 */
35
,
246
,
246
,
242
,
141
,
264
,
143
,
246
,
82
,
203
,
/* 330 */
63
,
64
,
65
,
150
,
69
,
197
,
210
,
70
,
242
,
72
,
/* 340 */
73
,
74
,
246
,
116
,
242
,
117
,
118
,
80
,
246
,
63
,
/* 350 */
64
,
65
,
124
,
69
,
206
,
207
,
70
,
71
,
72
,
73
,
/* 360 */
74
,
34
,
35
,
117
,
118
,
38
,
39
,
40
,
203
,
269
,
/* 370 */
1
24
,
271
,
197
,
197
,
98
,
210
,
100
,
101
,
197
,
248
,
/* 380 */
242
,
105
,
271
,
38
,
246
,
109
,
15
,
111
,
112
,
66
,
/* 390 */
67
,
68
,
205
,
262
,
221
,
97
,
223
,
224
,
63
,
64
,
/* 400 */
6
5
,
228
,
117
,
118
,
83
,
232
,
247
,
234
,
235
,
144
,
/* 410 */
97
,
146
,
83
,
148
,
149
,
124
,
264
,
242
,
242
,
201
,
/* 420 */
2
02
,
246
,
246
,
242
,
132
,
133
,
239
,
246
,
144
,
83
,
/* 430 */
146
,
83
,
148
,
149
,
83
,
82
,
123
,
139
,
83
,
83
,
/* 440 */
83
,
120
,
83
,
97
,
83
,
97
,
83
,
83
,
97
,
120
,
/* 450 */
1
,
61
,
97
,
97
,
97
,
83
,
97
,
145
,
97
,
14
7
,
/* 460 */
9
7
,
97
,
145
,
145
,
147
,
147
,
82
,
122
,
115
,
97
,
/* 470 */
264
,
5
,
82
,
7
,
5
,
145
,
7
,
147
,
145
,
145
,
/* 480 */
147
,
147
,
78
,
79
,
264
,
264
,
264
,
38
,
117
,
264
,
/* 490 */
264
,
2
47
,
247
,
264
,
264
,
264
,
264
,
264
,
114
,
237
,
/* 500 */
2
37
,
237
,
197
,
237
,
197
,
237
,
237
,
237
,
197
,
272
,
/* 510 */
263
,
197
,
197
,
197
,
272
,
61
,
245
,
245
,
245
,
197
,
/* 520 */
268
,
197
,
197
,
197
,
249
,
197
,
268
,
268
,
197
,
197
,
/* 530 */
251
,
253
,
258
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 540 */
1
97
,
197
,
124
,
260
,
197
,
257
,
197
,
197
,
268
,
197
,
/* 550 */
1
36
,
197
,
259
,
138
,
130
,
197
,
135
,
197
,
256
,
197
,
/* 560 */
1
34
,
128
,
197
,
197
,
197
,
197
,
197
,
197
,
127
,
126
,
/* 570 */
197
,
197
,
197
,
197
,
197
,
197
,
197
,
1
97
,
197
,
197
,
/* 580 */
197
,
1
29
,
197
,
197
,
197
,
197
,
197
,
125
,
197
,
197
,
/* 590 */
197
,
197
,
197
,
1
97
,
197
,
197
,
197
,
197
,
197
,
197
,
/* 600 */
19
7
,
140
,
197
,
197
,
197
,
89
,
113
,
199
,
199
,
199
,
/* 610 */
199
,
199
,
52
,
96
,
95
,
92
,
94
,
56
,
199
,
199
,
/* 620 */
93
,
91
,
199
,
84
,
5
,
153
,
5
,
5
,
199
,
153
,
/* 630 */
199
,
5
,
5
,
100
,
209
,
205
,
209
,
205
,
142
,
99
,
/* 640 */
120
,
115
,
121
,
97
,
82
,
199
,
83
,
200
,
200
,
212
,
/* 650 */
199
,
216
,
218
,
217
,
215
,
213
,
211
,
200
,
214
,
199
,
/* 660 */
220
,
206
,
82
,
200
,
236
,
201
,
199
,
199
,
255
,
25
2
,
/* 670 */
254
,
97
,
250
,
83
,
236
,
82
,
97
,
83
,
82
,
1
,
/* 680 */
83
,
82
,
97
,
83
,
82
,
82
,
131
,
131
,
97
,
82
,
/* 690 */
8
2
,
115
,
82
,
116
,
78
,
71
,
87
,
86
,
5
,
87
,
/* 700 */
86
,
9
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
15
,
/* 710 */
85
,
78
,
82
,
25
,
83
,
117
,
82
,
60
,
147
,
147
,
/* 720 */
16
,
16
,
147
,
5
,
5
,
97
,
83
,
5
,
147
,
5
,
/* 730 */
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
5
,
/* 740 */
5
,
5
,
5
,
97
,
85
,
61
,
0
,
275
,
275
,
275
,
/* 750 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
21
,
/* 760 */
21
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 770 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 780 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 790 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
...
...
@@ -391,114 +390,115 @@ static const YYCODETYPE yy_lookahead[] = {
/* 910 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 920 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 930 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 940 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 940 */
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
275
,
/* 950 */
275
,
275
,
275
,
275
,
275
,
275
,
};
#define YY_SHIFT_COUNT (36
1
)
#define YY_SHIFT_COUNT (36
3
)
#define YY_SHIFT_MIN (0)
#define YY_SHIFT_MAX (7
39
)
#define YY_SHIFT_MAX (7
46
)
static
const
unsigned
short
int
yy_shift_ofst
[]
=
{
/* 0 */
18
9
,
91
,
91
,
244
,
244
,
81
,
242
,
251
,
251
,
21
,
/* 10 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 20 */
3
,
3
,
3
,
0
,
2
,
251
,
291
,
291
,
291
,
58
,
/* 30 */
58
,
3
,
3
,
3
,
237
,
3
,
3
,
3
,
3
,
289
,
/* 40 */
81
,
92
,
92
,
41
,
754
,
754
,
754
,
251
,
251
,
251
,
/* 50 */
2
51
,
251
,
251
,
251
,
251
,
251
,
251
,
251
,
251
,
251
,
/* 60 */
2
51
,
251
,
251
,
251
,
251
,
251
,
251
,
291
,
291
,
291
,
/* 70 */
93
,
93
,
93
,
93
,
93
,
93
,
93
,
3
,
3
,
3
,
/* 80 */
302
,
3
,
3
,
3
,
58
,
58
,
3
,
3
,
3
,
3
,
/* 90 */
274
,
274
,
288
,
58
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 100 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 110 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 120 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 130 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 140 */
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
3
,
/* 150 */
3
,
3
,
446
,
446
,
446
,
408
,
408
,
408
,
408
,
446
,
/* 160 */
4
46
,
405
,
406
,
413
,
410
,
415
,
426
,
434
,
436
,
440
,
/* 170 */
45
3
,
454
,
446
,
446
,
446
,
509
,
509
,
486
,
81
,
8
1
,
/* 180 */
446
,
446
,
508
,
510
,
554
,
515
,
514
,
553
,
517
,
520
,
/* 190 */
486
,
41
,
446
,
528
,
528
,
446
,
528
,
446
,
528
,
446
,
/* 200 */
4
46
,
754
,
754
,
53
,
80
,
80
,
120
,
80
,
146
,
202
,
/* 210 */
218
,
276
,
276
,
276
,
276
,
59
,
264
,
234
,
234
,
234
,
/* 220 */
234
,
174
,
240
,
27
,
296
,
312
,
312
,
311
,
335
,
30
6
,
/* 230 */
337
,
280
,
298
,
307
,
334
,
339
,
340
,
286
,
297
,
343
,
/* 240 */
345
,
346
,
347
,
349
,
351
,
355
,
356
,
411
,
380
,
371
,
/* 250 */
3
64
,
303
,
309
,
310
,
452
,
457
,
322
,
323
,
363
,
326
,
/* 260 */
3
96
,
607
,
462
,
608
,
610
,
467
,
615
,
616
,
523
,
5
27
,
/* 270 */
485
,
512
,
513
,
552
,
516
,
556
,
559
,
538
,
539
,
573
,
/* 280 */
5
60
,
587
,
589
,
590
,
575
,
592
,
593
,
595
,
673
,
596
,
/* 290 */
582
,
549
,
584
,
551
,
601
,
513
,
602
,
570
,
604
,
571
,
/* 300 */
61
1
,
603
,
605
,
617
,
686
,
606
,
609
,
684
,
690
,
691
,
/* 310 */
69
2
,
693
,
694
,
695
,
696
,
618
,
688
,
627
,
624
,
625
,
/* 320 */
594
,
628
,
682
,
649
,
697
,
565
,
566
,
619
,
619
,
619
,
/* 330 */
6
19
,
698
,
572
,
574
,
619
,
619
,
619
,
711
,
712
,
637
,
/* 340 */
619
,
716
,
717
,
718
,
719
,
720
,
721
,
722
,
723
,
724
,
/* 350 */
7
25
,
726
,
727
,
728
,
729
,
730
,
640
,
653
,
731
,
732
,
/* 360 */
678
,
739
,
/* 0 */
18
3
,
115
,
115
,
276
,
276
,
1
,
228
,
246
,
246
,
2
,
/* 10 */
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
/* 20 */
142
,
142
,
142
,
0
,
42
,
246
,
285
,
285
,
285
,
160
,
/* 30 */
160
,
142
,
142
,
142
,
157
,
142
,
142
,
142
,
142
,
211
,
/* 40 */
1
,
25
,
25
,
13
,
761
,
761
,
761
,
246
,
246
,
246
,
/* 50 */
2
46
,
246
,
246
,
246
,
246
,
246
,
246
,
246
,
246
,
246
,
/* 60 */
2
46
,
246
,
246
,
246
,
246
,
246
,
246
,
246
,
285
,
285
,
/* 70 */
285
,
197
,
197
,
197
,
197
,
197
,
197
,
197
,
142
,
142
,
/* 80 */
142
,
345
,
142
,
142
,
142
,
160
,
160
,
142
,
142
,
142
,
/* 90 */
142
,
292
,
292
,
313
,
160
,
142
,
142
,
142
,
142
,
142
,
/* 100 */
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
/* 110 */
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
/* 120 */
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
/* 130 */
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
/* 140 */
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
142
,
/* 150 */
142
,
142
,
142
,
454
,
454
,
454
,
418
,
418
,
418
,
418
,
/* 160 */
4
54
,
454
,
414
,
415
,
424
,
421
,
426
,
433
,
441
,
443
,
/* 170 */
45
2
,
462
,
461
,
454
,
454
,
454
,
516
,
516
,
493
,
1
,
/* 180 */
1
,
454
,
454
,
517
,
519
,
560
,
523
,
522
,
561
,
527
,
/* 190 */
530
,
493
,
13
,
454
,
539
,
539
,
454
,
539
,
454
,
539
,
/* 200 */
4
54
,
454
,
761
,
761
,
28
,
92
,
92
,
120
,
92
,
147
,
/* 210 */
172
,
212
,
277
,
277
,
277
,
277
,
277
,
267
,
286
,
327
,
/* 220 */
327
,
327
,
327
,
265
,
284
,
53
,
227
,
84
,
84
,
2
6
,
/* 230 */
291
,
323
,
335
,
191
,
321
,
329
,
346
,
348
,
351
,
298
,
/* 240 */
41
,
355
,
356
,
357
,
359
,
361
,
353
,
363
,
364
,
449
,
/* 250 */
3
90
,
371
,
372
,
312
,
317
,
318
,
466
,
469
,
330
,
333
,
/* 260 */
3
84
,
334
,
404
,
619
,
472
,
621
,
622
,
476
,
626
,
6
27
,
/* 270 */
533
,
540
,
496
,
520
,
526
,
562
,
521
,
563
,
580
,
546
,
/* 280 */
5
74
,
590
,
593
,
594
,
596
,
597
,
579
,
599
,
600
,
602
,
/* 290 */
678
,
603
,
585
,
555
,
591
,
556
,
607
,
526
,
608
,
576
,
/* 300 */
61
0
,
577
,
616
,
609
,
611
,
624
,
693
,
612
,
614
,
692
,
/* 310 */
69
7
,
698
,
699
,
700
,
701
,
702
,
703
,
625
,
694
,
633
,
/* 320 */
630
,
631
,
598
,
634
,
688
,
657
,
704
,
571
,
572
,
628
,
/* 330 */
6
28
,
628
,
628
,
705
,
575
,
581
,
628
,
628
,
628
,
718
,
/* 340 */
719
,
643
,
628
,
722
,
724
,
725
,
726
,
727
,
728
,
729
,
/* 350 */
7
30
,
731
,
732
,
733
,
734
,
735
,
736
,
737
,
646
,
659
,
/* 360 */
738
,
739
,
684
,
746
,
};
#define YY_REDUCE_COUNT (20
2
)
#define YY_REDUCE_COUNT (20
3
)
#define YY_REDUCE_MIN (-264)
#define YY_REDUCE_MAX (46
6
)
#define YY_REDUCE_MAX (46
8
)
static
const
short
yy_reduce_ofst
[]
=
{
/* 0 */
-
177
,
-
18
,
-
18
,
-
192
,
-
192
,
-
89
,
-
202
,
-
199
,
-
109
,
-
156
,
/* 10 */
-
22
,
24
,
-
10
,
114
,
115
,
133
,
148
,
149
,
150
,
156
,
/* 20 */
1
67
,
172
,
173
,
-
182
,
-
191
,
-
264
,
-
123
,
-
118
,
-
61
,
-
146
,
/* 30 */
-
13
,
-
189
,
-
162
,
34
,
33
,
37
,
69
,
86
,
-
85
,
-
139
,
/* 40 */
1
58
,
52
,
96
,
-
175
,
-
106
,
197
,
-
113
,
22
,
28
,
186
,
/* 50 */
199
,
207
,
211
,
213
,
214
,
215
,
216
,
217
,
219
,
220
,
/* 60 */
22
1
,
222
,
224
,
225
,
226
,
227
,
228
,
-
1
,
7
,
235
,
/* 70 */
183
,
256
,
257
,
258
,
259
,
260
,
261
,
304
,
305
,
308
,
/* 80 */
236
,
313
,
314
,
315
,
255
,
262
,
316
,
317
,
318
,
319
,
/* 90 */
231
,
232
,
268
,
263
,
321
,
324
,
325
,
327
,
328
,
329
,
/* 100 */
33
0
,
331
,
332
,
333
,
336
,
338
,
341
,
342
,
344
,
348
,
/* 110 */
35
0
,
352
,
353
,
354
,
357
,
358
,
359
,
360
,
361
,
362
,
/* 120 */
3
65
,
366
,
367
,
368
,
369
,
370
,
372
,
373
,
374
,
375
,
/* 130 */
3
76
,
377
,
378
,
379
,
381
,
382
,
383
,
384
,
385
,
386
,
/* 140 */
3
87
,
388
,
389
,
390
,
391
,
392
,
393
,
394
,
395
,
397
,
/* 150 */
398
,
399
,
320
,
400
,
401
,
241
,
252
,
266
,
269
,
402
,
/* 160 */
4
03
,
272
,
277
,
265
,
295
,
290
,
404
,
407
,
409
,
412
,
/* 170 */
41
4
,
416
,
417
,
418
,
419
,
420
,
421
,
422
,
423
,
427
,
/* 180 */
4
24
,
425
,
428
,
430
,
429
,
431
,
433
,
437
,
435
,
441
,
/* 190 */
4
32
,
443
,
438
,
439
,
442
,
445
,
451
,
455
,
456
,
458
,
/* 200 */
46
1
,
447
,
466
,
/* 0 */
-
5
,
-
152
,
-
152
,
173
,
173
,
29
,
-
139
,
-
94
,
-
25
,
-
138
,
/* 10 */
-
182
,
-
35
,
100
,
-
90
,
49
,
76
,
81
,
96
,
102
,
138
,
/* 20 */
1
75
,
176
,
181
,
-
178
,
-
193
,
-
264
,
-
241
,
-
235
,
-
211
,
-
238
,
/* 30 */
-
215
,
-
14
,
111
,
6
,
-
102
,
-
150
,
-
31
,
46
,
75
,
104
,
/* 40 */
1
87
,
126
,
165
,
-
11
,
131
,
148
,
218
,
-
227
,
-
203
,
-
111
,
/* 50 */
-
99
,
-
80
,
-
20
,
-
3
,
7
,
61
,
152
,
206
,
220
,
221
,
/* 60 */
22
2
,
225
,
226
,
229
,
230
,
231
,
232
,
233
,
159
,
244
,
/* 70 */
245
,
262
,
263
,
264
,
266
,
268
,
269
,
270
,
305
,
307
,
/* 80 */
311
,
247
,
314
,
315
,
316
,
271
,
272
,
322
,
324
,
325
,
/* 90 */
326
,
237
,
242
,
275
,
273
,
328
,
331
,
332
,
336
,
337
,
/* 100 */
33
8
,
339
,
340
,
341
,
342
,
343
,
344
,
347
,
349
,
350
,
/* 110 */
35
2
,
354
,
358
,
360
,
362
,
365
,
366
,
367
,
368
,
369
,
/* 120 */
3
70
,
373
,
374
,
375
,
376
,
377
,
378
,
379
,
380
,
381
,
/* 130 */
3
82
,
383
,
385
,
386
,
387
,
388
,
389
,
391
,
392
,
393
,
/* 140 */
3
94
,
395
,
396
,
397
,
398
,
399
,
400
,
401
,
402
,
403
,
/* 150 */
405
,
406
,
407
,
408
,
409
,
410
,
252
,
258
,
259
,
280
,
/* 160 */
4
11
,
412
,
283
,
293
,
274
,
288
,
302
,
413
,
416
,
278
,
/* 170 */
41
7
,
279
,
422
,
419
,
420
,
423
,
425
,
427
,
428
,
430
,
/* 180 */
4
32
,
429
,
431
,
434
,
436
,
435
,
437
,
439
,
442
,
444
,
/* 190 */
4
45
,
438
,
440
,
446
,
447
,
448
,
451
,
457
,
460
,
463
,
/* 200 */
46
7
,
468
,
455
,
464
,
};
static
const
YYACTIONTYPE
yy_default
[]
=
{
/* 0 */
85
6
,
979
,
918
,
989
,
905
,
915
,
1126
,
1126
,
1126
,
856
,
/* 10 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 20 */
85
6
,
856
,
856
,
1037
,
876
,
1126
,
856
,
856
,
856
,
856
,
/* 30 */
85
6
,
856
,
856
,
856
,
915
,
856
,
856
,
856
,
856
,
925
,
/* 40 */
91
5
,
925
,
925
,
856
,
1032
,
963
,
981
,
856
,
856
,
856
,
/* 50 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 60 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 70 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 80 */
1039
,
1045
,
1042
,
856
,
856
,
856
,
1047
,
856
,
856
,
856
,
/* 90 */
1069
,
1069
,
1030
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 100 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 110 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 120 */
85
6
,
856
,
856
,
856
,
856
,
856
,
903
,
856
,
901
,
856
,
/* 130 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 140 */
85
6
,
856
,
856
,
856
,
887
,
856
,
856
,
856
,
856
,
856
,
/* 150 */
85
6
,
874
,
878
,
878
,
878
,
856
,
856
,
856
,
856
,
878
,
/* 160 */
8
78
,
1076
,
1080
,
1062
,
1074
,
1070
,
1057
,
1055
,
1053
,
1061
,
/* 170 */
10
52
,
1084
,
878
,
878
,
878
,
923
,
923
,
919
,
915
,
915
,
/* 180 */
878
,
878
,
941
,
939
,
937
,
929
,
935
,
931
,
933
,
927
,
/* 190 */
9
06
,
856
,
878
,
913
,
913
,
878
,
913
,
878
,
913
,
878
,
/* 200 */
8
78
,
963
,
981
,
856
,
1085
,
1075
,
856
,
1125
,
1115
,
1114
,
/* 210 */
856
,
1121
,
1113
,
1112
,
1111
,
856
,
856
,
1107
,
1110
,
1109
,
/* 220 */
11
08
,
856
,
856
,
856
,
856
,
1117
,
1116
,
856
,
856
,
856
,
/* 230 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
1081
,
1077
,
856
,
/* 240 */
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
1087
,
856
,
/* 250 */
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
991
,
856
,
/* 260 */
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 270 */
85
6
,
1029
,
856
,
856
,
856
,
856
,
856
,
1041
,
1040
,
856
,
/* 280 */
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 290 */
1071
,
856
,
1063
,
856
,
856
,
1003
,
856
,
856
,
856
,
856
,
/* 300 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 310 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 320 */
85
6
,
856
,
856
,
856
,
856
,
856
,
856
,
1144
,
1139
,
1140
,
/* 330 */
11
37
,
856
,
856
,
856
,
1136
,
1131
,
1132
,
856
,
856
,
856
,
/* 340 */
1129
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
856
,
/* 350 */
85
6
,
856
,
856
,
856
,
856
,
856
,
947
,
856
,
885
,
883
,
/* 360 */
8
56
,
856
,
/* 0 */
85
9
,
982
,
921
,
992
,
908
,
918
,
1130
,
1130
,
1130
,
859
,
/* 10 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 20 */
85
9
,
859
,
859
,
1040
,
879
,
1130
,
859
,
859
,
859
,
859
,
/* 30 */
85
9
,
859
,
859
,
859
,
918
,
859
,
859
,
859
,
859
,
928
,
/* 40 */
91
8
,
928
,
928
,
859
,
1035
,
966
,
984
,
859
,
859
,
859
,
/* 50 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 60 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 70 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 80 */
859
,
1042
,
1048
,
1045
,
859
,
859
,
859
,
1050
,
859
,
859
,
/* 90 */
859
,
1072
,
1072
,
1033
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 100 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 110 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 120 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
906
,
859
,
904
,
/* 130 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 140 */
85
9
,
859
,
859
,
859
,
859
,
890
,
859
,
859
,
859
,
859
,
/* 150 */
85
9
,
859
,
877
,
881
,
881
,
881
,
859
,
859
,
859
,
859
,
/* 160 */
8
81
,
881
,
1079
,
1083
,
1065
,
1077
,
1073
,
1060
,
1058
,
1056
,
/* 170 */
10
64
,
1055
,
1087
,
881
,
881
,
881
,
926
,
926
,
922
,
918
,
/* 180 */
918
,
881
,
881
,
944
,
942
,
940
,
932
,
938
,
934
,
936
,
/* 190 */
9
30
,
909
,
859
,
881
,
916
,
916
,
881
,
916
,
881
,
916
,
/* 200 */
8
81
,
881
,
966
,
984
,
859
,
1088
,
1078
,
859
,
1129
,
1118
,
/* 210 */
1117
,
859
,
1125
,
1124
,
1116
,
1115
,
1114
,
859
,
859
,
1110
,
/* 220 */
11
13
,
1112
,
1111
,
859
,
859
,
859
,
859
,
1120
,
1119
,
859
,
/* 230 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
1084
,
/* 240 */
1080
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 250 */
1090
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 260 */
994
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 270 */
85
9
,
859
,
859
,
1032
,
859
,
859
,
859
,
859
,
859
,
1044
,
/* 280 */
1043
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 290 */
859
,
859
,
1074
,
859
,
1066
,
859
,
859
,
1006
,
859
,
859
,
/* 300 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 310 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 320 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
1148
,
/* 330 */
11
43
,
1144
,
1141
,
859
,
859
,
859
,
1140
,
1135
,
1136
,
859
,
/* 340 */
859
,
859
,
1133
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
/* 350 */
85
9
,
859
,
859
,
859
,
859
,
859
,
859
,
859
,
950
,
859
,
/* 360 */
8
88
,
886
,
859
,
859
,
};
/********** End of lemon-generated parsing tables *****************************/
...
...
@@ -540,6 +540,7 @@ static const YYCODETYPE yyFallback[] = {
0
,
/* NOTNULL => nothing */
0
,
/* IS => nothing */
1
,
/* LIKE => ID */
1
,
/* MATCH => ID */
1
,
/* GLOB => ID */
0
,
/* BETWEEN => nothing */
0
,
/* IN => nothing */
...
...
@@ -692,7 +693,6 @@ static const YYCODETYPE yyFallback[] = {
1
,
/* IMMEDIATE => ID */
1
,
/* INITIALLY => ID */
1
,
/* INSTEAD => ID */
1
,
/* MATCH => ID */
1
,
/* KEY => ID */
1
,
/* OF => ID */
1
,
/* RAISE => ID */
...
...
@@ -822,159 +822,159 @@ static const char *const yyTokenName[] = {
/* 19 */
"NOTNULL"
,
/* 20 */
"IS"
,
/* 21 */
"LIKE"
,
/* 22 */
"
GLOB
"
,
/* 23 */
"
BETWEEN
"
,
/* 24 */
"
I
N"
,
/* 25 */
"
GT
"
,
/* 26 */
"G
E
"
,
/* 27 */
"
LT
"
,
/* 28 */
"L
E
"
,
/* 29 */
"
BITAND
"
,
/* 30 */
"BIT
OR
"
,
/* 31 */
"
LSHIFT
"
,
/* 32 */
"
R
SHIFT"
,
/* 33 */
"
PLUS
"
,
/* 34 */
"
MIN
US"
,
/* 35 */
"
DIVIDE
"
,
/* 36 */
"
TIMES
"
,
/* 37 */
"
STAR
"
,
/* 38 */
"S
LASH
"
,
/* 39 */
"
REM
"
,
/* 40 */
"
CONCAT
"
,
/* 41 */
"
UMINUS
"
,
/* 42 */
"U
PL
US"
,
/* 43 */
"
BITNOT
"
,
/* 44 */
"
SHOW
"
,
/* 45 */
"
DATABASES
"
,
/* 46 */
"
TOPIC
S"
,
/* 47 */
"
FUNCTION
S"
,
/* 48 */
"
MNODE
S"
,
/* 49 */
"
D
NODES"
,
/* 50 */
"
ACCOUNT
S"
,
/* 51 */
"
USER
S"
,
/* 52 */
"
MODULE
S"
,
/* 53 */
"
QUERI
ES"
,
/* 54 */
"
CONNECTION
S"
,
/* 55 */
"
STREAM
S"
,
/* 56 */
"
VARIABLE
S"
,
/* 57 */
"
SCOR
ES"
,
/* 58 */
"
GRANT
S"
,
/* 59 */
"
VNODE
S"
,
/* 60 */
"
DOT
"
,
/* 61 */
"
CREATE
"
,
/* 62 */
"
TABL
E"
,
/* 63 */
"
S
TABLE"
,
/* 64 */
"
DATABAS
E"
,
/* 65 */
"
TABLES
"
,
/* 66 */
"
S
TABLES"
,
/* 67 */
"
VGROUP
S"
,
/* 68 */
"
DROP
"
,
/* 69 */
"
TOPIC
"
,
/* 70 */
"
FUNCTION
"
,
/* 71 */
"
DNODE
"
,
/* 72 */
"
USER
"
,
/* 73 */
"
ACCOUNT
"
,
/* 74 */
"
USE
"
,
/* 75 */
"
DESCRIB
E"
,
/* 76 */
"
ALTER
"
,
/* 77 */
"
PASS
"
,
/* 78 */
"P
RIVILEGE
"
,
/* 79 */
"
LOCAL
"
,
/* 80 */
"
COMPACT
"
,
/* 81 */
"
LP
"
,
/* 82 */
"
R
P"
,
/* 83 */
"
IF
"
,
/* 84 */
"
EXISTS
"
,
/* 85 */
"
A
S"
,
/* 86 */
"
OUTPUTTYPE
"
,
/* 87 */
"
AGGREGAT
E"
,
/* 88 */
"
BUFSIZ
E"
,
/* 89 */
"
PPS
"
,
/* 90 */
"
TSERIE
S"
,
/* 91 */
"
DB
S"
,
/* 92 */
"
STORAGE
"
,
/* 93 */
"
QTIM
E"
,
/* 94 */
"
CONNS
"
,
/* 95 */
"
STATE
"
,
/* 96 */
"
COMMA
"
,
/* 97 */
"
KEEP
"
,
/* 98 */
"
CACHE
"
,
/* 99 */
"
REPLICA
"
,
/* 100 */
"
QUORUM
"
,
/* 101 */
"
DAYS
"
,
/* 102 */
"
MINROW
S"
,
/* 103 */
"M
AX
ROWS"
,
/* 104 */
"
BLOCK
S"
,
/* 105 */
"
CTIME
"
,
/* 106 */
"
WAL
"
,
/* 107 */
"
FSYNC
"
,
/* 108 */
"
COMP
"
,
/* 109 */
"
PRECISION
"
,
/* 110 */
"
UPDATE
"
,
/* 111 */
"
CACHELAST
"
,
/* 112 */
"
PARTITIONS
"
,
/* 113 */
"
UNSIGNED
"
,
/* 114 */
"
TAGS
"
,
/* 115 */
"
USING
"
,
/* 116 */
"
NULL
"
,
/* 117 */
"N
OW
"
,
/* 118 */
"
SELECT
"
,
/* 119 */
"
UNION
"
,
/* 120 */
"
ALL
"
,
/* 121 */
"
DISTINCT
"
,
/* 122 */
"
FROM
"
,
/* 123 */
"
VARIABLE
"
,
/* 124 */
"
INTERVAL
"
,
/* 125 */
"
SESSION
"
,
/* 126 */
"S
TATE_WINDOW
"
,
/* 127 */
"
FILL
"
,
/* 128 */
"
SLIDING
"
,
/* 129 */
"
ORDER
"
,
/* 130 */
"
BY
"
,
/* 131 */
"
ASC
"
,
/* 132 */
"
DE
SC"
,
/* 133 */
"
GROUP
"
,
/* 134 */
"
HAVING
"
,
/* 135 */
"
LIMIT
"
,
/* 136 */
"
OFFSE
T"
,
/* 137 */
"
SLIMI
T"
,
/* 138 */
"S
OFFSE
T"
,
/* 139 */
"
WHERE
"
,
/* 140 */
"
RESET
"
,
/* 141 */
"
QUERY
"
,
/* 142 */
"
SYNCDB
"
,
/* 143 */
"
ADD
"
,
/* 144 */
"
COLUMN
"
,
/* 145 */
"
MODIFY
"
,
/* 146 */
"
TAG
"
,
/* 147 */
"
CHANGE
"
,
/* 148 */
"
SET
"
,
/* 149 */
"
KILL
"
,
/* 150 */
"
CONNECTION
"
,
/* 151 */
"
STREAM
"
,
/* 152 */
"
COLON
"
,
/* 153 */
"
ABORT
"
,
/* 154 */
"A
FTER
"
,
/* 155 */
"A
TTACH
"
,
/* 156 */
"
BEFORE
"
,
/* 157 */
"BE
GIN
"
,
/* 158 */
"
CASCADE
"
,
/* 159 */
"C
LUSTER
"
,
/* 160 */
"C
ONFLICT
"
,
/* 161 */
"CO
PY
"
,
/* 162 */
"
DEFERRED
"
,
/* 163 */
"DE
LIMITERS
"
,
/* 164 */
"DE
TACH
"
,
/* 165 */
"
E
ACH"
,
/* 166 */
"E
ND
"
,
/* 167 */
"E
XPLAIN
"
,
/* 168 */
"
FAIL
"
,
/* 169 */
"F
OR
"
,
/* 170 */
"
IGNORE
"
,
/* 171 */
"I
MMEDIAT
E"
,
/* 172 */
"I
NITIALLY
"
,
/* 173 */
"IN
STEAD
"
,
/* 174 */
"
MATCH
"
,
/* 22 */
"
MATCH
"
,
/* 23 */
"
GLOB
"
,
/* 24 */
"
BETWEE
N"
,
/* 25 */
"
IN
"
,
/* 26 */
"G
T
"
,
/* 27 */
"
GE
"
,
/* 28 */
"L
T
"
,
/* 29 */
"
LE
"
,
/* 30 */
"BIT
AND
"
,
/* 31 */
"
BITOR
"
,
/* 32 */
"
L
SHIFT"
,
/* 33 */
"
RSHIFT
"
,
/* 34 */
"
PL
US"
,
/* 35 */
"
MINUS
"
,
/* 36 */
"
DIVIDE
"
,
/* 37 */
"
TIMES
"
,
/* 38 */
"S
TAR
"
,
/* 39 */
"
SLASH
"
,
/* 40 */
"
REM
"
,
/* 41 */
"
CONCAT
"
,
/* 42 */
"U
MIN
US"
,
/* 43 */
"
UPLUS
"
,
/* 44 */
"
BITNOT
"
,
/* 45 */
"
SHOW
"
,
/* 46 */
"
DATABASE
S"
,
/* 47 */
"
TOPIC
S"
,
/* 48 */
"
FUNCTION
S"
,
/* 49 */
"
M
NODES"
,
/* 50 */
"
DNODE
S"
,
/* 51 */
"
ACCOUNT
S"
,
/* 52 */
"
USER
S"
,
/* 53 */
"
MODUL
ES"
,
/* 54 */
"
QUERIE
S"
,
/* 55 */
"
CONNECTION
S"
,
/* 56 */
"
STREAM
S"
,
/* 57 */
"
VARIABL
ES"
,
/* 58 */
"
SCORE
S"
,
/* 59 */
"
GRANT
S"
,
/* 60 */
"
VNODES
"
,
/* 61 */
"
DOT
"
,
/* 62 */
"
CREAT
E"
,
/* 63 */
"TABLE"
,
/* 64 */
"
STABL
E"
,
/* 65 */
"
DATABASE
"
,
/* 66 */
"TABLES"
,
/* 67 */
"
STABLE
S"
,
/* 68 */
"
VGROUPS
"
,
/* 69 */
"
DROP
"
,
/* 70 */
"
TOPIC
"
,
/* 71 */
"
FUNCTION
"
,
/* 72 */
"
DNODE
"
,
/* 73 */
"
USER
"
,
/* 74 */
"
ACCOUNT
"
,
/* 75 */
"
US
E"
,
/* 76 */
"
DESCRIBE
"
,
/* 77 */
"
ALTER
"
,
/* 78 */
"P
ASS
"
,
/* 79 */
"
PRIVILEGE
"
,
/* 80 */
"
LOCAL
"
,
/* 81 */
"
COMPACT
"
,
/* 82 */
"
L
P"
,
/* 83 */
"
RP
"
,
/* 84 */
"
IF
"
,
/* 85 */
"
EXIST
S"
,
/* 86 */
"
AS
"
,
/* 87 */
"
OUTPUTTYP
E"
,
/* 88 */
"
AGGREGAT
E"
,
/* 89 */
"
BUFSIZE
"
,
/* 90 */
"
PP
S"
,
/* 91 */
"
TSERIE
S"
,
/* 92 */
"
DBS
"
,
/* 93 */
"
STORAG
E"
,
/* 94 */
"
QTIME
"
,
/* 95 */
"
CONNS
"
,
/* 96 */
"
STATE
"
,
/* 97 */
"
COMMA
"
,
/* 98 */
"
KEEP
"
,
/* 99 */
"
CACHE
"
,
/* 100 */
"
REPLICA
"
,
/* 101 */
"
QUORUM
"
,
/* 102 */
"
DAY
S"
,
/* 103 */
"M
IN
ROWS"
,
/* 104 */
"
MAXROW
S"
,
/* 105 */
"
BLOCKS
"
,
/* 106 */
"
CTIME
"
,
/* 107 */
"
WAL
"
,
/* 108 */
"
FSYNC
"
,
/* 109 */
"
COMP
"
,
/* 110 */
"
PRECISION
"
,
/* 111 */
"
UPDATE
"
,
/* 112 */
"
CACHELAST
"
,
/* 113 */
"
PARTITIONS
"
,
/* 114 */
"
UNSIGNED
"
,
/* 115 */
"
TAGS
"
,
/* 116 */
"
USING
"
,
/* 117 */
"N
ULL
"
,
/* 118 */
"
NOW
"
,
/* 119 */
"
SELECT
"
,
/* 120 */
"
UNION
"
,
/* 121 */
"
ALL
"
,
/* 122 */
"
DISTINCT
"
,
/* 123 */
"
FROM
"
,
/* 124 */
"
VARIABLE
"
,
/* 125 */
"
INTERVAL
"
,
/* 126 */
"S
ESSION
"
,
/* 127 */
"
STATE_WINDOW
"
,
/* 128 */
"
FILL
"
,
/* 129 */
"
SLIDING
"
,
/* 130 */
"
ORDER
"
,
/* 131 */
"
BY
"
,
/* 132 */
"
A
SC"
,
/* 133 */
"
DESC
"
,
/* 134 */
"
GROUP
"
,
/* 135 */
"
HAVING
"
,
/* 136 */
"
LIMI
T"
,
/* 137 */
"
OFFSE
T"
,
/* 138 */
"S
LIMI
T"
,
/* 139 */
"
SOFFSET
"
,
/* 140 */
"
WHERE
"
,
/* 141 */
"
RESET
"
,
/* 142 */
"
QUERY
"
,
/* 143 */
"
SYNCDB
"
,
/* 144 */
"
ADD
"
,
/* 145 */
"
COLUMN
"
,
/* 146 */
"
MODIFY
"
,
/* 147 */
"
TAG
"
,
/* 148 */
"
CHANGE
"
,
/* 149 */
"
SET
"
,
/* 150 */
"
KILL
"
,
/* 151 */
"
CONNECTION
"
,
/* 152 */
"
STREAM
"
,
/* 153 */
"
COLON
"
,
/* 154 */
"A
BORT
"
,
/* 155 */
"A
FTER
"
,
/* 156 */
"
ATTACH
"
,
/* 157 */
"BE
FORE
"
,
/* 158 */
"
BEGIN
"
,
/* 159 */
"C
ASCADE
"
,
/* 160 */
"C
LUSTER
"
,
/* 161 */
"CO
NFLICT
"
,
/* 162 */
"
COPY
"
,
/* 163 */
"DE
FERRED
"
,
/* 164 */
"DE
LIMITERS
"
,
/* 165 */
"
DET
ACH"
,
/* 166 */
"E
ACH
"
,
/* 167 */
"E
ND
"
,
/* 168 */
"
EXPLAIN
"
,
/* 169 */
"F
AIL
"
,
/* 170 */
"
FOR
"
,
/* 171 */
"I
GNOR
E"
,
/* 172 */
"I
MMEDIATE
"
,
/* 173 */
"IN
ITIALLY
"
,
/* 174 */
"
INSTEAD
"
,
/* 175 */
"KEY"
,
/* 176 */
"OF"
,
/* 177 */
"RAISE"
,
...
...
@@ -1345,32 +1345,33 @@ static const char *const yyRuleName[] = {
/* 260 */
"expr ::= expr SLASH expr"
,
/* 261 */
"expr ::= expr REM expr"
,
/* 262 */
"expr ::= expr LIKE expr"
,
/* 263 */
"expr ::= expr IN LP exprlist RP"
,
/* 264 */
"exprlist ::= exprlist COMMA expritem"
,
/* 265 */
"exprlist ::= expritem"
,
/* 266 */
"expritem ::= expr"
,
/* 267 */
"expritem ::="
,
/* 268 */
"cmd ::= RESET QUERY CACHE"
,
/* 269 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 270 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 271 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 272 */
"cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 273 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 274 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 275 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 276 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 277 */
"cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist"
,
/* 278 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 279 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 280 */
"cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 281 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 282 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 283 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 284 */
"cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 285 */
"cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist"
,
/* 286 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 287 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 288 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
/* 263 */
"expr ::= expr MATCH expr"
,
/* 264 */
"expr ::= expr IN LP exprlist RP"
,
/* 265 */
"exprlist ::= exprlist COMMA expritem"
,
/* 266 */
"exprlist ::= expritem"
,
/* 267 */
"expritem ::= expr"
,
/* 268 */
"expritem ::="
,
/* 269 */
"cmd ::= RESET QUERY CACHE"
,
/* 270 */
"cmd ::= SYNCDB ids REPLICA"
,
/* 271 */
"cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist"
,
/* 272 */
"cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids"
,
/* 273 */
"cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 274 */
"cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist"
,
/* 275 */
"cmd ::= ALTER TABLE ids cpxName DROP TAG ids"
,
/* 276 */
"cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids"
,
/* 277 */
"cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 278 */
"cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist"
,
/* 279 */
"cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist"
,
/* 280 */
"cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids"
,
/* 281 */
"cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist"
,
/* 282 */
"cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist"
,
/* 283 */
"cmd ::= ALTER STABLE ids cpxName DROP TAG ids"
,
/* 284 */
"cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids"
,
/* 285 */
"cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem"
,
/* 286 */
"cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist"
,
/* 287 */
"cmd ::= KILL CONNECTION INTEGER"
,
/* 288 */
"cmd ::= KILL STREAM INTEGER COLON INTEGER"
,
/* 289 */
"cmd ::= KILL QUERY INTEGER COLON INTEGER"
,
};
#endif
/* NDEBUG */
...
...
@@ -1500,9 +1501,7 @@ static void yy_destructor(
case
248
:
/* selcollist */
case
262
:
/* sclp */
{
#line 750 "sql.y"
tSqlExprListDestroy
((
yypminor
->
yy131
));
#line 1506 "sql.c"
}
break
;
case
219
:
/* intitemlist */
...
...
@@ -1516,32 +1515,24 @@ tSqlExprListDestroy((yypminor->yy131));
case
269
:
/* sortlist */
case
273
:
/* grouplist */
{
#line 253 "sql.y"
taosArrayDestroy
((
yypminor
->
yy131
));
#line 1522 "sql.c"
}
break
;
case
240
:
/* create_table_list */
{
#line 361 "sql.y"
destroyCreateTableSql
((
yypminor
->
yy272
));
#line 1529 "sql.c"
}
break
;
case
245
:
/* select */
{
#line 481 "sql.y"
destroySqlNode
((
yypminor
->
yy256
));
#line 1536 "sql.c"
}
break
;
case
249
:
/* from */
case
266
:
/* tablelist */
case
267
:
/* sub */
{
#line 536 "sql.y"
destroyRelationInfo
((
yypminor
->
yy544
));
#line 1545 "sql.c"
}
break
;
case
250
:
/* where_opt */
...
...
@@ -1549,23 +1540,17 @@ destroyRelationInfo((yypminor->yy544));
case
264
:
/* expr */
case
274
:
/* expritem */
{
#line 683 "sql.y"
tSqlExprDestroy
((
yypminor
->
yy46
));
#line 1555 "sql.c"
}
break
;
case
261
:
/* union */
{
#line 489 "sql.y"
destroyAllSqlNode
((
yypminor
->
yy131
));
#line 1562 "sql.c"
}
break
;
case
270
:
/* sortitem */
{
#line 616 "sql.y"
tVariantDestroy
(
&
(
yypminor
->
yy516
));
#line 1569 "sql.c"
}
break
;
/********* End destructor definitions *****************************************/
...
...
@@ -2117,32 +2102,33 @@ static const YYCODETYPE yyRuleInfoLhs[] = {
264
,
/* (260) expr ::= expr SLASH expr */
264
,
/* (261) expr ::= expr REM expr */
264
,
/* (262) expr ::= expr LIKE expr */
264
,
/* (263) expr ::= expr IN LP exprlist RP */
204
,
/* (264) exprlist ::= exprlist COMMA expritem */
204
,
/* (265) exprlist ::= expritem */
274
,
/* (266) expritem ::= expr */
274
,
/* (267) expritem ::= */
196
,
/* (268) cmd ::= RESET QUERY CACHE */
196
,
/* (269) cmd ::= SYNCDB ids REPLICA */
196
,
/* (270) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
196
,
/* (271) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
196
,
/* (272) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
196
,
/* (273) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
196
,
/* (274) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
196
,
/* (275) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
196
,
/* (276) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
196
,
/* (277) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
196
,
/* (278) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
196
,
/* (279) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
196
,
/* (280) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
196
,
/* (281) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
196
,
/* (282) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
196
,
/* (283) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
196
,
/* (284) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
196
,
/* (285) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
196
,
/* (286) cmd ::= KILL CONNECTION INTEGER */
196
,
/* (287) cmd ::= KILL STREAM INTEGER COLON INTEGER */
196
,
/* (288) cmd ::= KILL QUERY INTEGER COLON INTEGER */
264
,
/* (263) expr ::= expr MATCH expr */
264
,
/* (264) expr ::= expr IN LP exprlist RP */
204
,
/* (265) exprlist ::= exprlist COMMA expritem */
204
,
/* (266) exprlist ::= expritem */
274
,
/* (267) expritem ::= expr */
274
,
/* (268) expritem ::= */
196
,
/* (269) cmd ::= RESET QUERY CACHE */
196
,
/* (270) cmd ::= SYNCDB ids REPLICA */
196
,
/* (271) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
196
,
/* (272) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
196
,
/* (273) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
196
,
/* (274) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
196
,
/* (275) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
196
,
/* (276) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
196
,
/* (277) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
196
,
/* (278) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
196
,
/* (279) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
196
,
/* (280) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
196
,
/* (281) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
196
,
/* (282) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
196
,
/* (283) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
196
,
/* (284) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
196
,
/* (285) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
196
,
/* (286) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
196
,
/* (287) cmd ::= KILL CONNECTION INTEGER */
196
,
/* (288) cmd ::= KILL STREAM INTEGER COLON INTEGER */
196
,
/* (289) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
/* For rule J, yyRuleInfoNRhs[J] contains the negative of the number
...
...
@@ -2411,32 +2397,33 @@ static const signed char yyRuleInfoNRhs[] = {
-
3
,
/* (260) expr ::= expr SLASH expr */
-
3
,
/* (261) expr ::= expr REM expr */
-
3
,
/* (262) expr ::= expr LIKE expr */
-
5
,
/* (263) expr ::= expr IN LP exprlist RP */
-
3
,
/* (264) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (265) exprlist ::= expritem */
-
1
,
/* (266) expritem ::= expr */
0
,
/* (267) expritem ::= */
-
3
,
/* (268) cmd ::= RESET QUERY CACHE */
-
3
,
/* (269) cmd ::= SYNCDB ids REPLICA */
-
7
,
/* (270) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (271) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (272) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
-
7
,
/* (273) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (274) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (275) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (276) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (277) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
-
7
,
/* (278) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (279) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (280) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
-
7
,
/* (281) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (282) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (283) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (284) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (285) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
-
3
,
/* (286) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (287) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (288) cmd ::= KILL QUERY INTEGER COLON INTEGER */
-
3
,
/* (263) expr ::= expr MATCH expr */
-
5
,
/* (264) expr ::= expr IN LP exprlist RP */
-
3
,
/* (265) exprlist ::= exprlist COMMA expritem */
-
1
,
/* (266) exprlist ::= expritem */
-
1
,
/* (267) expritem ::= expr */
0
,
/* (268) expritem ::= */
-
3
,
/* (269) cmd ::= RESET QUERY CACHE */
-
3
,
/* (270) cmd ::= SYNCDB ids REPLICA */
-
7
,
/* (271) cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (272) cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (273) cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
-
7
,
/* (274) cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (275) cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
-
8
,
/* (276) cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (277) cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (278) cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
-
7
,
/* (279) cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
-
7
,
/* (280) cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
-
7
,
/* (281) cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
-
7
,
/* (282) cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
-
7
,
/* (283) cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
-
8
,
/* (284) cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
-
9
,
/* (285) cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
-
7
,
/* (286) cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
-
3
,
/* (287) cmd ::= KILL CONNECTION INTEGER */
-
5
,
/* (288) cmd ::= KILL STREAM INTEGER COLON INTEGER */
-
5
,
/* (289) cmd ::= KILL QUERY INTEGER COLON INTEGER */
};
static
void
yy_accept
(
yyParser
*
);
/* Forward Declaration */
...
...
@@ -2530,346 +2517,226 @@ static YYACTIONTYPE yy_reduce(
case
138
:
/* cmd ::= CREATE TABLE create_table_args */
yytestcase
(
yyruleno
==
138
);
case
139
:
/* cmd ::= CREATE TABLE create_stable_args */
yytestcase
(
yyruleno
==
139
);
case
140
:
/* cmd ::= CREATE STABLE create_stable_args */
yytestcase
(
yyruleno
==
140
);
#line 63 "sql.y"
{}
#line 2536 "sql.c"
break
;
case
1
:
/* cmd ::= SHOW DATABASES */
#line 66 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_DB
,
0
,
0
);}
#line 2541 "sql.c"
break
;
case
2
:
/* cmd ::= SHOW TOPICS */
#line 67 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_TP
,
0
,
0
);}
#line 2546 "sql.c"
break
;
case
3
:
/* cmd ::= SHOW FUNCTIONS */
#line 68 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_FUNCTION
,
0
,
0
);}
#line 2551 "sql.c"
break
;
case
4
:
/* cmd ::= SHOW MNODES */
#line 69 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_MNODE
,
0
,
0
);}
#line 2556 "sql.c"
break
;
case
5
:
/* cmd ::= SHOW DNODES */
#line 70 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_DNODE
,
0
,
0
);}
#line 2561 "sql.c"
break
;
case
6
:
/* cmd ::= SHOW ACCOUNTS */
#line 71 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_ACCT
,
0
,
0
);}
#line 2566 "sql.c"
break
;
case
7
:
/* cmd ::= SHOW USERS */
#line 72 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_USER
,
0
,
0
);}
#line 2571 "sql.c"
break
;
case
8
:
/* cmd ::= SHOW MODULES */
#line 74 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_MODULE
,
0
,
0
);
}
#line 2576 "sql.c"
break
;
case
9
:
/* cmd ::= SHOW QUERIES */
#line 75 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_QUERIES
,
0
,
0
);
}
#line 2581 "sql.c"
break
;
case
10
:
/* cmd ::= SHOW CONNECTIONS */
#line 76 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_CONNS
,
0
,
0
);}
#line 2586 "sql.c"
break
;
case
11
:
/* cmd ::= SHOW STREAMS */
#line 77 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_STREAMS
,
0
,
0
);
}
#line 2591 "sql.c"
break
;
case
12
:
/* cmd ::= SHOW VARIABLES */
#line 78 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VARIABLES
,
0
,
0
);
}
#line 2596 "sql.c"
break
;
case
13
:
/* cmd ::= SHOW SCORES */
#line 79 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_SCORES
,
0
,
0
);
}
#line 2601 "sql.c"
break
;
case
14
:
/* cmd ::= SHOW GRANTS */
#line 80 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_GRANTS
,
0
,
0
);
}
#line 2606 "sql.c"
break
;
case
15
:
/* cmd ::= SHOW VNODES */
#line 82 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VNODES
,
0
,
0
);
}
#line 2611 "sql.c"
break
;
case
16
:
/* cmd ::= SHOW VNODES ids */
#line 83 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VNODES
,
&
yymsp
[
0
].
minor
.
yy0
,
0
);
}
#line 2616 "sql.c"
break
;
case
17
:
/* dbPrefix ::= */
#line 87 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;}
#line 2621 "sql.c"
break
;
case
18
:
/* dbPrefix ::= ids DOT */
#line 88 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 2626 "sql.c"
yymsp
[
-
1
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
19
:
/* cpxName ::= */
#line 91 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
#line 2632 "sql.c"
break
;
case
20
:
/* cpxName ::= DOT ids */
#line 92 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
1
;
}
#line 2637 "sql.c"
break
;
case
21
:
/* cmd ::= SHOW CREATE TABLE ids cpxName */
#line 94 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SHOW_CREATE_TABLE
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 2645 "sql.c"
break
;
case
22
:
/* cmd ::= SHOW CREATE STABLE ids cpxName */
#line 98 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SHOW_CREATE_STABLE
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 2653 "sql.c"
break
;
case
23
:
/* cmd ::= SHOW CREATE DATABASE ids */
#line 103 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SHOW_CREATE_DATABASE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2660 "sql.c"
break
;
case
24
:
/* cmd ::= SHOW dbPrefix TABLES */
#line 107 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
0
);
}
#line 2667 "sql.c"
break
;
case
25
:
/* cmd ::= SHOW dbPrefix TABLES LIKE ids */
#line 111 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_TABLE
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2674 "sql.c"
break
;
case
26
:
/* cmd ::= SHOW dbPrefix STABLES */
#line 115 "sql.y"
{
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_METRIC
,
&
yymsp
[
-
1
].
minor
.
yy0
,
0
);
}
#line 2681 "sql.c"
break
;
case
27
:
/* cmd ::= SHOW dbPrefix STABLES LIKE ids */
#line 119 "sql.y"
{
SStrToken
token
;
tSetDbName
(
&
token
,
&
yymsp
[
-
3
].
minor
.
yy0
);
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_METRIC
,
&
token
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2690 "sql.c"
break
;
case
28
:
/* cmd ::= SHOW dbPrefix VGROUPS */
#line 125 "sql.y"
{
SStrToken
token
;
tSetDbName
(
&
token
,
&
yymsp
[
-
1
].
minor
.
yy0
);
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VGROUP
,
&
token
,
0
);
}
#line 2699 "sql.c"
break
;
case
29
:
/* cmd ::= SHOW dbPrefix VGROUPS ids */
#line 131 "sql.y"
{
SStrToken
token
;
tSetDbName
(
&
token
,
&
yymsp
[
-
2
].
minor
.
yy0
);
setShowOptions
(
pInfo
,
TSDB_MGMT_TABLE_VGROUP
,
&
token
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2708 "sql.c"
break
;
case
30
:
/* cmd ::= DROP TABLE ifexists ids cpxName */
#line 138 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
,
-
1
);
}
#line 2716 "sql.c"
break
;
case
31
:
/* cmd ::= DROP STABLE ifexists ids cpxName */
#line 144 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_TABLE
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
-
2
].
minor
.
yy0
,
-
1
,
TSDB_SUPER_TABLE
);
}
#line 2724 "sql.c"
break
;
case
32
:
/* cmd ::= DROP DATABASE ifexists ids */
#line 149 "sql.y"
{
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_DB
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TSDB_DB_TYPE_DEFAULT
,
-
1
);
}
#line 2729 "sql.c"
break
;
case
33
:
/* cmd ::= DROP TOPIC ifexists ids */
#line 150 "sql.y"
{
setDropDbTableInfo
(
pInfo
,
TSDB_SQL_DROP_DB
,
&
yymsp
[
0
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
TSDB_DB_TYPE_TOPIC
,
-
1
);
}
#line 2734 "sql.c"
break
;
case
34
:
/* cmd ::= DROP FUNCTION ids */
#line 151 "sql.y"
{
setDropFuncInfo
(
pInfo
,
TSDB_SQL_DROP_FUNCTION
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2739 "sql.c"
break
;
case
35
:
/* cmd ::= DROP DNODE ids */
#line 153 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DROP_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2744 "sql.c"
break
;
case
36
:
/* cmd ::= DROP USER ids */
#line 154 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DROP_USER
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2749 "sql.c"
break
;
case
37
:
/* cmd ::= DROP ACCOUNT ids */
#line 155 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DROP_ACCT
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2754 "sql.c"
break
;
case
38
:
/* cmd ::= USE ids */
#line 158 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_USE_DB
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 2759 "sql.c"
break
;
case
39
:
/* cmd ::= DESCRIBE ids cpxName */
#line 161 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
setDCLSqlElems
(
pInfo
,
TSDB_SQL_DESCRIBE_TABLE
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 2767 "sql.c"
break
;
case
40
:
/* cmd ::= ALTER USER ids PASS ids */
#line 167 "sql.y"
{
setAlterUserSql
(
pInfo
,
TSDB_ALTER_USER_PASSWD
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
NULL
);
}
#line 2772 "sql.c"
break
;
case
41
:
/* cmd ::= ALTER USER ids PRIVILEGE ids */
#line 168 "sql.y"
{
setAlterUserSql
(
pInfo
,
TSDB_ALTER_USER_PRIVILEGES
,
&
yymsp
[
-
2
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 2777 "sql.c"
break
;
case
42
:
/* cmd ::= ALTER DNODE ids ids */
#line 169 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_DNODE
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2782 "sql.c"
break
;
case
43
:
/* cmd ::= ALTER DNODE ids ids ids */
#line 170 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_DNODE
,
3
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2787 "sql.c"
break
;
case
44
:
/* cmd ::= ALTER LOCAL ids */
#line 171 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2792 "sql.c"
break
;
case
45
:
/* cmd ::= ALTER LOCAL ids ids */
#line 172 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CFG_LOCAL
,
2
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2797 "sql.c"
break
;
case
46
:
/* cmd ::= ALTER DATABASE ids alter_db_optr */
case
47
:
/* cmd ::= ALTER TOPIC ids alter_topic_optr */
yytestcase
(
yyruleno
==
47
);
#line 173 "sql.y"
{
SStrToken
t
=
{
0
};
setCreateDbInfo
(
pInfo
,
TSDB_SQL_ALTER_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy42
,
&
t
);}
#line 2803 "sql.c"
break
;
case
48
:
/* cmd ::= ALTER ACCOUNT ids acct_optr */
#line 176 "sql.y"
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
,
&
yymsp
[
0
].
minor
.
yy341
);}
#line 2808 "sql.c"
break
;
case
49
:
/* cmd ::= ALTER ACCOUNT ids PASS ids acct_optr */
#line 177 "sql.y"
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_ALTER_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy341
);}
#line 2813 "sql.c"
break
;
case
50
:
/* cmd ::= COMPACT VNODES IN LP exprlist RP */
#line 181 "sql.y"
{
setCompactVnodeSql
(
pInfo
,
TSDB_SQL_COMPACT_VNODE
,
yymsp
[
-
1
].
minor
.
yy131
);}
#line 2818 "sql.c"
break
;
case
51
:
/* ids ::= ID */
case
52
:
/* ids ::= STRING */
yytestcase
(
yyruleno
==
52
);
#line 187 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 2824 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
53
:
/* ifexists ::= IF EXISTS */
#line 191 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
=
1
;}
#line 2830 "sql.c"
break
;
case
54
:
/* ifexists ::= */
case
56
:
/* ifnotexists ::= */
yytestcase
(
yyruleno
==
56
);
case
180
:
/* distinct ::= */
yytestcase
(
yyruleno
==
180
);
#line 192 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;}
#line 2837 "sql.c"
break
;
case
55
:
/* ifnotexists ::= IF NOT EXISTS */
#line 195 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
=
1
;}
#line 2842 "sql.c"
break
;
case
57
:
/* cmd ::= CREATE DNODE ids */
#line 200 "sql.y"
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_CREATE_DNODE
,
1
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 2847 "sql.c"
break
;
case
58
:
/* cmd ::= CREATE ACCOUNT ids PASS ids acct_optr */
#line 202 "sql.y"
{
setCreateAcctSql
(
pInfo
,
TSDB_SQL_CREATE_ACCT
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy341
);}
#line 2852 "sql.c"
break
;
case
59
:
/* cmd ::= CREATE DATABASE ifnotexists ids db_optr */
case
60
:
/* cmd ::= CREATE TOPIC ifnotexists ids topic_optr */
yytestcase
(
yyruleno
==
60
);
#line 203 "sql.y"
{
setCreateDbInfo
(
pInfo
,
TSDB_SQL_CREATE_DB
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy42
,
&
yymsp
[
-
2
].
minor
.
yy0
);}
#line 2858 "sql.c"
break
;
case
61
:
/* cmd ::= CREATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
#line 205 "sql.y"
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy163
,
&
yymsp
[
0
].
minor
.
yy0
,
1
);}
#line 2863 "sql.c"
break
;
case
62
:
/* cmd ::= CREATE AGGREGATE FUNCTION ids AS ids OUTPUTTYPE typename bufsize */
#line 206 "sql.y"
{
setCreateFuncInfo
(
pInfo
,
TSDB_SQL_CREATE_FUNCTION
,
&
yymsp
[
-
5
].
minor
.
yy0
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
1
].
minor
.
yy163
,
&
yymsp
[
0
].
minor
.
yy0
,
2
);}
#line 2868 "sql.c"
break
;
case
63
:
/* cmd ::= CREATE USER ids PASS ids */
#line 207 "sql.y"
{
setCreateUserSql
(
pInfo
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 2873 "sql.c"
break
;
case
64
:
/* bufsize ::= */
case
66
:
/* pps ::= */
yytestcase
(
yyruleno
==
66
);
...
...
@@ -2881,9 +2748,7 @@ static YYACTIONTYPE yy_reduce(
case
78
:
/* users ::= */
yytestcase
(
yyruleno
==
78
);
case
80
:
/* conns ::= */
yytestcase
(
yyruleno
==
80
);
case
82
:
/* state ::= */
yytestcase
(
yyruleno
==
82
);
#line 209 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
#line 2887 "sql.c"
break
;
case
65
:
/* bufsize ::= BUFSIZE INTEGER */
case
67
:
/* pps ::= PPS INTEGER */
yytestcase
(
yyruleno
==
67
);
...
...
@@ -2895,12 +2760,9 @@ static YYACTIONTYPE yy_reduce(
case
79
:
/* users ::= USERS INTEGER */
yytestcase
(
yyruleno
==
79
);
case
81
:
/* conns ::= CONNS INTEGER */
yytestcase
(
yyruleno
==
81
);
case
83
:
/* state ::= STATE ids */
yytestcase
(
yyruleno
==
83
);
#line 210 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 2901 "sql.c"
break
;
case
84
:
/* acct_optr ::= pps tseries storage streams qtime dbs users conns state */
#line 240 "sql.y"
{
yylhsminor
.
yy341
.
maxUsers
=
(
yymsp
[
-
2
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
2
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy341
.
maxDbs
=
(
yymsp
[
-
3
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
3
].
minor
.
yy0
.
z
)
:-
1
;
...
...
@@ -2912,21 +2774,16 @@ static YYACTIONTYPE yy_reduce(
yylhsminor
.
yy341
.
maxConnections
=
(
yymsp
[
-
1
].
minor
.
yy0
.
n
>
0
)
?
atoi
(
yymsp
[
-
1
].
minor
.
yy0
.
z
)
:-
1
;
yylhsminor
.
yy341
.
stat
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 2916 "sql.c"
yymsp
[
-
8
].
minor
.
yy341
=
yylhsminor
.
yy341
;
break
;
case
85
:
/* intitemlist ::= intitemlist COMMA intitem */
case
154
:
/* tagitemlist ::= tagitemlist COMMA tagitem */
yytestcase
(
yyruleno
==
154
);
#line 256 "sql.y"
{
yylhsminor
.
yy131
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy516
,
-
1
);
}
#line 2923 "sql.c"
yymsp
[
-
2
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
86
:
/* intitemlist ::= intitem */
case
155
:
/* tagitemlist ::= tagitem */
yytestcase
(
yyruleno
==
155
);
#line 257 "sql.y"
{
yylhsminor
.
yy131
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy516
,
-
1
);
}
#line 2930 "sql.c"
yymsp
[
0
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
87
:
/* intitem ::= INTEGER */
...
...
@@ -2934,15 +2791,11 @@ static YYACTIONTYPE yy_reduce(
case
157
:
/* tagitem ::= FLOAT */
yytestcase
(
yyruleno
==
157
);
case
158
:
/* tagitem ::= STRING */
yytestcase
(
yyruleno
==
158
);
case
159
:
/* tagitem ::= BOOL */
yytestcase
(
yyruleno
==
159
);
#line 259 "sql.y"
{
toTSDBType
(
yymsp
[
0
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy516
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 2940 "sql.c"
yymsp
[
0
].
minor
.
yy516
=
yylhsminor
.
yy516
;
break
;
case
88
:
/* keep ::= KEEP intitemlist */
#line 263 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy131
=
yymsp
[
0
].
minor
.
yy131
;
}
#line 2946 "sql.c"
break
;
case
89
:
/* cache ::= CACHE INTEGER */
case
90
:
/* replica ::= REPLICA INTEGER */
yytestcase
(
yyruleno
==
90
);
...
...
@@ -2959,142 +2812,99 @@ static YYACTIONTYPE yy_reduce(
case
101
:
/* update ::= UPDATE INTEGER */
yytestcase
(
yyruleno
==
101
);
case
102
:
/* cachelast ::= CACHELAST INTEGER */
yytestcase
(
yyruleno
==
102
);
case
103
:
/* partitions ::= PARTITIONS INTEGER */
yytestcase
(
yyruleno
==
103
);
#line 265 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 2965 "sql.c"
break
;
case
104
:
/* db_optr ::= */
#line 282 "sql.y"
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy42
);
yymsp
[
1
].
minor
.
yy42
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
#line 2970 "sql.c"
break
;
case
105
:
/* db_optr ::= db_optr cache */
#line 284 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
cacheBlockSize
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 2975 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
106
:
/* db_optr ::= db_optr replica */
case
123
:
/* alter_db_optr ::= alter_db_optr replica */
yytestcase
(
yyruleno
==
123
);
#line 285 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
replica
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 2982 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
107
:
/* db_optr ::= db_optr quorum */
case
124
:
/* alter_db_optr ::= alter_db_optr quorum */
yytestcase
(
yyruleno
==
124
);
#line 286 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
quorum
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 2989 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
108
:
/* db_optr ::= db_optr days */
#line 287 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
daysPerFile
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 2995 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
109
:
/* db_optr ::= db_optr minrows */
#line 288 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
minRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
#line 3001 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
110
:
/* db_optr ::= db_optr maxrows */
#line 289 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
maxRowsPerBlock
=
strtod
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
);
}
#line 3007 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
111
:
/* db_optr ::= db_optr blocks */
case
126
:
/* alter_db_optr ::= alter_db_optr blocks */
yytestcase
(
yyruleno
==
126
);
#line 290 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
numOfBlocks
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3014 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
112
:
/* db_optr ::= db_optr ctime */
#line 291 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
commitTime
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3020 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
113
:
/* db_optr ::= db_optr wal */
#line 292 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
walLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3026 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
114
:
/* db_optr ::= db_optr fsync */
#line 293 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
fsyncPeriod
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3032 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
115
:
/* db_optr ::= db_optr comp */
case
127
:
/* alter_db_optr ::= alter_db_optr comp */
yytestcase
(
yyruleno
==
127
);
#line 294 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
compressionLevel
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3039 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
116
:
/* db_optr ::= db_optr prec */
#line 295 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
precision
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3045 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
117
:
/* db_optr ::= db_optr keep */
case
125
:
/* alter_db_optr ::= alter_db_optr keep */
yytestcase
(
yyruleno
==
125
);
#line 296 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
keep
=
yymsp
[
0
].
minor
.
yy131
;
}
#line 3052 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
118
:
/* db_optr ::= db_optr update */
case
128
:
/* alter_db_optr ::= alter_db_optr update */
yytestcase
(
yyruleno
==
128
);
#line 297 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
update
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3059 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
119
:
/* db_optr ::= db_optr cachelast */
case
129
:
/* alter_db_optr ::= alter_db_optr cachelast */
yytestcase
(
yyruleno
==
129
);
#line 298 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
cachelast
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3066 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
120
:
/* topic_optr ::= db_optr */
case
130
:
/* alter_topic_optr ::= alter_db_optr */
yytestcase
(
yyruleno
==
130
);
#line 302 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
0
].
minor
.
yy42
;
yylhsminor
.
yy42
.
dbType
=
TSDB_DB_TYPE_TOPIC
;
}
#line 3073 "sql.c"
yymsp
[
0
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
121
:
/* topic_optr ::= topic_optr partitions */
case
131
:
/* alter_topic_optr ::= alter_topic_optr partitions */
yytestcase
(
yyruleno
==
131
);
#line 303 "sql.y"
{
yylhsminor
.
yy42
=
yymsp
[
-
1
].
minor
.
yy42
;
yylhsminor
.
yy42
.
partitions
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3080 "sql.c"
yymsp
[
-
1
].
minor
.
yy42
=
yylhsminor
.
yy42
;
break
;
case
122
:
/* alter_db_optr ::= */
#line 306 "sql.y"
{
setDefaultCreateDbOption
(
&
yymsp
[
1
].
minor
.
yy42
);
yymsp
[
1
].
minor
.
yy42
.
dbType
=
TSDB_DB_TYPE_DEFAULT
;}
#line 3086 "sql.c"
break
;
case
132
:
/* typename ::= ids */
#line 326 "sql.y"
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tSetColumnType
(
&
yylhsminor
.
yy163
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3094 "sql.c"
yymsp
[
0
].
minor
.
yy163
=
yylhsminor
.
yy163
;
break
;
case
133
:
/* typename ::= ids LP signed RP */
#line 332 "sql.y"
{
if
(
yymsp
[
-
1
].
minor
.
yy459
<=
0
)
{
yymsp
[
-
3
].
minor
.
yy0
.
type
=
0
;
...
...
@@ -3104,42 +2914,30 @@ static YYACTIONTYPE yy_reduce(
tSetColumnType
(
&
yylhsminor
.
yy163
,
&
yymsp
[
-
3
].
minor
.
yy0
);
}
}
#line 3108 "sql.c"
yymsp
[
-
3
].
minor
.
yy163
=
yylhsminor
.
yy163
;
break
;
case
134
:
/* typename ::= ids UNSIGNED */
#line 343 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
type
=
0
;
yymsp
[
-
1
].
minor
.
yy0
.
n
=
((
yymsp
[
0
].
minor
.
yy0
.
z
+
yymsp
[
0
].
minor
.
yy0
.
n
)
-
yymsp
[
-
1
].
minor
.
yy0
.
z
);
tSetColumnType
(
&
yylhsminor
.
yy163
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 3118 "sql.c"
yymsp
[
-
1
].
minor
.
yy163
=
yylhsminor
.
yy163
;
break
;
case
135
:
/* signed ::= INTEGER */
#line 350 "sql.y"
{
yylhsminor
.
yy459
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3124 "sql.c"
yymsp
[
0
].
minor
.
yy459
=
yylhsminor
.
yy459
;
break
;
case
136
:
/* signed ::= PLUS INTEGER */
#line 351 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy459
=
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);
}
#line 3130 "sql.c"
break
;
case
137
:
/* signed ::= MINUS INTEGER */
#line 352 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy459
=
-
strtol
(
yymsp
[
0
].
minor
.
yy0
.
z
,
NULL
,
10
);}
#line 3135 "sql.c"
break
;
case
141
:
/* cmd ::= CREATE TABLE create_table_list */
#line 358 "sql.y"
{
pInfo
->
type
=
TSDB_SQL_CREATE_TABLE
;
pInfo
->
pCreateTableInfo
=
yymsp
[
0
].
minor
.
yy272
;}
#line 3140 "sql.c"
break
;
case
142
:
/* create_table_list ::= create_from_stable */
#line 362 "sql.y"
{
SCreateTableSql
*
pCreateTable
=
calloc
(
1
,
sizeof
(
SCreateTableSql
));
pCreateTable
->
childTableInfo
=
taosArrayInit
(
4
,
sizeof
(
SCreatedTableInfo
));
...
...
@@ -3148,20 +2946,16 @@ static YYACTIONTYPE yy_reduce(
pCreateTable
->
type
=
TSQL_CREATE_TABLE_FROM_STABLE
;
yylhsminor
.
yy272
=
pCreateTable
;
}
#line 3152 "sql.c"
yymsp
[
0
].
minor
.
yy272
=
yylhsminor
.
yy272
;
break
;
case
143
:
/* create_table_list ::= create_table_list create_from_stable */
#line 371 "sql.y"
{
taosArrayPush
(
yymsp
[
-
1
].
minor
.
yy272
->
childTableInfo
,
&
yymsp
[
0
].
minor
.
yy96
);
yylhsminor
.
yy272
=
yymsp
[
-
1
].
minor
.
yy272
;
}
#line 3161 "sql.c"
yymsp
[
-
1
].
minor
.
yy272
=
yylhsminor
.
yy272
;
break
;
case
144
:
/* create_table_args ::= ifnotexists ids cpxName LP columnlist RP */
#line 377 "sql.y"
{
yylhsminor
.
yy272
=
tSetCreateTableInfo
(
yymsp
[
-
1
].
minor
.
yy131
,
NULL
,
NULL
,
TSQL_CREATE_TABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy272
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -3169,11 +2963,9 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
4
].
minor
.
yy0
,
&
yymsp
[
-
5
].
minor
.
yy0
);
}
#line 3173 "sql.c"
yymsp
[
-
5
].
minor
.
yy272
=
yylhsminor
.
yy272
;
break
;
case
145
:
/* create_stable_args ::= ifnotexists ids cpxName LP columnlist RP TAGS LP columnlist RP */
#line 387 "sql.y"
{
yylhsminor
.
yy272
=
tSetCreateTableInfo
(
yymsp
[
-
5
].
minor
.
yy131
,
yymsp
[
-
1
].
minor
.
yy131
,
NULL
,
TSQL_CREATE_STABLE
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy272
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -3181,43 +2973,33 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
#line 3185 "sql.c"
yymsp
[
-
9
].
minor
.
yy272
=
yylhsminor
.
yy272
;
break
;
case
146
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName TAGS LP tagitemlist RP */
#line 398 "sql.y"
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yylhsminor
.
yy96
=
createNewChildTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
yymsp
[
-
1
].
minor
.
yy131
,
&
yymsp
[
-
8
].
minor
.
yy0
,
&
yymsp
[
-
9
].
minor
.
yy0
);
}
#line 3195 "sql.c"
yymsp
[
-
9
].
minor
.
yy96
=
yylhsminor
.
yy96
;
break
;
case
147
:
/* create_from_stable ::= ifnotexists ids cpxName USING ids cpxName LP tagNamelist RP TAGS LP tagitemlist RP */
#line 404 "sql.y"
{
yymsp
[
-
8
].
minor
.
yy0
.
n
+=
yymsp
[
-
7
].
minor
.
yy0
.
n
;
yymsp
[
-
11
].
minor
.
yy0
.
n
+=
yymsp
[
-
10
].
minor
.
yy0
.
n
;
yylhsminor
.
yy96
=
createNewChildTableInfo
(
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy131
,
yymsp
[
-
1
].
minor
.
yy131
,
&
yymsp
[
-
11
].
minor
.
yy0
,
&
yymsp
[
-
12
].
minor
.
yy0
);
}
#line 3205 "sql.c"
yymsp
[
-
12
].
minor
.
yy96
=
yylhsminor
.
yy96
;
break
;
case
148
:
/* tagNamelist ::= tagNamelist COMMA ids */
#line 412 "sql.y"
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy0
);
yylhsminor
.
yy131
=
yymsp
[
-
2
].
minor
.
yy131
;
}
#line 3211 "sql.c"
yymsp
[
-
2
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
149
:
/* tagNamelist ::= ids */
#line 413 "sql.y"
{
yylhsminor
.
yy131
=
taosArrayInit
(
4
,
sizeof
(
SStrToken
));
taosArrayPush
(
yylhsminor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3217 "sql.c"
yymsp
[
0
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
150
:
/* create_table_args ::= ifnotexists ids cpxName AS select */
#line 417 "sql.y"
{
yylhsminor
.
yy272
=
tSetCreateTableInfo
(
NULL
,
NULL
,
yymsp
[
0
].
minor
.
yy256
,
TSQL_CREATE_STREAM
);
setSqlInfo
(
pInfo
,
yylhsminor
.
yy272
,
NULL
,
TSDB_SQL_CREATE_TABLE
);
...
...
@@ -3225,254 +3007,178 @@ static YYACTIONTYPE yy_reduce(
yymsp
[
-
3
].
minor
.
yy0
.
n
+=
yymsp
[
-
2
].
minor
.
yy0
.
n
;
setCreatedTableName
(
pInfo
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
-
4
].
minor
.
yy0
);
}
#line 3229 "sql.c"
yymsp
[
-
4
].
minor
.
yy272
=
yylhsminor
.
yy272
;
break
;
case
151
:
/* columnlist ::= columnlist COMMA column */
#line 428 "sql.y"
{
taosArrayPush
(
yymsp
[
-
2
].
minor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy163
);
yylhsminor
.
yy131
=
yymsp
[
-
2
].
minor
.
yy131
;
}
#line 3235 "sql.c"
yymsp
[
-
2
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
152
:
/* columnlist ::= column */
#line 429 "sql.y"
{
yylhsminor
.
yy131
=
taosArrayInit
(
4
,
sizeof
(
TAOS_FIELD
));
taosArrayPush
(
yylhsminor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy163
);}
#line 3241 "sql.c"
yymsp
[
0
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
153
:
/* column ::= ids typename */
#line 433 "sql.y"
{
tSetColumnInfo
(
&
yylhsminor
.
yy163
,
&
yymsp
[
-
1
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy163
);
}
#line 3249 "sql.c"
yymsp
[
-
1
].
minor
.
yy163
=
yylhsminor
.
yy163
;
break
;
case
160
:
/* tagitem ::= NULL */
#line 448 "sql.y"
{
yymsp
[
0
].
minor
.
yy0
.
type
=
0
;
tVariantCreate
(
&
yylhsminor
.
yy516
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3255 "sql.c"
yymsp
[
0
].
minor
.
yy516
=
yylhsminor
.
yy516
;
break
;
case
161
:
/* tagitem ::= NOW */
#line 449 "sql.y"
{
yymsp
[
0
].
minor
.
yy0
.
type
=
TSDB_DATA_TYPE_TIMESTAMP
;
tVariantCreate
(
&
yylhsminor
.
yy516
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3261 "sql.c"
yymsp
[
0
].
minor
.
yy516
=
yylhsminor
.
yy516
;
break
;
case
162
:
/* tagitem ::= MINUS INTEGER */
case
163
:
/* tagitem ::= MINUS FLOAT */
yytestcase
(
yyruleno
==
163
);
case
164
:
/* tagitem ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
164
);
case
165
:
/* tagitem ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
165
);
#line 451 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
yymsp
[
0
].
minor
.
yy0
.
type
;
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
tVariantCreate
(
&
yylhsminor
.
yy516
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 3275 "sql.c"
yymsp
[
-
1
].
minor
.
yy516
=
yylhsminor
.
yy516
;
break
;
case
166
:
/* select ::= SELECT selcollist from where_opt interval_opt sliding_opt session_option windowstate_option fill_opt groupby_opt having_opt orderby_opt slimit_opt limit_opt */
#line 482 "sql.y"
{
yylhsminor
.
yy256
=
tSetQuerySqlNode
(
&
yymsp
[
-
13
].
minor
.
yy0
,
yymsp
[
-
12
].
minor
.
yy131
,
yymsp
[
-
11
].
minor
.
yy544
,
yymsp
[
-
10
].
minor
.
yy46
,
yymsp
[
-
4
].
minor
.
yy131
,
yymsp
[
-
2
].
minor
.
yy131
,
&
yymsp
[
-
9
].
minor
.
yy530
,
&
yymsp
[
-
7
].
minor
.
yy39
,
&
yymsp
[
-
6
].
minor
.
yy538
,
&
yymsp
[
-
8
].
minor
.
yy0
,
yymsp
[
-
5
].
minor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy284
,
&
yymsp
[
-
1
].
minor
.
yy284
,
yymsp
[
-
3
].
minor
.
yy46
);
}
#line 3283 "sql.c"
yymsp
[
-
13
].
minor
.
yy256
=
yylhsminor
.
yy256
;
break
;
case
167
:
/* select ::= LP select RP */
#line 486 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy256
=
yymsp
[
-
1
].
minor
.
yy256
;}
#line 3289 "sql.c"
break
;
case
168
:
/* union ::= select */
#line 490 "sql.y"
{
yylhsminor
.
yy131
=
setSubclause
(
NULL
,
yymsp
[
0
].
minor
.
yy256
);
}
#line 3294 "sql.c"
yymsp
[
0
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
169
:
/* union ::= union UNION ALL select */
#line 491 "sql.y"
{
yylhsminor
.
yy131
=
appendSelectClause
(
yymsp
[
-
3
].
minor
.
yy131
,
yymsp
[
0
].
minor
.
yy256
);
}
#line 3300 "sql.c"
yymsp
[
-
3
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
170
:
/* cmd ::= union */
#line 493 "sql.y"
{
setSqlInfo
(
pInfo
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_SQL_SELECT
);
}
#line 3306 "sql.c"
break
;
case
171
:
/* select ::= SELECT selcollist */
#line 500 "sql.y"
{
yylhsminor
.
yy256
=
tSetQuerySqlNode
(
&
yymsp
[
-
1
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
,
NULL
);
}
#line 3313 "sql.c"
yymsp
[
-
1
].
minor
.
yy256
=
yylhsminor
.
yy256
;
break
;
case
172
:
/* sclp ::= selcollist COMMA */
#line 512 "sql.y"
{
yylhsminor
.
yy131
=
yymsp
[
-
1
].
minor
.
yy131
;}
#line 3319 "sql.c"
yymsp
[
-
1
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
173
:
/* sclp ::= */
case
203
:
/* orderby_opt ::= */
yytestcase
(
yyruleno
==
203
);
#line 513 "sql.y"
{
yymsp
[
1
].
minor
.
yy131
=
0
;}
#line 3326 "sql.c"
break
;
case
174
:
/* selcollist ::= sclp distinct expr as */
#line 514 "sql.y"
{
yylhsminor
.
yy131
=
tSqlExprListAppend
(
yymsp
[
-
3
].
minor
.
yy131
,
yymsp
[
-
1
].
minor
.
yy46
,
yymsp
[
-
2
].
minor
.
yy0
.
n
?
&
yymsp
[
-
2
].
minor
.
yy0
:
0
,
yymsp
[
0
].
minor
.
yy0
.
n
?&
yymsp
[
0
].
minor
.
yy0
:
0
);
}
#line 3333 "sql.c"
yymsp
[
-
3
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
175
:
/* selcollist ::= sclp STAR */
#line 518 "sql.y"
{
tSqlExpr
*
pNode
=
tSqlExprCreateIdValue
(
NULL
,
TK_ALL
);
yylhsminor
.
yy131
=
tSqlExprListAppend
(
yymsp
[
-
1
].
minor
.
yy131
,
pNode
,
0
,
0
);
}
#line 3342 "sql.c"
yymsp
[
-
1
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
176
:
/* as ::= AS ids */
#line 526 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3348 "sql.c"
break
;
case
177
:
/* as ::= ids */
#line 527 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3353 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
178
:
/* as ::= */
#line 528 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
}
#line 3359 "sql.c"
break
;
case
179
:
/* distinct ::= DISTINCT */
#line 531 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;
}
#line 3364 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
181
:
/* from ::= FROM tablelist */
case
182
:
/* from ::= FROM sub */
yytestcase
(
yyruleno
==
182
);
#line 537 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy544
=
yymsp
[
0
].
minor
.
yy544
;}
#line 3371 "sql.c"
break
;
case
183
:
/* sub ::= LP union RP */
#line 542 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy544
=
addSubqueryElem
(
NULL
,
yymsp
[
-
1
].
minor
.
yy131
,
NULL
);}
#line 3376 "sql.c"
break
;
case
184
:
/* sub ::= LP union RP ids */
#line 543 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy544
=
addSubqueryElem
(
NULL
,
yymsp
[
-
2
].
minor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3381 "sql.c"
break
;
case
185
:
/* sub ::= sub COMMA LP union RP ids */
#line 544 "sql.y"
{
yylhsminor
.
yy544
=
addSubqueryElem
(
yymsp
[
-
5
].
minor
.
yy544
,
yymsp
[
-
2
].
minor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 3386 "sql.c"
yymsp
[
-
5
].
minor
.
yy544
=
yylhsminor
.
yy544
;
break
;
case
186
:
/* tablelist ::= ids cpxName */
#line 548 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy544
=
setTableNameList
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
#line 3395 "sql.c"
yymsp
[
-
1
].
minor
.
yy544
=
yylhsminor
.
yy544
;
break
;
case
187
:
/* tablelist ::= ids cpxName ids */
#line 553 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy544
=
setTableNameList
(
NULL
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3404 "sql.c"
yymsp
[
-
2
].
minor
.
yy544
=
yylhsminor
.
yy544
;
break
;
case
188
:
/* tablelist ::= tablelist COMMA ids cpxName */
#line 558 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yylhsminor
.
yy544
=
setTableNameList
(
yymsp
[
-
3
].
minor
.
yy544
,
&
yymsp
[
-
1
].
minor
.
yy0
,
NULL
);
}
#line 3413 "sql.c"
yymsp
[
-
3
].
minor
.
yy544
=
yylhsminor
.
yy544
;
break
;
case
189
:
/* tablelist ::= tablelist COMMA ids cpxName ids */
#line 563 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
yymsp
[
-
1
].
minor
.
yy0
.
n
;
yylhsminor
.
yy544
=
setTableNameList
(
yymsp
[
-
4
].
minor
.
yy544
,
&
yymsp
[
-
2
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
);
}
#line 3422 "sql.c"
yymsp
[
-
4
].
minor
.
yy544
=
yylhsminor
.
yy544
;
break
;
case
190
:
/* tmvar ::= VARIABLE */
#line 570 "sql.y"
{
yylhsminor
.
yy0
=
yymsp
[
0
].
minor
.
yy0
;}
#line 3428 "sql.c"
yymsp
[
0
].
minor
.
yy0
=
yylhsminor
.
yy0
;
break
;
case
191
:
/* interval_opt ::= INTERVAL LP tmvar RP */
#line 573 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy530
.
interval
=
yymsp
[
-
1
].
minor
.
yy0
;
yymsp
[
-
3
].
minor
.
yy530
.
offset
.
n
=
0
;}
#line 3434 "sql.c"
break
;
case
192
:
/* interval_opt ::= INTERVAL LP tmvar COMMA tmvar RP */
#line 574 "sql.y"
{
yymsp
[
-
5
].
minor
.
yy530
.
interval
=
yymsp
[
-
3
].
minor
.
yy0
;
yymsp
[
-
5
].
minor
.
yy530
.
offset
=
yymsp
[
-
1
].
minor
.
yy0
;}
#line 3439 "sql.c"
break
;
case
193
:
/* interval_opt ::= */
#line 575 "sql.y"
{
memset
(
&
yymsp
[
1
].
minor
.
yy530
,
0
,
sizeof
(
yymsp
[
1
].
minor
.
yy530
));}
#line 3444 "sql.c"
break
;
case
194
:
/* session_option ::= */
#line 578 "sql.y"
{
yymsp
[
1
].
minor
.
yy39
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy39
.
gap
.
n
=
0
;}
#line 3449 "sql.c"
break
;
case
195
:
/* session_option ::= SESSION LP ids cpxName COMMA tmvar RP */
#line 579 "sql.y"
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
yymsp
[
-
6
].
minor
.
yy39
.
col
=
yymsp
[
-
4
].
minor
.
yy0
;
yymsp
[
-
6
].
minor
.
yy39
.
gap
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 3458 "sql.c"
break
;
case
196
:
/* windowstate_option ::= */
#line 585 "sql.y"
{
yymsp
[
1
].
minor
.
yy538
.
col
.
n
=
0
;
yymsp
[
1
].
minor
.
yy538
.
col
.
z
=
NULL
;}
#line 3463 "sql.c"
break
;
case
197
:
/* windowstate_option ::= STATE_WINDOW LP ids RP */
#line 586 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy538
.
col
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 3468 "sql.c"
break
;
case
198
:
/* fill_opt ::= */
#line 590 "sql.y"
{
yymsp
[
1
].
minor
.
yy131
=
0
;
}
#line 3473 "sql.c"
break
;
case
199
:
/* fill_opt ::= FILL LP ID COMMA tagitemlist RP */
#line 591 "sql.y"
{
tVariant
A
=
{
0
};
toTSDBType
(
yymsp
[
-
3
].
minor
.
yy0
.
type
);
...
...
@@ -3481,390 +3187,268 @@ static YYACTIONTYPE yy_reduce(
tVariantListInsert
(
yymsp
[
-
1
].
minor
.
yy131
,
&
A
,
-
1
,
0
);
yymsp
[
-
5
].
minor
.
yy131
=
yymsp
[
-
1
].
minor
.
yy131
;
}
#line 3485 "sql.c"
break
;
case
200
:
/* fill_opt ::= FILL LP ID RP */
#line 600 "sql.y"
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
3
].
minor
.
yy131
=
tVariantListAppendToken
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy0
,
-
1
);
}
#line 3493 "sql.c"
break
;
case
201
:
/* sliding_opt ::= SLIDING LP tmvar RP */
#line 606 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy0
=
yymsp
[
-
1
].
minor
.
yy0
;
}
#line 3498 "sql.c"
break
;
case
202
:
/* sliding_opt ::= */
#line 607 "sql.y"
{
yymsp
[
1
].
minor
.
yy0
.
n
=
0
;
yymsp
[
1
].
minor
.
yy0
.
z
=
NULL
;
yymsp
[
1
].
minor
.
yy0
.
type
=
0
;
}
#line 3503 "sql.c"
break
;
case
204
:
/* orderby_opt ::= ORDER BY sortlist */
#line 619 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy131
=
yymsp
[
0
].
minor
.
yy131
;}
#line 3508 "sql.c"
break
;
case
205
:
/* sortlist ::= sortlist COMMA item sortorder */
#line 621 "sql.y"
{
yylhsminor
.
yy131
=
tVariantListAppend
(
yymsp
[
-
3
].
minor
.
yy131
,
&
yymsp
[
-
1
].
minor
.
yy516
,
yymsp
[
0
].
minor
.
yy43
);
}
#line 3515 "sql.c"
yymsp
[
-
3
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
206
:
/* sortlist ::= item sortorder */
#line 625 "sql.y"
{
yylhsminor
.
yy131
=
tVariantListAppend
(
NULL
,
&
yymsp
[
-
1
].
minor
.
yy516
,
yymsp
[
0
].
minor
.
yy43
);
}
#line 3523 "sql.c"
yymsp
[
-
1
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
207
:
/* item ::= ids cpxName */
#line 630 "sql.y"
{
toTSDBType
(
yymsp
[
-
1
].
minor
.
yy0
.
type
);
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
tVariantCreate
(
&
yylhsminor
.
yy516
,
&
yymsp
[
-
1
].
minor
.
yy0
);
}
#line 3534 "sql.c"
yymsp
[
-
1
].
minor
.
yy516
=
yylhsminor
.
yy516
;
break
;
case
208
:
/* sortorder ::= ASC */
#line 638 "sql.y"
{
yymsp
[
0
].
minor
.
yy43
=
TSDB_ORDER_ASC
;
}
#line 3540 "sql.c"
break
;
case
209
:
/* sortorder ::= DESC */
#line 639 "sql.y"
{
yymsp
[
0
].
minor
.
yy43
=
TSDB_ORDER_DESC
;}
#line 3545 "sql.c"
break
;
case
210
:
/* sortorder ::= */
#line 640 "sql.y"
{
yymsp
[
1
].
minor
.
yy43
=
TSDB_ORDER_ASC
;
}
#line 3550 "sql.c"
break
;
case
211
:
/* groupby_opt ::= */
#line 648 "sql.y"
{
yymsp
[
1
].
minor
.
yy131
=
0
;}
#line 3555 "sql.c"
break
;
case
212
:
/* groupby_opt ::= GROUP BY grouplist */
#line 649 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy131
=
yymsp
[
0
].
minor
.
yy131
;}
#line 3560 "sql.c"
break
;
case
213
:
/* grouplist ::= grouplist COMMA item */
#line 651 "sql.y"
{
yylhsminor
.
yy131
=
tVariantListAppend
(
yymsp
[
-
2
].
minor
.
yy131
,
&
yymsp
[
0
].
minor
.
yy516
,
-
1
);
}
#line 3567 "sql.c"
yymsp
[
-
2
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
214
:
/* grouplist ::= item */
#line 655 "sql.y"
{
yylhsminor
.
yy131
=
tVariantListAppend
(
NULL
,
&
yymsp
[
0
].
minor
.
yy516
,
-
1
);
}
#line 3575 "sql.c"
yymsp
[
0
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
215
:
/* having_opt ::= */
case
225
:
/* where_opt ::= */
yytestcase
(
yyruleno
==
225
);
case
267
:
/* expritem ::= */
yytestcase
(
yyruleno
==
267
);
#line 662 "sql.y"
case
268
:
/* expritem ::= */
yytestcase
(
yyruleno
==
268
);
{
yymsp
[
1
].
minor
.
yy46
=
0
;}
#line 3583 "sql.c"
break
;
case
216
:
/* having_opt ::= HAVING expr */
case
226
:
/* where_opt ::= WHERE expr */
yytestcase
(
yyruleno
==
226
);
#line 663 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy46
=
yymsp
[
0
].
minor
.
yy46
;}
#line 3589 "sql.c"
break
;
case
217
:
/* limit_opt ::= */
case
221
:
/* slimit_opt ::= */
yytestcase
(
yyruleno
==
221
);
#line 667 "sql.y"
{
yymsp
[
1
].
minor
.
yy284
.
limit
=
-
1
;
yymsp
[
1
].
minor
.
yy284
.
offset
=
0
;}
#line 3595 "sql.c"
break
;
case
218
:
/* limit_opt ::= LIMIT signed */
case
222
:
/* slimit_opt ::= SLIMIT signed */
yytestcase
(
yyruleno
==
222
);
#line 668 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy284
.
limit
=
yymsp
[
0
].
minor
.
yy459
;
yymsp
[
-
1
].
minor
.
yy284
.
offset
=
0
;}
#line 3601 "sql.c"
break
;
case
219
:
/* limit_opt ::= LIMIT signed OFFSET signed */
#line 670 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy284
.
limit
=
yymsp
[
-
2
].
minor
.
yy459
;
yymsp
[
-
3
].
minor
.
yy284
.
offset
=
yymsp
[
0
].
minor
.
yy459
;}
#line 3606 "sql.c"
break
;
case
220
:
/* limit_opt ::= LIMIT signed COMMA signed */
#line 672 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy284
.
limit
=
yymsp
[
0
].
minor
.
yy459
;
yymsp
[
-
3
].
minor
.
yy284
.
offset
=
yymsp
[
-
2
].
minor
.
yy459
;}
#line 3611 "sql.c"
break
;
case
223
:
/* slimit_opt ::= SLIMIT signed SOFFSET signed */
#line 678 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy284
.
limit
=
yymsp
[
-
2
].
minor
.
yy459
;
yymsp
[
-
3
].
minor
.
yy284
.
offset
=
yymsp
[
0
].
minor
.
yy459
;}
#line 3616 "sql.c"
break
;
case
224
:
/* slimit_opt ::= SLIMIT signed COMMA signed */
#line 680 "sql.y"
{
yymsp
[
-
3
].
minor
.
yy284
.
limit
=
yymsp
[
0
].
minor
.
yy459
;
yymsp
[
-
3
].
minor
.
yy284
.
offset
=
yymsp
[
-
2
].
minor
.
yy459
;}
#line 3621 "sql.c"
break
;
case
227
:
/* expr ::= LP expr RP */
#line 693 "sql.y"
{
yylhsminor
.
yy46
=
yymsp
[
-
1
].
minor
.
yy46
;
yylhsminor
.
yy46
->
exprToken
.
z
=
yymsp
[
-
2
].
minor
.
yy0
.
z
;
yylhsminor
.
yy46
->
exprToken
.
n
=
(
yymsp
[
0
].
minor
.
yy0
.
z
-
yymsp
[
-
2
].
minor
.
yy0
.
z
+
1
);}
#line 3626 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
228
:
/* expr ::= ID */
#line 695 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_ID
);}
#line 3632 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
229
:
/* expr ::= ID DOT ID */
#line 696 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ID
);}
#line 3638 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
230
:
/* expr ::= ID DOT STAR */
#line 697 "sql.y"
{
yymsp
[
-
2
].
minor
.
yy0
.
n
+=
(
1
+
yymsp
[
0
].
minor
.
yy0
.
n
);
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
2
].
minor
.
yy0
,
TK_ALL
);}
#line 3644 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
231
:
/* expr ::= INTEGER */
#line 699 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_INTEGER
);}
#line 3650 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
232
:
/* expr ::= MINUS INTEGER */
case
233
:
/* expr ::= PLUS INTEGER */
yytestcase
(
yyruleno
==
233
);
#line 700 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_INTEGER
;
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_INTEGER
);}
#line 3657 "sql.c"
yymsp
[
-
1
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
234
:
/* expr ::= FLOAT */
#line 702 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_FLOAT
);}
#line 3663 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
235
:
/* expr ::= MINUS FLOAT */
case
236
:
/* expr ::= PLUS FLOAT */
yytestcase
(
yyruleno
==
236
);
#line 703 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_FLOAT
;
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_FLOAT
);}
#line 3670 "sql.c"
yymsp
[
-
1
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
237
:
/* expr ::= STRING */
#line 705 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_STRING
);}
#line 3676 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
238
:
/* expr ::= NOW */
#line 706 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NOW
);
}
#line 3682 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
239
:
/* expr ::= VARIABLE */
#line 707 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_VARIABLE
);}
#line 3688 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
240
:
/* expr ::= PLUS VARIABLE */
case
241
:
/* expr ::= MINUS VARIABLE */
yytestcase
(
yyruleno
==
241
);
#line 708 "sql.y"
{
yymsp
[
-
1
].
minor
.
yy0
.
n
+=
yymsp
[
0
].
minor
.
yy0
.
n
;
yymsp
[
-
1
].
minor
.
yy0
.
type
=
TK_VARIABLE
;
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
-
1
].
minor
.
yy0
,
TK_VARIABLE
);}
#line 3695 "sql.c"
yymsp
[
-
1
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
242
:
/* expr ::= BOOL */
#line 710 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_BOOL
);}
#line 3701 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
243
:
/* expr ::= NULL */
#line 711 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreateIdValue
(
&
yymsp
[
0
].
minor
.
yy0
,
TK_NULL
);}
#line 3707 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
244
:
/* expr ::= ID LP exprlist RP */
#line 714 "sql.y"
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy46
=
tSqlExprCreateFunction
(
yymsp
[
-
1
].
minor
.
yy131
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
#line 3713 "sql.c"
yymsp
[
-
3
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
245
:
/* expr ::= ID LP STAR RP */
#line 717 "sql.y"
{
tStrTokenAppend
(
pInfo
->
funcs
,
&
yymsp
[
-
3
].
minor
.
yy0
);
yylhsminor
.
yy46
=
tSqlExprCreateFunction
(
NULL
,
&
yymsp
[
-
3
].
minor
.
yy0
,
&
yymsp
[
0
].
minor
.
yy0
,
yymsp
[
-
3
].
minor
.
yy0
.
type
);
}
#line 3719 "sql.c"
yymsp
[
-
3
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
246
:
/* expr ::= expr IS NULL */
#line 720 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
NULL
,
TK_ISNULL
);}
#line 3725 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
247
:
/* expr ::= expr IS NOT NULL */
#line 721 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
3
].
minor
.
yy46
,
NULL
,
TK_NOTNULL
);}
#line 3731 "sql.c"
yymsp
[
-
3
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
248
:
/* expr ::= expr LT expr */
#line 724 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_LT
);}
#line 3737 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
249
:
/* expr ::= expr GT expr */
#line 725 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_GT
);}
#line 3743 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
250
:
/* expr ::= expr LE expr */
#line 726 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_LE
);}
#line 3749 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
251
:
/* expr ::= expr GE expr */
#line 727 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_GE
);}
#line 3755 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
252
:
/* expr ::= expr NE expr */
#line 728 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_NE
);}
#line 3761 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
253
:
/* expr ::= expr EQ expr */
#line 729 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_EQ
);}
#line 3767 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
254
:
/* expr ::= expr BETWEEN expr AND expr */
#line 731 "sql.y"
{
tSqlExpr
*
X2
=
tSqlExprClone
(
yymsp
[
-
4
].
minor
.
yy46
);
yylhsminor
.
yy46
=
tSqlExprCreate
(
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy46
,
yymsp
[
-
2
].
minor
.
yy46
,
TK_GE
),
tSqlExprCreate
(
X2
,
yymsp
[
0
].
minor
.
yy46
,
TK_LE
),
TK_AND
);}
#line 3773 "sql.c"
yymsp
[
-
4
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
255
:
/* expr ::= expr AND expr */
#line 733 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_AND
);}
#line 3779 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
256
:
/* expr ::= expr OR expr */
#line 734 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_OR
);
}
#line 3785 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
257
:
/* expr ::= expr PLUS expr */
#line 737 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_PLUS
);
}
#line 3791 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
258
:
/* expr ::= expr MINUS expr */
#line 738 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_MINUS
);
}
#line 3797 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
259
:
/* expr ::= expr STAR expr */
#line 739 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_STAR
);
}
#line 3803 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
260
:
/* expr ::= expr SLASH expr */
#line 740 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_DIVIDE
);}
#line 3809 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
261
:
/* expr ::= expr REM expr */
#line 741 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_REM
);
}
#line 3815 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
262
:
/* expr ::= expr LIKE expr */
#line 744 "sql.y"
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_LIKE
);
}
#line 3821 "sql.c"
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
263
:
/* expr ::= expr IN LP exprlist RP */
#line 747 "sql.y"
case
263
:
/* expr ::= expr MATCH expr */
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
2
].
minor
.
yy46
,
yymsp
[
0
].
minor
.
yy46
,
TK_MATCH
);
}
yymsp
[
-
2
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
264
:
/* expr ::= expr IN LP exprlist RP */
{
yylhsminor
.
yy46
=
tSqlExprCreate
(
yymsp
[
-
4
].
minor
.
yy46
,
(
tSqlExpr
*
)
yymsp
[
-
1
].
minor
.
yy131
,
TK_IN
);
}
#line 3827 "sql.c"
yymsp
[
-
4
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
264
:
/* exprlist ::= exprlist COMMA expritem */
#line 755 "sql.y"
case
265
:
/* exprlist ::= exprlist COMMA expritem */
{
yylhsminor
.
yy131
=
tSqlExprListAppend
(
yymsp
[
-
2
].
minor
.
yy131
,
yymsp
[
0
].
minor
.
yy46
,
0
,
0
);}
#line 3833 "sql.c"
yymsp
[
-
2
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
265
:
/* exprlist ::= expritem */
#line 756 "sql.y"
case
266
:
/* exprlist ::= expritem */
{
yylhsminor
.
yy131
=
tSqlExprListAppend
(
0
,
yymsp
[
0
].
minor
.
yy46
,
0
,
0
);}
#line 3839 "sql.c"
yymsp
[
0
].
minor
.
yy131
=
yylhsminor
.
yy131
;
break
;
case
266
:
/* expritem ::= expr */
#line 757 "sql.y"
case
267
:
/* expritem ::= expr */
{
yylhsminor
.
yy46
=
yymsp
[
0
].
minor
.
yy46
;}
#line 3845 "sql.c"
yymsp
[
0
].
minor
.
yy46
=
yylhsminor
.
yy46
;
break
;
case
268
:
/* cmd ::= RESET QUERY CACHE */
#line 761 "sql.y"
case
269
:
/* cmd ::= RESET QUERY CACHE */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_RESET_CACHE
,
0
);}
#line 3851 "sql.c"
break
;
case
269
:
/* cmd ::= SYNCDB ids REPLICA */
#line 764 "sql.y"
case
270
:
/* cmd ::= SYNCDB ids REPLICA */
{
setDCLSqlElems
(
pInfo
,
TSDB_SQL_SYNC_DB_REPLICA
,
1
,
&
yymsp
[
-
1
].
minor
.
yy0
);}
#line 3856 "sql.c"
break
;
case
270
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
#line 767 "sql.y"
case
271
:
/* cmd ::= ALTER TABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3865 "sql.c"
break
;
case
271
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
#line 773 "sql.y"
case
272
:
/* cmd ::= ALTER TABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3874,28 +3458,22 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
K
,
TSDB_ALTER_TABLE_DROP_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3878 "sql.c"
break
;
case
272
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
#line 783 "sql.y"
case
273
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3887 "sql.c"
break
;
case
273
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
#line 790 "sql.y"
case
274
:
/* cmd ::= ALTER TABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3896 "sql.c"
break
;
case
274
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
#line 795 "sql.y"
case
275
:
/* cmd ::= ALTER TABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3905,10 +3483,8 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3909 "sql.c"
break
;
case
275
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
#line 805 "sql.y"
case
276
:
/* cmd ::= ALTER TABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -3921,10 +3497,8 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3925 "sql.c"
break
;
case
276
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
#line 818 "sql.y"
case
277
:
/* cmd ::= ALTER TABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
...
@@ -3935,28 +3509,22 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3939 "sql.c"
break
;
case
277
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
#line 829 "sql.y"
case
278
:
/* cmd ::= ALTER TABLE ids cpxName MODIFY TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
-
1
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3948 "sql.c"
break
;
case
278
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
#line 836 "sql.y"
case
279
:
/* cmd ::= ALTER STABLE ids cpxName ADD COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_ADD_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3957 "sql.c"
break
;
case
279
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
#line 842 "sql.y"
case
280
:
/* cmd ::= ALTER STABLE ids cpxName DROP COLUMN ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3966,28 +3534,22 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
K
,
TSDB_ALTER_TABLE_DROP_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3970 "sql.c"
break
;
case
280
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
#line 852 "sql.y"
case
281
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY COLUMN columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_CHANGE_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3979 "sql.c"
break
;
case
281
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
#line 859 "sql.y"
case
282
:
/* cmd ::= ALTER STABLE ids cpxName ADD TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_ADD_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 3988 "sql.c"
break
;
case
282
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
#line 864 "sql.y"
case
283
:
/* cmd ::= ALTER STABLE ids cpxName DROP TAG ids */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
...
...
@@ -3997,10 +3559,8 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_DROP_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4001 "sql.c"
break
;
case
283
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
#line 874 "sql.y"
case
284
:
/* cmd ::= ALTER STABLE ids cpxName CHANGE TAG ids ids */
{
yymsp
[
-
5
].
minor
.
yy0
.
n
+=
yymsp
[
-
4
].
minor
.
yy0
.
n
;
...
...
@@ -4013,10 +3573,8 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
5
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_CHANGE_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4017 "sql.c"
break
;
case
284
:
/* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
#line 887 "sql.y"
case
285
:
/* cmd ::= ALTER STABLE ids cpxName SET TAG ids EQ tagitem */
{
yymsp
[
-
6
].
minor
.
yy0
.
n
+=
yymsp
[
-
5
].
minor
.
yy0
.
n
;
...
...
@@ -4027,31 +3585,22 @@ static YYACTIONTYPE yy_reduce(
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
6
].
minor
.
yy0
,
NULL
,
A
,
TSDB_ALTER_TABLE_UPDATE_TAG_VAL
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4031 "sql.c"
break
;
case
285
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
#line 898 "sql.y"
case
286
:
/* cmd ::= ALTER STABLE ids cpxName MODIFY TAG columnlist */
{
yymsp
[
-
4
].
minor
.
yy0
.
n
+=
yymsp
[
-
3
].
minor
.
yy0
.
n
;
SAlterTableInfo
*
pAlterTable
=
tSetAlterTableInfo
(
&
yymsp
[
-
4
].
minor
.
yy0
,
yymsp
[
0
].
minor
.
yy131
,
NULL
,
TSDB_ALTER_TABLE_MODIFY_TAG_COLUMN
,
TSDB_SUPER_TABLE
);
setSqlInfo
(
pInfo
,
pAlterTable
,
NULL
,
TSDB_SQL_ALTER_TABLE
);
}
#line 4040 "sql.c"
break
;
case
286
:
/* cmd ::= KILL CONNECTION INTEGER */
#line 905 "sql.y"
case
287
:
/* cmd ::= KILL CONNECTION INTEGER */
{
setKillSql
(
pInfo
,
TSDB_SQL_KILL_CONNECTION
,
&
yymsp
[
0
].
minor
.
yy0
);}
#line 4045 "sql.c"
break
;
case
287
:
/* cmd ::= KILL STREAM INTEGER COLON INTEGER */
#line 906 "sql.y"
case
288
:
/* 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
);}
#line 4050 "sql.c"
break
;
case
288
:
/* cmd ::= KILL QUERY INTEGER COLON INTEGER */
#line 907 "sql.y"
case
289
:
/* 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
);}
#line 4055 "sql.c"
break
;
default:
break
;
...
...
@@ -4113,7 +3662,6 @@ static void yy_syntax_error(
ParseCTX_FETCH
#define TOKEN yyminor
/************ Begin %syntax_error code ****************************************/
#line 37 "sql.y"
pInfo
->
valid
=
false
;
int32_t
outputBufLen
=
tListLen
(
pInfo
->
msg
);
...
...
@@ -4136,7 +3684,6 @@ static void yy_syntax_error(
}
assert
(
len
<=
outputBufLen
);
#line 4140 "sql.c"
/************ End %syntax_error code ******************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
...
...
@@ -4162,8 +3709,7 @@ static void yy_accept(
/* Here code is inserted which will be executed whenever the
** parser accepts */
/*********** Begin %parse_accept code *****************************************/
#line 61 "sql.y"
#line 4167 "sql.c"
/*********** End %parse_accept code *******************************************/
ParseARG_STORE
/* Suppress warning about unused %extra_argument variable */
ParseCTX_STORE
...
...
src/tsdb/src/tsdbRead.c
浏览文件 @
1f54d6aa
...
...
@@ -3708,6 +3708,9 @@ static bool tableFilterFp(const void* pNode, void* param) {
case
TSDB_RELATION_LIKE
:
{
return
ret
==
0
;
}
case
TSDB_RELATION_MATCH
:
{
return
ret
==
0
;
}
case
TSDB_RELATION_IN
:
{
return
ret
==
1
;
}
...
...
@@ -4041,6 +4044,8 @@ static int32_t setQueryCond(tQueryInfo *queryColInfo, SQueryCond* pCond) {
pCond
->
start
->
v
=
queryColInfo
->
q
;
}
else
if
(
optr
==
TSDB_RELATION_LIKE
)
{
assert
(
0
);
}
else
if
(
optr
==
TSDB_RELATION_MATCH
)
{
assert
(
0
);
}
return
TSDB_CODE_SUCCESS
;
...
...
@@ -4198,7 +4203,7 @@ static void queryIndexlessColumn(SSkipList* pSkipList, tQueryInfo* pQueryInfo, S
if
(
pQueryInfo
->
sch
.
colId
==
TSDB_TBNAME_COLUMN_INDEX
)
{
if
(
pQueryInfo
->
optr
==
TSDB_RELATION_IN
)
{
addToResult
=
pQueryInfo
->
compare
(
name
,
pQueryInfo
->
q
);
}
else
if
(
pQueryInfo
->
optr
==
TSDB_RELATION_LIKE
)
{
}
else
if
(
pQueryInfo
->
optr
==
TSDB_RELATION_LIKE
||
pQueryInfo
->
optr
==
TSDB_RELATION_MATCH
)
{
addToResult
=
!
pQueryInfo
->
compare
(
name
,
pQueryInfo
->
q
);
}
}
else
{
...
...
@@ -4230,7 +4235,8 @@ void getTableListfromSkipList(tExprNode *pExpr, SSkipList *pSkipList, SArray *re
param
->
setupInfoFn
(
pExpr
,
param
->
pExtInfo
);
tQueryInfo
*
pQueryInfo
=
pExpr
->
_node
.
info
;
if
(
pQueryInfo
->
indexed
&&
(
pQueryInfo
->
optr
!=
TSDB_RELATION_LIKE
&&
pQueryInfo
->
optr
!=
TSDB_RELATION_IN
))
{
if
(
pQueryInfo
->
indexed
&&
(
pQueryInfo
->
optr
!=
TSDB_RELATION_LIKE
&&
pQueryInfo
->
optr
==
TSDB_RELATION_MATCH
&&
pQueryInfo
->
optr
!=
TSDB_RELATION_IN
))
{
queryIndexedColumn
(
pSkipList
,
pQueryInfo
,
result
);
}
else
{
queryIndexlessColumn
(
pSkipList
,
pQueryInfo
,
result
,
param
->
nodeFilterFn
);
...
...
src/util/inc/tcompare.h
浏览文件 @
1f54d6aa
...
...
@@ -26,6 +26,7 @@ extern "C" {
#define TSDB_PATTERN_NOMATCH 1
#define TSDB_PATTERN_NOWILDCARDMATCH 2
#define TSDB_PATTERN_STRING_MAX_LEN 100
#define TSDB_REGEX_STRING_MAX_LEN 128
#define FLT_COMPAR_TOL_FACTOR 4
#define FLT_EQUAL(_x, _y) (fabs((_x) - (_y)) <= (FLT_COMPAR_TOL_FACTOR * FLT_EPSILON))
...
...
@@ -82,6 +83,7 @@ int32_t compareLenPrefixedStr(const void *pLeft, const void *pRight);
int32_t
compareLenPrefixedWStr
(
const
void
*
pLeft
,
const
void
*
pRight
);
int32_t
compareStrPatternComp
(
const
void
*
pLeft
,
const
void
*
pRight
);
int32_t
compareStrRegexComp
(
const
void
*
pLeft
,
const
void
*
pRight
);
int32_t
compareFindItemInSet
(
const
void
*
pLeft
,
const
void
*
pRight
);
int32_t
compareWStrPatternComp
(
const
void
*
pLeft
,
const
void
*
pRight
);
...
...
src/util/src/tcompare.c
浏览文件 @
1f54d6aa
...
...
@@ -13,10 +13,11 @@
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "os.h"
#include "ttype.h"
#include "tcompare.h"
#include <tulog.h>
#include "hash.h"
#include "os.h"
#include "ttype.h"
int32_t
setCompareBytes1
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
return
NULL
!=
taosHashGet
((
SHashObj
*
)
pRight
,
pLeft
,
1
)
?
1
:
0
;
...
...
@@ -343,6 +344,43 @@ int32_t compareStrPatternComp(const void* pLeft, const void* pRight) {
return
(
ret
==
TSDB_PATTERN_MATCH
)
?
0
:
1
;
}
int32_t
compareStrRegexComp
(
const
void
*
pLeft
,
const
void
*
pRight
)
{
size_t
sz
=
varDataLen
(
pRight
);
char
*
pattern
=
malloc
(
sz
+
1
);
memcpy
(
pattern
,
varDataVal
(
pRight
),
varDataLen
(
pRight
));
pattern
[
sz
]
=
0
;
sz
=
varDataLen
(
pLeft
);
char
*
str
=
malloc
(
sz
+
1
);
memcpy
(
str
,
varDataVal
(
pLeft
),
sz
);
str
[
sz
]
=
0
;
int
errCode
=
0
;
regex_t
regex
;
char
msgbuf
[
256
]
=
{
0
};
int
cflags
=
REG_EXTENDED
|
REG_ICASE
;
if
((
errCode
=
regcomp
(
&
regex
,
pattern
,
cflags
))
!=
0
)
{
regerror
(
errCode
,
&
regex
,
msgbuf
,
sizeof
(
msgbuf
));
uError
(
"Failed to compile regex pattern %s. reason %s"
,
pattern
,
msgbuf
);
regfree
(
&
regex
);
free
(
str
);
free
(
pattern
);
return
1
;
}
errCode
=
regexec
(
&
regex
,
str
,
0
,
NULL
,
0
);
if
(
errCode
!=
0
&&
errCode
!=
REG_NOMATCH
)
{
regerror
(
errCode
,
&
regex
,
msgbuf
,
sizeof
(
msgbuf
));
uError
(
"Failed to match %s with pattern %s, reason %s"
,
str
,
pattern
,
msgbuf
)
}
int32_t
result
=
(
errCode
==
0
)
?
0
:
1
;
regfree
(
&
regex
);
free
(
str
);
free
(
pattern
);
return
result
;
}
int32_t
taosArrayCompareString
(
const
void
*
a
,
const
void
*
b
)
{
const
char
*
x
=
*
(
const
char
**
)
a
;
const
char
*
y
=
*
(
const
char
**
)
b
;
...
...
@@ -403,7 +441,9 @@ __compar_fn_t getComparFunc(int32_t type, int32_t optr) {
case
TSDB_DATA_TYPE_FLOAT
:
comparFn
=
compareFloatVal
;
break
;
case
TSDB_DATA_TYPE_DOUBLE
:
comparFn
=
compareDoubleVal
;
break
;
case
TSDB_DATA_TYPE_BINARY
:
{
if
(
optr
==
TSDB_RELATION_LIKE
)
{
/* wildcard query using like operator */
if
(
optr
==
TSDB_RELATION_MATCH
)
{
comparFn
=
compareStrRegexComp
;
}
else
if
(
optr
==
TSDB_RELATION_LIKE
)
{
/* wildcard query using like operator */
comparFn
=
compareStrPatternComp
;
}
else
if
(
optr
==
TSDB_RELATION_IN
)
{
comparFn
=
compareFindItemInSet
;
...
...
@@ -415,7 +455,9 @@ __compar_fn_t getComparFunc(int32_t type, int32_t optr) {
}
case
TSDB_DATA_TYPE_NCHAR
:
{
if
(
optr
==
TSDB_RELATION_LIKE
)
{
if
(
optr
==
TSDB_RELATION_MATCH
)
{
comparFn
=
compareStrRegexComp
;
}
else
if
(
optr
==
TSDB_RELATION_LIKE
)
{
comparFn
=
compareWStrPatternComp
;
}
else
if
(
optr
==
TSDB_RELATION_IN
)
{
comparFn
=
compareFindItemInSet
;
...
...
src/util/src/ttokenizer.c
浏览文件 @
1f54d6aa
...
...
@@ -53,6 +53,7 @@ static SKeyword keywordTable[] = {
{
"NOTNULL"
,
TK_NOTNULL
},
{
"IS"
,
TK_IS
},
{
"LIKE"
,
TK_LIKE
},
{
"MATCH"
,
TK_MATCH
},
{
"GLOB"
,
TK_GLOB
},
{
"BETWEEN"
,
TK_BETWEEN
},
{
"IN"
,
TK_IN
},
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录