Changeset: 4fcf45f027df for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=4fcf45f027df
Modified Files:
        clients/Tests/MAL-signatures.stable.out
        clients/Tests/MAL-signatures.stable.out.int128
        clients/Tests/exports.stable.out
        monetdb5/modules/atoms/blob.c
        monetdb5/modules/atoms/blob.mal
        sql/storage/store.c
        sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
        
sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
Branch: default
Log Message:

Merge with Dec2016 branch.


diffs (167 lines):

diff --git a/clients/Tests/MAL-signatures.stable.out 
b/clients/Tests/MAL-signatures.stable.out
--- a/clients/Tests/MAL-signatures.stable.out
+++ b/clients/Tests/MAL-signatures.stable.out
@@ -6184,12 +6184,12 @@ Ready.
 [ "bbp",       "getRefCount",  "command bbp.getRefCount(b:bat[:any_1]):int ",  
"CMDgetBATrefcnt;",     "Utility for debugging MAL interpreter" ]
 [ "bbp",       "getStatus",    "command bbp.getStatus():bat[:str] ",   
"CMDbbpStatus;",        "Create a BAT with the disk/load status"        ]
 [ "bbp",       "setName",      "command bbp.setName(b:bat[:any_1], n:str):str 
",       "CMDsetName;",  "Rename a BAT"  ]
+[ "blob",      "#cmp", "command blob.#cmp():void ",    "BLOBcmp;",     ""      
]
 [ "blob",      "#del", "command blob.#del():void ",    "BLOBdel;",     ""      
]
 [ "blob",      "#fromstr",     "command blob.#fromstr():void ",        
"BLOBfromstr;", ""      ]
 [ "blob",      "#hash",        "command blob.#hash():void ",   "BLOBhash;",    
""      ]
 [ "blob",      "#heap",        "command blob.#heap():void ",   "BLOBheap;",    
""      ]
 [ "blob",      "#length",      "command blob.#length():void ", "BLOBlength;",  
""      ]
-[ "blob",      "#nequal",      "command blob.#nequal():void ", "BLOBnequal;",  
""      ]
 [ "blob",      "#null",        "command blob.#null():void ",   "BLOBnull;",    
""      ]
 [ "blob",      "#put", "command blob.#put():void ",    "BLOBput;",     ""      
]
 [ "blob",      "#read",        "command blob.#read():void ",   "BLOBread;",    
""      ]
diff --git a/clients/Tests/MAL-signatures.stable.out.int128 
b/clients/Tests/MAL-signatures.stable.out.int128
--- a/clients/Tests/MAL-signatures.stable.out.int128
+++ b/clients/Tests/MAL-signatures.stable.out.int128
@@ -8153,12 +8153,12 @@ Ready.
 [ "bbp",       "getRefCount",  "command bbp.getRefCount(b:bat[:any_1]):int ",  
"CMDgetBATrefcnt;",     "Utility for debugging MAL interpreter" ]
 [ "bbp",       "getStatus",    "command bbp.getStatus():bat[:str] ",   
"CMDbbpStatus;",        "Create a BAT with the disk/load status"        ]
 [ "bbp",       "setName",      "command bbp.setName(b:bat[:any_1], n:str):str 
",       "CMDsetName;",  "Rename a BAT"  ]
+[ "blob",      "#cmp", "command blob.#cmp():void ",    "BLOBcmp;",     ""      
]
 [ "blob",      "#del", "command blob.#del():void ",    "BLOBdel;",     ""      
]
 [ "blob",      "#fromstr",     "command blob.#fromstr():void ",        
"BLOBfromstr;", ""      ]
 [ "blob",      "#hash",        "command blob.#hash():void ",   "BLOBhash;",    
""      ]
 [ "blob",      "#heap",        "command blob.#heap():void ",   "BLOBheap;",    
""      ]
 [ "blob",      "#length",      "command blob.#length():void ", "BLOBlength;",  
""      ]
-[ "blob",      "#nequal",      "command blob.#nequal():void ", "BLOBnequal;",  
""      ]
 [ "blob",      "#null",        "command blob.#null():void ",   "BLOBnull;",    
""      ]
 [ "blob",      "#put", "command blob.#put():void ",    "BLOBput;",     ""      
]
 [ "blob",      "#read",        "command blob.#read():void ",   "BLOBread;",    
""      ]
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
@@ -819,6 +819,7 @@ str BKCsetkey(bat *res, const bat *bid, 
 str BKCshrinkBAT(bat *ret, const bat *bid, const bat *did);
 str BLOBblob_blob(blob **d, blob **s);
 str BLOBblob_fromstr(blob **b, str *d);
+int BLOBcmp(blob *l, blob *r);
 void BLOBdel(Heap *h, var_t *index);
 str BLOBfromblob(str *retval, blob **b);
 str BLOBfromidx(str *retval, blob **binp, int *index);
@@ -827,7 +828,6 @@ int BLOBget(Heap *h, int *bun, int *l, b
 BUN BLOBhash(blob *b);
 void BLOBheap(Heap *heap, size_t capacity);
 int BLOBlength(blob *p);
-int BLOBnequal(blob *l, blob *r);
 str BLOBnitems(int *ret, blob *b);
 blob *BLOBnull(void);
 str BLOBprelude(void *ret);
diff --git a/monetdb5/modules/atoms/blob.c b/monetdb5/modules/atoms/blob.c
--- a/monetdb5/modules/atoms/blob.c
+++ b/monetdb5/modules/atoms/blob.c
@@ -39,7 +39,7 @@ mal_export str BLOBprelude(void *ret);
 
 mal_export int BLOBtostr(str *tostr, int *l, blob *pin);
 mal_export int BLOBfromstr(char *instr, int *l, blob **val);
-mal_export int BLOBnequal(blob *l, blob *r);
+mal_export int BLOBcmp(blob *l, blob *r);
 mal_export BUN BLOBhash(blob *b);
 mal_export blob * BLOBnull(void);
 mal_export var_t BLOBput(Heap *h, var_t *bun, blob *val);
@@ -94,17 +94,17 @@ blob_put(Heap *h, var_t *bun, blob *val)
 }
 
 static int
-blob_nequal(blob *l, blob *r)
+blob_cmp(blob *l, blob *r)
 {
        size_t len = l->nitems;
 
        if (len != r->nitems)
-               return (1);
+               return len - r->nitems;
 
        if (len == ~(size_t) 0)
                return (0);
 
-       return memcmp(l->data, r->data, len) != 0;
+       return memcmp(l->data, r->data, len);
 }
 
 static void
@@ -447,9 +447,9 @@ fromblob_idx(str *retval, blob *b, int *
  * @-
  */
 int
-BLOBnequal(blob *l, blob *r)
+BLOBcmp(blob *l, blob *r)
 {
-       return blob_nequal(l, r);
+       return blob_cmp(l, r);
 }
 
 void
diff --git a/monetdb5/modules/atoms/blob.mal b/monetdb5/modules/atoms/blob.mal
--- a/monetdb5/modules/atoms/blob.mal
+++ b/monetdb5/modules/atoms/blob.mal
@@ -10,7 +10,7 @@ atom blob;
 
 command tostr()   address BLOBtostr;
 command fromstr() address BLOBfromstr;
-command nequal()  address BLOBnequal;
+command cmp()     address BLOBcmp;
 command hash()    address BLOBhash;
 command null()    address BLOBnull;
 command read()    address BLOBread;
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -1694,6 +1694,8 @@ store_needs_vacuum( sql_trans *tr )
                sql_table *t = n->data;
                sql_column *c = t->columns.set->h->data;
 
+               if (!t->system)
+                       continue;
                /* no inserts, updates and enough deletes ? */
                if (!store_funcs.count_col(tr, c, 0) && 
                    !store_funcs.count_upd(tr, t) && 
@@ -1714,6 +1716,8 @@ store_vacuum( sql_trans *tr )
                sql_table *t = n->data;
                sql_column *c = t->columns.set->h->data;
 
+               if (!t->system)
+                       continue;
                if (!store_funcs.count_col(tr, c, 0) && 
                    !store_funcs.count_upd(tr, t) && 
                    store_funcs.count_del(tr, t) > 128) {
diff --git 
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out 
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
--- a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
+++ b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out
@@ -268,12 +268,12 @@ Ready.
 % v # name
 % blob # type
 % 0 # length
+[ NULL ]
+[      ]
 [ 00   ]
 [ 11   ]
 [ 0123456789   ]
 [ A0B2C3D4F5   ]
-[      ]
-[ NULL ]
 #SELECT v, convert(v, varchar(16)) from T_blob;
 % sys.t_blob,  sys.L3 # table_name
 % v,   L3 # name
diff --git 
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
 
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
--- 
a/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
+++ 
b/sql/test/BugTracker-2016/Tests/convert-function-test.Bug-3460.stable.out.int128
@@ -292,12 +292,12 @@ Ready.
 % v # name
 % blob # type
 % 0 # length
+[ NULL ]
+[      ]
 [ 00   ]
 [ 11   ]
 [ 0123456789   ]
 [ A0B2C3D4F5   ]
-[      ]
-[ NULL ]
 #SELECT v, convert(v, varchar(16)) from T_blob;
 % sys.t_blob,  sys.L3 # table_name
 % v,   L3 # name
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to