Changeset: 9c7534ae6ed0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9c7534ae6ed0
Added Files:
        sql/test/mergetables/Tests/mergedropcascade.sql
        sql/test/mergetables/Tests/mergedropcascade.stable.err
        sql/test/mergetables/Tests/mergedropcascade.stable.out
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk.h
        gdk/gdk_aggr.c
        gdk/gdk_align.c
        gdk/gdk_bat.c
        gdk/gdk_batop.c
        gdk/gdk_bbp.c
        gdk/gdk_calc.c
        gdk/gdk_calc_compare.h
        gdk/gdk_cross.c
        gdk/gdk_delta.c
        gdk/gdk_delta.h
        gdk/gdk_firstn.c
        gdk/gdk_group.c
        gdk/gdk_hash.c
        gdk/gdk_hash.h
        gdk/gdk_heap.c
        gdk/gdk_imprints.c
        gdk/gdk_join.c
        gdk/gdk_logger.c
        gdk/gdk_orderidx.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
        monetdb5/extras/pyapi/connection.c
        monetdb5/extras/pyapi/pyapi.c
        monetdb5/extras/rapi/converters.c.h
        monetdb5/extras/sphinx/sphinx.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_resource.c
        monetdb5/mal/mal_runtime.c
        monetdb5/modules/atoms/batxml.c
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/mtime.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/status.c
        monetdb5/modules/mal/manifold.c
        monetdb5/modules/mal/mat.c
        monetdb5/modules/mal/mkey.c
        monetdb5/modules/mal/orderidx.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/remote.c
        monetdb5/modules/mal/tablet.c
        monetdb5/modules/mal/tokenizer.c
        monetdb5/modules/mal/zorder.c
        sql/backends/monet5/generator/generator.c
        sql/backends/monet5/sql.c
        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_gencode.c
        sql/backends/monet5/sql_rank.c
        sql/backends/monet5/sql_round_impl.h
        sql/backends/monet5/sql_statistics.c
        sql/backends/monet5/vaults/bam/bam_lib.c
        sql/backends/monet5/vaults/netcdf/netcdf.c
        sql/storage/bat/bat_storage.c
        sql/storage/bat/bat_table.c
        sql/storage/store.c
        sql/test/mergetables/Tests/All
Branch: jit
Log Message:

Merge with default


