Changeset: 99de35af3cc6 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=99de35af3cc6 Modified Files: gdk/gdk_arrays.c gdk/gdk_arrays.h gdk/gdk_join.c monetdb5/modules/kernel/arrays.c Branch: arrays Log Message:
merged heads diffs (74 lines): diff --git a/gdk/gdk_arrays.c b/gdk/gdk_arrays.c --- a/gdk/gdk_arrays.c +++ b/gdk/gdk_arrays.c @@ -251,7 +251,7 @@ BAT* materialise_nonDimensional_column(i /*I need the array to access the info of the dimensions that are not in the dimCands */ BAT *projectCells(gdk_array* dimCands, gdk_array *array) { BAT *resBAT = NULL; - unsigned int resSize = 1; + BUN resSize = 1; oid *resOIDs = NULL; unsigned int i=0, j=0, k=0; diff --git a/gdk/gdk_arrays.h b/gdk/gdk_arrays.h --- a/gdk/gdk_arrays.h +++ b/gdk/gdk_arrays.h @@ -10,7 +10,7 @@ typedef struct dimensionAnalyticStruct { void *min; void *max; void *step; - unsigned int elsNum; + oid elsNum; } gdk_analytic_dimension; //As long as the dimension is not projected the following info is enough @@ -18,7 +18,7 @@ typedef struct dimensionStruct { unsigned int min; //initialy this is set to 0 unsigned int max; unsigned int step; //initialy this is set to 1 - unsigned int elsNum; + oid elsNum; unsigned int *idxs; //if it cannot be expressed as a dimension store the idxs analytically } gdk_dimension; diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -12,6 +12,7 @@ #include "gdk_calc_private.h" #include "gdk_arrays.h" + /* * All "sub" join variants produce some sort of join on two input * BATs, optionally subject to up to two candidate lists. Only values @@ -3589,6 +3590,7 @@ BATproject(BAT *l, BAT *r) assert(BAThdense(r)); assert(ATOMtype(l->ttype) == TYPE_oid); + if (BATtdense(l) && BATcount(l) > 0) { lo = l->tseqbase; hi = l->tseqbase + BATcount(l); @@ -3771,6 +3773,7 @@ BATproject(BAT *l, BAT *r) BATseqbase(bn, l->hseqbase); if (!BATtdense(r)) BATseqbase(BATmirror(bn), oid_nil); + ALGODEBUG fprintf(stderr, "#BATproject(l=%s,r=%s)=%s#"BUNFMT"%s%s%s\n", BATgetId(l), BATgetId(r), BATgetId(bn), BATcount(bn), bn->tsorted ? "-sorted" : "", diff --git a/monetdb5/modules/kernel/arrays.c b/monetdb5/modules/kernel/arrays.c --- a/monetdb5/modules/kernel/arrays.c +++ b/monetdb5/modules/kernel/arrays.c @@ -380,8 +380,8 @@ str ALGdimensionLeftfetchjoin1(bat *resu unsigned short i=0; - unsigned int elsR = 1; - unsigned int grpR = 1; + BUN elsR = 1; + BUN grpR = 1; for(i=0; i<dimension->dimNum; i++) elsR *= dimCands_in->dims[i]->elsNum; _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list