Changeset: c7d5a1b53819 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c7d5a1b53819 Modified Files: clients/Tests/exports.stable.out gdk/ChangeLog gdk/gdk.h gdk/gdk_aggr.c gdk/gdk_align.c gdk/gdk_bat.c gdk/gdk_batop.c gdk/gdk_calc.c gdk/gdk_calc_compare.h gdk/gdk_cross.c gdk/gdk_firstn.c gdk/gdk_group.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_project.c gdk/gdk_sample.c gdk/gdk_select.c gdk/gdk_storage.c gdk/gdk_unique.c gdk/gdk_utils.c geom/monetdb5/geom.c geom/monetdb5/geomBulk.c geom/monetdb5/geom_upgrade.c monetdb5/extras/pyapi/pyapi.c monetdb5/extras/rapi/converters.c.h monetdb5/extras/rapi/rapi.c monetdb5/extras/sphinx/sphinx.c monetdb5/mal/mal_authorize.c monetdb5/mal/mal_profiler.c monetdb5/modules/atoms/batxml.c monetdb5/modules/atoms/json.c monetdb5/modules/atoms/mtime.c monetdb5/modules/atoms/str.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/bat5.c monetdb5/modules/kernel/batcolor.c monetdb5/modules/kernel/batmmath.c monetdb5/modules/kernel/batstr.c monetdb5/modules/kernel/microbenchmark.c monetdb5/modules/kernel/status.c monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/bbp.c monetdb5/modules/mal/clients.c monetdb5/modules/mal/inspect.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/manifold.c monetdb5/modules/mal/manual.c monetdb5/modules/mal/mat.c monetdb5/modules/mal/mdb.c monetdb5/modules/mal/mkey.c monetdb5/modules/mal/orderidx.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/querylog.c monetdb5/modules/mal/remote.c monetdb5/modules/mal/sysmon.c monetdb5/modules/mal/tablet.c monetdb5/modules/mal/tokenizer.c monetdb5/modules/mal/txtsim.c monetdb5/modules/mal/zorder.c monetdb5/optimizer/opt_pipes.c monetdb5/optimizer/opt_statistics.c sql/backends/monet5/LSST/lsst.c sql/backends/monet5/UDF/udf.c sql/backends/monet5/generator/generator.c sql/backends/monet5/gsl/gsl.c sql/backends/monet5/sql.c sql/backends/monet5/sql_bat2time.c sql/backends/monet5/sql_cast.c sql/backends/monet5/sql_cast_impl_down_from_flt.h sql/backends/monet5/sql_cast_impl_down_from_int.h sql/backends/monet5/sql_cast_impl_up_to_flt.h sql/backends/monet5/sql_cast_impl_up_to_int.h sql/backends/monet5/sql_fround_impl.h sql/backends/monet5/sql_rank.c sql/backends/monet5/sql_round_impl.h sql/backends/monet5/vaults/bam/bam_lib.c sql/backends/monet5/vaults/fits/fits.c sql/backends/monet5/vaults/lidar/lidar.c sql/backends/monet5/vaults/netcdf/netcdf.c sql/backends/monet5/vaults/shp/shp.c sql/storage/bat/bat_logger.c sql/storage/bat/bat_storage.c sql/storage/bat/bat_table.c sql/storage/bat/bat_utils.c sql/storage/bat/bat_utils.h sql/storage/bat/res_table.c Branch: default Log Message:
Replaced function BATnew with COLnew with slightly different arguments. The first argument of COLnew is the SEQBASE of the head column (which is always VOID). Also removed now superfluous calls to BATseqbase. diffs (truncated from 6633 to 300 lines): diff --git a/clients/Tests/exports.stable.out b/clients/Tests/exports.stable.out --- a/clients/Tests/exports.stable.out +++ b/clients/Tests/exports.stable.out @@ -144,7 +144,6 @@ void *BATmin(BAT *b, void *aggr); gdk_return BATmode(BAT *b, int onoff); void BATmsync(BAT *b); int BATname(BAT *b, const char *nme); -BAT *BATnew(int hdtype, int tltype, BUN capacity, int role) __attribute__((warn_unused_result)); int BATordered(BAT *b); int BATordered_rev(BAT *b); gdk_return BATorderidx(BAT *b, int stable); @@ -205,6 +204,7 @@ gdk_return BUNdelete(BAT *b, oid o); BUN BUNfnd(BAT *b, const void *right); gdk_return BUNinplace(BAT *b, BUN p, const void *right, bit force); BAT *COLcopy(BAT *b, int tt, int writeable, int role); +BAT *COLnew(oid hseq, int tltype, BUN capacity, int role) __attribute__((warn_unused_result)); size_t GDK_mem_maxsize; size_t GDK_vm_maxsize; int GDK_vm_trim; diff --git a/gdk/ChangeLog b/gdk/ChangeLog --- a/gdk/ChangeLog +++ b/gdk/ChangeLog @@ -1,6 +1,11 @@ # ChangeLog file for MonetDB # This file is updated with Maddlog +* Fri Jun 24 2016 Sjoerd Mullender <[email protected]> +- Replaced function BATnew with COLnew with slightly different arguments: + the first argument of COLnew is the SEQBASE of the head column (which + is always VOID). + * Thu May 26 2016 Sjoerd Mullender <[email protected]> - The "wrd" type has been removed from GDK and MAL. The type was defined to be a 32 bit integer on 32 bit architectures and a 64 bit integer diff --git a/gdk/gdk.h b/gdk/gdk.h --- a/gdk/gdk.h +++ b/gdk/gdk.h @@ -1043,12 +1043,12 @@ gdk_export void HEAP_free(Heap *heap, va * @- BAT construction * @multitable @columnfractions 0.08 0.7 * @item @code{BAT* } - * @tab BATnew (int headtype, int tailtype, BUN cap, int role) + * @tab COLnew (oid headseq, int tailtype, BUN cap, int role) * @item @code{BAT* } * @tab BATextend (BAT *b, BUN newcap) * @end multitable * - * A temporary BAT is instantiated using BATnew with the type aliases + * A temporary BAT is instantiated using COLnew with the type aliases * of the required binary association. The aliases include the * built-in types, such as TYPE_int....TYPE_ptr, and the atomic types * introduced by the user. The initial capacity to be accommodated @@ -1061,7 +1061,7 @@ gdk_export void HEAP_free(Heap *heap, va */ #define BATDELETE (-9999) -gdk_export BAT *BATnew(int hdtype, int tltype, BUN capacity, int role) +gdk_export BAT *COLnew(oid hseq, int tltype, BUN capacity, int role) __attribute__((warn_unused_result)); gdk_export BAT *BATdense(oid hseq, oid tseq, BUN cnt) __attribute__((warn_unused_result)); @@ -1545,7 +1545,7 @@ gdk_export gdk_return BATgroup(BAT **gro * @tab BATdelete (BAT *b) * @end multitable * - * A BAT created by BATnew is considered temporary until one calls the + * A BAT created by COLnew is considered temporary until one calls the * routine BATsave or BATmode. This routine reserves disk space and * checks for name clashes in the BAT directory. It also makes the BAT * persistent. The empty BAT is initially marked as ordered on both diff --git a/gdk/gdk_aggr.c b/gdk/gdk_aggr.c --- a/gdk/gdk_aggr.c +++ b/gdk/gdk_aggr.c @@ -1426,7 +1426,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT break; } if (cntsp) { - if ((*cntsp = BATnew(TYPE_void, TYPE_lng, ngrp, TRANSIENT)) == NULL) + if ((*cntsp = COLnew(min, TYPE_lng, ngrp, TRANSIENT)) == NULL) goto alloc_fail; cnts = (lng *) Tloc(*cntsp, BUNfirst(*cntsp)); memset(cnts, 0, ngrp * sizeof(lng)); @@ -1436,7 +1436,7 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT goto alloc_fail; } - bn = BATnew(TYPE_void, TYPE_dbl, ngrp, TRANSIENT); + bn = COLnew(min, TYPE_dbl, ngrp, TRANSIENT); if (bn == NULL) goto alloc_fail; dbls = (dbl *) Tloc(bn, BUNfirst(bn)); @@ -1486,7 +1486,6 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT GDKfree(cnts); else { BATsetcount(*cntsp, ngrp); - BATseqbase(*cntsp, min); (*cntsp)->tkey = BATcount(*cntsp) <= 1; (*cntsp)->tsorted = BATcount(*cntsp) <= 1; (*cntsp)->trevsorted = BATcount(*cntsp) <= 1; @@ -1494,7 +1493,6 @@ BATgroupavg(BAT **bnp, BAT **cntsp, BAT (*cntsp)->T->nonil = 1; } BATsetcount(bn, ngrp); - BATseqbase(bn, min); bn->tkey = BATcount(bn) <= 1; bn->tsorted = BATcount(bn) <= 1; bn->trevsorted = BATcount(bn) <= 1; @@ -1745,7 +1743,7 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA return BATconstant(ngrp == 0 ? 0 : min, TYPE_lng, &zero, ngrp, TRANSIENT); } - bn = BATnew(TYPE_void, TYPE_lng, ngrp, TRANSIENT); + bn = COLnew(min, TYPE_lng, ngrp, TRANSIENT); if (bn == NULL) return NULL; cnts = (lng *) Tloc(bn, BUNfirst(bn)); @@ -1815,7 +1813,6 @@ BATgroupcount(BAT *b, BAT *g, BAT *e, BA break; } BATsetcount(bn, ngrp); - BATseqbase(bn, min); bn->tkey = BATcount(bn) <= 1; bn->tsorted = BATcount(bn) <= 1; bn->trevsorted = BATcount(bn) <= 1; @@ -1863,7 +1860,7 @@ BATgroupsize(BAT *b, BAT *g, BAT *e, BAT return BATconstant(ngrp == 0 ? 0 : min, TYPE_lng, &zero, ngrp, TRANSIENT); } - bn = BATnew(TYPE_void, TYPE_lng, ngrp, TRANSIENT); + bn = COLnew(min, TYPE_lng, ngrp, TRANSIENT); if (bn == NULL) return NULL; cnts = (lng *) Tloc(bn, BUNfirst(bn)); @@ -1894,7 +1891,6 @@ BATgroupsize(BAT *b, BAT *g, BAT *e, BAT } } BATsetcount(bn, ngrp); - BATseqbase(bn, min); bn->tkey = BATcount(bn) <= 1; bn->tsorted = BATcount(bn) <= 1; bn->trevsorted = BATcount(bn) <= 1; @@ -2254,7 +2250,7 @@ BATgroupminmax(BAT *b, BAT *g, BAT *e, B return BATconstant(ngrp == 0 ? 0 : min, TYPE_oid, &oid_nil, ngrp, TRANSIENT); } - bn = BATnew(TYPE_void, TYPE_oid, ngrp, TRANSIENT); + bn = COLnew(min, TYPE_oid, ngrp, TRANSIENT); if (bn == NULL) return NULL; oids = (oid *) Tloc(bn, BUNfirst(bn)); @@ -2269,7 +2265,6 @@ BATgroupminmax(BAT *b, BAT *g, BAT *e, B BATsetcount(bn, ngrp); - BATseqbase(bn, min); bn->tkey = BATcount(bn) <= 1; bn->tsorted = BATcount(bn) <= 1; bn->trevsorted = BATcount(bn) <= 1; @@ -2459,7 +2454,7 @@ BATgroupquantile(BAT *b, BAT *g, BAT *e, if (t2) BBPunfix(t2->batCacheid); - bn = BATnew(TYPE_void, b->ttype, ngrp, TRANSIENT); + bn = COLnew(g ? min : 0, b->ttype, ngrp, TRANSIENT); if (bn == NULL) return NULL; @@ -2508,7 +2503,6 @@ BATgroupquantile(BAT *b, BAT *g, BAT *e, while (BATcount(bn) < ngrp) { bunfastapp_nocheck(bn, BUNlast(bn), nil, Tsize(bn)); } - BATseqbase(bn, min); } else { /* quantiles for entire BAT b, EZ */ BUN index, r = 0, p = BATcount(b); @@ -2520,7 +2514,6 @@ BATgroupquantile(BAT *b, BAT *g, BAT *e, index = BUNfirst(b) + (BUN) (r + (p-r-1) * quantile); v = BUNtail(bi, index); BUNappend(bn, v, FALSE); - BATseqbase(bn, 0); nils += (*atomcmp)(v, nil) == 0; } @@ -2750,7 +2743,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g, m2 = GDKmalloc(ngrp * sizeof(dbl)); cnts = GDKzalloc(ngrp * sizeof(BUN)); if (avgb) { - if ((*avgb = BATnew(TYPE_void, TYPE_dbl, ngrp, TRANSIENT)) == NULL) { + if ((*avgb = COLnew(0, TYPE_dbl, ngrp, TRANSIENT)) == NULL) { mean = NULL; goto alloc_fail; } @@ -2761,7 +2754,7 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g, if (mean == NULL || delta == NULL || m2 == NULL || cnts == NULL) goto alloc_fail; - bn = BATnew(TYPE_void, TYPE_dbl, ngrp, TRANSIENT); + bn = COLnew(min, TYPE_dbl, ngrp, TRANSIENT); if (bn == NULL) goto alloc_fail; dbls = (dbl *) Tloc(bn, BUNfirst(bn)); @@ -2816,7 +2809,6 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g, } if (avgb) { BATsetcount(*avgb, ngrp); - BATseqbase(*avgb, 0); (*avgb)->tkey = ngrp <= 1; (*avgb)->tsorted = ngrp <= 1; (*avgb)->trevsorted = ngrp <= 1; @@ -2830,7 +2822,6 @@ dogroupstdev(BAT **avgb, BAT *b, BAT *g, GDKfree(m2); GDKfree(cnts); BATsetcount(bn, ngrp); - BATseqbase(bn, min); bn->tkey = ngrp <= 1; bn->tsorted = ngrp <= 1; bn->trevsorted = ngrp <= 1; diff --git a/gdk/gdk_align.c b/gdk/gdk_align.c --- a/gdk/gdk_align.c +++ b/gdk/gdk_align.c @@ -188,7 +188,7 @@ VIEWcreate_(oid seq, BAT *b, int slice_v assert(b->htype == TYPE_void); - bs = BATcreatedesc(b->ttype, FALSE, TRANSIENT); + bs = BATcreatedesc(seq, b->ttype, FALSE, TRANSIENT); if (bs == NULL) return NULL; bn = &bs->B; @@ -209,7 +209,6 @@ VIEWcreate_(oid seq, BAT *b, int slice_v bn->H->width = 0; bn->H->shift = 0; bn->hvarsized = 1; - BATseqbase(bn, seq); *bn->T = *b->T; if (bn->batFirst > 0) { bn->T->heap.base += b->batFirst * b->T->width; diff --git a/gdk/gdk_bat.c b/gdk/gdk_bat.c --- a/gdk/gdk_bat.c +++ b/gdk/gdk_bat.c @@ -67,7 +67,7 @@ BATinit_idents(BAT *bn) } BATstore * -BATcreatedesc(int tt, int heapnames, int role) +BATcreatedesc(oid hseq, int tt, int heapnames, int role) { BAT *bn; BATstore *bs; @@ -114,7 +114,7 @@ BATcreatedesc(int tt, int heapnames, int bn->tident = BATstring_t; bn->halign = OIDnew(2); bn->talign = bn->halign + 1; - bn->hseqbase = 0; + bn->hseqbase = hseq; bn->tseqbase = (tt == TYPE_void) ? oid_nil : 0; bn->batRole = role; bn->batPersistence = TRANSIENT; @@ -206,7 +206,7 @@ BATsetdims(BAT *b) * filenames. */ static BATstore * -BATnewstorage(int tt, BUN cap, int role) +BATnewstorage(oid hseq, int tt, BUN cap, int role) { BATstore *bs; BAT *bn; @@ -217,7 +217,7 @@ BATnewstorage(int tt, BUN cap, int role) assert(0); cap = BUN_MAX; } - bs = BATcreatedesc(tt, tt != TYPE_void, role); + bs = BATcreatedesc(hseq, tt, tt != TYPE_void, role); if (bs == NULL) return NULL; bn = &bs->B; @@ -242,18 +242,16 @@ BATnewstorage(int tt, BUN cap, int role) } BAT * -BATnew(int ht, int tt, BUN cap, int role) +COLnew(oid hseq, int tt, BUN cap, int role) { BATstore *bs; assert(cap <= BUN_MAX); - assert(ht == TYPE_void); + assert(hseq <= oid_nil); assert(tt != TYPE_bat); - ERRORcheck((ht < 0) || (ht > GDKatomcnt), "BATnew:ht error\n", NULL); - ERRORcheck((tt < 0) || (tt > GDKatomcnt), "BATnew:tt error\n", NULL); - ERRORcheck(role < 0 || role >= 32, "BATnew:role error\n", NULL); + ERRORcheck((tt < 0) || (tt > GDKatomcnt), "COLnew:tt error\n", NULL); + ERRORcheck(role < 0 || role >= 32, "COLnew:role error\n", NULL); - (void) ht; /* always TYPE_void */ /* round up to multiple of BATTINY */ if (cap < BUN_MAX - BATTINY) cap = (cap + BATTINY - 1) & ~(BATTINY - 1); @@ -262,8 +260,10 @@ BATnew(int ht, int tt, BUN cap, int role _______________________________________________ checkin-list mailing list [email protected] https://www.monetdb.org/mailman/listinfo/checkin-list
