Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
taosdata
TDengine
提交
025b7782
T
TDengine
项目概览
taosdata
/
TDengine
1 年多 前同步成功
通知
1185
Star
22016
Fork
4786
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
1
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
1
Issue
1
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
025b7782
编写于
7月 06, 2022
作者:
X
Xiaoyu Wang
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
feat: add db option 'cachelastsize'
上级
e9d25879
变更
10
隐藏空白更改
内联
并排
Showing
10 changed file
with
3196 addition
and
3145 deletion
+3196
-3145
include/common/ttokendef.h
include/common/ttokendef.h
+190
-189
include/libs/nodes/cmdnodes.h
include/libs/nodes/cmdnodes.h
+2
-1
source/libs/nodes/src/nodesCodeFuncs.c
source/libs/nodes/src/nodesCodeFuncs.c
+2
-2
source/libs/parser/inc/parAst.h
source/libs/parser/inc/parAst.h
+1
-0
source/libs/parser/inc/sql.y
source/libs/parser/inc/sql.y
+2
-0
source/libs/parser/src/parAstCreater.c
source/libs/parser/src/parAstCreater.c
+8
-3
source/libs/parser/src/parTokenizer.c
source/libs/parser/src/parTokenizer.c
+1
-0
source/libs/parser/src/parTranslater.c
source/libs/parser/src/parTranslater.c
+9
-3
source/libs/parser/src/sql.c
source/libs/parser/src/sql.c
+2975
-2946
source/libs/parser/test/parInitialCTest.cpp
source/libs/parser/test/parInitialCTest.cpp
+6
-1
未找到文件。
include/common/ttokendef.h
浏览文件 @
025b7782
...
@@ -78,195 +78,196 @@
...
@@ -78,195 +78,196 @@
#define TK_EXISTS 60
#define TK_EXISTS 60
#define TK_BUFFER 61
#define TK_BUFFER 61
#define TK_CACHELAST 62
#define TK_CACHELAST 62
#define TK_COMP 63
#define TK_CACHELASTSIZE 63
#define TK_DURATION 64
#define TK_COMP 64
#define TK_NK_VARIABLE 65
#define TK_DURATION 65
#define TK_FSYNC 66
#define TK_NK_VARIABLE 66
#define TK_MAXROWS 67
#define TK_FSYNC 67
#define TK_MINROWS 68
#define TK_MAXROWS 68
#define TK_KEEP 69
#define TK_MINROWS 69
#define TK_PAGES 70
#define TK_KEEP 70
#define TK_PAGESIZE 71
#define TK_PAGES 71
#define TK_PRECISION 72
#define TK_PAGESIZE 72
#define TK_REPLICA 73
#define TK_PRECISION 73
#define TK_STRICT 74
#define TK_REPLICA 74
#define TK_WAL 75
#define TK_STRICT 75
#define TK_VGROUPS 76
#define TK_WAL 76
#define TK_SINGLE_STABLE 77
#define TK_VGROUPS 77
#define TK_RETENTIONS 78
#define TK_SINGLE_STABLE 78
#define TK_SCHEMALESS 79
#define TK_RETENTIONS 79
#define TK_NK_COLON 80
#define TK_SCHEMALESS 80
#define TK_TABLE 81
#define TK_NK_COLON 81
#define TK_NK_LP 82
#define TK_TABLE 82
#define TK_NK_RP 83
#define TK_NK_LP 83
#define TK_STABLE 84
#define TK_NK_RP 84
#define TK_ADD 85
#define TK_STABLE 85
#define TK_COLUMN 86
#define TK_ADD 86
#define TK_MODIFY 87
#define TK_COLUMN 87
#define TK_RENAME 88
#define TK_MODIFY 88
#define TK_TAG 89
#define TK_RENAME 89
#define TK_SET 90
#define TK_TAG 90
#define TK_NK_EQ 91
#define TK_SET 91
#define TK_USING 92
#define TK_NK_EQ 92
#define TK_TAGS 93
#define TK_USING 93
#define TK_COMMENT 94
#define TK_TAGS 94
#define TK_BOOL 95
#define TK_COMMENT 95
#define TK_TINYINT 96
#define TK_BOOL 96
#define TK_SMALLINT 97
#define TK_TINYINT 97
#define TK_INT 98
#define TK_SMALLINT 98
#define TK_INTEGER 99
#define TK_INT 99
#define TK_BIGINT 100
#define TK_INTEGER 100
#define TK_FLOAT 101
#define TK_BIGINT 101
#define TK_DOUBLE 102
#define TK_FLOAT 102
#define TK_BINARY 103
#define TK_DOUBLE 103
#define TK_TIMESTAMP 104
#define TK_BINARY 104
#define TK_NCHAR 105
#define TK_TIMESTAMP 105
#define TK_UNSIGNED 106
#define TK_NCHAR 106
#define TK_JSON 107
#define TK_UNSIGNED 107
#define TK_VARCHAR 108
#define TK_JSON 108
#define TK_MEDIUMBLOB 109
#define TK_VARCHAR 109
#define TK_BLOB 110
#define TK_MEDIUMBLOB 110
#define TK_VARBINARY 111
#define TK_BLOB 111
#define TK_DECIMAL 112
#define TK_VARBINARY 112
#define TK_MAX_DELAY 113
#define TK_DECIMAL 113
#define TK_WATERMARK 114
#define TK_MAX_DELAY 114
#define TK_ROLLUP 115
#define TK_WATERMARK 115
#define TK_TTL 116
#define TK_ROLLUP 116
#define TK_SMA 117
#define TK_TTL 117
#define TK_FIRST 118
#define TK_SMA 118
#define TK_LAST 119
#define TK_FIRST 119
#define TK_SHOW 120
#define TK_LAST 120
#define TK_DATABASES 121
#define TK_SHOW 121
#define TK_TABLES 122
#define TK_DATABASES 122
#define TK_STABLES 123
#define TK_TABLES 123
#define TK_MNODES 124
#define TK_STABLES 124
#define TK_MODULES 125
#define TK_MNODES 125
#define TK_QNODES 126
#define TK_MODULES 126
#define TK_FUNCTIONS 127
#define TK_QNODES 127
#define TK_INDEXES 128
#define TK_FUNCTIONS 128
#define TK_ACCOUNTS 129
#define TK_INDEXES 129
#define TK_APPS 130
#define TK_ACCOUNTS 130
#define TK_CONNECTIONS 131
#define TK_APPS 131
#define TK_LICENCE 132
#define TK_CONNECTIONS 132
#define TK_GRANTS 133
#define TK_LICENCE 133
#define TK_QUERIES 134
#define TK_GRANTS 134
#define TK_SCORES 135
#define TK_QUERIES 135
#define TK_TOPICS 136
#define TK_SCORES 136
#define TK_VARIABLES 137
#define TK_TOPICS 137
#define TK_BNODES 138
#define TK_VARIABLES 138
#define TK_SNODES 139
#define TK_BNODES 139
#define TK_CLUSTER 140
#define TK_SNODES 140
#define TK_TRANSACTIONS 141
#define TK_CLUSTER 141
#define TK_DISTRIBUTED 142
#define TK_TRANSACTIONS 142
#define TK_CONSUMERS 143
#define TK_DISTRIBUTED 143
#define TK_SUBSCRIPTIONS 144
#define TK_CONSUMERS 144
#define TK_LIKE 145
#define TK_SUBSCRIPTIONS 145
#define TK_INDEX 146
#define TK_LIKE 146
#define TK_FUNCTION 147
#define TK_INDEX 147
#define TK_INTERVAL 148
#define TK_FUNCTION 148
#define TK_TOPIC 149
#define TK_INTERVAL 149
#define TK_AS 150
#define TK_TOPIC 150
#define TK_WITH 151
#define TK_AS 151
#define TK_META 152
#define TK_WITH 152
#define TK_CONSUMER 153
#define TK_META 153
#define TK_GROUP 154
#define TK_CONSUMER 154
#define TK_DESC 155
#define TK_GROUP 155
#define TK_DESCRIBE 156
#define TK_DESC 156
#define TK_RESET 157
#define TK_DESCRIBE 157
#define TK_QUERY 158
#define TK_RESET 158
#define TK_CACHE 159
#define TK_QUERY 159
#define TK_EXPLAIN 160
#define TK_CACHE 160
#define TK_ANALYZE 161
#define TK_EXPLAIN 161
#define TK_VERBOSE 162
#define TK_ANALYZE 162
#define TK_NK_BOOL 163
#define TK_VERBOSE 163
#define TK_RATIO 164
#define TK_NK_BOOL 164
#define TK_NK_FLOAT 165
#define TK_RATIO 165
#define TK_COMPACT 166
#define TK_NK_FLOAT 166
#define TK_VNODES 167
#define TK_COMPACT 167
#define TK_IN 168
#define TK_VNODES 168
#define TK_OUTPUTTYPE 169
#define TK_IN 169
#define TK_AGGREGATE 170
#define TK_OUTPUTTYPE 170
#define TK_BUFSIZE 171
#define TK_AGGREGATE 171
#define TK_STREAM 172
#define TK_BUFSIZE 172
#define TK_INTO 173
#define TK_STREAM 173
#define TK_TRIGGER 174
#define TK_INTO 174
#define TK_AT_ONCE 175
#define TK_TRIGGER 175
#define TK_WINDOW_CLOSE 176
#define TK_AT_ONCE 176
#define TK_IGNORE 177
#define TK_WINDOW_CLOSE 177
#define TK_EXPIRED 178
#define TK_IGNORE 178
#define TK_KILL 179
#define TK_EXPIRED 179
#define TK_CONNECTION 180
#define TK_KILL 180
#define TK_TRANSACTION 181
#define TK_CONNECTION 181
#define TK_BALANCE 182
#define TK_TRANSACTION 182
#define TK_VGROUP 183
#define TK_BALANCE 183
#define TK_MERGE 184
#define TK_VGROUP 184
#define TK_REDISTRIBUTE 185
#define TK_MERGE 185
#define TK_SPLIT 186
#define TK_REDISTRIBUTE 186
#define TK_SYNCDB 187
#define TK_SPLIT 187
#define TK_DELETE 188
#define TK_SYNCDB 188
#define TK_INSERT 189
#define TK_DELETE 189
#define TK_NULL 190
#define TK_INSERT 190
#define TK_NK_QUESTION 191
#define TK_NULL 191
#define TK_NK_ARROW 192
#define TK_NK_QUESTION 192
#define TK_ROWTS 193
#define TK_NK_ARROW 193
#define TK_TBNAME 194
#define TK_ROWTS 194
#define TK_QSTARTTS 195
#define TK_TBNAME 195
#define TK_QENDTS 196
#define TK_QSTARTTS 196
#define TK_WSTARTTS 197
#define TK_QENDTS 197
#define TK_WENDTS 198
#define TK_WSTARTTS 198
#define TK_WDURATION 199
#define TK_WENDTS 199
#define TK_CAST 200
#define TK_WDURATION 200
#define TK_NOW 201
#define TK_CAST 201
#define TK_TODAY 202
#define TK_NOW 202
#define TK_TIMEZONE 203
#define TK_TODAY 203
#define TK_CLIENT_VERSION 204
#define TK_TIMEZONE 204
#define TK_SERVER_VERSION 205
#define TK_CLIENT_VERSION 205
#define TK_SERVER_STATUS 206
#define TK_SERVER_VERSION 206
#define TK_CURRENT_USER 207
#define TK_SERVER_STATUS 207
#define TK_COUNT 208
#define TK_CURRENT_USER 208
#define TK_LAST_ROW 209
#define TK_COUNT 209
#define TK_BETWEEN 210
#define TK_LAST_ROW 210
#define TK_IS 211
#define TK_BETWEEN 211
#define TK_NK_LT 212
#define TK_IS 212
#define TK_NK_GT 213
#define TK_NK_LT 213
#define TK_NK_LE 214
#define TK_NK_GT 214
#define TK_NK_GE 215
#define TK_NK_LE 215
#define TK_NK_NE 216
#define TK_NK_GE 216
#define TK_MATCH 217
#define TK_NK_NE 217
#define TK_NMATCH 218
#define TK_MATCH 218
#define TK_CONTAINS 219
#define TK_NMATCH 219
#define TK_JOIN 220
#define TK_CONTAINS 220
#define TK_INNER 221
#define TK_JOIN 221
#define TK_SELECT 222
#define TK_INNER 222
#define TK_DISTINCT 223
#define TK_SELECT 223
#define TK_WHERE 224
#define TK_DISTINCT 224
#define TK_PARTITION 225
#define TK_WHERE 225
#define TK_BY 226
#define TK_PARTITION 226
#define TK_SESSION 227
#define TK_BY 227
#define TK_STATE_WINDOW 228
#define TK_SESSION 228
#define TK_SLIDING 229
#define TK_STATE_WINDOW 229
#define TK_FILL 230
#define TK_SLIDING 230
#define TK_VALUE 231
#define TK_FILL 231
#define TK_NONE 232
#define TK_VALUE 232
#define TK_PREV 233
#define TK_NONE 233
#define TK_LINEAR 234
#define TK_PREV 234
#define TK_NEXT 235
#define TK_LINEAR 235
#define TK_HAVING 236
#define TK_NEXT 236
#define TK_RANGE 237
#define TK_HAVING 237
#define TK_EVERY 238
#define TK_RANGE 238
#define TK_ORDER 239
#define TK_EVERY 239
#define TK_SLIMIT 240
#define TK_ORDER 240
#define TK_SOFFSET 241
#define TK_SLIMIT 241
#define TK_LIMIT 242
#define TK_SOFFSET 242
#define TK_OFFSET 243
#define TK_LIMIT 243
#define TK_ASC 244
#define TK_OFFSET 244
#define TK_NULLS 245
#define TK_ASC 245
#define TK_ID 246
#define TK_NULLS 246
#define TK_NK_BITNOT 247
#define TK_ID 247
#define TK_VALUES 248
#define TK_NK_BITNOT 248
#define TK_IMPORT 249
#define TK_VALUES 249
#define TK_NK_SEMI 250
#define TK_IMPORT 250
#define TK_FILE 251
#define TK_NK_SEMI 251
#define TK_FILE 252
#define TK_NK_SPACE 300
#define TK_NK_SPACE 300
#define TK_NK_COMMENT 301
#define TK_NK_COMMENT 301
...
...
include/libs/nodes/cmdnodes.h
浏览文件 @
025b7782
...
@@ -51,7 +51,8 @@ extern "C" {
...
@@ -51,7 +51,8 @@ extern "C" {
typedef
struct
SDatabaseOptions
{
typedef
struct
SDatabaseOptions
{
ENodeType
type
;
ENodeType
type
;
int32_t
buffer
;
int32_t
buffer
;
int8_t
cachelast
;
int8_t
cacheLast
;
int32_t
cacheLastSize
;
int8_t
compressionLevel
;
int8_t
compressionLevel
;
int32_t
daysPerFile
;
int32_t
daysPerFile
;
SValueNode
*
pDaysPerFile
;
SValueNode
*
pDaysPerFile
;
...
...
source/libs/nodes/src/nodesCodeFuncs.c
浏览文件 @
025b7782
...
@@ -3598,7 +3598,7 @@ static int32_t databaseOptionsToJson(const void* pObj, SJson* pJson) {
...
@@ -3598,7 +3598,7 @@ static int32_t databaseOptionsToJson(const void* pObj, SJson* pJson) {
int32_t
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDatabaseOptionsBuffer
,
pNode
->
buffer
);
int32_t
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDatabaseOptionsBuffer
,
pNode
->
buffer
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDatabaseOptionsCachelast
,
pNode
->
cache
l
ast
);
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDatabaseOptionsCachelast
,
pNode
->
cache
L
ast
);
}
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDatabaseOptionsCompressionLevel
,
pNode
->
compressionLevel
);
code
=
tjsonAddIntegerToObject
(
pJson
,
jkDatabaseOptionsCompressionLevel
,
pNode
->
compressionLevel
);
...
@@ -3660,7 +3660,7 @@ static int32_t jsonToDatabaseOptions(const SJson* pJson, void* pObj) {
...
@@ -3660,7 +3660,7 @@ static int32_t jsonToDatabaseOptions(const SJson* pJson, void* pObj) {
int32_t
code
=
tjsonGetIntValue
(
pJson
,
jkDatabaseOptionsBuffer
,
&
pNode
->
buffer
);
int32_t
code
=
tjsonGetIntValue
(
pJson
,
jkDatabaseOptionsBuffer
,
&
pNode
->
buffer
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetTinyIntValue
(
pJson
,
jkDatabaseOptionsCachelast
,
&
pNode
->
cache
l
ast
);
code
=
tjsonGetTinyIntValue
(
pJson
,
jkDatabaseOptionsCachelast
,
&
pNode
->
cache
L
ast
);
}
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
tjsonGetTinyIntValue
(
pJson
,
jkDatabaseOptionsCompressionLevel
,
&
pNode
->
compressionLevel
);
code
=
tjsonGetTinyIntValue
(
pJson
,
jkDatabaseOptionsCompressionLevel
,
&
pNode
->
compressionLevel
);
...
...
source/libs/parser/inc/parAst.h
浏览文件 @
025b7782
...
@@ -39,6 +39,7 @@ typedef struct SAstCreateContext {
...
@@ -39,6 +39,7 @@ typedef struct SAstCreateContext {
typedef
enum
EDatabaseOptionType
{
typedef
enum
EDatabaseOptionType
{
DB_OPTION_BUFFER
=
1
,
DB_OPTION_BUFFER
=
1
,
DB_OPTION_CACHELAST
,
DB_OPTION_CACHELAST
,
DB_OPTION_CACHELASTSIZE
,
DB_OPTION_COMP
,
DB_OPTION_COMP
,
DB_OPTION_DAYS
,
DB_OPTION_DAYS
,
DB_OPTION_FSYNC
,
DB_OPTION_FSYNC
,
...
...
source/libs/parser/inc/sql.y
浏览文件 @
025b7782
...
@@ -171,6 +171,7 @@ exists_opt(A) ::= .
...
@@ -171,6 +171,7 @@ exists_opt(A) ::= .
db_options(A) ::= . { A = createDefaultDatabaseOptions(pCxt); }
db_options(A) ::= . { A = createDefaultDatabaseOptions(pCxt); }
db_options(A) ::= db_options(B) BUFFER NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_BUFFER, &C); }
db_options(A) ::= db_options(B) BUFFER NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_BUFFER, &C); }
db_options(A) ::= db_options(B) CACHELAST NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_CACHELAST, &C); }
db_options(A) ::= db_options(B) CACHELAST NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_CACHELAST, &C); }
db_options(A) ::= db_options(B) CACHELASTSIZE NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_CACHELASTSIZE, &C); }
db_options(A) ::= db_options(B) COMP NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_COMP, &C); }
db_options(A) ::= db_options(B) COMP NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_COMP, &C); }
db_options(A) ::= db_options(B) DURATION NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_DAYS, &C); }
db_options(A) ::= db_options(B) DURATION NK_INTEGER(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_DAYS, &C); }
db_options(A) ::= db_options(B) DURATION NK_VARIABLE(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_DAYS, &C); }
db_options(A) ::= db_options(B) DURATION NK_VARIABLE(C). { A = setDatabaseOption(pCxt, B, DB_OPTION_DAYS, &C); }
...
@@ -197,6 +198,7 @@ alter_db_options(A) ::= alter_db_options(B) alter_db_option(C).
...
@@ -197,6 +198,7 @@ alter_db_options(A) ::= alter_db_options(B) alter_db_option(C).
%destructor alter_db_option { }
%destructor alter_db_option { }
alter_db_option(A) ::= BUFFER NK_INTEGER(B). { A.type = DB_OPTION_BUFFER; A.val = B; }
alter_db_option(A) ::= BUFFER NK_INTEGER(B). { A.type = DB_OPTION_BUFFER; A.val = B; }
alter_db_option(A) ::= CACHELAST NK_INTEGER(B). { A.type = DB_OPTION_CACHELAST; A.val = B; }
alter_db_option(A) ::= CACHELAST NK_INTEGER(B). { A.type = DB_OPTION_CACHELAST; A.val = B; }
alter_db_option(A) ::= CACHELASTSIZE NK_INTEGER(B). { A.type = DB_OPTION_CACHELASTSIZE; A.val = B; }
alter_db_option(A) ::= FSYNC NK_INTEGER(B). { A.type = DB_OPTION_FSYNC; A.val = B; }
alter_db_option(A) ::= FSYNC NK_INTEGER(B). { A.type = DB_OPTION_FSYNC; A.val = B; }
alter_db_option(A) ::= KEEP integer_list(B). { A.type = DB_OPTION_KEEP; A.pList = B; }
alter_db_option(A) ::= KEEP integer_list(B). { A.type = DB_OPTION_KEEP; A.pList = B; }
alter_db_option(A) ::= KEEP variable_list(B). { A.type = DB_OPTION_KEEP; A.pList = B; }
alter_db_option(A) ::= KEEP variable_list(B). { A.type = DB_OPTION_KEEP; A.pList = B; }
...
...
source/libs/parser/src/parAstCreater.c
浏览文件 @
025b7782
...
@@ -746,7 +746,8 @@ SNode* createDefaultDatabaseOptions(SAstCreateContext* pCxt) {
...
@@ -746,7 +746,8 @@ SNode* createDefaultDatabaseOptions(SAstCreateContext* pCxt) {
SDatabaseOptions
*
pOptions
=
(
SDatabaseOptions
*
)
nodesMakeNode
(
QUERY_NODE_DATABASE_OPTIONS
);
SDatabaseOptions
*
pOptions
=
(
SDatabaseOptions
*
)
nodesMakeNode
(
QUERY_NODE_DATABASE_OPTIONS
);
CHECK_OUT_OF_MEM
(
pOptions
);
CHECK_OUT_OF_MEM
(
pOptions
);
pOptions
->
buffer
=
TSDB_DEFAULT_BUFFER_PER_VNODE
;
pOptions
->
buffer
=
TSDB_DEFAULT_BUFFER_PER_VNODE
;
pOptions
->
cachelast
=
TSDB_DEFAULT_CACHE_LAST_ROW
;
pOptions
->
cacheLast
=
TSDB_DEFAULT_CACHE_LAST_ROW
;
pOptions
->
cacheLastSize
=
TSDB_DEFAULT_LAST_ROW_MEM
;
pOptions
->
compressionLevel
=
TSDB_DEFAULT_COMP_LEVEL
;
pOptions
->
compressionLevel
=
TSDB_DEFAULT_COMP_LEVEL
;
pOptions
->
daysPerFile
=
TSDB_DEFAULT_DAYS_PER_FILE
;
pOptions
->
daysPerFile
=
TSDB_DEFAULT_DAYS_PER_FILE
;
pOptions
->
fsyncPeriod
=
TSDB_DEFAULT_FSYNC_PERIOD
;
pOptions
->
fsyncPeriod
=
TSDB_DEFAULT_FSYNC_PERIOD
;
...
@@ -772,7 +773,8 @@ SNode* createAlterDatabaseOptions(SAstCreateContext* pCxt) {
...
@@ -772,7 +773,8 @@ SNode* createAlterDatabaseOptions(SAstCreateContext* pCxt) {
SDatabaseOptions
*
pOptions
=
(
SDatabaseOptions
*
)
nodesMakeNode
(
QUERY_NODE_DATABASE_OPTIONS
);
SDatabaseOptions
*
pOptions
=
(
SDatabaseOptions
*
)
nodesMakeNode
(
QUERY_NODE_DATABASE_OPTIONS
);
CHECK_OUT_OF_MEM
(
pOptions
);
CHECK_OUT_OF_MEM
(
pOptions
);
pOptions
->
buffer
=
-
1
;
pOptions
->
buffer
=
-
1
;
pOptions
->
cachelast
=
-
1
;
pOptions
->
cacheLast
=
-
1
;
pOptions
->
cacheLastSize
=
-
1
;
pOptions
->
compressionLevel
=
-
1
;
pOptions
->
compressionLevel
=
-
1
;
pOptions
->
daysPerFile
=
-
1
;
pOptions
->
daysPerFile
=
-
1
;
pOptions
->
fsyncPeriod
=
-
1
;
pOptions
->
fsyncPeriod
=
-
1
;
...
@@ -800,7 +802,10 @@ SNode* setDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions, EDatabaseOpti
...
@@ -800,7 +802,10 @@ SNode* setDatabaseOption(SAstCreateContext* pCxt, SNode* pOptions, EDatabaseOpti
((
SDatabaseOptions
*
)
pOptions
)
->
buffer
=
taosStr2Int32
(((
SToken
*
)
pVal
)
->
z
,
NULL
,
10
);
((
SDatabaseOptions
*
)
pOptions
)
->
buffer
=
taosStr2Int32
(((
SToken
*
)
pVal
)
->
z
,
NULL
,
10
);
break
;
break
;
case
DB_OPTION_CACHELAST
:
case
DB_OPTION_CACHELAST
:
((
SDatabaseOptions
*
)
pOptions
)
->
cachelast
=
taosStr2Int8
(((
SToken
*
)
pVal
)
->
z
,
NULL
,
10
);
((
SDatabaseOptions
*
)
pOptions
)
->
cacheLast
=
taosStr2Int8
(((
SToken
*
)
pVal
)
->
z
,
NULL
,
10
);
break
;
case
DB_OPTION_CACHELASTSIZE
:
((
SDatabaseOptions
*
)
pOptions
)
->
cacheLastSize
=
taosStr2Int32
(((
SToken
*
)
pVal
)
->
z
,
NULL
,
10
);
break
;
break
;
case
DB_OPTION_COMP
:
case
DB_OPTION_COMP
:
((
SDatabaseOptions
*
)
pOptions
)
->
compressionLevel
=
taosStr2Int8
(((
SToken
*
)
pVal
)
->
z
,
NULL
,
10
);
((
SDatabaseOptions
*
)
pOptions
)
->
compressionLevel
=
taosStr2Int8
(((
SToken
*
)
pVal
)
->
z
,
NULL
,
10
);
...
...
source/libs/parser/src/parTokenizer.c
浏览文件 @
025b7782
...
@@ -53,6 +53,7 @@ static SKeyword keywordTable[] = {
...
@@ -53,6 +53,7 @@ static SKeyword keywordTable[] = {
{
"BY"
,
TK_BY
},
{
"BY"
,
TK_BY
},
{
"CACHE"
,
TK_CACHE
},
{
"CACHE"
,
TK_CACHE
},
{
"CACHELAST"
,
TK_CACHELAST
},
{
"CACHELAST"
,
TK_CACHELAST
},
{
"CACHELASTSIZE"
,
TK_CACHELASTSIZE
},
{
"CAST"
,
TK_CAST
},
{
"CAST"
,
TK_CAST
},
{
"CLIENT_VERSION"
,
TK_CLIENT_VERSION
},
{
"CLIENT_VERSION"
,
TK_CLIENT_VERSION
},
{
"CLUSTER"
,
TK_CLUSTER
},
{
"CLUSTER"
,
TK_CLUSTER
},
...
...
source/libs/parser/src/parTranslater.c
浏览文件 @
025b7782
...
@@ -2988,7 +2988,8 @@ static int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt* pS
...
@@ -2988,7 +2988,8 @@ static int32_t buildCreateDbReq(STranslateContext* pCxt, SCreateDatabaseStmt* pS
pReq
->
compression
=
pStmt
->
pOptions
->
compressionLevel
;
pReq
->
compression
=
pStmt
->
pOptions
->
compressionLevel
;
pReq
->
replications
=
pStmt
->
pOptions
->
replica
;
pReq
->
replications
=
pStmt
->
pOptions
->
replica
;
pReq
->
strict
=
pStmt
->
pOptions
->
strict
;
pReq
->
strict
=
pStmt
->
pOptions
->
strict
;
pReq
->
cacheLastRow
=
pStmt
->
pOptions
->
cachelast
;
pReq
->
cacheLastRow
=
pStmt
->
pOptions
->
cacheLast
;
pReq
->
lastRowMem
=
pStmt
->
pOptions
->
cacheLastSize
;
pReq
->
schemaless
=
pStmt
->
pOptions
->
schemaless
;
pReq
->
schemaless
=
pStmt
->
pOptions
->
schemaless
;
pReq
->
ignoreExist
=
pStmt
->
ignoreExists
;
pReq
->
ignoreExist
=
pStmt
->
ignoreExists
;
return
buildCreateDbRetentions
(
pStmt
->
pOptions
->
pRetentions
,
pReq
);
return
buildCreateDbRetentions
(
pStmt
->
pOptions
->
pRetentions
,
pReq
);
...
@@ -3149,9 +3150,13 @@ static int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName
...
@@ -3149,9 +3150,13 @@ static int32_t checkDatabaseOptions(STranslateContext* pCxt, const char* pDbName
int32_t
code
=
int32_t
code
=
checkRangeOption
(
pCxt
,
"buffer"
,
pOptions
->
buffer
,
TSDB_MIN_BUFFER_PER_VNODE
,
TSDB_MAX_BUFFER_PER_VNODE
);
checkRangeOption
(
pCxt
,
"buffer"
,
pOptions
->
buffer
,
TSDB_MIN_BUFFER_PER_VNODE
,
TSDB_MAX_BUFFER_PER_VNODE
);
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
checkRangeOption
(
pCxt
,
"cacheLast"
,
pOptions
->
cache
l
ast
,
TSDB_MIN_DB_CACHE_LAST_ROW
,
code
=
checkRangeOption
(
pCxt
,
"cacheLast"
,
pOptions
->
cache
L
ast
,
TSDB_MIN_DB_CACHE_LAST_ROW
,
TSDB_MAX_DB_CACHE_LAST_ROW
);
TSDB_MAX_DB_CACHE_LAST_ROW
);
}
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
checkRangeOption
(
pCxt
,
"cacheLastSize"
,
pOptions
->
cacheLastSize
,
TSDB_MIN_DB_LAST_ROW_MEM
,
TSDB_MAX_DB_LAST_ROW_MEM
);
}
if
(
TSDB_CODE_SUCCESS
==
code
)
{
if
(
TSDB_CODE_SUCCESS
==
code
)
{
code
=
checkRangeOption
(
pCxt
,
"compression"
,
pOptions
->
compressionLevel
,
TSDB_MIN_COMP_LEVEL
,
TSDB_MAX_COMP_LEVEL
);
code
=
checkRangeOption
(
pCxt
,
"compression"
,
pOptions
->
compressionLevel
,
TSDB_MIN_COMP_LEVEL
,
TSDB_MAX_COMP_LEVEL
);
}
}
...
@@ -3271,7 +3276,8 @@ static void buildAlterDbReq(STranslateContext* pCxt, SAlterDatabaseStmt* pStmt,
...
@@ -3271,7 +3276,8 @@ static void buildAlterDbReq(STranslateContext* pCxt, SAlterDatabaseStmt* pStmt,
pReq
->
fsyncPeriod
=
pStmt
->
pOptions
->
fsyncPeriod
;
pReq
->
fsyncPeriod
=
pStmt
->
pOptions
->
fsyncPeriod
;
pReq
->
walLevel
=
pStmt
->
pOptions
->
walLevel
;
pReq
->
walLevel
=
pStmt
->
pOptions
->
walLevel
;
pReq
->
strict
=
pStmt
->
pOptions
->
strict
;
pReq
->
strict
=
pStmt
->
pOptions
->
strict
;
pReq
->
cacheLastRow
=
pStmt
->
pOptions
->
cachelast
;
pReq
->
cacheLastRow
=
pStmt
->
pOptions
->
cacheLast
;
pReq
->
lastRowMem
=
pStmt
->
pOptions
->
cacheLastSize
;
pReq
->
replications
=
pStmt
->
pOptions
->
replica
;
pReq
->
replications
=
pStmt
->
pOptions
->
replica
;
return
;
return
;
}
}
...
...
source/libs/parser/src/sql.c
浏览文件 @
025b7782
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
source/libs/parser/test/parInitialCTest.cpp
浏览文件 @
025b7782
...
@@ -77,6 +77,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
...
@@ -77,6 +77,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
expect
.
ignoreExist
=
igExists
;
expect
.
ignoreExist
=
igExists
;
expect
.
buffer
=
TSDB_DEFAULT_BUFFER_PER_VNODE
;
expect
.
buffer
=
TSDB_DEFAULT_BUFFER_PER_VNODE
;
expect
.
cacheLastRow
=
TSDB_DEFAULT_CACHE_LAST_ROW
;
expect
.
cacheLastRow
=
TSDB_DEFAULT_CACHE_LAST_ROW
;
expect
.
lastRowMem
=
TSDB_DEFAULT_LAST_ROW_MEM
;
expect
.
compression
=
TSDB_DEFAULT_COMP_LEVEL
;
expect
.
compression
=
TSDB_DEFAULT_COMP_LEVEL
;
expect
.
daysPerFile
=
TSDB_DEFAULT_DAYS_PER_FILE
;
expect
.
daysPerFile
=
TSDB_DEFAULT_DAYS_PER_FILE
;
expect
.
fsyncPeriod
=
TSDB_DEFAULT_FSYNC_PERIOD
;
expect
.
fsyncPeriod
=
TSDB_DEFAULT_FSYNC_PERIOD
;
...
@@ -97,7 +98,8 @@ TEST_F(ParserInitialCTest, createDatabase) {
...
@@ -97,7 +98,8 @@ TEST_F(ParserInitialCTest, createDatabase) {
};
};
auto
setDbBufferFunc
=
[
&
](
int32_t
buffer
)
{
expect
.
buffer
=
buffer
;
};
auto
setDbBufferFunc
=
[
&
](
int32_t
buffer
)
{
expect
.
buffer
=
buffer
;
};
auto
setDbCachelastFunc
=
[
&
](
int8_t
CACHELAST
)
{
expect
.
cacheLastRow
=
CACHELAST
;
};
auto
setDbCachelastFunc
=
[
&
](
int8_t
cachelast
)
{
expect
.
cacheLastRow
=
cachelast
;
};
auto
setDbCachelastSize
=
[
&
](
int8_t
cachelastSize
)
{
expect
.
lastRowMem
=
cachelastSize
;
};
auto
setDbCompressionFunc
=
[
&
](
int8_t
compressionLevel
)
{
expect
.
compression
=
compressionLevel
;
};
auto
setDbCompressionFunc
=
[
&
](
int8_t
compressionLevel
)
{
expect
.
compression
=
compressionLevel
;
};
auto
setDbDaysFunc
=
[
&
](
int32_t
daysPerFile
)
{
expect
.
daysPerFile
=
daysPerFile
;
};
auto
setDbDaysFunc
=
[
&
](
int32_t
daysPerFile
)
{
expect
.
daysPerFile
=
daysPerFile
;
};
auto
setDbFsyncFunc
=
[
&
](
int32_t
fsyncPeriod
)
{
expect
.
fsyncPeriod
=
fsyncPeriod
;
};
auto
setDbFsyncFunc
=
[
&
](
int32_t
fsyncPeriod
)
{
expect
.
fsyncPeriod
=
fsyncPeriod
;
};
...
@@ -154,6 +156,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
...
@@ -154,6 +156,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
ASSERT_EQ
(
req
.
replications
,
expect
.
replications
);
ASSERT_EQ
(
req
.
replications
,
expect
.
replications
);
ASSERT_EQ
(
req
.
strict
,
expect
.
strict
);
ASSERT_EQ
(
req
.
strict
,
expect
.
strict
);
ASSERT_EQ
(
req
.
cacheLastRow
,
expect
.
cacheLastRow
);
ASSERT_EQ
(
req
.
cacheLastRow
,
expect
.
cacheLastRow
);
ASSERT_EQ
(
req
.
lastRowMem
,
expect
.
lastRowMem
);
// ASSERT_EQ(req.schemaless, expect.schemaless);
// ASSERT_EQ(req.schemaless, expect.schemaless);
ASSERT_EQ
(
req
.
ignoreExist
,
expect
.
ignoreExist
);
ASSERT_EQ
(
req
.
ignoreExist
,
expect
.
ignoreExist
);
ASSERT_EQ
(
req
.
numOfRetensions
,
expect
.
numOfRetensions
);
ASSERT_EQ
(
req
.
numOfRetensions
,
expect
.
numOfRetensions
);
...
@@ -179,6 +182,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
...
@@ -179,6 +182,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
setCreateDbReqFunc
(
"wxy_db"
,
1
);
setCreateDbReqFunc
(
"wxy_db"
,
1
);
setDbBufferFunc
(
64
);
setDbBufferFunc
(
64
);
setDbCachelastFunc
(
2
);
setDbCachelastFunc
(
2
);
setDbCachelastSize
(
20
);
setDbCompressionFunc
(
1
);
setDbCompressionFunc
(
1
);
setDbDaysFunc
(
100
*
1440
);
setDbDaysFunc
(
100
*
1440
);
setDbFsyncFunc
(
100
);
setDbFsyncFunc
(
100
);
...
@@ -200,6 +204,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
...
@@ -200,6 +204,7 @@ TEST_F(ParserInitialCTest, createDatabase) {
run
(
"CREATE DATABASE IF NOT EXISTS wxy_db "
run
(
"CREATE DATABASE IF NOT EXISTS wxy_db "
"BUFFER 64 "
"BUFFER 64 "
"CACHELAST 2 "
"CACHELAST 2 "
"CACHELASTSIZE 20 "
"COMP 1 "
"COMP 1 "
"DURATION 100 "
"DURATION 100 "
"FSYNC 100 "
"FSYNC 100 "
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录