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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list