Changeset: 118edf5c85fc for MonetDB URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=118edf5c85fc Modified Files: monetdb5/modules/mosaic/mosaic_runlength_templates.h sql/test/mosaic/Tests/compression.sql sql/test/mosaic/Tests/compressionRLE.sql sql/test/mosaic/Tests/compressionRLE2.sql sql/test/mosaic/Tests/join.sql sql/test/mosaic/Tests/layout_delta.sql sql/test/mosaic/Tests/layout_dict.sql sql/test/mosaic/Tests/layout_frame.sql sql/test/mosaic/Tests/layout_linear.sql sql/test/mosaic/Tests/layout_prefix.sql sql/test/mosaic/Tests/layout_raw.sql sql/test/mosaic/Tests/mix.sql sql/test/mosaic/Tests/prefix.sql sql/test/mosaic/Tests/session_exit.sql sql/test/mosaic/Tests/xqueries.sql sql/test/mosaic/Tests/xqueries_delta.sql sql/test/mosaic/Tests/xqueries_rle.sql Branch: mosaic Log Message:
Add test to detect if compression was applied diffs (267 lines): diff --git a/monetdb5/modules/mosaic/mosaic_runlength_templates.h b/monetdb5/modules/mosaic/mosaic_runlength_templates.h --- a/monetdb5/modules/mosaic/mosaic_runlength_templates.h +++ b/monetdb5/modules/mosaic/mosaic_runlength_templates.h @@ -19,10 +19,10 @@ MOSestimate_SIGNATURE(METHOD, TPE) BUN limit = task->stop - task->start > MOSAICMAXCNT? MOSAICMAXCNT: task->stop - task->start; for(v++,i = 1; i < limit; i++,v++) if ( !ARE_EQUAL(*v, val, nil, TPE) ) break; assert(i > 0);/*Should always compress.*/ - current->is_applicable = true; current->uncompressed_size += (BUN) (i * sizeof(TPE)); current->compressed_size += 2 * sizeof(MOSBlockHeaderTpe(METHOD, TPE)); current->compression_strategy.cnt = i; + current->is_applicable = current->compressed_size < current->uncompressed_size; if (i > *current->max_compression_length ) *current->max_compression_length = i; diff --git a/sql/test/mosaic/Tests/compression.sql b/sql/test/mosaic/Tests/compression.sql --- a/sql/test/mosaic/Tests/compression.sql +++ b/sql/test/mosaic/Tests/compression.sql @@ -99,6 +99,9 @@ select sum(f) from tmp3; alter table tmp3 alter column i set storage 'raw'; alter table tmp3 alter column b set storage 'raw'; alter table tmp3 alter column f set storage 'raw'; + +select compressed from storage where "table"='tmp3'; + explain select * from tmp3; select * from tmp3; select cast(sum(i) as bigint) from tmp3; @@ -110,6 +113,9 @@ select count(*) from tmp3; alter table tmp3 alter column i set storage NULL; alter table tmp3 alter column b set storage NULL; alter table tmp3 alter column f set storage NULL; + +select compressed from storage where "table"='tmp3'; + explain select * from tmp3; select * from tmp3; select cast(sum(i) as bigint) from tmp3; @@ -117,6 +123,8 @@ select sum(f) from tmp3; alter table tmp3 alter column i set storage 'runlength,dict256'; alter table tmp3 alter column b set storage 'mosaic'; + +select compressed from storage where "table"='tmp3'; --explain select * from tmp3; --select * from tmp3; --select cast(sum(i) as bigint) from tmp3; diff --git a/sql/test/mosaic/Tests/compressionRLE.sql b/sql/test/mosaic/Tests/compressionRLE.sql --- a/sql/test/mosaic/Tests/compressionRLE.sql +++ b/sql/test/mosaic/Tests/compressionRLE.sql @@ -105,6 +105,8 @@ select * from mosaic.layout('sys','tmp3r alter table tmp3rle alter column t set storage 'runlength'; select * from mosaic.layout('sys','tmp3rle','t') limit 25; +select compressed from storage where "table"='tmp3rle’; + explain select i from tmp3rle; explain select b from tmp3rle; diff --git a/sql/test/mosaic/Tests/compressionRLE2.sql b/sql/test/mosaic/Tests/compressionRLE2.sql --- a/sql/test/mosaic/Tests/compressionRLE2.sql +++ b/sql/test/mosaic/Tests/compressionRLE2.sql @@ -9,6 +9,9 @@ alter table tmp3rle alter column i set s alter table tmp3rle alter column b set storage NULL; alter table tmp3rle alter column f set storage NULL; alter table tmp3rle alter column t set storage NULL; + +select compressed from storage where "table"='tmp3rle’; + explain select * from tmp3rle; select * from tmp3rle; diff --git a/sql/test/mosaic/Tests/join.sql b/sql/test/mosaic/Tests/join.sql --- a/sql/test/mosaic/Tests/join.sql +++ b/sql/test/mosaic/Tests/join.sql @@ -29,6 +29,7 @@ insert into tmp3 values alter table tmp3 set read only; alter table tmp3 alter column i set storage 'delta'; +select compressed from storage where "table"='tmp3'; create table tmp4( i int, b boolean, f real,t timestamp); insert into tmp4 values diff --git a/sql/test/mosaic/Tests/layout_delta.sql b/sql/test/mosaic/Tests/layout_delta.sql --- a/sql/test/mosaic/Tests/layout_delta.sql +++ b/sql/test/mosaic/Tests/layout_delta.sql @@ -95,6 +95,8 @@ alter table tmp3rle set read only; alter table tmp3rle alter column i set storage 'delta'; +select compressed from storage where "table"='tmp3rle'; + select * from mosaic.layout('sys','tmp3rle','i') limit 25; ROLLBACK; diff --git a/sql/test/mosaic/Tests/layout_dict.sql b/sql/test/mosaic/Tests/layout_dict.sql --- a/sql/test/mosaic/Tests/layout_dict.sql +++ b/sql/test/mosaic/Tests/layout_dict.sql @@ -95,6 +95,7 @@ alter table tmp3rle set read only; alter table tmp3rle alter column i set storage 'dict256'; +select compressed from storage where "table"='tmp3rle'; select * from mosaic.layout('sys','tmp3rle','i') limit 25; ROLLBACK; diff --git a/sql/test/mosaic/Tests/layout_frame.sql b/sql/test/mosaic/Tests/layout_frame.sql --- a/sql/test/mosaic/Tests/layout_frame.sql +++ b/sql/test/mosaic/Tests/layout_frame.sql @@ -95,6 +95,7 @@ alter table tmp3rle set read only; alter table tmp3rle alter column i set storage 'frame'; +select compressed from storage where "table"='tmp3rle'; select * from mosaic.layout('sys','tmp3rle','i'); ROLLBACK; diff --git a/sql/test/mosaic/Tests/layout_linear.sql b/sql/test/mosaic/Tests/layout_linear.sql --- a/sql/test/mosaic/Tests/layout_linear.sql +++ b/sql/test/mosaic/Tests/layout_linear.sql @@ -99,6 +99,7 @@ insert into tmp3rle values alter table tmp3rle set read only; alter table tmp3rle alter column i set storage 'linear'; +select compressed from storage where "table"='tmp3rle'; select * from mosaic.layout('sys','tmp3rle','i'); diff --git a/sql/test/mosaic/Tests/layout_prefix.sql b/sql/test/mosaic/Tests/layout_prefix.sql --- a/sql/test/mosaic/Tests/layout_prefix.sql +++ b/sql/test/mosaic/Tests/layout_prefix.sql @@ -95,6 +95,8 @@ alter table tmp3rle set read only; alter table tmp3rle alter column i set storage 'prefix'; +select compressed from storage where "table"='tmp3rle'; + select * from mosaic.layout('sys','tmp3rle','i') limit 25; ROLLBACK; diff --git a/sql/test/mosaic/Tests/layout_raw.sql b/sql/test/mosaic/Tests/layout_raw.sql --- a/sql/test/mosaic/Tests/layout_raw.sql +++ b/sql/test/mosaic/Tests/layout_raw.sql @@ -99,6 +99,7 @@ insert into tmp3rle values alter table tmp3rle set read only; alter table tmp3rle alter column i set storage 'raw'; +select compressed from storage where "table"='tmp3rle'; select * from mosaic.layout('sys','tmp3rle','i'); diff --git a/sql/test/mosaic/Tests/mix.sql b/sql/test/mosaic/Tests/mix.sql --- a/sql/test/mosaic/Tests/mix.sql +++ b/sql/test/mosaic/Tests/mix.sql @@ -21,6 +21,7 @@ alter table mix0 set read only; select * from mosaic_analysis('sys','mix0','i') order by factor desc; alter table mix0 alter column i set storage 'mosaic'; +select compressed from storage where "table"='mix0’; select * from mosaic.layout('sys','mix0','i') ; drop table mix0; diff --git a/sql/test/mosaic/Tests/prefix.sql b/sql/test/mosaic/Tests/prefix.sql --- a/sql/test/mosaic/Tests/prefix.sql +++ b/sql/test/mosaic/Tests/prefix.sql @@ -7,10 +7,13 @@ select * from tmpPrefix; alter table tmpPrefix alter column i set storage 'prefix'; +select compressed from storage where "table"='tmpPrefix'; + select * from tmpPrefix; select count(*) from tmpPrefix; alter table tmpPrefix alter column i set storage NULL; +select compressed from storage where "table"='tmpPrefix'; select * from tmpPrefix; select cast(sum(i) as bigint) from tmpPrefix; diff --git a/sql/test/mosaic/Tests/session_exit.sql b/sql/test/mosaic/Tests/session_exit.sql --- a/sql/test/mosaic/Tests/session_exit.sql +++ b/sql/test/mosaic/Tests/session_exit.sql @@ -6,6 +6,8 @@ select * from tmp3; alter table tmp3 alter column i set storage 'raw'; alter table tmp3 alter column b set storage 'raw'; alter table tmp3 alter column f set storage 'raw'; + +select compressed from storage where "table"='tmp3'; explain select * from tmp3; select * from tmp3; select cast(sum(i) as bigint) from tmp3; @@ -17,6 +19,8 @@ select count(*) from tmp3; alter table tmp3 alter column i set storage NULL; alter table tmp3 alter column b set storage NULL; alter table tmp3 alter column f set storage NULL; +select compressed from storage where "table"='tmp3'; + explain select * from tmp3; select * from tmp3; select cast(sum(i) as bigint) from tmp3; diff --git a/sql/test/mosaic/Tests/xqueries.sql b/sql/test/mosaic/Tests/xqueries.sql --- a/sql/test/mosaic/Tests/xqueries.sql +++ b/sql/test/mosaic/Tests/xqueries.sql @@ -103,6 +103,9 @@ select count(*) from tmp3 where b = true alter table tmp3 alter column i set storage 'raw'; alter table tmp3 alter column b set storage 'raw'; alter table tmp3 alter column f set storage 'raw'; + +select compressed from storage where "table"='tmp3'; + select cast(sum(i) as bigint) from tmp3; select sum(f) from tmp3; @@ -117,6 +120,7 @@ select count(*) from tmp3 where b = true alter table tmp3 alter column i set storage NULL; alter table tmp3 alter column b set storage NULL; alter table tmp3 alter column f set storage NULL; +select compressed from storage where "table"='tmp3'; explain select count(*) from tmp3 where i <4; select count(*) from tmp3 where i <4; diff --git a/sql/test/mosaic/Tests/xqueries_delta.sql b/sql/test/mosaic/Tests/xqueries_delta.sql --- a/sql/test/mosaic/Tests/xqueries_delta.sql +++ b/sql/test/mosaic/Tests/xqueries_delta.sql @@ -104,6 +104,8 @@ alter table dtmp3 alter column i set sto alter table dtmp3 alter column b set storage 'delta'; alter table dtmp3 alter column f set storage 'delta'; +select compressed from storage where "table"='dtmp3'; + select count(*) from dtmp3; select cast(sum(i) as bigint) from dtmp3; select sum(f) from dtmp3; @@ -118,7 +120,10 @@ select count(*) from dtmp3 where b = tru --select * from storage where "table" = 'dtmp3'; alter table dtmp3 alter column i set storage NULL; alter table dtmp3 alter column b set storage NULL; + alter table dtmp3 alter column f set storage NULL; +select compressed from storage where "table"='dtmp3'; + select cast(sum(i) as bigint) from dtmp3; select sum(f) from dtmp3; diff --git a/sql/test/mosaic/Tests/xqueries_rle.sql b/sql/test/mosaic/Tests/xqueries_rle.sql --- a/sql/test/mosaic/Tests/xqueries_rle.sql +++ b/sql/test/mosaic/Tests/xqueries_rle.sql @@ -103,6 +103,9 @@ select count(*) from xtmp3 where b = tru alter table xtmp3 alter column i set storage 'runlength'; alter table xtmp3 alter column b set storage 'runlength'; alter table xtmp3 alter column f set storage 'runlength'; + +select compressed from storage where "table"='xtmp3'; + select cast(sum(i) as bigint) from xtmp3; select sum(f) from xtmp3; @@ -117,6 +120,9 @@ select count(*) from xtmp3 where b = tru alter table xtmp3 alter column i set storage NULL; alter table xtmp3 alter column b set storage NULL; alter table xtmp3 alter column f set storage NULL; + +select compressed from storage where "table"='xtmp3'; + select cast(sum(i) as bigint) from xtmp3; select sum(f) from xtmp3; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list