Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
慢慢CG
TDengine
提交
b3db7efc
T
TDengine
项目概览
慢慢CG
/
TDengine
与 Fork 源项目一致
Fork自
taosdata / TDengine
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
TDengine
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
b3db7efc
编写于
5月 19, 2020
作者:
S
Shengliang Guan
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
[TD-369] fix bug while alter db
上级
573f1933
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
162 addition
and
46 deletion
+162
-46
src/client/src/tscSQLParser.c
src/client/src/tscSQLParser.c
+1
-1
src/inc/taosmsg.h
src/inc/taosmsg.h
+6
-6
src/mnode/src/mgmtDb.c
src/mnode/src/mgmtDb.c
+78
-32
tests/script/general/db/alter_option.sim
tests/script/general/db/alter_option.sim
+69
-0
tests/script/jenkins/basic.txt
tests/script/jenkins/basic.txt
+8
-7
未找到文件。
src/client/src/tscSQLParser.c
浏览文件 @
b3db7efc
...
@@ -4823,7 +4823,7 @@ static int32_t setTimePrecision(SSqlCmd* pCmd, SCMCreateDbMsg* pMsg, SCreateDBIn
...
@@ -4823,7 +4823,7 @@ static int32_t setTimePrecision(SSqlCmd* pCmd, SCMCreateDbMsg* pMsg, SCreateDBIn
static
void
setCreateDBOption
(
SCMCreateDbMsg
*
pMsg
,
SCreateDBInfo
*
pCreateDb
)
{
static
void
setCreateDBOption
(
SCMCreateDbMsg
*
pMsg
,
SCreateDBInfo
*
pCreateDb
)
{
pMsg
->
maxTables
=
htonl
(
pCreateDb
->
maxTablesPerVnode
);
pMsg
->
maxTables
=
htonl
(
pCreateDb
->
maxTablesPerVnode
);
pMsg
->
cacheBlockSize
=
htonl
(
pCreateDb
->
cacheBlockSize
);
pMsg
->
cacheBlockSize
=
htonl
(
pCreateDb
->
cacheBlockSize
);
pMsg
->
numOf
Blocks
=
htonl
(
pCreateDb
->
numOfBlocks
);
pMsg
->
total
Blocks
=
htonl
(
pCreateDb
->
numOfBlocks
);
pMsg
->
daysPerFile
=
htonl
(
pCreateDb
->
daysPerFile
);
pMsg
->
daysPerFile
=
htonl
(
pCreateDb
->
daysPerFile
);
pMsg
->
commitTime
=
htonl
(
pCreateDb
->
commitTime
);
pMsg
->
commitTime
=
htonl
(
pCreateDb
->
commitTime
);
pMsg
->
minRowsPerFileBlock
=
htonl
(
pCreateDb
->
minRowsPerBlock
);
pMsg
->
minRowsPerFileBlock
=
htonl
(
pCreateDb
->
minRowsPerBlock
);
...
...
src/inc/taosmsg.h
浏览文件 @
b3db7efc
...
@@ -485,20 +485,20 @@ typedef struct {
...
@@ -485,20 +485,20 @@ typedef struct {
typedef
struct
{
typedef
struct
{
char
acct
[
TSDB_USER_LEN
+
1
];
char
acct
[
TSDB_USER_LEN
+
1
];
char
db
[
TSDB_DB_NAME_LEN
+
1
];
char
db
[
TSDB_DB_NAME_LEN
+
1
];
int32_t
maxTables
;
int32_t
cacheBlockSize
;
//MB
int32_t
cacheBlockSize
;
//MB
int32_t
numOfBlocks
;
int32_t
totalBlocks
;
int32_t
maxTables
;
int32_t
daysPerFile
;
int32_t
daysPerFile
;
int32_t
daysToKeep
;
int32_t
daysToKeep1
;
int32_t
daysToKeep1
;
int32_t
daysToKeep2
;
int32_t
daysToKeep2
;
int32_t
daysToKeep
;
int32_t
commitTime
;
int32_t
minRowsPerFileBlock
;
int32_t
minRowsPerFileBlock
;
int32_t
maxRowsPerFileBlock
;
int32_t
maxRowsPerFileBlock
;
int32_t
commitTime
;
uint8_t
precision
;
// time resolution
int8_t
compression
;
int8_t
compression
;
int8_t
walLevel
;
int8_t
walLevel
;
int8_t
replications
;
int8_t
replications
;
uint8_t
precision
;
// time resolution
int8_t
ignoreExist
;
int8_t
ignoreExist
;
}
SCMCreateDbMsg
,
SCMAlterDbMsg
;
}
SCMCreateDbMsg
,
SCMAlterDbMsg
;
...
@@ -563,9 +563,9 @@ typedef struct {
...
@@ -563,9 +563,9 @@ typedef struct {
typedef
struct
{
typedef
struct
{
uint32_t
vgId
;
uint32_t
vgId
;
int32_t
cfgVersion
;
int32_t
cfgVersion
;
int32_t
maxTables
;
int32_t
cacheBlockSize
;
int32_t
cacheBlockSize
;
int32_t
totalBlocks
;
int32_t
totalBlocks
;
int32_t
maxTables
;
int32_t
daysPerFile
;
int32_t
daysPerFile
;
int32_t
daysToKeep
;
int32_t
daysToKeep
;
int32_t
daysToKeep1
;
int32_t
daysToKeep1
;
...
...
src/mnode/src/mgmtDb.c
浏览文件 @
b3db7efc
...
@@ -187,11 +187,13 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
...
@@ -187,11 +187,13 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
if
(
pCfg
->
cacheBlockSize
<
TSDB_MIN_CACHE_BLOCK_SIZE
||
pCfg
->
cacheBlockSize
>
TSDB_MAX_CACHE_BLOCK_SIZE
)
{
if
(
pCfg
->
cacheBlockSize
<
TSDB_MIN_CACHE_BLOCK_SIZE
||
pCfg
->
cacheBlockSize
>
TSDB_MAX_CACHE_BLOCK_SIZE
)
{
mError
(
"invalid db option cacheBlockSize:%d valid range: [%d, %d]"
,
pCfg
->
cacheBlockSize
,
TSDB_MIN_CACHE_BLOCK_SIZE
,
mError
(
"invalid db option cacheBlockSize:%d valid range: [%d, %d]"
,
pCfg
->
cacheBlockSize
,
TSDB_MIN_CACHE_BLOCK_SIZE
,
TSDB_MAX_CACHE_BLOCK_SIZE
);
TSDB_MAX_CACHE_BLOCK_SIZE
);
return
TSDB_CODE_INVALID_OPTION
;
}
}
if
(
pCfg
->
totalBlocks
<
TSDB_MIN_TOTAL_BLOCKS
||
pCfg
->
totalBlocks
>
TSDB_MAX_TOTAL_BLOCKS
)
{
if
(
pCfg
->
totalBlocks
<
TSDB_MIN_TOTAL_BLOCKS
||
pCfg
->
totalBlocks
>
TSDB_MAX_TOTAL_BLOCKS
)
{
mError
(
"invalid db option totalBlocks:%d valid range: [%d, %d]"
,
pCfg
->
totalBlocks
,
TSDB_MIN_TOTAL_BLOCKS
,
mError
(
"invalid db option totalBlocks:%d valid range: [%d, %d]"
,
pCfg
->
totalBlocks
,
TSDB_MIN_TOTAL_BLOCKS
,
TSDB_MAX_TOTAL_BLOCKS
);
TSDB_MAX_TOTAL_BLOCKS
);
return
TSDB_CODE_INVALID_OPTION
;
}
}
if
(
pCfg
->
maxTables
<
TSDB_MIN_TABLES
||
pCfg
->
maxTables
>
TSDB_MAX_TABLES
)
{
if
(
pCfg
->
maxTables
<
TSDB_MIN_TABLES
||
pCfg
->
maxTables
>
TSDB_MAX_TABLES
)
{
...
@@ -206,18 +208,22 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
...
@@ -206,18 +208,22 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
}
}
if
(
pCfg
->
daysToKeep
<
TSDB_MIN_KEEP
||
pCfg
->
daysToKeep
>
TSDB_MAX_KEEP
)
{
if
(
pCfg
->
daysToKeep
<
TSDB_MIN_KEEP
||
pCfg
->
daysToKeep
>
TSDB_MAX_KEEP
)
{
mError
(
"invalid db option daysToKeep:%d
"
,
pCfg
->
daysToKeep
);
mError
(
"invalid db option daysToKeep:%d
valid range: [%d, %d]"
,
pCfg
->
daysToKeep
,
TSDB_MIN_KEEP
,
TSDB_MAX_KEEP
);
return
TSDB_CODE_INVALID_OPTION
;
return
TSDB_CODE_INVALID_OPTION
;
}
}
if
(
pCfg
->
daysToKeep
<
pCfg
->
daysPerFile
)
{
if
(
pCfg
->
daysToKeep
<
pCfg
->
daysPerFile
)
{
mError
(
"invalid db option daysToKeep:%d daysPerFile:%d"
,
pCfg
->
daysToKeep
,
pCfg
->
daysPerFile
);
mError
(
"invalid db option daysToKeep:%d
should larger than
daysPerFile:%d"
,
pCfg
->
daysToKeep
,
pCfg
->
daysPerFile
);
return
TSDB_CODE_INVALID_OPTION
;
return
TSDB_CODE_INVALID_OPTION
;
}
}
if
(
pCfg
->
minRowsPerFileBlock
<
TSDB_MIN_MIN_ROW_FBLOCK
||
pCfg
->
minRowsPerFileBlock
>
TSDB_MAX_MIN_ROW_FBLOCK
)
{
if
(
pCfg
->
daysToKeep2
<
TSDB_MIN_KEEP
||
pCfg
->
daysToKeep2
>
pCfg
->
daysToKeep
)
{
mError
(
"invalid db option minRowsPerFileBlock:%d valid range: [%d, %d]"
,
pCfg
->
minRowsPerFileBlock
,
mError
(
"invalid db option daysToKeep2:%d valid range: [%d, %d]"
,
pCfg
->
daysToKeep
,
TSDB_MIN_KEEP
,
pCfg
->
daysToKeep
);
TSDB_MIN_MIN_ROW_FBLOCK
,
TSDB_MAX_MIN_ROW_FBLOCK
);
return
TSDB_CODE_INVALID_OPTION
;
}
if
(
pCfg
->
daysToKeep1
<
TSDB_MIN_KEEP
||
pCfg
->
daysToKeep1
>
pCfg
->
daysToKeep2
)
{
mError
(
"invalid db option daysToKeep1:%d valid range: [%d, %d]"
,
pCfg
->
daysToKeep1
,
TSDB_MIN_KEEP
,
pCfg
->
daysToKeep2
);
return
TSDB_CODE_INVALID_OPTION
;
return
TSDB_CODE_INVALID_OPTION
;
}
}
...
@@ -227,9 +233,9 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
...
@@ -227,9 +233,9 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
return
TSDB_CODE_INVALID_OPTION
;
return
TSDB_CODE_INVALID_OPTION
;
}
}
if
(
pCfg
->
minRowsPerFileBlock
>
pCfg
->
maxRowsPerFileBlock
)
{
if
(
pCfg
->
minRowsPerFileBlock
<
TSDB_MIN_MAX_ROW_FBLOCK
||
pCfg
->
minRowsPerFileBlock
>
pCfg
->
maxRowsPerFileBlock
)
{
mError
(
"invalid db option minRowsPerFileBlock:%d
maxRowsPerFileBlock:%d
"
,
pCfg
->
minRowsPerFileBlock
,
mError
(
"invalid db option minRowsPerFileBlock:%d
valid range: [%d, %d]
"
,
pCfg
->
minRowsPerFileBlock
,
pCfg
->
maxRowsPerFileBlock
);
TSDB_MIN_MAX_ROW_FBLOCK
,
pCfg
->
maxRowsPerFileBlock
);
return
TSDB_CODE_INVALID_OPTION
;
return
TSDB_CODE_INVALID_OPTION
;
}
}
...
@@ -252,7 +258,7 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
...
@@ -252,7 +258,7 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
}
}
if
(
pCfg
->
walLevel
<
TSDB_MIN_WAL_LEVEL
||
pCfg
->
walLevel
>
TSDB_MAX_WAL_LEVEL
)
{
if
(
pCfg
->
walLevel
<
TSDB_MIN_WAL_LEVEL
||
pCfg
->
walLevel
>
TSDB_MAX_WAL_LEVEL
)
{
mError
(
"invalid db option walLevel:%d,
only 0-2 allowed"
,
pCfg
->
walLevel
);
mError
(
"invalid db option walLevel:%d,
valid range: [%d, %d]"
,
pCfg
->
walLevel
,
TSDB_MIN_WAL_LEVEL
,
TSDB_MAX_WAL_LEVEL
);
return
TSDB_CODE_INVALID_OPTION
;
return
TSDB_CODE_INVALID_OPTION
;
}
}
...
@@ -262,6 +268,11 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
...
@@ -262,6 +268,11 @@ static int32_t mgmtCheckDbCfg(SDbCfg *pCfg) {
return
TSDB_CODE_INVALID_OPTION
;
return
TSDB_CODE_INVALID_OPTION
;
}
}
if
(
pCfg
->
replications
>
1
&&
pCfg
->
walLevel
<=
TSDB_MIN_WAL_LEVEL
)
{
mError
(
"invalid db option walLevel:%d must > 0, while replica:%d > 1"
,
pCfg
->
walLevel
,
pCfg
->
replications
);
return
TSDB_CODE_INVALID_OPTION
;
}
#ifndef _SYNC
#ifndef _SYNC
if
(
pCfg
->
replications
!=
1
)
{
if
(
pCfg
->
replications
!=
1
)
{
mError
(
"invalid db option replications:%d can only be 1 in this version"
,
pCfg
->
replications
);
mError
(
"invalid db option replications:%d can only be 1 in this version"
,
pCfg
->
replications
);
...
@@ -314,13 +325,13 @@ static int32_t mgmtCreateDb(SAcctObj *pAcct, SCMCreateDbMsg *pCreate) {
...
@@ -314,13 +325,13 @@ static int32_t mgmtCreateDb(SAcctObj *pAcct, SCMCreateDbMsg *pCreate) {
pDb
->
createdTime
=
taosGetTimestampMs
();
pDb
->
createdTime
=
taosGetTimestampMs
();
pDb
->
cfg
=
(
SDbCfg
)
{
pDb
->
cfg
=
(
SDbCfg
)
{
.
cacheBlockSize
=
pCreate
->
cacheBlockSize
,
.
cacheBlockSize
=
pCreate
->
cacheBlockSize
,
.
totalBlocks
=
pCreate
->
numOf
Blocks
,
.
totalBlocks
=
pCreate
->
total
Blocks
,
.
maxTables
=
pCreate
->
maxTables
,
.
maxTables
=
pCreate
->
maxTables
,
.
daysPerFile
=
pCreate
->
daysPerFile
,
.
daysPerFile
=
pCreate
->
daysPerFile
,
.
daysToKeep
=
pCreate
->
daysToKeep
,
.
daysToKeep
=
pCreate
->
daysToKeep
,
.
daysToKeep1
=
pCreate
->
daysToKeep1
,
.
daysToKeep1
=
pCreate
->
daysToKeep1
,
.
daysToKeep2
=
pCreate
->
daysToKeep2
,
.
daysToKeep2
=
pCreate
->
daysToKeep2
,
.
minRowsPerFileBlock
=
pCreate
->
m
ax
RowsPerFileBlock
,
.
minRowsPerFileBlock
=
pCreate
->
m
in
RowsPerFileBlock
,
.
maxRowsPerFileBlock
=
pCreate
->
maxRowsPerFileBlock
,
.
maxRowsPerFileBlock
=
pCreate
->
maxRowsPerFileBlock
,
.
commitTime
=
pCreate
->
commitTime
,
.
commitTime
=
pCreate
->
commitTime
,
.
precision
=
pCreate
->
precision
,
.
precision
=
pCreate
->
precision
,
...
@@ -735,7 +746,7 @@ static void mgmtProcessCreateDbMsg(SQueuedMsg *pMsg) {
...
@@ -735,7 +746,7 @@ static void mgmtProcessCreateDbMsg(SQueuedMsg *pMsg) {
pCreate
->
maxTables
=
htonl
(
pCreate
->
maxTables
);
pCreate
->
maxTables
=
htonl
(
pCreate
->
maxTables
);
pCreate
->
cacheBlockSize
=
htonl
(
pCreate
->
cacheBlockSize
);
pCreate
->
cacheBlockSize
=
htonl
(
pCreate
->
cacheBlockSize
);
pCreate
->
numOfBlocks
=
htonl
(
pCreate
->
numOf
Blocks
);
pCreate
->
totalBlocks
=
htonl
(
pCreate
->
total
Blocks
);
pCreate
->
daysPerFile
=
htonl
(
pCreate
->
daysPerFile
);
pCreate
->
daysPerFile
=
htonl
(
pCreate
->
daysPerFile
);
pCreate
->
daysToKeep
=
htonl
(
pCreate
->
daysToKeep
);
pCreate
->
daysToKeep
=
htonl
(
pCreate
->
daysToKeep
);
pCreate
->
daysToKeep1
=
htonl
(
pCreate
->
daysToKeep1
);
pCreate
->
daysToKeep1
=
htonl
(
pCreate
->
daysToKeep1
);
...
@@ -763,37 +774,47 @@ static void mgmtProcessCreateDbMsg(SQueuedMsg *pMsg) {
...
@@ -763,37 +774,47 @@ static void mgmtProcessCreateDbMsg(SQueuedMsg *pMsg) {
static
SDbCfg
mgmtGetAlterDbOption
(
SDbObj
*
pDb
,
SCMAlterDbMsg
*
pAlter
)
{
static
SDbCfg
mgmtGetAlterDbOption
(
SDbObj
*
pDb
,
SCMAlterDbMsg
*
pAlter
)
{
SDbCfg
newCfg
=
pDb
->
cfg
;
SDbCfg
newCfg
=
pDb
->
cfg
;
int32_t
cacheBlockSize
=
htonl
(
pAlter
->
daysToKeep
);
int32_t
maxTables
=
htonl
(
pAlter
->
maxTables
);
int32_t
totalBlocks
=
htonl
(
pAlter
->
numOfBlocks
);
int32_t
cacheBlockSize
=
htonl
(
pAlter
->
cacheBlockSize
);
int32_t
maxTables
=
htonl
(
pAlter
->
maxTables
);
int32_t
totalBlocks
=
htonl
(
pAlter
->
totalBlocks
);
int32_t
daysToKeep
=
htonl
(
pAlter
->
daysToKeep
);
int32_t
daysPerFile
=
htonl
(
pAlter
->
daysPerFile
);
int32_t
daysToKeep1
=
htonl
(
pAlter
->
daysToKeep1
);
int32_t
daysToKeep
=
htonl
(
pAlter
->
daysToKeep
);
int32_t
daysToKeep2
=
htonl
(
pAlter
->
daysToKeep2
);
int32_t
daysToKeep1
=
htonl
(
pAlter
->
daysToKeep1
);
int8_t
compression
=
pAlter
->
compression
;
int32_t
daysToKeep2
=
htonl
(
pAlter
->
daysToKeep2
);
int8_t
replications
=
pAlter
->
replications
;
int32_t
minRows
=
htonl
(
pAlter
->
minRowsPerFileBlock
);
int8_t
walLevel
=
pAlter
->
walLevel
;
int32_t
maxRows
=
htonl
(
pAlter
->
maxRowsPerFileBlock
);
int32_t
commitTime
=
htonl
(
pAlter
->
commitTime
);
int8_t
compression
=
pAlter
->
compression
;
int8_t
walLevel
=
pAlter
->
walLevel
;
int8_t
replications
=
pAlter
->
replications
;
int8_t
precision
=
pAlter
->
precision
;
terrno
=
TSDB_CODE_SUCCESS
;
terrno
=
TSDB_CODE_SUCCESS
;
if
(
cacheBlockSize
>
0
&&
cacheBlockSize
!=
pDb
->
cfg
.
cacheBlockSize
)
{
if
(
cacheBlockSize
>
0
&&
cacheBlockSize
!=
pDb
->
cfg
.
cacheBlockSize
)
{
m
Trace
(
"db:%s, cache:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
cacheBlockSize
,
cacheBlockSiz
e
);
m
Error
(
"db:%s, can't alter cache option"
,
pDb
->
nam
e
);
newCfg
.
cacheBlockSize
=
cacheBlockSize
;
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
}
if
(
totalBlocks
>
0
&&
totalBlocks
!=
pDb
->
cfg
.
totalBlocks
)
{
if
(
totalBlocks
>
0
&&
totalBlocks
!=
pDb
->
cfg
.
totalBlocks
)
{
m
Trace
(
"db:%s, blocks:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
totalBlocks
,
totalBlocks
);
m
Print
(
"db:%s, blocks:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
totalBlocks
,
totalBlocks
);
newCfg
.
totalBlocks
=
totalBlocks
;
newCfg
.
totalBlocks
=
totalBlocks
;
}
}
if
(
maxTables
>
0
&&
maxTables
!=
pDb
->
cfg
.
maxTables
)
{
if
(
maxTables
>
0
)
{
m
Trace
(
"db:%s, t
ables:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
maxTables
,
maxTables
);
m
Print
(
"db:%s, maxT
ables:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
maxTables
,
maxTables
);
newCfg
.
maxTables
=
maxTables
;
newCfg
.
maxTables
=
maxTables
;
if
(
newCfg
.
maxTables
<
pDb
->
cfg
.
maxTables
)
{
if
(
newCfg
.
maxTables
<
pDb
->
cfg
.
maxTables
)
{
m
Trace
(
"db:%s, tables:%d should larger than origin:%d"
,
pDb
->
name
,
newCfg
.
maxTables
,
pDb
->
cfg
.
maxTables
);
m
Error
(
"db:%s, tables:%d should larger than origin:%d"
,
pDb
->
name
,
newCfg
.
maxTables
,
pDb
->
cfg
.
maxTables
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
}
}
}
if
(
daysPerFile
>
0
&&
daysPerFile
!=
pDb
->
cfg
.
daysPerFile
)
{
mError
(
"db:%s, can't alter days option"
,
pDb
->
name
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
if
(
daysToKeep
>
0
&&
daysToKeep
!=
pDb
->
cfg
.
daysToKeep
)
{
if
(
daysToKeep
>
0
&&
daysToKeep
!=
pDb
->
cfg
.
daysToKeep
)
{
mTrace
(
"db:%s, daysToKeep:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
daysToKeep
,
daysToKeep
);
mTrace
(
"db:%s, daysToKeep:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
daysToKeep
,
daysToKeep
);
newCfg
.
daysToKeep
=
daysToKeep
;
newCfg
.
daysToKeep
=
daysToKeep
;
...
@@ -809,15 +830,45 @@ static SDbCfg mgmtGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
...
@@ -809,15 +830,45 @@ static SDbCfg mgmtGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
newCfg
.
daysToKeep2
=
daysToKeep2
;
newCfg
.
daysToKeep2
=
daysToKeep2
;
}
}
if
(
minRows
>
0
&&
minRows
!=
pDb
->
cfg
.
minRowsPerFileBlock
)
{
mError
(
"db:%s, can't alter minRows option"
,
pDb
->
name
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
if
(
maxRows
>
0
&&
maxRows
!=
pDb
->
cfg
.
maxRowsPerFileBlock
)
{
mError
(
"db:%s, can't alter maxRows option"
,
pDb
->
name
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
if
(
commitTime
>
0
&&
commitTime
!=
pDb
->
cfg
.
commitTime
)
{
mError
(
"db:%s, can't alter commitTime option"
,
pDb
->
name
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
if
(
precision
>
0
&&
precision
!=
pDb
->
cfg
.
precision
)
{
mError
(
"db:%s, can't alter precision option"
,
pDb
->
name
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
if
(
compression
>=
0
&&
compression
!=
pDb
->
cfg
.
compression
)
{
if
(
compression
>=
0
&&
compression
!=
pDb
->
cfg
.
compression
)
{
mTrace
(
"db:%s, compression:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
compression
,
compression
);
mTrace
(
"db:%s, compression:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
compression
,
compression
);
newCfg
.
compression
=
compression
;
newCfg
.
compression
=
compression
;
}
}
if
(
walLevel
>
0
&&
walLevel
!=
pDb
->
cfg
.
walLevel
)
{
mError
(
"db:%s, can't alter walLevel option"
,
pDb
->
name
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
if
(
replications
>
0
&&
replications
!=
pDb
->
cfg
.
replications
)
{
if
(
replications
>
0
&&
replications
!=
pDb
->
cfg
.
replications
)
{
mTrace
(
"db:%s, replications:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
replications
,
replications
);
mTrace
(
"db:%s, replications:%d change to %d"
,
pDb
->
name
,
pDb
->
cfg
.
replications
,
replications
);
newCfg
.
replications
=
replications
;
newCfg
.
replications
=
replications
;
if
(
replications
>
1
&&
pDb
->
cfg
.
walLevel
<=
TSDB_MIN_WAL_LEVEL
)
{
mError
(
"db:%s, walLevel:%d must > 0, while replica:%d > 1"
,
pDb
->
name
,
pDb
->
cfg
.
walLevel
,
replications
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
if
(
replications
>
mgmtGetDnodesNum
())
{
if
(
replications
>
mgmtGetDnodesNum
())
{
mError
(
"db:%s, no enough dnode to change replica:%d"
,
pDb
->
name
,
replications
);
mError
(
"db:%s, no enough dnode to change replica:%d"
,
pDb
->
name
,
replications
);
terrno
=
TSDB_CODE_NO_ENOUGH_DNODES
;
terrno
=
TSDB_CODE_NO_ENOUGH_DNODES
;
...
@@ -829,11 +880,6 @@ static SDbCfg mgmtGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
...
@@ -829,11 +880,6 @@ static SDbCfg mgmtGetAlterDbOption(SDbObj *pDb, SCMAlterDbMsg *pAlter) {
}
}
}
}
if
(
walLevel
>=
0
&&
(
walLevel
<
TSDB_MIN_WAL_LEVEL
||
walLevel
>
TSDB_MAX_WAL_LEVEL
))
{
mError
(
"db:%s, wal level %d should be between 0-2, origin:%d"
,
pDb
->
name
,
walLevel
,
pDb
->
cfg
.
walLevel
);
terrno
=
TSDB_CODE_INVALID_OPTION
;
}
return
newCfg
;
return
newCfg
;
}
}
...
...
tests/script/general/db/alter_option.sim
0 → 100644
浏览文件 @
b3db7efc
system sh/stop_dnodes.sh
system sh/deploy.sh -n dnode1 -i 1
system sh/cfg.sh -n dnode1 -c wallevel -v 0
system sh/cfg.sh -n dnode1 -c numOfTotalVnodes -v 4
system sh/cfg.sh -n dnode1 -c maxtablesPerVnode -v 1000
system sh/exec.sh -n dnode1 -s start
sleep 3000
sql connect
print ============================ dnode1 start
sql create database db maxTables 500 cache 2 blocks 4 days 10 keep 20 minRows 300 maxRows 400 ctime 120 precision 'ms' comp 2 wal 1 replica 1
sql show databases
print $data00 $data01 $data02 $data03 $data04 $data05 $data06 $data07 $data08 $data09
if $data00 != db then
return -1
endi
if $data02 != 0 then
return -1
endi
if $data03 != 0 then
return -1
endi
if $data04 != 1 then
return -1
endi
if $data05 != 10 then
return -1
endi
if $data06 != 20,20,20 then
return -1
endi
if $data07 != 500 then
return -1
endi
if $data08 != 2 then
return -1
endi
if $data09 != 4 then
return -1
endi
print =============== step2
system sh/exec.sh -n dnode1 -s stop -x SIGINT
return
sql_error alter database db cache 256
sql_error alter database db blocks 1
sql_error alter database db maxTables 10
sql_error alter database db days 10
sql_error alter database db keep 10
sql_error alter database db minRows 350
sql_error alter database db minRows 550
sql_error alter database db ctime 5000
sql_error alter database db precision "us"
sql_error alter database db comp 3
sql_error alter database db walLevel 1
sql_error alter database db replica 2
print ============== step3
sql alter database db maxTables 1000
sql alter database db comp 1
sql alter database db blocks 40
sql alter database db keep 30
#system sh/exec.sh -n dnode1 -s stop -x SIGINT
\ No newline at end of file
tests/script/jenkins/basic.txt
浏览文件 @
b3db7efc
...
@@ -43,23 +43,24 @@ cd ../../../debug; make
...
@@ -43,23 +43,24 @@ cd ../../../debug; make
./test.sh -f general/compute/sum.sim
./test.sh -f general/compute/sum.sim
./test.sh -f general/compute/top.sim
./test.sh -f general/compute/top.sim
./test.sh -f general/db/alter_option.sim
./test.sh -f general/db/basic.sim
./test.sh -f general/db/basic.sim
./test.sh -f general/db/basic1.sim
./test.sh -f general/db/basic1.sim
./test.sh -f general/db/basic2.sim
./test.sh -f general/db/basic2.sim
./test.sh -f general/db/basic3.sim
./test.sh -f general/db/basic3.sim
./test.sh -f general/db/basic4.sim
./test.sh -f general/db/basic4.sim
./test.sh -f general/db/basic5.sim
./test.sh -f general/db/basic5.sim
./test.sh -f general/db/delete.sim
./test.sh -f general/db/delete_reuse1.sim
./test.sh -f general/db/delete_reuse1.sim
./test.sh -f general/db/delete_reuse2.sim
./test.sh -f general/db/delete_reuse2.sim
./test.sh -f general/db/delete_reusevnode.sim
./test.sh -f general/db/delete_reusevnode.sim
#hongze ./test.sh -f general/db/delete_reusevnode2.sim
#hongze ./test.sh -f general/db/delete_reusevnode2.sim
./test.sh -f general/db/delete_writing1.sim
./test.sh -f general/db/delete_writing1.sim
./test.sh -f general/db/delete_writing2.sim
./test.sh -f general/db/delete_writing2.sim
./test.sh -f general/db/delete.sim
./test.sh -f general/db/len.sim
./test.sh -f general/db/len.sim
#liao ./test.sh -f general/db/vnodes.sim
./test.sh -f general/db/repeat.sim
./test.sh -f general/db/repeat.sim
./test.sh -f general/db/tables.sim
./test.sh -f general/db/tables.sim
#liao ./test.sh -f general/db/vnodes.sim
./test.sh -f general/field/2.sim
./test.sh -f general/field/2.sim
./test.sh -f general/field/3.sim
./test.sh -f general/field/3.sim
...
@@ -250,17 +251,17 @@ cd ../../../debug; make
...
@@ -250,17 +251,17 @@ cd ../../../debug; make
./test.sh -u -f unique/cluster/balance3.sim
./test.sh -u -f unique/cluster/balance3.sim
./test.sh -u -f unique/cluster/cache.sim
./test.sh -u -f unique/cluster/cache.sim
#jeff
./test.sh -u -f unique/column/replica3.sim
./test.sh -u -f unique/column/replica3.sim
#liao wait ./test.sh -u -f unique/db/commit.sim
#liao wait ./test.sh -u -f unique/db/commit.sim
./test.sh -u -f unique/db/delete.sim
./test.sh -u -f unique/db/delete.sim
./test.sh -u -f unique/db/delete_part.sim
./test.sh -u -f unique/db/delete_part.sim
./test.sh -u -f unique/db/replica_add12.sim
./test.sh -u -f unique/db/replica_add12.sim
#hongze
./test.sh -u -f unique/db/replica_add13.sim
./test.sh -u -f unique/db/replica_add13.sim
#hongze wait ./test.sh -u -f unique/db/replica_add23.sim
#hongze wait ./test.sh -u -f unique/db/replica_add23.sim
#hongze wait
./test.sh -u -f unique/db/replica_reduce21.sim
./test.sh -u -f unique/db/replica_reduce21.sim
./test.sh -u -f unique/db/replica_reduce32.sim
./test.sh -u -f unique/db/replica_reduce32.sim
#hongze wait
/test.sh -u -f unique/db/replica_reduce31.sim
.
/test.sh -u -f unique/db/replica_reduce31.sim
./test.sh -u -f unique/db/replica_part.sim
./test.sh -u -f unique/db/replica_part.sim
./test.sh -u -f unique/dnode/balance1.sim
./test.sh -u -f unique/dnode/balance1.sim
...
@@ -302,4 +303,4 @@ cd ../../../debug; make
...
@@ -302,4 +303,4 @@ cd ../../../debug; make
./test.sh -u -f unique/vnode/replica2_repeat.sim
./test.sh -u -f unique/vnode/replica2_repeat.sim
./test.sh -u -f unique/vnode/replica3_basic.sim
./test.sh -u -f unique/vnode/replica3_basic.sim
./test.sh -u -f unique/vnode/replica3_repeat.sim
./test.sh -u -f unique/vnode/replica3_repeat.sim
#jeff
./test.sh -u -f unique/vnode/replica3_vgroup.sim
./test.sh -u -f unique/vnode/replica3_vgroup.sim
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录