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

Reply via email to