diffs (truncated from 10267 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
@@ -255,7 +255,7 @@ str GDKstrdup(const char *s) __attribute
 str GDKstrndup(const char *s, size_t n) 
__attribute__((__warn_unused_result__));
 void GDKsyserror(_In_z_ _Printf_format_string_ const char *format, ...) 
__attribute__((__format__(__printf__, 1, 2)));
 ThreadRec GDKthreads[THREADS];
-gdk_return GDKupgradevarheap(COLrec *c, var_t v, int copyall, int mayshare);
+gdk_return GDKupgradevarheap(BAT *b, var_t v, int copyall, int mayshare);
 lng GDKusec(void);
 BAT *GDKval;
 const char *GDKversion(void);
diff --git a/gdk/gdk.h b/gdk/gdk.h
--- a/gdk/gdk.h
+++ b/gdk/gdk.h
@@ -886,48 +886,58 @@ typedef struct BAT {
        oid hseqbase;           /* head seq base */
 
        /* dynamic column properties */
-       COLrec *T;              /* column info */
+       COLrec T;               /* column info */
 
-       BATrec *S;              /* the BAT properties */
+       BATrec S;               /* the BAT properties */
 } BAT;
 
 typedef struct BATiter {
        BAT *b;
-       oid hvid, tvid;
+       oid tvid;
 } BATiter;
 
-typedef struct BATstore BATstore;
-#define BATSTORESIZE   (2 * (sizeof(BAT) + sizeof(COLrec)) + sizeof(BATrec))
-
 typedef int (*GDKfcn) ();
 
 /* macros's to hide complexity of BAT structure */
-#define batPersistence S->persistence
-#define batCopiedtodisk        S->copiedtodisk
-#define batDirty       S->dirty
-#define batConvert     S->convert
-#define batDirtyflushed        S->dirtyflushed
-#define batDirtydesc   S->descdirty
-#define batFirst       S->first
-#define batInserted    S->inserted
-#define batDeleted     S->deleted
-#define batCount       S->count
-#define batCapacity    S->capacity
-#define batStamp       S->stamp
-#define batSharecnt    S->sharecnt
-#define batRestricted  S->restricted
-#define batRole                S->role
-#define creator_tid    S->tid
-#define ttype          T->type
-#define tkey           T->key
-#define tvarsized      T->varsized
-#define tseqbase       T->seq
-#define tsorted                T->sorted
-#define trevsorted     T->revsorted
-#define tdense         T->dense
-#define tident         T->id
-#define talign         T->align
-#define torderidx      T->orderidx
+#define batPersistence S.persistence
+#define batCopiedtodisk        S.copiedtodisk
+#define batDirty       S.dirty
+#define batConvert     S.convert
+#define batDirtyflushed        S.dirtyflushed
+#define batDirtydesc   S.descdirty
+#define batFirst       S.first
+#define batInserted    S.inserted
+#define batDeleted     S.deleted
+#define batCount       S.count
+#define batCapacity    S.capacity
+#define batStamp       S.stamp
+#define batSharecnt    S.sharecnt
+#define batRestricted  S.restricted
+#define batRole                S.role
+#define creator_tid    S.tid
+#define ttype          T.type
+#define tkey           T.key
+#define tvarsized      T.varsized
+#define tseqbase       T.seq
+#define tsorted                T.sorted
+#define trevsorted     T.revsorted
+#define tdense         T.dense
+#define tident         T.id
+#define talign         T.align
+#define torderidx      T.orderidx
+#define twidth         T.width
+#define tshift         T.shift
+#define tnonil         T.nonil
+#define tnil           T.nil
+#define tnokey         T.nokey
+#define tnosorted      T.nosorted
+#define tnorevsorted   T.norevsorted
+#define tnodense       T.nodense
+#define theap          T.heap
+#define tvheap         T.vheap
+#define thash          T.hash
+#define timprints      T.imprints
+#define tprops         T.props
 
 
 
@@ -1097,20 +1107,20 @@ gdk_export bte ATOMelmshift(int sz);
  */
 /* NOTE: `p' is evaluated after a possible upgrade of the heap */
 #if SIZEOF_VAR_T == 8
-#define HTputvalue(b, p, v, copyall, HT)                               \
+#define Tputvalue(b, p, v, copyall)                                    \
        do {                                                            \
-               if ((b)->HT->varsized && (b)->HT->type) {               \
+               if ((b)->tvarsized && (b)->ttype) {                     \
                        var_t _d;                                       \
                        ptr _ptr;                                       \
-                       ATOMputVAR((b)->HT->type, (b)->HT->vheap, &_d, v); \
-                       if ((b)->HT->width < SIZEOF_VAR_T &&            \
-                           ((b)->HT->width <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->HT->width))) { \
+                       ATOMputVAR((b)->ttype, (b)->tvheap, &_d, v);    \
+                       if ((b)->twidth < SIZEOF_VAR_T &&               \
+                           ((b)->twidth <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->twidth))) { \
                                /* doesn't fit in current heap, upgrade it */ \
-                               if (GDKupgradevarheap((b)->HT, _d, (copyall), 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
+                               if (GDKupgradevarheap((b), _d, (copyall), 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
                                        goto bunins_failed;             \
                        }                                               \
                        _ptr = (p);                                     \
-                       switch ((b)->HT->width) {                       \
+                       switch ((b)->twidth) {                          \
                        case 1:                                         \
                                * (unsigned char *) _ptr = (unsigned char) (_d 
- GDK_VAROFFSET); \
                                break;                                  \
@@ -1125,16 +1135,16 @@ gdk_export bte ATOMelmshift(int sz);
                                break;                                  \
                        }                                               \
                } else {                                                \
-                       ATOMputFIX((b)->HT->type, (p), v);              \
+                       ATOMputFIX((b)->ttype, (p), v);                 \
                }                                                       \
        } while (0)
-#define HTreplacevalue(b, p, v, HT)                                    \
+#define Treplacevalue(b, p, v)                                         \
        do {                                                            \
-               if ((b)->HT->varsized && (b)->HT->type) {               \
+               if ((b)->tvarsized && (b)->ttype) {                     \
                        var_t _d;                                       \
                        ptr _ptr;                                       \
                        _ptr = (p);                                     \
-                       switch ((b)->HT->width) {                       \
+                       switch ((b)->twidth) {                          \
                        case 1:                                         \
                                _d = (var_t) * (unsigned char *) _ptr + 
GDK_VAROFFSET; \
                                break;                                  \
@@ -1148,15 +1158,15 @@ gdk_export bte ATOMelmshift(int sz);
                                _d = * (var_t *) _ptr;                  \
                                break;                                  \
                        }                                               \
-                       ATOMreplaceVAR((b)->HT->type, (b)->HT->vheap, &_d, v); \
-                       if ((b)->HT->width < SIZEOF_VAR_T &&            \
-                           ((b)->HT->width <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->HT->width))) { \
+                       ATOMreplaceVAR((b)->ttype, (b)->tvheap, &_d, v); \
+                       if ((b)->twidth < SIZEOF_VAR_T &&               \
+                           ((b)->twidth <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->twidth))) { \
                                /* doesn't fit in current heap, upgrade it */ \
-                               if (GDKupgradevarheap((b)->HT, _d, 0, 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
+                               if (GDKupgradevarheap((b), _d, 0, 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
                                        goto bunins_failed;             \
                        }                                               \
                        _ptr = (p);                                     \
-                       switch ((b)->HT->width) {                       \
+                       switch ((b)->twidth) {                          \
                        case 1:                                         \
                                * (unsigned char *) _ptr = (unsigned char) (_d 
- GDK_VAROFFSET); \
                                break;                                  \
@@ -1171,24 +1181,24 @@ gdk_export bte ATOMelmshift(int sz);
                                break;                                  \
                        }                                               \
                } else {                                                \
-                       ATOMreplaceFIX((b)->HT->type, (p), v);          \
+                       ATOMreplaceFIX((b)->ttype, (p), v);             \
                }                                                       \
        } while (0)
 #else
-#define HTputvalue(b, p, v, copyall, HT)                               \
+#define Tputvalue(b, p, v, copyall)                                    \
        do {                                                            \
-               if ((b)->HT->varsized && (b)->HT->type) {               \
+               if ((b)->tvarsized && (b)->ttype) {                     \
                        var_t _d;                                       \
                        ptr _ptr;                                       \
-                       ATOMputVAR((b)->HT->type, (b)->HT->vheap, &_d, v); \
-                       if ((b)->HT->width < SIZEOF_VAR_T &&            \
-                           ((b)->HT->width <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->HT->width))) { \
+                       ATOMputVAR((b)->ttype, (b)->tvheap, &_d, v);    \
+                       if ((b)->twidth < SIZEOF_VAR_T &&               \
+                           ((b)->twidth <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->twidth))) { \
                                /* doesn't fit in current heap, upgrade it */ \
-                               if (GDKupgradevarheap((b)->HT, _d, (copyall), 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
+                               if (GDKupgradevarheap((b), _d, (copyall), 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
                                        goto bunins_failed;             \
                        }                                               \
                        _ptr = (p);                                     \
-                       switch ((b)->HT->width) {                       \
+                       switch ((b)->twidth) {                          \
                        case 1:                                         \
                                * (unsigned char *) _ptr = (unsigned char) (_d 
- GDK_VAROFFSET); \
                                break;                                  \
@@ -1200,16 +1210,16 @@ gdk_export bte ATOMelmshift(int sz);
                                break;                                  \
                        }                                               \
                } else {                                                \
-                       ATOMputFIX((b)->HT->type, (p), v);              \
+                       ATOMputFIX((b)->ttype, (p), v);                 \
                }                                                       \
        } while (0)
-#define HTreplacevalue(b, p, v, HT)                                    \
+#define Treplacevalue(b, p, v)                                         \
        do {                                                            \
-               if ((b)->HT->varsized && (b)->HT->type) {               \
+               if ((b)->tvarsized && (b)->ttype) {                     \
                        var_t _d;                                       \
                        ptr _ptr;                                       \
                        _ptr = (p);                                     \
-                       switch ((b)->HT->width) {                       \
+                       switch ((b)->twidth) {                          \
                        case 1:                                         \
                                _d = (var_t) * (unsigned char *) _ptr + 
GDK_VAROFFSET; \
                                break;                                  \
@@ -1220,15 +1230,15 @@ gdk_export bte ATOMelmshift(int sz);
                                _d = * (var_t *) _ptr;                  \
                                break;                                  \
                        }                                               \
-                       ATOMreplaceVAR((b)->HT->type, (b)->HT->vheap, &_d, v); \
-                       if ((b)->HT->width < SIZEOF_VAR_T &&            \
-                           ((b)->HT->width <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->HT->width))) { \
+                       ATOMreplaceVAR((b)->ttype, (b)->tvheap, &_d, v); \
+                       if ((b)->twidth < SIZEOF_VAR_T &&               \
+                           ((b)->twidth <= 2 ? _d - GDK_VAROFFSET : _d) >= 
((size_t) 1 << (8 * (b)->twidth))) { \
                                /* doesn't fit in current heap, upgrade it */ \
-                               if (GDKupgradevarheap((b)->HT, _d, 0, 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
+                               if (GDKupgradevarheap((b), _d, 0, 
(b)->batRestricted == BAT_READ) != GDK_SUCCEED) \
                                        goto bunins_failed;             \
                        }                                               \
                        _ptr = (p);                                     \
-                       switch ((b)->HT->width) {                       \
+                       switch ((b)->twidth) {                          \
                        case 1:                                         \
                                * (unsigned char *) _ptr = (unsigned char) (_d 
- GDK_VAROFFSET); \
                                break;                                  \
@@ -1240,19 +1250,16 @@ gdk_export bte ATOMelmshift(int sz);
                                break;                                  \
                        }                                               \
                } else {                                                \
-                       ATOMreplaceFIX((b)->HT->type, (p), v);          \
+                       ATOMreplaceFIX((b)->ttype, (p), v);             \
                }                                                       \
        } while (0)
 #endif
-#define Tputvalue(b, p, v, copyall)    HTputvalue(b, p, v, copyall, T)
-#define Treplacevalue(b, p, v)         HTreplacevalue(b, p, v, T)
-#define HTfastins_nocheck(b, p, v, s, HT)                      \
-       do {                                                    \
-               (b)->HT->heap.free += (s);                      \
-               (b)->HT->heap.dirty |= (s) != 0;                \
-               HTputvalue((b), HT##loc((b), (p)), (v), 0, HT); \
+#define tfastins_nocheck(b, p, v, s)                   \
+       do {                                            \
+               (b)->theap.free += (s);                 \
+               (b)->theap.dirty |= (s) != 0;           \
+               Tputvalue((b), Tloc((b), (p)), (v), 0); \
        } while (0)
-#define tfastins_nocheck(b, p, v, s)   HTfastins_nocheck(b, p, v, s, T)
 
 #define bunfastapp_nocheck(b, p, t, ts)                \
        do {                                    \
@@ -1280,7 +1287,7 @@ gdk_export bte ATOMelmshift(int sz);
                bunfastapp_nocheck(b, _p, t, Tsize(b));                 \
        } while (0)
 
-gdk_export gdk_return GDKupgradevarheap(COLrec *c, var_t v, int copyall, int 
mayshare);
+gdk_export gdk_return GDKupgradevarheap(BAT *b, var_t v, int copyall, int 
mayshare);
 gdk_export gdk_return BUNappend(BAT *b, const void *right, bit force);
 gdk_export gdk_return BATappend(BAT *b, BAT *c, bit force);
 
@@ -1311,13 +1318,13 @@ gdk_export BUN BUNfnd(BAT *b, const void
 
 #define BATttype(b)    ((b)->ttype == TYPE_void && (b)->tseqbase != oid_nil ? \
                         TYPE_oid : (b)->ttype)
-#define Tbase(b)       ((b)->T->vheap->base)
+#define Tbase(b)       ((b)->tvheap->base)
 
-#define Tsize(b)       ((b)->T->width)
+#define Tsize(b)       ((b)->twidth)
 
-#define tailsize(b,p)  ((b)->ttype?((size_t)(p))<<(b)->T->shift:0)
+#define tailsize(b,p)  ((b)->ttype?((size_t)(p))<<(b)->tshift:0)
 
-#define Tloc(b,p)      ((b)->T->heap.base+((p)<<(b)->T->shift))
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to