Changeset: 9072e2335418 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9072e2335418
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        gdk/ChangeLog
        gdk/gdk.h
        gdk/gdk_align.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_delta.c
        gdk/gdk_logger.c
        gdk/gdk_private.h
        gdk/gdk_select.c
        gdk/gdk_storage.c
        monetdb5/ChangeLog
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_debugger.c
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/kernel/algebra.c
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/kernel/bat5.h
        monetdb5/modules/kernel/bat5.mal
        monetdb5/modules/mal/Tests/inspect05.stable.out.int128
        monetdb5/modules/mal/iterator.c
        monetdb5/modules/mal/mal_io.c
        monetdb5/modules/mal/mkey.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/zorder.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_round_impl.h
        sql/storage/bat/bat_table.c
        sql/test/leaks/Tests/check1.stable.out
        sql/test/leaks/Tests/check1.stable.out.int128
        sql/test/leaks/Tests/check2.stable.out
        sql/test/leaks/Tests/check2.stable.out.int128
        sql/test/leaks/Tests/check3.stable.out
        sql/test/leaks/Tests/check3.stable.out.int128
        sql/test/leaks/Tests/check4.stable.out
        sql/test/leaks/Tests/check4.stable.out.int128
        sql/test/leaks/Tests/check5.stable.out
        sql/test/leaks/Tests/check5.stable.out.int128
Branch: default
Log Message:

Massive cleanup: removed lots of code dealing with non-dense head columns.
This includes removal of insert and delete functions.  See
gdk/ChangeLog and monetdb5/ChangeLog.


