MonetDB: default - When freeing a heap with remove option, also ...
Changeset: 20c3344aab68 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=20c3344aab68 Modified Files: gdk/gdk_heap.c Branch: default Log Message: When freeing a heap with remove option, also remove file if malloced. This fixes a problem that malloced heaps for hashes were still getting reused after they had been freed. diffs (26 lines): diff --git a/gdk/gdk_heap.c b/gdk/gdk_heap.c --- a/gdk/gdk_heap.c +++ b/gdk/gdk_heap.c @@ -569,16 +569,16 @@ HEAPfree(Heap *h, int remove) size= SZFMT ) = %d\n, PTRFMTCAST(void *)h-base, h-size, ret); - if (remove) { - char *path = GDKfilepath(h-farmid, BATDIR, h-filename, NULL); - if (path unlink(path) 0 errno != ENOENT) - perror(path); - GDKfree(path); - } } } h-base = NULL; if (h-filename) { + if (remove) { + char *path = GDKfilepath(h-farmid, BATDIR, h-filename, NULL); + if (path unlink(path) 0 errno != ENOENT) + perror(path); + GDKfree(path); + } GDKfree(h-filename); h-filename = NULL; } ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - More aggressive check for using hash-based se...
Changeset: 116063d25b30 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=116063d25b30 Modified Files: gdk/gdk_select.c Branch: default Log Message: More aggressive check for using hash-based select. Actually look for existing but not yet loaded hash on both the bat itself and its parent (if it is a view). diffs (57 lines): diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -1485,15 +1485,28 @@ BATsubselect(BAT *b, BAT *s, const void } /* refine upper limit by exact size (if known) */ maximum = MIN(maximum, estimate); + parent = VIEWtparent(b); + /* use hash only for equi-join, and then only if b or its +* parent already has a hash, or if b or its parent is +* persistent and the total size wouldn't be too large; check +* for existence of hash last since that may involve I/O */ hash = equi - (b-batPersistence == PERSISTENT || -((parent = VIEWtparent(b)) != 0 - BBPquickdesc(abs(parent),0)-batPersistence == PERSISTENT)) - (size_t) ATOMsize(b-ttype) = sizeof(BUN) / 4 - BATcount(b) * (ATOMsize(b-ttype) + 2 * sizeof(BUN)) GDK_mem_maxsize / 2; - if (hash estimate == BUN_NONE !BATcheckhash(b)) { + (((b-batPersistence == PERSISTENT || + (parent != 0 + BBPquickdesc(abs(parent),0)-batPersistence == PERSISTENT)) +(size_t) ATOMsize(b-ttype) = sizeof(BUN) / 4 + BATcount(b) * (ATOMsize(b-ttype) + 2 * sizeof(BUN)) GDK_mem_maxsize / 2) || +(BATcheckhash(b) || + (parent != 0 + BATcheckhash(BBPdescriptor(-parent); + if (hash + estimate == BUN_NONE + !BATcheckhash(b) + (parent == 0 || !BATcheckhash(BBPdescriptor(-parent { /* no exact result size, but we need estimate to choose -* between hash- scan-select */ +* between hash- scan-select +* (if we already have a hash, it's a no-brainer: we +* use it) */ BUN cnt = BATcount(b); if (s BATcount(s) cnt) cnt = BATcount(s); @@ -1546,7 +1559,7 @@ BATsubselect(BAT *b, BAT *s, const void if (bn == NULL) return NULL; - if (equi (b-T-hash || hash)) { + if (equi hash) { ALGODEBUG fprintf(stderr, #BATsubselect(b=%s# BUNFMT ,s=%s%s,anti=%d): hash select\n, BATgetId(b), BATcount(b), @@ -1558,7 +1571,7 @@ BATsubselect(BAT *b, BAT *s, const void if (!equi !b-tvarsized (b-batPersistence == PERSISTENT || -((parent = VIEWtparent(b)) != 0 +(parent != 0 BBPquickdesc(abs(parent),0)-batPersistence == PERSISTENT))) { /* use imprints if * i) bat is persistent, or parent is persistent ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Set size and free fields before loading heap.
Changeset: fa3b28add490 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=fa3b28add490 Modified Files: gdk/gdk_search.c Branch: default Log Message: Set size and free fields before loading heap. This enables the actual reuse of hash heaps. diffs (12 lines): diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c --- a/gdk/gdk_search.c +++ b/gdk/gdk_search.c @@ -243,7 +243,7 @@ BATcheckhash(BAT *b) hdata[0] == (((size_t) 1 24) | HASH_VERSION) hdata[4] == (size_t) BATcount(b) fstat(fd, st) == 0 - st.st_size = (off_t) ((hdata[1] + hdata[2]) * hdata[3] + HASH_HEADER_SIZE * SIZEOF_SIZE_T) + st.st_size = (off_t) (hp-size = hp-free = (hdata[1] + hdata[2]) * hdata[3] + HASH_HEADER_SIZE * SIZEOF_SIZE_T) HEAPload(hp, nme, ext, 0) = 0) { h-lim = (BUN) hdata[1]; h-type = ATOMtype(b-ttype); ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Use hash on parent bat in join.
Changeset: f7b8a224e3ed for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f7b8a224e3ed Modified Files: gdk/gdk_join.c Branch: default Log Message: Use hash on parent bat in join. This includes using persistent bats on parents and using already existing but not yet loaded hashes. diffs (235 lines): diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -1257,6 +1257,21 @@ binsearchcand(const oid *cand, BUN lo, B nr++; \ } while (0) +#define HASHloop_bound(bi, h, hb, v, lo, hi) \ + for (hb = HASHget(h, HASHprobe((h), v));\ +hb != HASHnil(h); \ +hb = HASHgetlink(h,hb))\ + if (hb = (lo) hb (hi) \ + (cmp == NULL || \ +(*cmp)(v, BUNtail(bi, hb)) == 0)) + +#define HASHloop_bound_TYPE(bi, h, hb, v, lo, hi, TYPE)\ + for (hb = HASHget(h, hash_##TYPE(h, v));\ +hb != HASHnil(h); \ +hb = HASHgetlink(h,hb))\ + if (hb = (lo) hb (hi) \ + simple_EQ(v, BUNtloc(bi, hb), TYPE)) + static gdk_return hashjoin(BAT *r1, BAT *r2, BAT *l, BAT *r, BAT *sl, BAT *sr, int nil_matches, int nil_on_miss, int semi, int must_match) { @@ -1266,8 +1281,9 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * const oid *rcand = NULL, *rcandend = NULL; oid lo, ro; BATiter ri; - BUN rb, rb0; - wrd rbun2oid; + BUN rb; + BUN rl, rh; + oid rseq; BUN nr, nrcand, newcap; const char *lvals; const char *lvars; @@ -1317,7 +1333,7 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * } /* offset to convert BUN for value in right tail column to OID * in right head column */ - rbun2oid = (wrd) r-hseqbase - (wrd) BUNfirst(r); + rseq = r-hseqbase; /* basic properties will be adjusted if necessary later on, * they were initially set by joininitresults() */ @@ -1349,6 +1365,17 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * return GDK_SUCCEED; } + if (VIEWtparent(r)) { + BAT *b = BBPdescriptor(-VIEWtparent(r)); + rl = (BUN) ((r-T-heap.base - b-T-heap.base) r-T-shift) + BUNfirst(r); + r = b; + } else { + rl = BUNfirst(r); + } + rh = rl + rend; + rl += rstart; + rseq += rstart; + if (BAThash(r, 0) == GDK_FAIL) goto bailout; ri = bat_iterator(r); @@ -1369,8 +1396,8 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * } nr = 0; if (rcand) { - HASHloop(ri, r-T-hash, rb, v) { - ro = (oid) (rb + rbun2oid); + HASHloop_bound(ri, r-T-hash, rb, v, rl, rh) { + ro = (oid) (rb - rl + rseq); if (!binsearchcand(rcand, 0, nrcand, ro)) continue; HASHLOOPBODY(); @@ -1378,11 +1405,8 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * break; } } else { - HASHloop(ri, r-T-hash, rb, v) { - rb0 = rb - BUNfirst(r); /* zero-based */ - if (rb0 rstart || rb0 = rend) - continue; - ro = (oid) (rb + rbun2oid); + HASHloop_bound(ri, r-T-hash, rb, v, rl, rh) { + ro = (oid) (rb - rl + rseq); HASHLOOPBODY(); if (semi) break; @@ -1445,8 +1469,8 @@ hashjoin(BAT *r1, BAT *r2, BAT *l, BAT * lskipped = BATcount(r1) 0; continue; } - HASHloop(ri, r-T-hash, rb, v) { - ro = (oid) (rb + rbun2oid); + HASHloop_bound(ri, r-T-hash, rb, v, rl, rh) { + ro = (oid) (rb - rl + rseq); if (!binsearchcand(rcand, 0, nrcand, ro)) continue; HASHLOOPBODY(); @@ -1460,11 +1484,8 @@ hashjoin(BAT *r1, BAT *r2, BAT
MonetDB: default - Use manifest constant for header size in pers...
Changeset: 77c15068147f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=77c15068147f Modified Files: gdk/gdk_imprints.c gdk/gdk_search.c Branch: default Log Message: Use manifest constant for header size in persistent hash/imprints. diffs (133 lines): diff --git a/gdk/gdk_imprints.c b/gdk/gdk_imprints.c --- a/gdk/gdk_imprints.c +++ b/gdk/gdk_imprints.c @@ -19,6 +19,7 @@ #include gdk_imprints.h #define IMPRINTS_VERSION 2 +#define IMPRINTS_HEADER_SIZE 4 /* nr of size_t fields in header */ #define BINSIZE(B, FUNC, T) do { \ switch (B) {\ @@ -631,7 +632,7 @@ BATimprints(BAT *b) imprintsheap); if ((fd = GDKfdlocate(imprints-imprints-farmid, nme, rb, b-batCacheid 0 ? timprints : himprints)) = 0) { - size_t hdata[4]; + size_t hdata[IMPRINTS_HEADER_SIZE]; struct stat st; if (read(fd, hdata, sizeof(hdata)) == sizeof(hdata) hdata[0] ((size_t) 1 16) @@ -646,13 +647,13 @@ BATimprints(BAT *b) pages * ((bte) hdata[0] / 8) + hdata[2] * sizeof(cchdc_t) + sizeof(uint64_t) /* padding for alignment */ - + 4 * SIZEOF_SIZE_T) + + IMPRINTS_HEADER_SIZE * SIZEOF_SIZE_T) HEAPload(imprints-imprints, nme, b-batCacheid 0 ? timprints : himprints, 0) = 0) { /* usable */ imprints-bits = (bte) (hdata[0] 0xFF); imprints-impcnt = (BUN) hdata[1]; imprints-dictcnt = (BUN) hdata[2]; - imprints-bins = imprints-imprints-base + 4 * SIZEOF_SIZE_T; + imprints-bins = imprints-imprints-base + IMPRINTS_HEADER_SIZE * SIZEOF_SIZE_T; imprints-stats = (BUN *) ((char *) imprints-bins + 64 * b-T-width); imprints-imps = (void *) (imprints-stats + 64 * 3); imprints-dict = (void *) ((uintptr_t) ((char *) imprints-imps + pages * (imprints-bits / 8) + sizeof(uint64_t)) ~(sizeof(uint64_t) - 1)); @@ -727,7 +728,7 @@ BATimprints(BAT *b) pages * (imprints-bits / 8) + pages * sizeof(cchdc_t) + sizeof(uint64_t) /* padding for alignment */ - + 4 * SIZEOF_SIZE_T, /* extra info */ + + IMPRINTS_HEADER_SIZE * SIZEOF_SIZE_T, /* extra info */ 1) 0) { GDKfree(imprints-imprints); GDKfree(imprints); @@ -736,7 +737,7 @@ BATimprints(BAT *b) BATimprints); return GDK_FAIL; } - imprints-bins = imprints-imprints-base + 4 * SIZEOF_SIZE_T; + imprints-bins = imprints-imprints-base + IMPRINTS_HEADER_SIZE * SIZEOF_SIZE_T; imprints-stats = (BUN *) ((char *) imprints-bins + 64 * b-T-width); imprints-imps = (void *) (imprints-stats + 64 * 3); imprints-dict = (void *) ((uintptr_t) ((char *) imprints-imps + pages * (imprints-bits / 8) + sizeof(uint64_t)) ~(sizeof(uint64_t) - 1)); diff --git a/gdk/gdk_search.c b/gdk/gdk_search.c --- a/gdk/gdk_search.c +++ b/gdk/gdk_search.c @@ -119,7 +119,8 @@ HASHclear(Hash *h) memset(h-Hash, 0xFF, (h-mask + 1) * h-width); } -#define HASH_VERSION 1 +#define HASH_VERSION 1 +#define HASH_HEADER_SIZE 5 /* nr of size_t fields in header */ Hash * HASHnew(Heap *hp, int tpe, BUN size, BUN mask, BUN count) @@ -127,9 +128,9 @@ HASHnew(Heap *hp, int tpe, BUN size, BUN Hash *h = NULL; int width = HASHwidth(size); - if (HEAPalloc(hp, mask + size + 5 * SIZEOF_SIZE_T / width, width) 0) + if (HEAPalloc(hp, mask + size + HASH_HEADER_SIZE * SIZEOF_SIZE_T / width, width) 0) return NULL; - hp-free = (mask + size) * width + 5 * SIZEOF_SIZE_T; + hp-free = (mask + size) * width + HASH_HEADER_SIZE * SIZEOF_SIZE_T; h = GDKmalloc(sizeof(Hash)); if (h == NULL) return NULL; @@ -143,7 +144,7 @@ HASHnew(Heap *hp, int tpe, BUN size, BUN case BUN4: h-nil = (BUN) BUN4_NONE; break; -#if SIZEOF_BUN 4 +#ifdef BUN8 case BUN8: h-nil = (BUN) BUN8_NONE; break; @@ -151,7 +152,7 @@ HASHnew(Heap *hp, int tpe, BUN
MonetDB: datacell - Merge with default branch
Changeset: 046a4b12f25c for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=046a4b12f25c Added Files: clients/R/build-for-cran.sh monetdb5/mal/Tests/tst062.stable.err monetdb5/mal/Tests/tst062.stable.out monetdb5/modules/mal/Tests/remote07.malC sql/benchmarks/ATIS/Tests/select_group.stable.out.int128 sql/test/BugTracker-2009/Tests/case_evaluates_all_branches.SF-2893484.stable.out.int128 sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.SQL.py sql/test/BugTracker-2015/Tests/incorrect_result_type.Bug-3687.sql sql/test/BugTracker-2015/Tests/incorrect_result_type.Bug-3687.stable.err sql/test/BugTracker-2015/Tests/incorrect_result_type.Bug-3687.stable.out sql/test/BugTracker-2015/Tests/incorrect_result_type.Bug-3687.stable.out.int128 sql/test/BugTracker-2015/Tests/operator-priority.Bug-3686.sql sql/test/BugTracker-2015/Tests/operator-priority.Bug-3686.stable.err sql/test/BugTracker-2015/Tests/operator-priority.Bug-3686.stable.out sql/test/pg_regress/Tests/float8.stable.err.Windows sql/test/pg_regress/Tests/float8.stable.out.Windows sql/test/pg_regress/Tests/without_oid.stable.out.oid32 Removed Files: monetdb5/modules/mal/Tests/remote07.mal sql/test/BugTracker-2012/Tests/currenttime.Bug-2781.py Modified Files: .hgtags MonetDB.spec buildtools/autogen/setup.py clients/R/MonetDB.R/DESCRIPTION clients/R/MonetDB.R/NEWS clients/R/MonetDB.R/R/dbi.R clients/R/MonetDB.R/R/dplyr.R clients/R/MonetDB.R/man/mc.Rd clients/R/MonetDB.R/man/monetdb.read.csv.Rd clients/R/MonetDB.R/man/monetdbRtype.Rd clients/Tests/SQL-dump_all.stable.out clients/Tests/SQL-dump_all.stable.out.int128 clients/Tests/SQL-dump_all.stable.out.oid32 clients/Tests/SQL-dump_all.stable.out.oid32.int128 clients/Tests/SQL-dump_geom.stable.out clients/Tests/SQL-dump_geom.stable.out.32bit clients/Tests/SQL-dump_geom.stable.out.64bit.oid32 clients/Tests/SQL-dump_none.stable.out clients/Tests/exports.stable.out clients/mapiclient/tachograph.c clients/mapilib/mapi.c clients/odbc/driver/Copyright clients/odbc/driver/SQLBrowseConnect.c clients/odbc/driver/SQLGetDescField.c clients/odbc/driver/SQLGetInfo.c clients/odbc/driver/SQLGetStmtAttr.c debian/monetdb5-server.install debian/monetdb5-sql.install gdk/gdk.h gdk/gdk_atoms.c gdk/gdk_bat.c gdk/gdk_bbp.c gdk/gdk_group.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_logger.c gdk/gdk_private.h gdk/gdk_search.c gdk/gdk_select.c gdk/gdk_setop.c gdk/gdk_storage.c gdk/gdk_system.c gdk/gdk_system.h gdk/gdk_unique.c gdk/gdk_utils.c monetdb5/extras/mal_optimizer_template/opt_sql_append.c monetdb5/extras/rapi/Tests/All monetdb5/mal/Tests/All monetdb5/mal/Tests/tst019.stable.out monetdb5/mal/Tests/tst027.stable.out monetdb5/mal/Tests/tst038.stable.out monetdb5/mal/Tests/tst044.stable.out monetdb5/mal/Tests/tst070.stable.out monetdb5/mal/Tests/tst071.stable.out monetdb5/mal/Tests/tst102.stable.out monetdb5/mal/Tests/tst104.stable.out monetdb5/mal/Tests/tst105.stable.out monetdb5/mal/Tests/tst105a.stable.out monetdb5/mal/Tests/tst106.stable.out monetdb5/mal/Tests/tst115.stable.out monetdb5/mal/Tests/tst150.stable.out monetdb5/mal/Tests/tst161.stable.out monetdb5/mal/Tests/tst162.stable.out monetdb5/mal/Tests/tst163.stable.out monetdb5/mal/Tests/tst611.stable.out monetdb5/mal/Tests/tst755.stable.out monetdb5/mal/Tests/tst760.stable.out monetdb5/mal/Tests/tst804.stable.out monetdb5/mal/mal.c monetdb5/mal/mal_client.h monetdb5/mal/mal_interpreter.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_listing.h monetdb5/mal/mal_parser.c monetdb5/mal/mal_private.h monetdb5/mal/mal_profiler.c monetdb5/mal/mal_resolve.c monetdb5/mal/mal_resolve.h monetdb5/mal/mal_session.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/modules/mal/Tests/All monetdb5/modules/mal/Tests/remote07.stable.out monetdb5/modules/mal/Tests/remote88.mal monetdb5/modules/mal/cluster.c monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/remote.c monetdb5/optimizer/Tests/CMexample.stable.out monetdb5/optimizer/Tests/inline08.stable.out monetdb5/optimizer/Tests/inlineCst.stable.out
MonetDB: default - Merge with Oct2014 branch.
Changeset: 63d114fb0735 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=63d114fb0735 Modified Files: gdk/gdk_atoms.c gdk/gdk_join.c Branch: default Log Message: Merge with Oct2014 branch. diffs (74 lines): diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -589,35 +589,34 @@ numFromStr(const char *src, int *len, vo const lng maxdiv10 = LL_CONSTANT(922337203685477580); /*7*/ #endif const int maxmod10 = 7; /* max value % 10 */ - int sign; + int sign = 1; atommem(void, sz); while (GDKisspace(*p)) p++; - switch (*p) { - case 'n': - memcpy(*dst, ATOMnilptr(tp), sz); - if (p[1] == 'i' p[2] == 'l') { - p += 3; - return (int) (p - src); + if (!num10(*p)) { + switch (*p) { + case 'n': + memcpy(*dst, ATOMnilptr(tp), sz); + if (p[1] == 'i' p[2] == 'l') { + p += 3; + return (int) (p - src); + } + /* not a number */ + return 0; + case '-': + sign = -1; + p++; + break; + case '+': + p++; + break; } - /* not a number */ - return 0; - case '-': - sign = -1; - p++; - break; - case '+': - p++; - /* fall through */ - default: - sign = 1; - break; - } - if (!num10(*p)) { - /* not a number */ - memcpy(*dst, ATOMnilptr(tp), sz); - return 0; + if (!num10(*p)) { + /* still not a number */ + memcpy(*dst, ATOMnilptr(tp), sz); + return 0; + } } do { if (base maxdiv10 || diff --git a/gdk/gdk_join.c b/gdk/gdk_join.c --- a/gdk/gdk_join.c +++ b/gdk/gdk_join.c @@ -327,7 +327,7 @@ binsearch(const oid *rcand, oid offset, * If nil_on_miss is set, a nil value is returned in r2 if there is no * match in r for a particular value in l (left outer join). * - * If semi is set, only a single set of values in t1/r2 is returned if + * If semi is set, only a single set of values in r1/r2 is returned if * there is a match of l in r, no matter how many matches there are in * r; otherwise all matches are returned. */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - approved changes
Changeset: 10a9cded260b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=10a9cded260b Modified Files: clients/Tests/MAL-signatures_all.stable.out clients/Tests/MAL-signatures_all.stable.out.int128 clients/Tests/SQL-dump_all.stable.out.int128 clients/Tests/SQL-dump_all.stable.out.oid32.int128 clients/Tests/exports.stable.out Branch: default Log Message: approved changes diffs (107 lines): diff --git a/clients/Tests/MAL-signatures_all.stable.out b/clients/Tests/MAL-signatures_all.stable.out --- a/clients/Tests/MAL-signatures_all.stable.out +++ b/clients/Tests/MAL-signatures_all.stable.out @@ -2396,17 +2396,9 @@ command algebra.not_like(s:str,pat:str): address PCREnotlike2; command algebra.not_like(s:str,pat:str,esc:str):bit address PCREnotlike3; -pattern algebra.project(b:bat[:any_2,:any_1],v:any_3):bat[:any_2,:any_3] +pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; -comment Fill the tail with a constant, e.g. [0~b] - -pattern algebra.project(v:any_3,b:bat[:any_2,:any_1]):bat[:any_3,:any_1] -address ALGprojecthead; -comment Fill the head with a constant, e.g. [0~b] - -command algebra.project(b:bat[:any_1,:any_2]):bat[:any_1,:void] -address ALGprojectNIL; -comment Extract the head of a BAT. +comment Fill the tail with a constant command algebra.reuse(b:bat[:oid,:any_1]):bat[:oid,:any_1] address ALGreuse; diff --git a/clients/Tests/MAL-signatures_all.stable.out.int128 b/clients/Tests/MAL-signatures_all.stable.out.int128 --- a/clients/Tests/MAL-signatures_all.stable.out.int128 +++ b/clients/Tests/MAL-signatures_all.stable.out.int128 @@ -2907,17 +2907,9 @@ command algebra.not_like(s:str,pat:str): address PCREnotlike2; command algebra.not_like(s:str,pat:str,esc:str):bit address PCREnotlike3; -pattern algebra.project(b:bat[:any_2,:any_1],v:any_3):bat[:any_2,:any_3] +pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; -comment Fill the tail with a constant, e.g. [0~b] - -pattern algebra.project(v:any_3,b:bat[:any_2,:any_1]):bat[:any_3,:any_1] -address ALGprojecthead; -comment Fill the head with a constant, e.g. [0~b] - -command algebra.project(b:bat[:any_1,:any_2]):bat[:any_1,:void] -address ALGprojectNIL; -comment Extract the head of a BAT. +comment Fill the tail with a constant command algebra.reuse(b:bat[:oid,:any_1]):bat[:oid,:any_1] address ALGreuse; diff --git a/clients/Tests/SQL-dump_all.stable.out.int128 b/clients/Tests/SQL-dump_all.stable.out.int128 --- a/clients/Tests/SQL-dump_all.stable.out.int128 +++ b/clients/Tests/SQL-dump_all.stable.out.int128 @@ -7588,7 +7588,7 @@ 5942 querylog_disable create procedur 5944 tracelog -- This Source Code Form is subject to the terms of the Mozilla Public\n-- License, v. 2.0. If a copy of the MPL was not distributed with this\n-- file, You can obtain one at http://mozilla.org/MPL/2.0/.\n--\n-- Copyright 2008-2015 MonetDB B.V.\n\n-- make the offline tracing table available for inspection\ncreate function sys.tracelog() \n\treturns table (\n\t\tevent integer,\t\t-- event counter\n\t\tclk varchar(20), \t-- wallclock, no mtime in kernel\n\t\tpc varchar(50), \t-- module.function[nr]\n\t\tthread int, \t\t-- thread identifier\n\t\tticks bigint, \t\t-- time in microseconds\n\t\trrsmb bigint, \t\t-- resident memory in MB\n\t\tvmmb bigint, \t\t-- virtual size in MB\n\t\treads bigint, \t\t-- number of blocks read\n\t\twrites bigint, \t\t-- number of blocks written\n\t\tminflt bigint, \t\t-- minor page faults\n\t\tmajflt bigint, \t\t-- major page faults\n\t\tnvcsw bigint, \t\t-- non-volantary conext switch\n\t\tstmt string\t\t\t-- actual statement executed\n \t)\n\texternal name sql.dump_trace; sql 1 5 false false false 2000 5974 profiler_openstream create procedure profiler_openstream(host string, port int) external name profiler.openStream;profiler 1 2 truefalse false 2000 5978 profiler_stethoscope create procedure profiler_stethoscope(ticks int) external name profiler.stethoscope; profiler 1 2 true false false 2000 -5981 epoch -- This Source Code Form is subject to the terms of the Mozilla Public\n-- License, v. 2.0. If a copy of the MPL was not distributed with this\n-- file, You can obtain one at http://mozilla.org/MPL/2.0/.\n--\n-- Copyright 2008-2015 MonetDB B.V.\n\n-- assume milliseconds when converted to TIMESTAMP\ncreate function epoch(sec bigint) returns timestamp\n external name timestamp.epoch; timestamp 1 1 false false false 2000 +5981 epoch -- This Source Code Form is subject to the terms of the Mozilla Public\n-- License, v. 2.0. If a copy of the MPL was not distributed with this\n-- file, You can obtain one at http://mozilla.org/MPL/2.0/.\n--\n-- Copyright 2008-2015 MonetDB B.V.\n\n-- assume milliseconds when converted to
MonetDB: default - make sure append correctly keeps tail-dense info
Changeset: d153a5a6ebb4 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=d153a5a6ebb4 Modified Files: gdk/gdk_batop.c gdk/gdk_select.c Branch: default Log Message: make sure append correctly keeps tail-dense info selects returning all rows are dense diffs (46 lines): diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -513,7 +513,7 @@ BATins(BAT *b, BAT *n, bit force) } if (b-htype != TYPE_void b-hsorted b-hdense (BAThdense(n) == 0 || -*(oid *) BUNhloc(bi, last) != 1 + *(oid *) BUNhead(ni, BUNfirst(n { +1 + *(oid *) BUNhloc(bi, last) != *(oid *) BUNhead(ni, BUNfirst(n { b-hdense = FALSE; b-H-nodense = r; } @@ -539,7 +539,7 @@ BATins(BAT *b, BAT *n, bit force) } if (b-ttype != TYPE_void b-tsorted b-tdense (BATtdense(n) == 0 || -*(oid *) BUNtloc(bi, last) != 1 + *(oid *) BUNtail(ni, BUNfirst(n { +1 + *(oid *) BUNtloc(bi, last) != *(oid *) BUNtail(ni, BUNfirst(n { b-tdense = FALSE; b-T-nodense = r; } @@ -750,7 +750,7 @@ BATappend(BAT *b, BAT *n, bit force) } if (b-ttype != TYPE_void b-tsorted b-tdense (BATtdense(n) == 0 || -*(oid *) BUNtloc(bi, last) != 1 + *(oid *) BUNtail(ni, BUNfirst(n { +1 + *(oid *) BUNtloc(bi, last) != *(oid *) BUNtail(ni, BUNfirst(n { b-tdense = FALSE; b-T-nodense = r; } diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -893,9 +893,9 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, bn-tsorted = 1; bn-trevsorted = bn-batCount = 1; bn-tkey = 1; - bn-tdense = bn-batCount = 1; - if (bn-batCount == 1) - bn-tseqbase = *(oid *) Tloc(bn, BUNfirst(bn)); + bn-tdense = (bn-batCount = 1 || bn-batCount == b-batCount); + if (bn-batCount == 1 || bn-batCount == b-batCount) + bn-tseqbase = b-hseqbase; bn-hsorted = 1; bn-hdense = 1; bn-hseqbase = 0; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - rollforward
Changeset: f6c0bfa87893 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f6c0bfa87893 Modified Files: sql/test/remote/Tests/ssbm.stable.out Branch: default Log Message: rollforward diffs (12 lines): diff --git a/sql/test/remote/Tests/ssbm.stable.out b/sql/test/remote/Tests/ssbm.stable.out --- a/sql/test/remote/Tests/ssbm.stable.out +++ b/sql/test/remote/Tests/ssbm.stable.out @@ -27,7 +27,7 @@ Ready. 60175 rows in mergetable [(4199635969,)] -[(5980941, 1994, u'MFGR#1232'), (4869251, 1994, u'MFGR#126'), (4288542, 1996, u'MFGR#126'), (19971623, 1996, u'MFGR#1225'), (8557774, 1994, u'MFGR#1220'), (10193031, 1993, u'MFGR#1230'), (4188998, 1997, u'MFGR#1214'), (10279155, 1993, u'MFGR#1225'), (10529427, 1997, u'MFGR#1220'), (5551142, 1993, u'MFGR#1220'), (9952878, 1993, u'MFGR#1226'), (11569138, 1998, u'MFGR#129'), (15392246, 1994, u'MFGR#127'), (1153, 1994, u'MFGR#125'), (18232285, 1997, u'MFGR#1223'), (27850979, 1996, u'MFGR#1212'), (327046, 1997, u'MFGR#125'), (35054814, 1992, u'MFGR#127'), (7873139, 1995, u'MFGR#125'), (7015912, 1992, u'MFGR#1219'), (13218597, 1997, u'MFGR#127'), (6040770, 1996, u'MFGR#129'), (5316438, 1998, u'MFGR#1233'), (21747351, 1993, u'MFGR#1223'), (6960104, 1993, u'MFGR#1236'), (10104525, 1994, u'MFGR#1223'), (5656126, 1994, u'MFGR#129'), (22661695, 1995, u'MFGR#1236'), (13735907, 1997, u'MFGR#1236'), (9097752, 1997, u'MFGR#1221'), (8260673, 1995, u'MFGR#1228'), (2563912, 1992, u'MFGR#1221'), ( 19530708, 1994, u'MFGR#1212'), (8295332, 1996, u'MFGR#1222'), (1382981, 1993, u'MFGR#125'), (12137253, 1993, u'MFGR#1233'), (14117772, 1995, u'MFGR#1233'), (16358592, 1996, u'MFGR#1240'), (1069800, 1996, u'MFGR#122'), (17227363, 1995, u'MFGR#1240'), (17725171, 1997, u'MFGR#1212'), (3231894, 1992, u'MFGR#1240'), (4074189, 1998, u'MFGR#1225'), (14385634, 1995, u'MFGR#128'), (4383708, 1995, u'MFGR#129'), (2793729, 1997, u'MFGR#1225'), (5142893, 1995, u'MFGR#1239'), (13582129, 1992, u'MFGR#1212'), (14590136, 1995, u'MFGR#1225'), (4554495, 1994, u'MFGR#122'), (5953230, 1997, u'MFGR#122'), (733435, 1998, u'MFGR#1239'), (10005626, 1996, u'MFGR#1232'), (4258048, 1993, u'MFGR#1240'), (18995020, 1994, u'MFGR#121'), (7617265, 1998, u'MFGR#1224'), (3339630, 1993, u'MFGR#121'), (10755017, 1997, u'MFGR#1240'), (16038869, 1993, u'MFGR#1218'), (9091580, 1998, u'MFGR#1217'), (13307853, 1998, u'MFGR#1232'), (784827, 1996, u'MFGR#1218'), (11514911, 1993, u'MFGR#1211'), (35741623, 1992, u'MFGR#1211'), (10997176, 1994, u'MFGR#1219'), (13534131, 1996, u'MFGR#1211'), (19174753, 1997, u'MFGR#1226'), (5584069, 1994, u'MFGR#1222'), (19485508, 1998, u'MFGR#1222'), (6003315, 1992, u'MFGR#1223'), (1919741, 1998, u'MFGR#1223'), (5762459, 1993, u'MFGR#1224'), (7552882, 1992, u'MFGR#1230'), (18723136, 1995, u'MFGR#1224'), (13700463, 1992, u'MFGR#1225'), (6377178, 1995, u'MFGR#1232'), (4586682, 1994, u'MFGR#1211'), (10713992, 1994, u'MFGR#1225'), (3678145, 1993, u'MFGR#1214'), (8052920, 1997, u'MFGR#129'), (18374286, 1996, u'MFGR#125'), (2106877, 1994, u'MFGR#1238'), (32750117, 1996, u'MFGR#127'), (14693311, 1993, u'MFGR#127'), (5595420, 1995, u'MFGR#1218'), (13859956, 1997, u'MFGR#1224'), (5128426, 1997, u'MFGR#123'), (2738610, 1998, u'MFGR#1238'), (15949227, 1998, u'MFGR#1212'), (8338345, 1995, u'MFGR#1226'), (2420150, 1992, u'MFGR#1217'), (10434877, 1997, u'MFGR#128'), (2641607, 1992, u'MFGR#122'), (5071393, 1993, u'MFGR#129'), (2509211, 1995, u'MFGR#1217'), (1879252, 1998, u'MFGR#1236'), (12158316, 1996, u'MFGR#121'), (7639101, 1992, u'MFGR#129'), (15102503, 1992, u'MFGR#128'), (7325684, 1993, u'MFGR#1217'), (10329821, 1993, u'MFGR#1239'), (13184783, 1992, u'MFGR#1232'), (7834997, 1998, u'MFGR#1219'), (19279359, 1995, u'MFGR#1222'), (4294668, 1993, u'MFGR#1212'), (4200351, 1995, u'MFGR#1214'), (3651938, 1998, u'MFGR#126'), (97819, 1995, u'MFGR#1230'), (2821764, 1993, u'MFGR#126'), (6572535, 1993, u'MFGR#1228'), (7859272, 1994, u'MFGR#1233'), (12610793, 1992, u'MFGR#1226'), (11183976, 1996, u'MFGR#1224'), (13010765, 1994, u'MFGR#1218'), (4172057, 1997, u'MFGR#1217'), (8866362, 1997, u'MFGR#1232'), (14223208, 1994, u'MFGR#1239'), (4613081, 1996, u'MFGR#1239'), (10864281, 1998, u'MFGR#121'), (5135891, 1996, u'MFGR#1236'), (8122643, 1993, u'MFGR#1213'), (9841612, 1995, u'MFGR#1219'), (8693908, 1998, u'MFGR#127'), (26560659, 1993, u'MFGR#1219'), (1097742, 1995, u'MFGR#1211'), (8668003, 1997, u'MFGR#1222'), (4775592, 1994, u'MFGR#1224'), (4313787, 1997, u'MFGR#121'), (260 7543, 1998, u'MFGR#1230'), (2319634, 1998, u'MFGR#1220'), (4304076, 1997, u'MFGR#1230'), (4624540, 1995, u'MFGR#1220'), (7214844, 1992, u'MFGR#125'), (1794201, 1994, u'MFGR#123'), (4348542, 1996, u'MFGR#1221'), (5452000, 1995, u'MFGR#1223'), (3484096, 1993, u'MFGR#1222'), (3550796, 1994, u'MFGR#1236'), (1799648, 1993, u'MFGR#128'), (2768015, 1998, u'MFGR#128'), (128577, 1996, u'MFGR#128'), (15464411, 1997, u'MFGR#1211'), (15556327, 1997, u'MFGR#1219'),
MonetDB: newstorage - merged with default
Changeset: 165ba8e854a1 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=165ba8e854a1 Modified Files: sql/scripts/17_temporal.sql Branch: newstorage Log Message: merged with default diffs (12 lines): diff --git a/sql/scripts/17_temporal.sql b/sql/scripts/17_temporal.sql --- a/sql/scripts/17_temporal.sql +++ b/sql/scripts/17_temporal.sql @@ -6,7 +6,7 @@ -- assume milliseconds when converted to TIMESTAMP create function epoch(sec BIGINT) returns TIMESTAMP -external name timestamp.epoch; + external name timestamp.epoch; create function epoch(sec INT) returns TIMESTAMP external name timestamp.epoch; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Oct2014 - added stable output
Changeset: 7a7e4b3b91a9 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7a7e4b3b91a9 Added Files: sql/test/remote/Tests/ssbm.stable.err sql/test/remote/Tests/ssbm.stable.out Branch: Oct2014 Log Message: added stable output diffs (190 lines): diff --git a/sql/test/remote/Tests/ssbm.stable.err b/sql/test/remote/Tests/ssbm.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/remote/Tests/ssbm.stable.err @@ -0,0 +1,145 @@ +stderr of test 'ssbm` in directory 'sql/test/remote` itself: + + +# 20:00:45 +# 20:00:45 mserver5 --debug=10 --set gdk_nr_threads=0 --set mapi_open=true --set mapi_port=39185 --set mapi_usock=/var/tmp/mtest-22712/.s.monetdb.39185 --set monet_prompt= --forcemito --set mal_listing=2 --dbpath=/home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB/mTests_sql_test_remote --set mal_listing=0 --set embedded_r=yes +# 20:00:45 + +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 39185 +# cmdline opt mapi_usock = /var/tmp/mtest-22712/.s.monetdb.39185 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB/mTests_sql_test_remote +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 20:00:45 +# 20:00:45 /usr/bin/python2 ssbm.SQL.py ssbm +# 20:00:45 + +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_usock = /var/tmp/mtest-22712/.s.monetdb.39185 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt mapi_port = 40104 +# cmdline opt gdk_dbpath = /tmp/remotetest/master/master +# cmdline opt gdk_debug = 536870922 +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_usock = /var/tmp/mtest-22712/.s.monetdb.39185 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt mapi_port = 42638 +# cmdline opt gdk_dbpath = /tmp/remotetest/worker_0/worker_0 +# cmdline opt gdk_debug = 536870922 +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_usock = /var/tmp/mtest-22712/.s.monetdb.39185 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt mapi_port = 45795 +# cmdline opt gdk_dbpath = /tmp/remotetest/worker_1/worker_1 +# cmdline opt gdk_debug = 536870922 +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_usock = /var/tmp/mtest-22712/.s.monetdb.39185 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt mapi_port = 45996 +# cmdline opt gdk_dbpath = /tmp/remotetest/worker_2/worker_2 +# cmdline opt gdk_debug = 536870922 +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +#
MonetDB: Oct2014 - fix remote bat result code (ie set size of re...
Changeset: 0231da036665 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0231da036665 Modified Files: monetdb5/modules/mal/remote.c Branch: Oct2014 Log Message: fix remote bat result code (ie set size of receiving bat properly) diffs (60 lines): diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c --- a/monetdb5/modules/mal/remote.c +++ b/monetdb5/modules/mal/remote.c @@ -85,8 +85,8 @@ static unsigned char localtype = 0; static inline str RMTquery(MapiHdl *ret, str func, Mapi conn, str query); static inline str RMTinternalcopyfrom(BAT **ret, char *hdr, stream *in); -#define newColumn(Var,Type,Tag) \ - Var = BATnew(TYPE_void, Type, 0, TRANSIENT);\ +#define newColumn(Var,Type,sz,Tag) \ + Var = BATnew(TYPE_void, Type, sz, TRANSIENT); \ if ( Var == NULL) throw(MAL,Tag,MAL_MALLOC_FAIL); \ BATseqbase(Var,0); @@ -115,7 +115,7 @@ str RMTresolve(bat *ret, str *pat) { throw(MAL, remote.resolve, this function needs the mserver have been started by merovingian); - newColumn(list, TYPE_str, remote.resolve); + newColumn(list, TYPE_str, 0, remote.resolve); /* extract port from mero_uri, let mapi figure out the rest */ mero_uri+=strlen(mapi:monetdb://); @@ -534,7 +534,7 @@ str RMTget(Client cntxt, MalBlkPtr mb, M return var; } t = getColumnType(rtype); - newColumn(b,t,remote.get); + newColumn(b, t, 0, remote.get); if (ATOMvarsized(t)) { while (mapi_fetch_row(mhdl)) { @@ -965,17 +965,14 @@ str RMTbatload(Client cntxt, MalBlkPtr m int s; BAT *b; size_t len; - //size_t pos; char *var; - //bit escaped = 0, instr = 0; bstream *fdin = cntxt-fdin; v = stk-stk[pci-argv[0]]; /* return */ t = getArgType(mb, pci, 1); /* tail type */ size = *getArgReference_int(stk, pci, 2); /* size */ - newColumn(b,t,remote.load); - BATextend(b,size); + newColumn(b, t, size, remote.load); /* grab the input stream and start reading */ fdin-eof = 0; @@ -1179,7 +1176,7 @@ RMTinternalcopyfrom(BAT **ret, char *hdr hdr++; } - newColumn(b, bb.Ttype,remote.get); + newColumn(b, bb.Ttype, bb.size, remote.get); /* for strings, the width may not match, fix it to match what we * retrieved */ ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: newstorage - merge with default
Changeset: f688685972ab for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f688685972ab Modified Files: clients/Tests/exports.stable.out gdk/gdk_atoms.c gdk/gdk_group.c monetdb5/extras/mal_optimizer_template/opt_sql_append.c monetdb5/mal/mal_listing.c monetdb5/mal/mal_profiler.c monetdb5/modules/kernel/algebra.c monetdb5/modules/kernel/algebra.h monetdb5/modules/kernel/algebra.mal monetdb5/optimizer/Tests/CMexample.stable.out monetdb5/optimizer/Tests/inlineCst.stable.out monetdb5/optimizer/Tests/inlineIfthen.stable.out monetdb5/optimizer/opt_coercion.c monetdb5/optimizer/opt_commonTerms.c monetdb5/optimizer/opt_costModel.c monetdb5/optimizer/opt_joinpath.c monetdb5/optimizer/opt_macro.c monetdb5/optimizer/opt_matpack.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_multiplex.c monetdb5/optimizer/opt_prelude.c monetdb5/optimizer/opt_prelude.h monetdb5/optimizer/opt_support.c monetdb5/optimizer/opt_support.h monetdb5/optimizer/opt_wrapper.c monetdb5/tests/BugTracker/Tests/algebra_project.Bug-3045.mal monetdb5/tests/BugTracker/Tests/algebra_project.Bug-3045.stable.out sql/backends/monet5/sql_optimizer.c sql/test/BugTracker-2010/Tests/group-by_ordered_column.Bug-2564.stable.out.32bit tools/merovingian/daemon/client.c Branch: newstorage Log Message: merge with default diffs (truncated from 1286 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 @@ -764,8 +764,6 @@ str ALGmaxany(ptr result, const bat *bid str ALGminany(ptr result, const bat *bid); str ALGouterjoin(bat *result, const bat *lid, const bat *rid); str ALGouterjoinestimate(bat *result, const bat *lid, const bat *rid, const lng *estimate); -str ALGprojectNIL(bat *ret, const bat *bid); -str ALGprojecthead(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGprojecttail(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str ALGrangejoin(bat *result, const bat *lid, const bat *rlid, const bat *rhid, const bit *li, const bit *hi); str ALGrangejoin2(bat *l, bat *r, const bat *lid, const bat *rlid, const bat *rhid, const bit *li, const bit *hi); diff --git a/gdk/gdk_atoms.c b/gdk/gdk_atoms.c --- a/gdk/gdk_atoms.c +++ b/gdk/gdk_atoms.c @@ -583,56 +583,47 @@ numFromStr(const char *src, int *len, vo int sz = ATOMsize(tp); #ifdef HAVE_HGE hge base = 0; - hge maxdiv10 = 0; /* max value / 10 */ + const hge maxdiv10 = GDK_hge_max / 10; #else lng base = 0; - lng maxdiv10 = 0; /* max value / 10 */ + const lng maxdiv10 = LL_CONSTANT(922337203685477580); /*7*/ #endif - int maxmod10 = 7; /* max value % 10 */ - int sign = 1; + const int maxmod10 = 7; /* max value % 10 */ + int sign; atommem(void, sz); while (GDKisspace(*p)) p++; - memcpy(*dst, ATOMnilptr(tp), sz); - if (p[0] == 'n' p[1] == 'i' p[2] == 'l') { - p += 3; - return (int) (p - src); - } - if (*p == '-') { + switch (*p) { + case 'n': + memcpy(*dst, ATOMnilptr(tp), sz); + if (p[1] == 'i' p[2] == 'l') { + p += 3; + return (int) (p - src); + } + /* not a number */ + return 0; + case '-': sign = -1; p++; - } else if (*p == '+') { + break; + case '+': p++; + /* fall through */ + default: + sign = 1; + break; } if (!num10(*p)) { /* not a number */ + memcpy(*dst, ATOMnilptr(tp), sz); return 0; } - switch (sz) { - case 1: - maxdiv10 = 12/*7*/; - break; - case 2: - maxdiv10 = 3276/*7*/; - break; - case 4: - maxdiv10 = 214748364/*7*/; - break; - case 8: - maxdiv10 = LL_CONSTANT(922337203685477580)/*7*/; - break; -#ifdef HAVE_HGE - case 16: - maxdiv10 = GDK_hge_max / 10; - // 17014118346046923173168730371588410572/*7*/; - break; -#endif - } do { if (base maxdiv10 || (base == maxdiv10 base10(*p) maxmod10)) { /* overflow */ + memcpy(*dst, ATOMnilptr(tp), sz); return 0; } base = 10 * base + base10(*p); @@ -642,21 +633,39 @@ numFromStr(const char *src, int *len,
MonetDB: newstorage - approved output
Changeset: 9160b990bb20 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9160b990bb20 Modified Files: sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/05-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/06-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/07-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/08-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/09-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/10-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/11-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/12-explain.stable.out.int128 sql/benchmarks/ssbm/Tests/13-explain.stable.out.int128 sql/benchmarks/tpch/Tests/01-explain.stable.out.int128 sql/benchmarks/tpch/Tests/12-explain.stable.out.int128 sql/benchmarks/tpch/Tests/17-explain.stable.out.int128 sql/benchmarks/tpch/Tests/18-explain.stable.out.int128 sql/benchmarks/tpch/Tests/20-explain.stable.out.int128 Branch: newstorage Log Message: approved output diffs (truncated from 942 to 300 lines): diff --git a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 --- a/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 +++ b/sql/benchmarks/ssbm/Tests/01-explain.stable.out.int128 @@ -66,7 +66,7 @@ function user.s2_1{autoCommit=true}(A0:i X_47:bat[:oid,:int] := algebra.leftfetchjoin(X_77,X_16); X_48:bat[:oid,:lng] := batcalc.*(X_46,X_47); X_49:hge := aggr.sum(X_48); -sql.exportValue(1,sys.L1,revenue,hugeint,64,0,7,X_49,); +sql.exportValue(1,sys.L1,revenue,hugeint,128,0,7,X_49,); end user.s2_1; # 23:10:45 diff --git a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 --- a/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 +++ b/sql/benchmarks/ssbm/Tests/02-explain.stable.out.int128 @@ -66,7 +66,7 @@ function user.s2_1{autoCommit=true}(A0:i X_47:bat[:oid,:int] := algebra.leftfetchjoin(X_77,X_17); X_48:bat[:oid,:lng] := batcalc.*(X_46,X_47); X_49:hge := aggr.sum(X_48); -sql.exportValue(1,sys.L1,revenue,hugeint,64,0,7,X_49,); +sql.exportValue(1,sys.L1,revenue,hugeint,128,0,7,X_49,); end user.s2_1; # 23:10:45 diff --git a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 --- a/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 +++ b/sql/benchmarks/ssbm/Tests/03-explain.stable.out.int128 @@ -69,7 +69,7 @@ function user.s2_1{autoCommit=true}(A0:i X_53:bat[:oid,:int] := algebra.leftfetchjoin(X_84,X_18); X_54:bat[:oid,:lng] := batcalc.*(X_52,X_53); X_55:hge := aggr.sum(X_54); -sql.exportValue(1,sys.L1,revenue,hugeint,64,0,7,X_55,); +sql.exportValue(1,sys.L1,revenue,hugeint,128,0,7,X_55,); end user.s2_1; # 23:10:45 diff --git a/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 b/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 --- a/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 +++ b/sql/benchmarks/ssbm/Tests/04-explain.stable.out.int128 @@ -41,7 +41,7 @@ Ready. % clob # type % 412 # length function user.s2_1{autoCommit=true}(A0:str,A1:str):void; -X_110:void := querylog.define(explain\nselect sum(lo_revenue), d_year, p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate = d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey = s_suppkey\n\t\tand p_category = \\'MFGR#12\\' -- OK to add p_mfgr = ’MFGR#1’\n\t\tand s_region = \\'AMERICA\\'\n\tgroup by d_year, p_brand1\n\torder by d_year, p_brand1;,sequential_pipe,57); +X_111:void := querylog.define(explain\nselect sum(lo_revenue), d_year, p_brand1\n\tfrom lineorder, dwdate, part, supplier\n\twhere lo_orderdate = d_datekey\n\t\tand lo_partkey = p_partkey\n\t\tand lo_suppkey = s_suppkey\n\t\tand p_category = \\'MFGR#12\\' -- OK to add p_mfgr = ’MFGR#1’\n\t\tand s_region = \\'AMERICA\\'\n\tgroup by d_year, p_brand1\n\torder by d_year, p_brand1;,sequential_pipe,57); X_4 := sql.mvc(); X_5:bat[:oid,:oid] := sql.tid(X_4,sys,lineorder); X_8:bat[:oid,:int] := sql.bind(X_4,sys,lineorder,lo_partkey,0); @@ -54,9 +54,9 @@ function user.s2_1{autoCommit=true}(A0:s X_21 := X_19; X_22 := algebra.leftfetchjoin(X_17,X_21); (X_23,r1_24) := algebra.subjoin(X_11,X_22,nil:BAT,nil:BAT,false,nil:lng); -X_138 := algebra.leftfetchjoin(X_23,X_5); +X_139 := algebra.leftfetchjoin(X_23,X_5); X_27:bat[:oid,:int] := sql.bind(X_4,sys,lineorder,lo_suppkey,0); -X_29:bat[:oid,:int] := algebra.leftfetchjoin(X_138,X_27); +X_29:bat[:oid,:int] :=
MonetDB: Oct2014 - keep result ordered
Changeset: 720abd3b7fcb for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=720abd3b7fcb Modified Files: sql/test/remote/Tests/ssbm.stable.out Branch: Oct2014 Log Message: keep result ordered diffs (12 lines): diff --git a/sql/test/remote/Tests/ssbm.stable.out b/sql/test/remote/Tests/ssbm.stable.out --- a/sql/test/remote/Tests/ssbm.stable.out +++ b/sql/test/remote/Tests/ssbm.stable.out @@ -27,7 +27,7 @@ Ready. 60175 rows in mergetable [(4199635969,)] -[(5980941, 1994, u'MFGR#1232'), (4869251, 1994, u'MFGR#126'), (4288542, 1996, u'MFGR#126'), (19971623, 1996, u'MFGR#1225'), (8557774, 1994, u'MFGR#1220'), (10193031, 1993, u'MFGR#1230'), (4188998, 1997, u'MFGR#1214'), (10279155, 1993, u'MFGR#1225'), (10529427, 1997, u'MFGR#1220'), (5551142, 1993, u'MFGR#1220'), (9952878, 1993, u'MFGR#1226'), (11569138, 1998, u'MFGR#129'), (15392246, 1994, u'MFGR#127'), (1153, 1994, u'MFGR#125'), (18232285, 1997, u'MFGR#1223'), (27850979, 1996, u'MFGR#1212'), (327046, 1997, u'MFGR#125'), (35054814, 1992, u'MFGR#127'), (7873139, 1995, u'MFGR#125'), (7015912, 1992, u'MFGR#1219'), (13218597, 1997, u'MFGR#127'), (6040770, 1996, u'MFGR#129'), (5316438, 1998, u'MFGR#1233'), (21747351, 1993, u'MFGR#1223'), (6960104, 1993, u'MFGR#1236'), (10104525, 1994, u'MFGR#1223'), (5656126, 1994, u'MFGR#129'), (22661695, 1995, u'MFGR#1236'), (13735907, 1997, u'MFGR#1236'), (9097752, 1997, u'MFGR#1221'), (8260673, 1995, u'MFGR#1228'), (2563912, 1992, u'MFGR#1221'), ( 19530708, 1994, u'MFGR#1212'), (8295332, 1996, u'MFGR#1222'), (1382981, 1993, u'MFGR#125'), (12137253, 1993, u'MFGR#1233'), (14117772, 1995, u'MFGR#1233'), (16358592, 1996, u'MFGR#1240'), (1069800, 1996, u'MFGR#122'), (17227363, 1995, u'MFGR#1240'), (17725171, 1997, u'MFGR#1212'), (3231894, 1992, u'MFGR#1240'), (4074189, 1998, u'MFGR#1225'), (14385634, 1995, u'MFGR#128'), (4383708, 1995, u'MFGR#129'), (2793729, 1997, u'MFGR#1225'), (5142893, 1995, u'MFGR#1239'), (13582129, 1992, u'MFGR#1212'), (14590136, 1995, u'MFGR#1225'), (4554495, 1994, u'MFGR#122'), (5953230, 1997, u'MFGR#122'), (733435, 1998, u'MFGR#1239'), (10005626, 1996, u'MFGR#1232'), (4258048, 1993, u'MFGR#1240'), (18995020, 1994, u'MFGR#121'), (7617265, 1998, u'MFGR#1224'), (3339630, 1993, u'MFGR#121'), (10755017, 1997, u'MFGR#1240'), (16038869, 1993, u'MFGR#1218'), (9091580, 1998, u'MFGR#1217'), (13307853, 1998, u'MFGR#1232'), (784827, 1996, u'MFGR#1218'), (11514911, 1993, u'MFGR#1211'), (35741623, 1992, u'MFGR#1211'), (10997176, 1994, u'MFGR#1219'), (13534131, 1996, u'MFGR#1211'), (19174753, 1997, u'MFGR#1226'), (5584069, 1994, u'MFGR#1222'), (19485508, 1998, u'MFGR#1222'), (6003315, 1992, u'MFGR#1223'), (1919741, 1998, u'MFGR#1223'), (5762459, 1993, u'MFGR#1224'), (7552882, 1992, u'MFGR#1230'), (18723136, 1995, u'MFGR#1224'), (13700463, 1992, u'MFGR#1225'), (6377178, 1995, u'MFGR#1232'), (4586682, 1994, u'MFGR#1211'), (10713992, 1994, u'MFGR#1225'), (3678145, 1993, u'MFGR#1214'), (8052920, 1997, u'MFGR#129'), (18374286, 1996, u'MFGR#125'), (2106877, 1994, u'MFGR#1238'), (32750117, 1996, u'MFGR#127'), (14693311, 1993, u'MFGR#127'), (5595420, 1995, u'MFGR#1218'), (13859956, 1997, u'MFGR#1224'), (5128426, 1997, u'MFGR#123'), (2738610, 1998, u'MFGR#1238'), (15949227, 1998, u'MFGR#1212'), (8338345, 1995, u'MFGR#1226'), (2420150, 1992, u'MFGR#1217'), (10434877, 1997, u'MFGR#128'), (2641607, 1992, u'MFGR#122'), (5071393, 1993, u'MFGR#129'), (2509211, 1995, u'MFGR#1217'), (1879252, 1998, u'MFGR#1236'), (12158316, 1996, u'MFGR#121'), (7639101, 1992, u'MFGR#129'), (15102503, 1992, u'MFGR#128'), (7325684, 1993, u'MFGR#1217'), (10329821, 1993, u'MFGR#1239'), (13184783, 1992, u'MFGR#1232'), (7834997, 1998, u'MFGR#1219'), (19279359, 1995, u'MFGR#1222'), (4294668, 1993, u'MFGR#1212'), (4200351, 1995, u'MFGR#1214'), (3651938, 1998, u'MFGR#126'), (97819, 1995, u'MFGR#1230'), (2821764, 1993, u'MFGR#126'), (6572535, 1993, u'MFGR#1228'), (7859272, 1994, u'MFGR#1233'), (12610793, 1992, u'MFGR#1226'), (11183976, 1996, u'MFGR#1224'), (13010765, 1994, u'MFGR#1218'), (4172057, 1997, u'MFGR#1217'), (8866362, 1997, u'MFGR#1232'), (14223208, 1994, u'MFGR#1239'), (4613081, 1996, u'MFGR#1239'), (10864281, 1998, u'MFGR#121'), (5135891, 1996, u'MFGR#1236'), (8122643, 1993, u'MFGR#1213'), (9841612, 1995, u'MFGR#1219'), (8693908, 1998, u'MFGR#127'), (26560659, 1993, u'MFGR#1219'), (1097742, 1995, u'MFGR#1211'), (8668003, 1997, u'MFGR#1222'), (4775592, 1994, u'MFGR#1224'), (4313787, 1997, u'MFGR#121'), (260 7543, 1998, u'MFGR#1230'), (2319634, 1998, u'MFGR#1220'), (4304076, 1997, u'MFGR#1230'), (4624540, 1995, u'MFGR#1220'), (7214844, 1992, u'MFGR#125'), (1794201, 1994, u'MFGR#123'), (4348542, 1996, u'MFGR#1221'), (5452000, 1995, u'MFGR#1223'), (3484096, 1993, u'MFGR#1222'), (3550796, 1994, u'MFGR#1236'), (1799648, 1993, u'MFGR#128'), (2768015, 1998, u'MFGR#128'), (128577, 1996, u'MFGR#128'), (15464411, 1997, u'MFGR#1211'), (15556327, 1997, u'MFGR#1219'),
MonetDB: default - rollforward from Oct2014
Changeset: a88463ae563f for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a88463ae563f Added Files: sql/test/remote/Tests/ssbm.stable.err sql/test/remote/Tests/ssbm.stable.out Modified Files: monetdb5/modules/mal/remote.c Branch: default Log Message: rollforward from Oct2014 diffs (250 lines): diff --git a/monetdb5/modules/mal/remote.c b/monetdb5/modules/mal/remote.c --- a/monetdb5/modules/mal/remote.c +++ b/monetdb5/modules/mal/remote.c @@ -74,8 +74,8 @@ static unsigned char localtype = 0; static inline str RMTquery(MapiHdl *ret, str func, Mapi conn, str query); static inline str RMTinternalcopyfrom(BAT **ret, char *hdr, stream *in); -#define newColumn(Var,Type,Tag) \ - Var = BATnew(TYPE_void, Type, 0, TRANSIENT);\ +#define newColumn(Var,Type,sz,Tag) \ + Var = BATnew(TYPE_void, Type, sz, TRANSIENT); \ if ( Var == NULL) throw(MAL,Tag,MAL_MALLOC_FAIL); \ BATseqbase(Var,0); @@ -104,7 +104,7 @@ str RMTresolve(bat *ret, str *pat) { throw(MAL, remote.resolve, this function needs the mserver have been started by merovingian); - newColumn(list, TYPE_str, remote.resolve); + newColumn(list, TYPE_str, 0, remote.resolve); /* extract port from mero_uri, let mapi figure out the rest */ mero_uri+=strlen(mapi:monetdb://); @@ -523,7 +523,7 @@ str RMTget(Client cntxt, MalBlkPtr mb, M return var; } t = getColumnType(rtype); - newColumn(b,t,remote.get); + newColumn(b, t, 0, remote.get); if (ATOMvarsized(t)) { while (mapi_fetch_row(mhdl)) { @@ -954,17 +954,14 @@ str RMTbatload(Client cntxt, MalBlkPtr m int s; BAT *b; size_t len; - //size_t pos; char *var; - //bit escaped = 0, instr = 0; bstream *fdin = cntxt-fdin; v = stk-stk[pci-argv[0]]; /* return */ t = getArgType(mb, pci, 1); /* tail type */ size = *getArgReference_int(stk, pci, 2); /* size */ - newColumn(b,t,remote.load); - BATextend(b,size); + newColumn(b, t, size, remote.load); /* grab the input stream and start reading */ fdin-eof = 0; @@ -1168,7 +1165,7 @@ RMTinternalcopyfrom(BAT **ret, char *hdr hdr++; } - newColumn(b, bb.Ttype,remote.get); + newColumn(b, bb.Ttype, bb.size, remote.get); /* for strings, the width may not match, fix it to match what we * retrieved */ diff --git a/sql/test/remote/Tests/ssbm.stable.err b/sql/test/remote/Tests/ssbm.stable.err new file mode 100644 --- /dev/null +++ b/sql/test/remote/Tests/ssbm.stable.err @@ -0,0 +1,145 @@ +stderr of test 'ssbm` in directory 'sql/test/remote` itself: + + +# 20:00:45 +# 20:00:45 mserver5 --debug=10 --set gdk_nr_threads=0 --set mapi_open=true --set mapi_port=39185 --set mapi_usock=/var/tmp/mtest-22712/.s.monetdb.39185 --set monet_prompt= --forcemito --set mal_listing=2 --dbpath=/home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB/mTests_sql_test_remote --set mal_listing=0 --set embedded_r=yes +# 20:00:45 + +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_port = 39185 +# cmdline opt mapi_usock = /var/tmp/mtest-22712/.s.monetdb.39185 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/MonetDB/mTests_sql_test_remote +# cmdline opt mal_listing = 0 +# cmdline opt embedded_r = yes +# cmdline opt gdk_debug = 536870922 + +# 20:00:45 +# 20:00:45 /usr/bin/python2 ssbm.SQL.py ssbm +# 20:00:45 + +# builtin opt gdk_dbpath = /home/niels/scratch/rc-clean/Linux-x86_64/var/monetdb5/dbfarm/demo +# builtin opt gdk_debug = 0 +# builtin opt gdk_vmtrim = no +# builtin opt monet_prompt = +# builtin opt monet_daemon = no +# builtin opt mapi_port = 5 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_optimizer = default_pipe +# builtin opt sql_debug = 0 +# cmdline opt gdk_nr_threads = 0 +# cmdline opt mapi_open = true +# cmdline opt mapi_usock = /var/tmp/mtest-22712/.s.monetdb.39185 +# cmdline opt monet_prompt = +# cmdline opt mal_listing = 2 +# cmdline opt mapi_port = 40104 +# cmdline opt gdk_dbpath = /tmp/remotetest/master/master
MonetDB: newstorage - merged with default
Changeset: 325902ac6356 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=325902ac6356 Added Files: sql/test/remote/Tests/ssbm.stable.err sql/test/remote/Tests/ssbm.stable.out Modified Files: clients/Tests/MAL-signatures_all.stable.out clients/Tests/MAL-signatures_all.stable.out.int128 clients/Tests/SQL-dump_all.stable.out.int128 clients/Tests/SQL-dump_all.stable.out.oid32.int128 clients/Tests/exports.stable.out gdk/gdk_atoms.c gdk/gdk_batop.c gdk/gdk_heap.c gdk/gdk_imprints.c gdk/gdk_join.c gdk/gdk_search.c gdk/gdk_select.c monetdb5/modules/mal/remote.c Branch: newstorage Log Message: merged with default diffs (truncated from 922 to 300 lines): diff --git a/clients/Tests/MAL-signatures_all.stable.out b/clients/Tests/MAL-signatures_all.stable.out --- a/clients/Tests/MAL-signatures_all.stable.out +++ b/clients/Tests/MAL-signatures_all.stable.out @@ -2396,17 +2396,9 @@ command algebra.not_like(s:str,pat:str): address PCREnotlike2; command algebra.not_like(s:str,pat:str,esc:str):bit address PCREnotlike3; -pattern algebra.project(b:bat[:any_2,:any_1],v:any_3):bat[:any_2,:any_3] +pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; -comment Fill the tail with a constant, e.g. [0~b] - -pattern algebra.project(v:any_3,b:bat[:any_2,:any_1]):bat[:any_3,:any_1] -address ALGprojecthead; -comment Fill the head with a constant, e.g. [0~b] - -command algebra.project(b:bat[:any_1,:any_2]):bat[:any_1,:void] -address ALGprojectNIL; -comment Extract the head of a BAT. +comment Fill the tail with a constant command algebra.reuse(b:bat[:oid,:any_1]):bat[:oid,:any_1] address ALGreuse; diff --git a/clients/Tests/MAL-signatures_all.stable.out.int128 b/clients/Tests/MAL-signatures_all.stable.out.int128 --- a/clients/Tests/MAL-signatures_all.stable.out.int128 +++ b/clients/Tests/MAL-signatures_all.stable.out.int128 @@ -2907,17 +2907,9 @@ command algebra.not_like(s:str,pat:str): address PCREnotlike2; command algebra.not_like(s:str,pat:str,esc:str):bit address PCREnotlike3; -pattern algebra.project(b:bat[:any_2,:any_1],v:any_3):bat[:any_2,:any_3] +pattern algebra.project(b:bat[:oid,:any_1],v:any_3):bat[:oid,:any_3] address ALGprojecttail; -comment Fill the tail with a constant, e.g. [0~b] - -pattern algebra.project(v:any_3,b:bat[:any_2,:any_1]):bat[:any_3,:any_1] -address ALGprojecthead; -comment Fill the head with a constant, e.g. [0~b] - -command algebra.project(b:bat[:any_1,:any_2]):bat[:any_1,:void] -address ALGprojectNIL; -comment Extract the head of a BAT. +comment Fill the tail with a constant command algebra.reuse(b:bat[:oid,:any_1]):bat[:oid,:any_1] address ALGreuse; diff --git a/clients/Tests/SQL-dump_all.stable.out.int128 b/clients/Tests/SQL-dump_all.stable.out.int128 --- a/clients/Tests/SQL-dump_all.stable.out.int128 +++ b/clients/Tests/SQL-dump_all.stable.out.int128 @@ -7574,7 +7574,7 @@ 5942 querylog_disable create procedur 5944 tracelog -- This Source Code Form is subject to the terms of the Mozilla Public\n-- License, v. 2.0. If a copy of the MPL was not distributed with this\n-- file, You can obtain one at http://mozilla.org/MPL/2.0/.\n--\n-- Copyright 2008-2015 MonetDB B.V.\n\n-- make the offline tracing table available for inspection\ncreate function sys.tracelog() \n\treturns table (\n\t\tevent integer,\t\t-- event counter\n\t\tclk varchar(20), \t-- wallclock, no mtime in kernel\n\t\tpc varchar(50), \t-- module.function[nr]\n\t\tthread int, \t\t-- thread identifier\n\t\tticks bigint, \t\t-- time in microseconds\n\t\trrsmb bigint, \t\t-- resident memory in MB\n\t\tvmmb bigint, \t\t-- virtual size in MB\n\t\treads bigint, \t\t-- number of blocks read\n\t\twrites bigint, \t\t-- number of blocks written\n\t\tminflt bigint, \t\t-- minor page faults\n\t\tmajflt bigint, \t\t-- major page faults\n\t\tnvcsw bigint, \t\t-- non-volantary conext switch\n\t\tstmt string\t\t\t-- actual statement executed\n \t)\n\texternal name sql.dump_trace; sql 1 5 false false false 2000 5974 profiler_openstream create procedure profiler_openstream(host string, port int) external name profiler.openStream;profiler 1 2 truefalse false 2000 5978 profiler_stethoscope create procedure profiler_stethoscope(ticks int) external name profiler.stethoscope; profiler 1 2 true false false 2000 -5981 epoch -- This Source Code Form is subject to the terms of the Mozilla Public\n-- License, v. 2.0. If a copy of the MPL was not distributed with this\n-- file, You can obtain one at http://mozilla.org/MPL/2.0/.\n--\n-- Copyright 2008-2015 MonetDB B.V.\n\n-- assume milliseconds when converted to TIMESTAMP\ncreate function epoch(sec bigint) returns timestamp\n external name timestamp.epoch; timestamp 1 1
MonetDB: newstorage - approved output
Changeset: 567f95a5e818 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=567f95a5e818 Modified Files: clients/Tests/SQL-dump_all.stable.out.int128 sql/test/Dependencies/Tests/Dependencies_bam.stable.out.int128 Branch: newstorage Log Message: approved output diffs (41 lines): diff --git a/clients/Tests/SQL-dump_all.stable.out.int128 b/clients/Tests/SQL-dump_all.stable.out.int128 --- a/clients/Tests/SQL-dump_all.stable.out.int128 +++ b/clients/Tests/SQL-dump_all.stable.out.int128 @@ -1620,10 +1620,10 @@ 6987sortedboolean 1 0 6988NULLtr 6990 schemaclob 0 0 6998NULLtrue0 NULL 6991 table clob 0 0 6998NULLtrue1 NULL 6992 count bigint64 0 6998NULLtrue2 NULL -6993 columnsizehugeint 64 0 6998NULLtrue 3 NULL -6994 heapsize hugeint 64 0 6998NULLtrue 4 NULL -6995 hasheshugeint 64 0 6998NULLtrue 5 NULL -6996 imprints hugeint 64 0 6998NULLtrue 6 NULL +6993 columnsizehugeint 128 0 6998NULLtrue 3 NULL +6994 heapsize hugeint 128 0 6998NULLtrue 4 NULL +6995 hasheshugeint 128 0 6998NULLtrue 5 NULL +6996 imprints hugeint 128 0 6998NULLtrue 6 NULL 6997 auxiliary hugeint 128 0 6998NULLtrue 7 NULL 7000 column_id int 32 0 7011NULLtrue0 NULL 7001 type clob 0 0 7011NULLtrue1 NULL diff --git a/sql/test/Dependencies/Tests/Dependencies_bam.stable.out.int128 b/sql/test/Dependencies/Tests/Dependencies_bam.stable.out.int128 --- a/sql/test/Dependencies/Tests/Dependencies_bam.stable.out.int128 +++ b/sql/test/Dependencies/Tests/Dependencies_bam.stable.out.int128 @@ -90,8 +90,8 @@ Dependencies between database objects [ monetdb, sys, DEP_SCHEMA] [ monetdb, tmp, DEP_SCHEMA] [ monetdb, json, DEP_SCHEMA] +[ monetdb, bam, DEP_SCHEMA] [ monetdb, test, DEP_SCHEMA] -[ monetdb, bam, DEP_SCHEMA] #SELECT t.name, v.name, 'DEP_VIEW' from tables as t, tables as v, dependencies as dep where t.id = dep.id AND v.id = dep.depend_id AND dep.depend_type = 5 AND v.type = 1; % .t, .v, .L # table_name % name,name, single_value # name @@ -110,8 +110,8 @@ Dependencies between database objects % name,trigname, L1 # name % varchar, varchar,char # type % 2, 14, 11 # length +[ t1,trigger_test, DEP_TRIGGER ] [ t1,trigger_test_4, DEP_TRIGGER ] -[ t1,trigger_test, DEP_TRIGGER ] [ t2,trigger_test, DEP_TRIGGER ] [ t3,trigger_test_4, DEP_TRIGGER ] #SELECT t.name, fk.name, 'DEP_FKEY' from tables as t, keys as k, keys as fk where fk.rkey = k.id and k.table_id = t.id; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Oct2014 - make sure append correctly keeps tail-dense info
Changeset: 2f3c782345a2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2f3c782345a2 Modified Files: gdk/gdk_batop.c gdk/gdk_select.c Branch: Oct2014 Log Message: make sure append correctly keeps tail-dense info selects returning all rows are dense (grafted from d153a5a6ebb497adfbaeb4bc9dd67be54b391fed) diffs (46 lines): diff --git a/gdk/gdk_batop.c b/gdk/gdk_batop.c --- a/gdk/gdk_batop.c +++ b/gdk/gdk_batop.c @@ -525,7 +525,7 @@ BATins(BAT *b, BAT *n, bit force) } if (b-htype != TYPE_void b-hsorted b-hdense (BAThdense(n) == 0 || -*(oid *) BUNhloc(bi, last) != 1 + *(oid *) BUNhead(ni, BUNfirst(n { +1 + *(oid *) BUNhloc(bi, last) != *(oid *) BUNhead(ni, BUNfirst(n { b-hdense = FALSE; b-H-nodense = r; } @@ -551,7 +551,7 @@ BATins(BAT *b, BAT *n, bit force) } if (b-ttype != TYPE_void b-tsorted b-tdense (BATtdense(n) == 0 || -*(oid *) BUNtloc(bi, last) != 1 + *(oid *) BUNtail(ni, BUNfirst(n { +1 + *(oid *) BUNtloc(bi, last) != *(oid *) BUNtail(ni, BUNfirst(n { b-tdense = FALSE; b-T-nodense = r; } @@ -763,7 +763,7 @@ BATappend(BAT *b, BAT *n, bit force) } if (b-ttype != TYPE_void b-tsorted b-tdense (BATtdense(n) == 0 || -*(oid *) BUNtloc(bi, last) != 1 + *(oid *) BUNtail(ni, BUNfirst(n { +1 + *(oid *) BUNtloc(bi, last) != *(oid *) BUNtail(ni, BUNfirst(n { b-tdense = FALSE; b-T-nodense = r; } diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c --- a/gdk/gdk_select.c +++ b/gdk/gdk_select.c @@ -865,9 +865,9 @@ BAT_scanselect(BAT *b, BAT *s, BAT *bn, bn-tsorted = 1; bn-trevsorted = bn-batCount = 1; bn-tkey = 1; - bn-tdense = bn-batCount = 1; - if (bn-batCount == 1) - bn-tseqbase = *(oid *) Tloc(bn, BUNfirst(bn)); + bn-tdense = (bn-batCount = 1 || bn-batCount == b-batCount); + if (bn-batCount == 1 || bn-batCount == b-batCount) + bn-tseqbase = b-hseqbase; bn-hsorted = 1; bn-hdense = 1; bn-hseqbase = 0; ___ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list