MonetDB: default - When freeing a heap with remove option, also ...

2015-03-25 Thread Sjoerd Mullender
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...

2015-03-25 Thread Sjoerd Mullender
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.

2015-03-25 Thread Sjoerd Mullender
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.

2015-03-25 Thread Sjoerd Mullender
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...

2015-03-25 Thread Sjoerd Mullender
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

2015-03-25 Thread Dimitar Nedev
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.

2015-03-25 Thread Sjoerd Mullender
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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...

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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

2015-03-25 Thread Niels Nes
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