Changeset: 60b7ebc88b25 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=60b7ebc88b25 Modified Files: monetdb5/modules/mosaic/mosaic_calendar.c monetdb5/modules/mosaic/mosaic_dictionary.c monetdb5/modules/mosaic/mosaic_frame.c monetdb5/modules/mosaic/mosaic_linear.c monetdb5/modules/mosaic/mosaic_prefix.c monetdb5/modules/mosaic/mosaic_raw.c monetdb5/modules/mosaic/mosaic_runlength.c sql/backends/monet5/sql.c sql/backends/monet5/sql_upgrades.c sql/scripts/76_mosaic.sql sql/test/mosaic/Tests/compressionRLE.sql Branch: mosaic Log Message:
Minor text diffs (177 lines): diff --git a/monetdb5/modules/mosaic/mosaic_calendar.c b/monetdb5/modules/mosaic/mosaic_calendar.c --- a/monetdb5/modules/mosaic/mosaic_calendar.c +++ b/monetdb5/modules/mosaic/mosaic_calendar.c @@ -108,7 +108,7 @@ MOSlayout_calendar(Client cntxt, MOStask lng cnt = MOSgetCnt(blk), input=0, output= 0; (void) cntxt; - BUNappend(btech, "calendar", FALSE); + BUNappend(btech, "calendar blk", FALSE); BUNappend(bcount, &cnt, FALSE); input = cnt * ATOMsize(task->type); output = MosaicBlkSize + (cnt * task->hdr->bits)/8 + (((cnt * task->hdr->bits) %8) != 0); diff --git a/monetdb5/modules/mosaic/mosaic_dictionary.c b/monetdb5/modules/mosaic/mosaic_dictionary.c --- a/monetdb5/modules/mosaic/mosaic_dictionary.c +++ b/monetdb5/modules/mosaic/mosaic_dictionary.c @@ -151,7 +151,7 @@ MOSlayout_dictionary(Client cntxt, MOSta lng cnt = MOSgetCnt(blk), input=0, output= 0; (void) cntxt; - BUNappend(btech, "dictionary", FALSE); + BUNappend(btech, "dictionary blk", FALSE); BUNappend(bcount, &cnt, FALSE); input = cnt * ATOMsize(task->type); output = MosaicBlkSize + (cnt * task->hdr->bits)/8 + (((cnt * task->hdr->bits) %8) != 0); diff --git a/monetdb5/modules/mosaic/mosaic_frame.c b/monetdb5/modules/mosaic/mosaic_frame.c --- a/monetdb5/modules/mosaic/mosaic_frame.c +++ b/monetdb5/modules/mosaic/mosaic_frame.c @@ -119,7 +119,7 @@ MOSlayout_frame(Client cntxt, MOStask ta lng cnt = MOSgetCnt(blk), input=0, output= 0; (void) cntxt; - BUNappend(btech, "frame", FALSE); + BUNappend(btech, "frame blk", FALSE); BUNappend(bcount, &cnt, FALSE); input = cnt * ATOMsize(task->type); output = chunk_size(task,cnt); diff --git a/monetdb5/modules/mosaic/mosaic_linear.c b/monetdb5/modules/mosaic/mosaic_linear.c --- a/monetdb5/modules/mosaic/mosaic_linear.c +++ b/monetdb5/modules/mosaic/mosaic_linear.c @@ -91,7 +91,7 @@ MOSlayout_linear(Client cntxt, MOStask t lng cnt = MOSgetCnt(blk), input=0, output= 0; (void) cntxt; - BUNappend(btech, "linear", FALSE); + BUNappend(btech, "linear blk", FALSE); BUNappend(bcount, &cnt, FALSE); input = cnt * ATOMsize(task->type); switch(ATOMbasetype(task->type)){ diff --git a/monetdb5/modules/mosaic/mosaic_prefix.c b/monetdb5/modules/mosaic/mosaic_prefix.c --- a/monetdb5/modules/mosaic/mosaic_prefix.c +++ b/monetdb5/modules/mosaic/mosaic_prefix.c @@ -83,7 +83,7 @@ MOSlayout_prefix(Client cntxt, MOStask t (void) cntxt; if( ATOMstorage(task->type == TYPE_str)) size =task->bsrc->twidth; - BUNappend(btech, "prefix", FALSE); + BUNappend(btech, "prefix blk", FALSE); BUNappend(bcount, &cnt, FALSE); input = cnt * ATOMsize(task->type); switch(size){ diff --git a/monetdb5/modules/mosaic/mosaic_raw.c b/monetdb5/modules/mosaic/mosaic_raw.c --- a/monetdb5/modules/mosaic/mosaic_raw.c +++ b/monetdb5/modules/mosaic/mosaic_raw.c @@ -40,7 +40,7 @@ MOSlayout_raw(Client cntxt, MOStask task lng cnt = MOSgetCnt(blk), input=0, output= 0; (void) cntxt; - BUNappend(btech, "raw", FALSE); + BUNappend(btech, "raw blk", FALSE); BUNappend(bcount, &cnt, FALSE); input = cnt * ATOMsize(task->type); switch(ATOMbasetype(task->type)){ diff --git a/monetdb5/modules/mosaic/mosaic_runlength.c b/monetdb5/modules/mosaic/mosaic_runlength.c --- a/monetdb5/modules/mosaic/mosaic_runlength.c +++ b/monetdb5/modules/mosaic/mosaic_runlength.c @@ -73,7 +73,7 @@ MOSlayout_runlength(Client cntxt, MOStas lng cnt = MOSgetCnt(blk), input=0, output= 0; (void) cntxt; - BUNappend(btech, "runlength", FALSE); + BUNappend(btech, "runlength blk", FALSE); BUNappend(bcount, &cnt, FALSE); input = cnt * ATOMsize(task->type); switch(ATOMbasetype(task->type)){ diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c --- a/sql/backends/monet5/sql.c +++ b/sql/backends/monet5/sql.c @@ -639,8 +639,10 @@ alter_table(Client cntxt, mvc *sql, char size_t cnt; sql_delta *d; char *msg; +/* no restriction if (c->t->access == TABLE_WRITABLE) return sql_message("40002!ALTER TABLE: SET STORAGE for column %s.%s only allowed on READ or INSERT ONLY tables", c->t->base.name, c->base.name); +*/ nc->base.rtime = nc->base.wtime = sql->session->tr->wtime; b = store_funcs.bind_col(sql->session->tr, nc, 0); @@ -650,10 +652,6 @@ alter_table(Client cntxt, mvc *sql, char BBPunfix(b->batCacheid); continue; } - if (c->t->access == TABLE_WRITABLE) { - BBPunfix(b->batCacheid); - return sql_message("40002!ALTER TABLE: SET STORAGE for column %s.%s only allowed on READ or INSERT ONLY tables", c->t->base.name, c->base.name); - } if( c->storage_type && !strstr(c->storage_type,"mosaic")) for( i = 0; i< MOSAIC_METHODS; i++) task->filter[i]= strstr(c->storage_type,MOSfiltername[i]) != 0; diff --git a/sql/backends/monet5/sql_upgrades.c b/sql/backends/monet5/sql_upgrades.c --- a/sql/backends/monet5/sql_upgrades.c +++ b/sql/backends/monet5/sql_upgrades.c @@ -2175,16 +2175,17 @@ sql_update_mosaic(Client c, mvc *sql) "drop function mosaic_layout(sch string, tbl string, col string);" "drop function mosaic_analyse(sch string, tbl string, col string,compression string);" "drop function mosaic_analyse(sch string, tbl string, col string);" - "create function mosaic_layout(sch string, tbl string, col string,compression string)" + "create schema mosaic;" + "create function layout(sch string, tbl string, col string,compression string)" "returns table(technique string, \"count\" bigint, inputsize bigint, outputsize bigint,properties string)" "external name sql.mosaiclayout;" - "create function mosaic_layout(sch string, tbl string, col string)" + "create function layout(sch string, tbl string, col string)" "returns table(technique string, \"count\" bigint, inputsize bigint, outputsize bigint,properties string)" "external name sql.mosaiclayout;" - "create function mosaic_analysis(sch string, tbl string, col string)" + "create function analysis(sch string, tbl string, col string)" "returns table(technique string, outputsize bigint, factor float, run bigint)" "external name sql.mosaicanalysis;" - "create function mosaic_analysis(sch string, tbl string, col string, compression string)" + "create function analysis(sch string, tbl string, col string, compression string)" "returns table(technique string, outputsize bigint, factor float, run bigint)" "external name sql.mosaicanalysis;" ); diff --git a/sql/scripts/76_mosaic.sql b/sql/scripts/76_mosaic.sql --- a/sql/scripts/76_mosaic.sql +++ b/sql/scripts/76_mosaic.sql @@ -5,16 +5,16 @@ -- Copyright 1997 - July 2008 CWI, August 2008 - 2016 MonetDB B.V. -- support routines for the compressed store -set schema sys; +create schema mosaic; -create function mosaic_layout(sch string, tbl string, col string) +create function mosaic.layout(sch string, tbl string, col string) returns table(technique string, "count" bigint, inputsize bigint, outputsize bigint,properties string) external name sql.mosaiclayout; -create function mosaic_analysis(sch string, tbl string, col string) +create function mosaic.analysis(sch string, tbl string, col string) returns table(technique string, outputsize bigint, factor float, "compress" bigint, "decompress" bigint) external name sql.mosaicanalysis; -create function mosaic_analysis(sch string, tbl string, col string, compression string) +create function mosaic.analysis(sch string, tbl string, col string, compression string) returns table(technique string, outputsize bigint, factor float, "compress" bigint, "decompress" bigint) external name sql.mosaicanalysis; 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 @@ -97,9 +97,15 @@ explain select * from tmp3RLE; --select * from tmp3RLE; alter table tmp3RLE alter column i set storage 'runlength'; +select * from mosaic_layout('sys','tmp3RLE','i') limit 25; alter table tmp3RLE alter column b set storage 'runlength'; +select * from mosaic_layout('sys','tmp3RLE','b') limit 25; alter table tmp3RLE alter column f set storage 'runlength'; +select * from mosaic_layout('sys','tmp3RLE','f') limit 25; alter table tmp3RLE alter column t set storage 'runlength'; +select * from mosaic_layout('sys','tmp3RLE','t') limit 25; + + explain select i from tmp3RLE; explain select b from tmp3RLE; explain select f from tmp3RLE; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list