diff --git a/source/common/src/tcol.c b/source/common/src/tcol.c index 7abd439784..98bcd7c328 100644 --- a/source/common/src/tcol.c +++ b/source/common/src/tcol.c @@ -325,6 +325,7 @@ int8_t setColCompressByOption(uint8_t type, uint8_t encode, uint16_t compressTyp bool useCompress(uint8_t tableType) { return TSDB_SUPER_TABLE == tableType || TSDB_NORMAL_TABLE == tableType; } int8_t validColCompressLevel(uint8_t type, uint8_t level) { + if (level == TSDB_COLVAL_LEVEL_DISABLED) return 1; if (level < TSDB_COLVAL_LEVEL_NOCHANGE || level > TSDB_COLVAL_LEVEL_HIGH) { return 0; } diff --git a/tests/script/tsim/compress/compress2.sim b/tests/script/tsim/compress/compress2.sim index 6602c405ec..ddaf808178 100644 --- a/tests/script/tsim/compress/compress2.sim +++ b/tests/script/tsim/compress/compress2.sim @@ -10,6 +10,8 @@ $tbPrefix = tb $db = $dbPrefix . $i $tb = $tbPrefix . $i +$stb = teststb + $N = 2000 print =============== step1 @@ -23,6 +25,8 @@ sql desc $tb sql alter table $tb drop column f sql desc $tb + +# normal table sql_error alter table $tb modify column b level 'i' sql alter table $tb modify column b level 'l' sql_error alter table $tb modify column b level 'l' # already exist @@ -127,4 +131,39 @@ if $rows != $N then return -1 endi + +# super table +sql create table $stb (ts timestamp, b bool, t tinyint, s smallint, i int, big bigint, str binary(256), f float, d double) tags(t1 int, t2 int) + +sql desc $stb +sql_error alter table $stb modify column b level 'i' +sql alter table $stb modify column b level 'l' +sql_error alter table $stb modify column b level 'l' # already exist +sql alter table $stb modify column b level 'm' +sql_error alter table $stb modify column b level 'l' # already exist +sql desc $stb + +sql_error alter table $stb modify column b compress 'lz4' +sql alter table $stb modify column b compress 'xz' +sql alter table $stb modify column b compress 'zstd' +sql_error alter table $stb modify column b compress 'tsz' +sql alter table $stb modify column b compress 'zlib' +sql desc $stb + +sql_error alter table $stb modify column f compress 'lz4' +sql alter table $stb modify column f compress 'disabled' +sql desc $stb +sql alter table $stb modify column f compress 'tsz' +sql desc $stb +sql alter table $stb modify column f compress 'zlib' +sql desc $stb +sql alter table $stb modify column f compress 'zstd' + +sql_error alter table $stb modify column d compress 'lz4' # same with init +sql alter table $stb modify column d compress 'disabled' +sql desc $stb +sql alter table $stb modify column d compress 'tsz' +sql desc $stb + + system sh/exec.sh -n dnode1 -s stop -x SIGINT