diffs (truncated from 5109 to 300 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -30848,14 +30848,6 @@ command bat.delete(b:bat[:oid,:any_1]):b
 address BKCdelete_all;
 comment Delete all entries.
 
-command bat.delete(b:bat[:oid,:any_1],h:oid):bat[:oid,:any_1] 
-address BKCdelete;
-comment Delete an entry with a certain head value.
-
-command bat.delete(b:bat[:oid,:any_1],src:bat[:oid,:any_1]):bat[:oid,:any_1] 
-address BKCdelete_bat_bun;
-comment Delete from the first BAT all BUNs with a corresponding BUN         in 
the second.
-
 command bat.getName(b:bat[:oid,:any_1]):str 
 address BKCgetBBPname;
 comment Gives back the logical name of a BAT.
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -39817,14 +39817,6 @@ command bat.delete(b:bat[:oid,:any_1]):b
 address BKCdelete_all;
 comment Delete all entries.
 
-command bat.delete(b:bat[:oid,:any_1],h:oid):bat[:oid,:any_1] 
-address BKCdelete;
-comment Delete an entry with a certain head value.
-
-command bat.delete(b:bat[:oid,:any_1],src:bat[:oid,:any_1]):bat[:oid,:any_1] 
-address BKCdelete_bat_bun;
-comment Delete from the first BAT all BUNs with a corresponding BUN         in 
the second.
-
 command bat.getName(b:bat[:oid,:any_1]):str 
 address BKCgetBBPname;
 comment Gives back the logical name of a BAT.
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
@@ -107,8 +107,8 @@ BAT *BATconst(BAT *l, int tt, const void
 BAT *BATconstant(int tt, const void *val, BUN cnt, int role);
 BAT *BATconvert(BAT *b, BAT *s, int tp, int abort_on_error);
 BUN BATcount_no_nil(BAT *b);
-gdk_return BATdel(BAT *b, BAT *c, bit force);
 BAT *BATdelta(BAT *b);
+BAT *BATdense(oid hseq, oid tseq, BUN cnt) __attribute__((warn_unused_result));
 void BATderiveHeadProps(BAT *b, int expensive);
 void BATderiveProps(BAT *b, int expensive);
 BAT *BATdiff(BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, BUN estimate);
@@ -135,13 +135,10 @@ BAT *BATgroupvariance_sample(BAT *b, BAT
 BUN BATgrows(BAT *b);
 gdk_return BAThash(BAT *b, BUN masksize);
 gdk_return BATimprints(BAT *b);
-gdk_return BATins(BAT *b, BAT *c, bit force);
 BAT *BATintersectcand(BAT *a, BAT *b);
 gdk_return BATjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, int 
nil_matches, BUN estimate);
 gdk_return BATkey(BAT *b, int onoff);
 gdk_return BATleftjoin(BAT **r1p, BAT **r2p, BAT *l, BAT *r, BAT *sl, BAT *sr, 
int nil_matches, BUN estimate);
-BAT *BATmark(BAT *b, oid base);
-BAT *BATmark_grp(BAT *b, BAT *g, const oid *base);
 void *BATmax(BAT *b, void *aggr);
 size_t BATmemsize(BAT *b, int dirty);
 BAT *BATmergecand(BAT *a, BAT *b);
@@ -205,10 +202,8 @@ void BBPshare(bat b);
 gdk_return BBPsync(int cnt, bat *subcommit);
 void BBPunlock(const char *s);
 gdk_return BUNappend(BAT *b, const void *right, bit force);
-gdk_return BUNdel(BAT *b, const void *left, const void *right, bit force);
-BUN BUNdelete(BAT *b, BUN p, bit force);
 BUN BUNfnd(BAT *b, const void *right);
-gdk_return BUNinplace(BAT *b, BUN p, const void *left, const void *right, bit 
force);
+gdk_return BUNinplace(BAT *b, BUN p, const void *right, bit force);
 gdk_return BUNreplace(BAT *b, const void *left, const void *right, bit force);
 BAT *COLcopy(BAT *b, int tt, int writeable, int role);
 size_t GDK_mem_maxsize;
@@ -338,9 +333,8 @@ gdk_return VARcalcsub(ValPtr ret, const 
 gdk_return VARcalcxor(ValPtr ret, const ValRecord *lft, const ValRecord *rgt);
 gdk_return VARconvert(ValPtr ret, const ValRecord *v, int abort_on_error);
 void VIEWbounds(BAT *b, BAT *view, BUN l, BUN h);
-BAT *VIEWcombine(BAT *b);
-BAT *VIEWcreate(BAT *h, BAT *t);
-BAT *VIEWcreate_(BAT *h, BAT *t, int stable);
+BAT *VIEWcreate(oid seq, BAT *b);
+BAT *VIEWcreate_(oid seq, BAT *b, int stable);
 size_t _MT_npages;
 size_t _MT_pagesize;
 int batFromStr(const char *src, int *len, bat **dst);
@@ -769,10 +763,7 @@ str BKCbat_inplace(bat *r, const bat *bi
 str BKCbat_inplace_force(bat *r, const bat *bid, const bat *rid, const bat 
*uid, const bit *force);
 str BKCbun_inplace(bat *r, const bat *bid, const oid *id, const void *t);
 str BKCbun_inplace_force(bat *r, const bat *bid, const oid *id, const void *t, 
const bit *force);
-char *BKCdelete(bat *r, const bat *bid, const oid *h);
 str BKCdelete_all(bat *r, const bat *bid);
-str BKCdelete_bat_bun(bat *r, const bat *bid, const bat *sid);
-char *BKCdelete_bun(bat *r, const bat *bid, const oid *h, const void *t);
 str BKCdensebat(bat *ret, const wrd *size);
 str BKCgetAccess(str *res, const bat *bid);
 str BKCgetBBPname(str *ret, const bat *bid);
@@ -783,8 +774,6 @@ str BKCgetRole(str *res, const bat *bid)
 str BKCgetSequenceBase(oid *r, const bat *bid);
 str BKCgetSize(lng *tot, const bat *bid);
 str BKCinfo(bat *ret1, bat *ret2, const bat *bid);
-str BKCinsert_bat(bat *r, const bat *bid, const bat *sid);
-str BKCinsert_bat_force(bat *r, const bat *bid, const bat *sid, const bit 
*force);
 str BKCintersectcand(bat *ret, const bat *aid, const bat *bid);
 str BKCisPersistent(bit *res, const bat *bid);
 str BKCisSorted(bit *res, const bat *bid);
diff --git a/gdk/ChangeLog b/gdk/ChangeLog
--- a/gdk/ChangeLog
+++ b/gdk/ChangeLog
@@ -1,7 +1,17 @@
 # ChangeLog file for MonetDB
 # This file is updated with Maddlog
 
+* Mon Dec 14 2015 Sjoerd Mullender <[email protected]>
+- Removed functions BATins, BATdel, BUNdel and BUNdelete.
+
 * Fri Dec 11 2015 Sjoerd Mullender <[email protected]>
+- Removed function VIEWcombine.  Use BATdense instead.
+- Removed "left" parameter from BUNinplace.  It wasn't used since the
+  BAT it works on is dense headed.
+- Created function BATdense to easily create a [void,void] BAT with
+  specified seqbases for head and tail and a count.
+- Removed function BATmark.  When all head columns are dense, BATmark
+  basically only created a new [void,void] BAT.
 - Renamed BATsubsort to BATsort.
 
 * Thu Dec  3 2015 Sjoerd Mullender <[email protected]>
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -1064,6 +1064,8 @@ gdk_export void HEAP_free(Heap *heap, va
 
 gdk_export BAT *BATnew(int hdtype, int tltype, BUN capacity, int role)
        __attribute__((warn_unused_result));
+gdk_export BAT *BATdense(oid hseq, oid tseq, BUN cnt)
+       __attribute__((warn_unused_result));
 gdk_export gdk_return BATextend(BAT *b, BUN newcap);
 
 /* internal */
@@ -1073,20 +1075,12 @@ gdk_export bte ATOMelmshift(int sz);
  * @- BUN manipulation
  * @multitable @columnfractions 0.08 0.7
  * @item BAT*
- * @tab BATins (BAT *b, BAT *c, bit force)
- * @item BAT*
  * @tab BATappend (BAT *b, BAT *c, bit force)
  * @item BAT*
- * @tab BATdel (BAT *b, BAT *c, bit force)
- * @item BAT*
- * @tab BUNins (BAT *b, ptr left, ptr right, bit force)
- * @item BAT*
  * @tab BUNappend (BAT *b, ptr right, bit force)
  * @item BAT*
  * @tab BUNreplace (BAT *b, ptr left, ptr right, bit force)
  * @item int
- * @tab BUNdel (BAT *b, ptr left, ptr right, bit force)
- * @item int
  * @tab BUNfnd (BAT *b, ptr tail)
  * @item BUN
  * @tab BUNlocate (BAT *b, ptr head, ptr tail)
@@ -1109,9 +1103,8 @@ gdk_export bte ATOMelmshift(int sz);
  * be aware of the evolving nature of the sequence, which may require
  * copying the BAT first.
  *
- * The update operations come in three flavors. Element-wise updates
- * can use BUNins, BUNappend, BUNreplace, and BUNdel.  The
- * batch update operations are BATins, BATappend and BATdel.
+ * The update operations come in two flavors: BUNappend and
+ * BUNreplace.  The batch version of BUNappend is BATappend.
  *
  * The routine BUNfnd provides fast access to a single BUN providing a
  * value for the tail of the binary association.
@@ -1263,14 +1256,10 @@ gdk_export bte ATOMelmshift(int sz);
 
 gdk_export gdk_return GDKupgradevarheap(COLrec *c, var_t v, int copyall, int 
mayshare);
 gdk_export gdk_return BUNappend(BAT *b, const void *right, bit force);
-gdk_export gdk_return BATins(BAT *b, BAT *c, bit force);
 gdk_export gdk_return BATappend(BAT *b, BAT *c, bit force);
-gdk_export gdk_return BUNdel(BAT *b, const void *left, const void *right, bit 
force);
-gdk_export BUN BUNdelete(BAT *b, BUN p, bit force);
-gdk_export gdk_return BATdel(BAT *b, BAT *c, bit force);
 
 gdk_export gdk_return BUNreplace(BAT *b, const void *left, const void *right, 
bit force);
-gdk_export gdk_return BUNinplace(BAT *b, BUN p, const void *left, const void 
*right, bit force);
+gdk_export gdk_return BUNinplace(BAT *b, BUN p, const void *right, bit force);
 gdk_export gdk_return BATreplace(BAT *b, BAT *p, BAT *n, bit force);
 
 gdk_export BUN BUNfnd(BAT *b, const void *right);
@@ -1463,10 +1452,6 @@ gdk_export int BATgetaccess(BAT *b);
  * @item BAT *
  * @tab COLcopy (BAT *b, int tt, int writeable, int role)
  * @item BAT *
- * @tab BATmark (BAT *b, oid base)
- * @item BAT *
- * @tab BATmark_grp (BAT *b, BAT *g, oid *s)
- * @item BAT *
  * @tab BATmirror (BAT *b)
  * @item BAT *
  * @end multitable
@@ -1474,10 +1459,7 @@ gdk_export int BATgetaccess(BAT *b);
  * The routine BATclear removes the binary associations, leading to an
  * empty, but (re-)initialized BAT. Its properties are retained.  A
  * temporary copy is obtained with Colcopy. The new BAT has an unique
- * name.  The routine BATmark creates a binary association that
- * introduces a new tail column of fresh densely ascending OIDs.  The
- * base OID can be given explicitly, or if oid_nil is passed, is
- * chosen as a new unique range by the system.
+ * name.
  *
  * The routine BATmirror returns the mirror image BAT (where tail is
  * head and head is tail) of that same BAT. This does not involve a
@@ -1486,8 +1468,6 @@ gdk_export int BATgetaccess(BAT *b);
  */
 gdk_export gdk_return BATclear(BAT *b, int force);
 gdk_export BAT *COLcopy(BAT *b, int tt, int writeable, int role);
-gdk_export BAT *BATmark(BAT *b, oid base);
-gdk_export BAT *BATmark_grp(BAT *b, BAT *g, const oid *base);
 
 gdk_export gdk_return BATgroup(BAT **groups, BAT **extents, BAT **histo, BAT 
*b, BAT *g, BAT *e, BAT *h);
 
@@ -2703,7 +2683,7 @@ gdk_export BAT *BATprev(BAT *b);
  * @tab ALIGNsetH    ((BAT *dst, BAT *src)
  *
  * @item BAT*
- * @tab VIEWcreate   (BAT *h, BAT *t)
+ * @tab VIEWcreate   (oid seq, BAT *b)
  * @item int
  * @tab isVIEW   (BAT *b)
  * @item bat
@@ -2711,10 +2691,6 @@ gdk_export BAT *BATprev(BAT *b);
  * @item bat
  * @tab VIEWtparent   (BAT *b)
  * @item BAT*
- * @tab VIEWhead     (BAT *b)
- * @item BAT*
- * @tab VIEWcombine  (BAT *b)
- * @item BAT*
  * @tab VIEWreset    (BAT *b)
  * @item BAT*
  * @tab BATmaterialize  (BAT *b)
@@ -2732,17 +2708,13 @@ gdk_export BAT *BATprev(BAT *b);
  * VIEW BATs are BATs that lend their storage from a parent BAT.  They
  * are just a descriptor that points to the data in this parent BAT. A
  * view is created with VIEWcreate. The cache id of the parent (if
- * any) is returned by VIEWhparent and VIEWtparent (otherwise it
- * returns 0).
+ * any) is returned by VIEWtparent (otherwise it returns 0).
  *
  * VIEW bats are read-only!!
  *
- * The VIEWcombine gives a view on a BAT that has two head columns of
- * the parent.  The VIEWhead constructs a BAT view that has the same
- * head column as the parent, but has a void column with seqbase=nil
- * in the tail. VIEWreset creates a normal BAT with the same contents
- * as its view parameter (it converts void columns with seqbase!=nil
- * to materialized oid columns).
+ * VIEWreset creates a normal BAT with the same contents as its view
+ * parameter (it converts void columns with seqbase!=nil to
+ * materialized oid columns).
  *
  * The BATmaterialize materializes a VIEW (TODO) or void bat inplace.
  * This is useful as materialization is usually needed for updates.
@@ -2757,9 +2729,8 @@ gdk_export void BATderiveHeadProps(BAT *
 #define BATPROPS_ALL   1       /* derive all possible properties; no matter 
what cost (key=hash) */
 #define BATPROPS_CHECK  3      /* BATPROPS_ALL, but start from scratch and 
report illegally set properties */
 
-gdk_export BAT *VIEWcreate(BAT *h, BAT *t);
-gdk_export BAT *VIEWcreate_(BAT *h, BAT *t, int stable);
-gdk_export BAT *VIEWcombine(BAT *b);
+gdk_export BAT *VIEWcreate(oid seq, BAT *b);
+gdk_export BAT *VIEWcreate_(oid seq, BAT *b, int stable);
 gdk_export void VIEWbounds(BAT *b, BAT *view, BUN l, BUN h);
 
 /* low level functions */
@@ -2791,9 +2762,7 @@ gdk_export void ALIGNsetH(BAT *b1, BAT *
        } while (0)
 
 /* the parentid in a VIEW is correct for the normal view. We must
- * correct for the reversed view. A special case are the VIEWcombine
- * bats, these always refer to the same parent column (i.e. no
- * correction needed)
+ * correct for the reversed view.
  */
 #define isVIEW(x)                                                      \
        ((x)->H->heap.parentid ||                                       \
@@ -2886,19 +2855,6 @@ gdk_export void ALIGNsetH(BAT *b1, BAT *
        for (q = BUNlast(r), p = BUNfirst(r);p < q; p++)
 
 /*
- * @- batloop where the current element can be deleted/updated
- * Normally it is strictly forbidden to update the BAT over which is
- * being iterated, or delete the current element. This can only be
- * done with the specialized batloop below. When doing a delete, do
- * not forget to update the current pointer with a p = BUNdelete(b,p)
- * (the delete may modify the current pointer p).  After the
- * delete/update has taken place, the pointer p is in an inconsistent
- * state till the next iteration of the batloop starts.
- */
-#define BATloopDEL(r, p, q)                                            \
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to