diff --git a/src/gausskernel/storage/access/common/reloptions.cpp b/src/gausskernel/storage/access/common/reloptions.cpp index d6676ff75..a3fcfbfee 100644 --- a/src/gausskernel/storage/access/common/reloptions.cpp +++ b/src/gausskernel/storage/access/common/reloptions.cpp @@ -2947,9 +2947,9 @@ void SetOneOfCompressOption(DefElem* defElem, TableCreateSupport* tableCreateSup } else if (pg_strcasecmp(defname, "compress_level") == 0) { tableCreateSupport->compressLevel = true; } else if (pg_strcasecmp(defname, "compress_byte_convert") == 0) { - tableCreateSupport->compressByteConvert = true; + tableCreateSupport->compressByteConvert = defGetBoolean(defElem); } else if (pg_strcasecmp(defname, "compress_diff_convert") == 0) { - tableCreateSupport->compressDiffConvert = true; + tableCreateSupport->compressDiffConvert = defGetBoolean(defElem); } } diff --git a/src/test/regress/expected/row_compression/unsupported_feature.out b/src/test/regress/expected/row_compression/unsupported_feature.out index ef14589b2..14d8d926f 100644 --- a/src/test/regress/expected/row_compression/unsupported_feature.out +++ b/src/test/regress/expected/row_compression/unsupported_feature.out @@ -89,5 +89,8 @@ ERROR: Can not use compress option in ustore index. -- segment CREATE TABLE unspported_feature.segment_table(id int, c1 text) WITH(compresstype=2, segment=on); --failed ERROR: only row orientation table support compresstype. -CREATE INDEX on unspported_feature.index_test(c1) WITH(compresstype=2, segment=on); --faled +CREATE INDEX on unspported_feature.index_test(c1) WITH(compresstype=2, segment=on); --failed ERROR: Can not use compress option in segment storage. +-- set compress_diff_convert +create table unspported_feature.compress_byte_test(id int) with (compresstype=2, compress_byte_convert=false, compress_diff_convert = true); -- failed +ERROR: compress_diff_convert should be used with compress_byte_convert. diff --git a/src/test/regress/sql/row_compression/unsupported_feature.sql b/src/test/regress/sql/row_compression/unsupported_feature.sql index fff526481..8ee08b70c 100644 --- a/src/test/regress/sql/row_compression/unsupported_feature.sql +++ b/src/test/regress/sql/row_compression/unsupported_feature.sql @@ -57,4 +57,6 @@ CREATE TABLE unspported_feature.ustore_table(id int, c1 text) WITH(compresstype= CREATE INDEX tbl_pc_idx1 on unspported_feature.index_test(c1) WITH(compresstype=2, storage_type=ustore); --failed -- segment CREATE TABLE unspported_feature.segment_table(id int, c1 text) WITH(compresstype=2, segment=on); --failed -CREATE INDEX on unspported_feature.index_test(c1) WITH(compresstype=2, segment=on); --faled \ No newline at end of file +CREATE INDEX on unspported_feature.index_test(c1) WITH(compresstype=2, segment=on); --failed +-- set compress_diff_convert +create table unspported_feature.compress_byte_test(id int) with (compresstype=2, compress_byte_convert=false, compress_diff_convert = true); -- failed \ No newline at end of file