Changeset: e902fb6cce5b for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e902fb6cce5b
Added Files:
        sql/benchmarks/arno_flt/Tests/SingleServer
        sql/benchmarks/nobench/Tests/SingleServer
        sql/test/Users/Tests/metadataConsistency.sql
        sql/test/Users/Tests/metadataConsistency.stable.err
        sql/test/Users/Tests/metadataConsistency.stable.out
        sql/test/merge-statements/Tests/mergestmt04.sql
        sql/test/merge-statements/Tests/mergestmt04.stable.err
        sql/test/merge-statements/Tests/mergestmt04.stable.out
        sql/test/miscellaneous/Tests/groupings.sql
        sql/test/miscellaneous/Tests/groupings.stable.err
        sql/test/miscellaneous/Tests/groupings.stable.out
        tools/merovingian/client/Tests/monetdb_status.stable.err
        tools/merovingian/client/Tests/monetdb_status.stable.out
Removed Files:
        sql/test/Tests/testlz4.lz4
Modified Files:
        clients/odbc/driver/ODBCEnv.c
        gdk/gdk_calc.c
        gdk/gdk_calc_compare.h
        gdk/gdk_string.c
        geom/monetdb5/geom.c
        monetdb5/extras/rapi/converters.c.h
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_parser.c
        monetdb5/modules/atoms/identifier.c
        monetdb5/modules/atoms/json.c
        monetdb5/modules/atoms/mtime.c
        monetdb5/modules/atoms/str.c
        monetdb5/modules/atoms/url.c
        monetdb5/modules/atoms/uuid.c
        monetdb5/modules/kernel/batstr.c
        monetdb5/modules/mal/clients.c
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/pcre.c
        monetdb5/modules/mal/remote.c
        monetdb5/optimizer/opt_json.c
        monetdb5/optimizer/opt_macro.c
        monetdb5/optimizer/opt_mergetable.c
        monetdb5/optimizer/opt_pipes.c
        monetdb5/optimizer/opt_pushselect.c
        sql/backends/monet5/UDF/capi/capi.c
        sql/backends/monet5/UDF/pyapi3/connection3.c
        sql/backends/monet5/UDF/pyapi3/conversion3.c
        sql/backends/monet5/UDF/udf/udf.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_cat.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_gencode.c
        sql/backends/monet5/sql_result.c
        sql/backends/monet5/sql_statement.c
        sql/backends/monet5/sql_statement.h
        sql/backends/monet5/sql_transaction.c
        sql/backends/monet5/wlr.c
        sql/benchmarks/nobench/Tests/nobench.sql
        sql/benchmarks/nobench/Tests/nobench.stable.out
        sql/benchmarks/tpcds/Tests/44.stable.out
        sql/benchmarks/tpcds/Tests/54.stable.out
        sql/include/sql_catalog.h
        sql/include/sql_relation.h
        sql/server/rel_dump.c
        sql/server/rel_exp.c
        sql/server/rel_optimizer.c
        sql/server/rel_propagate.c
        sql/server/rel_schema.c
        sql/server/rel_unnest.c
        sql/server/sql_mvc.c
        sql/server/sql_partition.c
        sql/server/sql_privileges.c
        sql/storage/bat/bat_logger.c
        sql/storage/store.c
        sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out
        
sql/test/BugTracker-2009/Tests/copy_multiple_files.SF-2902320.stable.out.Windows
        sql/test/BugTracker-2013/Tests/rangejoin_optimizer.Bug-3411.stable.out
        sql/test/BugTracker-2015/Tests/crash.Bug-3736.stable.out
        
sql/test/BugTracker-2016/Tests/memory-consumption-query-PLAN-25joins.Bug-3972.stable.out
        sql/test/BugTracker-2017/Tests/caching_stats_bug.6374.stable.out
        sql/test/BugTracker-2017/Tests/crash_on_NULL_ptr.Bug-6130.stable.out
        sql/test/BugTracker-2017/Tests/sqlsmith.Bug-6477.stable.out
        
sql/test/BugTracker-2018/Tests/local_replica_table_not_detected.Bug-6620.stable.out
        sql/test/BugTracker-2019/Tests/isaUUID.Bug-6784.sql
        sql/test/BugTracker-2019/Tests/isaUUID.Bug-6784.stable.out
        sql/test/Users/Tests/All
        sql/test/analytics/Tests/analytics13.stable.out
        sql/test/json/Tests/jsonvalidity.Bug-3753.stable.out
        sql/test/merge-statements/Tests/All
        sql/test/mergetables/Tests/mergequery.stable.out
        sql/test/mergetables/Tests/sqlsmith-exists.stable.out
        sql/test/miscellaneous/Tests/All
        sql/test/miscellaneous/Tests/simple_selects.sql
        sql/test/miscellaneous/Tests/simple_selects.stable.out
        sql/test/subquery/Tests/correlated.stable.out
        sql/test/subquery/Tests/subquery3.sql
        sql/test/subquery/Tests/subquery3.stable.err
        sql/test/subquery/Tests/subquery3.stable.out
        sql/test/wlcr/Tests/All
        tools/merovingian/client/Tests/monetdb_status.py
Branch: timezone
Log Message:

Merge with default branch.


diffs (truncated from 4907 to 300 lines):

diff --git a/clients/odbc/driver/ODBCEnv.c b/clients/odbc/driver/ODBCEnv.c
--- a/clients/odbc/driver/ODBCEnv.c
+++ b/clients/odbc/driver/ODBCEnv.c
@@ -113,7 +113,7 @@ ODBCError *
 getEnvError(ODBCEnv *env)
 {
        assert(isValidEnv(env));
-       return env->Error;;
+       return env->Error;
 }
 
 
diff --git a/gdk/gdk_calc.c b/gdk/gdk_calc.c
--- a/gdk/gdk_calc.c
+++ b/gdk/gdk_calc.c
@@ -3456,7 +3456,7 @@ addstr_loop(BAT *b1, const char *l, BAT 
                        l = BUNtvar(b1i, i);
                if (b2)
                        r = BUNtvar(b2i, i);
-               if (strcmp(l, str_nil) == 0 || strcmp(r, str_nil) == 0) {
+               if (strNil(l) || strNil(r)) {
                        nils++;
                        if (tfastins_nocheckVAR(bn, i, str_nil, Tsize(bn)) != 
GDK_SUCCEED)
                                goto bunins_failed;
@@ -13640,7 +13640,7 @@ convert_str_any(BAT *b, int tp, void *re
                        nils++;
                }
                s = BUNtvar(bi, i);
-               if (strcmp(s, str_nil) == 0) {
+               if (strNil(s)) {
                        memcpy(dst, nil, len);
                        nils++;
                } else {
@@ -14365,7 +14365,7 @@ VARconvert(ValPtr ret, const ValRecord *
                if (VALinit(ret, ret->vtype, ATOMnilptr(ret->vtype)) == NULL)
                        nils = BUN_NONE;
        } else if (v->vtype == TYPE_str) {
-               if (v->val.sval == NULL || strcmp(v->val.sval, str_nil) == 0) {
+               if (strNil(v->val.sval)) {
                        if (VALinit(ret, ret->vtype, ATOMnilptr(ret->vtype)) == 
NULL)
                                nils = BUN_NONE;
                } else if (ATOMstorage(ret->vtype) == TYPE_ptr) {
diff --git a/gdk/gdk_calc_compare.h b/gdk/gdk_calc_compare.h
--- a/gdk/gdk_calc_compare.h
+++ b/gdk/gdk_calc_compare.h
@@ -708,12 +708,10 @@ op_typeswitchloop(const void *lft, int t
                        const char *s1, *s2;
                        s1 = hp1 ? hp1 + VarHeapVal(lft, i, wd1) : (const char 
*) lft;
                        s2 = hp2 ? hp2 + VarHeapVal(rgt, j, wd2) : (const char 
*) rgt;
-                       if (s1 == NULL || strcmp(s1, str_nil) == 0 ||
-                           s2 == NULL || strcmp(s2, str_nil) == 0) {
+                       if (strNil(s1) || strNil(s2)) {
 #ifdef NIL_MATCHES_FLAG
                                if (nil_matches) {
-                                       dst[k] = OP(s1 == NULL || strcmp(s1, 
str_nil) == 0,
-                                                   s2 == NULL || strcmp(s2, 
str_nil) == 0);
+                                       dst[k] = OP(strNil(s1), strNil(s2));
                                } else
 #endif
                                {
diff --git a/gdk/gdk_string.c b/gdk/gdk_string.c
--- a/gdk/gdk_string.c
+++ b/gdk/gdk_string.c
@@ -366,7 +366,7 @@ GDKstrFromStr(unsigned char *restrict ds
        bool escaped = false;
        int mask = 0, n, c, utf8char = 0;
 
-       if (len >= 2 && strcmp((const char *) src, str_nil) == 0) {
+       if (len >= 2 && strNil((const char *) src)) {
                strcpy((char *) dst, str_nil);
                return 1;
        }
diff --git a/geom/monetdb5/geom.c b/geom/monetdb5/geom.c
--- a/geom/monetdb5/geom.c
+++ b/geom/monetdb5/geom.c
@@ -415,8 +415,8 @@ wkbTransform(wkb **transformedWKB, wkb *
        if (is_wkb_nil(*geomWKB) ||
            is_int_nil(*srid_src) ||
            is_int_nil(*srid_dst) ||
-           strcmp(*proj4_src_str, str_nil) == 0 ||
-           strcmp(*proj4_dst_str, str_nil) == 0) {
+           strNil(*proj4_src_str) ||
+           strNil(*proj4_dst_str)) {
                if ((*transformedWKB = wkbNULLcopy()) == NULL)
                        throw(MAL, "geom.Transform", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
                return MAL_SUCCEED;
@@ -2430,7 +2430,7 @@ wkbFromBinary(wkb **geomWKB, const char 
        size_t strLength, wkbLength, i;
        wkb *w;
 
-       if (strcmp(*inStr, str_nil) == 0) {
+       if (strNil(*inStr)) {
                if ((*geomWKB = wkbNULLcopy()) == NULL)
                        throw(MAL, "geom.FromBinary", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
                return MAL_SUCCEED;
@@ -2505,7 +2505,7 @@ wkbFromText(wkb **geomWKB, str *geomWKT,
        size_t parsedBytes;
 
        *geomWKB = NULL;
-       if (strcmp(*geomWKT, str_nil) == 0 || is_int_nil(*srid) || 
is_int_nil(*tpe)) {
+       if (strNil(*geomWKT) || is_int_nil(*srid) || is_int_nil(*tpe)) {
                if ((*geomWKB = wkbNULLcopy()) == NULL)
                        throw(MAL, "wkb.FromText", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
                return MAL_SUCCEED;
@@ -2579,7 +2579,7 @@ wkbMLineStringToPolygon(wkb **geomWKB, s
        double *linestringsArea;
        bit ordered = 0;
 
-       if (strcmp(*geomWKT, str_nil) == 0 || is_int_nil(*srid) || 
is_int_nil(*flag)) {
+       if (strNil(*geomWKT) || is_int_nil(*srid) || is_int_nil(*flag)) {
                if ((*geomWKB = wkbNULLcopy()) == NULL)
                        throw(MAL, "geom.MLineStringToPolygon", SQLSTATE(HY013) 
MAL_MALLOC_FAIL);
                return MAL_SUCCEED;
@@ -4377,7 +4377,7 @@ wkbRelate(bit *out, wkb **geomWKB_a, wkb
        int res;
        GEOSGeom geosGeometry_a, geosGeometry_b;
 
-       if (is_wkb_nil(*geomWKB_a) || is_wkb_nil(*geomWKB_b) || 
strcmp(*pattern, str_nil) == 0) {
+       if (is_wkb_nil(*geomWKB_a) || is_wkb_nil(*geomWKB_b) || 
strNil(*pattern)) {
                *out = bit_nil;
                return MAL_SUCCEED;
        }
@@ -4652,8 +4652,7 @@ mbrrelation_wkb(bit *out, wkb **geom1WKB
        return ret;
 }
 
-/*returns true if the two
- *     mbrs overlap */
+/*returns true if the two mbrs overlap */
 str
 mbrOverlaps(bit *out, mbr **b1, mbr **b2)
 {
@@ -5303,7 +5302,7 @@ mbrFROMSTR(const char *src, size_t *len,
                **atom = *mbrNULL();
                return 3;
        }
-       if (strcmp(src, str_nil) == 0) {
+       if (strNil(src)) {
                **atom = *mbrNULL();
                return 1;
        }
@@ -5470,7 +5469,7 @@ wkbaTOSTR(char **toStr, size_t *len, con
                }
                dataSize += ds;
 
-               if (strcmp(partialStrs[i], str_nil) == 0) {
+               if (strNil(partialStrs[i])) {
                        GDKfree(itemsNumStr);
                        while (i >= 0)
                                GDKfree(partialStrs[i--]);
@@ -5579,7 +5578,7 @@ wkbaHASH(const wkba *wArray)
 int
 wkbaCOMP(const wkba *l, const wkba *r)
 {
-       int i, res = 0;;
+       int i, res = 0;
 
        //compare the number of items
        if (l->itemsNum != r->itemsNum)
diff --git a/monetdb5/extras/rapi/converters.c.h 
b/monetdb5/extras/rapi/converters.c.h
--- a/monetdb5/extras/rapi/converters.c.h
+++ b/monetdb5/extras/rapi/converters.c.h
@@ -181,7 +181,7 @@ bat_to_sexp(BAT* b, int type)
                                const char *t = (const char *) BUNtvar(li, p);
                                ptrdiff_t offset = t - b->tvheap->base;
                                if (!sexp_ptrs[offset]) {
-                                       if (strcmp(t, str_nil) == 0) {
+                                       if (strNil(t)) {
                                                sexp_ptrs[offset] = NA_STRING;
                                        } else {
                                                sexp_ptrs[offset] = RSTR(t);
@@ -201,7 +201,7 @@ bat_to_sexp(BAT* b, int type)
                        else {
                                BATloop(b, p, q) {
                                        const char *t = (const char *) 
BUNtvar(li, p);
-                                       if (strcmp(t, str_nil) == 0) {
+                                       if (strNil(t)) {
                                                SET_STRING_ELT(varvalue, j++, 
NA_STRING);
                                        } else {
                                                SET_STRING_ELT(varvalue, j++, 
RSTR(t));
diff --git a/monetdb5/mal/mal_import.c b/monetdb5/mal/mal_import.c
--- a/monetdb5/mal/mal_import.c
+++ b/monetdb5/mal/mal_import.c
@@ -136,7 +136,7 @@ malLoadScript(str name, bstream **fdin)
        assert(c->glb == 0 || c->glb == oldglb); /* detect leak */ \
        c->glb = oldglb; \
        c->usermodule = oldusermodule; \
-       c->curmodule = oldcurmodule;; \
+       c->curmodule = oldcurmodule; \
        c->curprg = oldprg;
 #define restoreClient \
        restoreClient1 \
@@ -167,7 +167,7 @@ malInclude(Client c, str name, int listi
 
        MalStkPtr oldglb = c->glb;
        Module oldusermodule = c->usermodule;
-       Module oldcurmodule = c->curmodule; 
+       Module oldcurmodule = c->curmodule;
        Symbol oldprg = c->curprg;
 
        c->prompt = GDKstrdup("");      /* do not produce visible prompts */
@@ -253,14 +253,14 @@ malInclude(Client c, str name, int listi
  */
 str
 evalFile(str fname, int listing)
-{      
+{
        Client c;
        stream *fd;
        str filename;
        str msg = MAL_SUCCEED;
 
        filename = malResolveFile(fname);
-       if (filename == NULL) 
+       if (filename == NULL)
                throw(MAL, "mal.eval","could not open file: %s\n", fname);
        fd = malOpenSource(filename);
        GDKfree(filename);
@@ -475,7 +475,7 @@ callString(Client cntxt, str s, int list
                if(msg == MAL_SUCCEED && cntxt->phase[0] != c->phase[0]){
                        cntxt->phase[0] = c->phase[0];
                        cntxt->state[0] = c->state[0];
-                       msg = (str) (*cntxt->phase[0])(cntxt);  // force 
re-initialize client context
+                       msg = (str) (*cntxt->phase[0])(cntxt);  // force 
re-initialize client context
                }
        //}
        c->usermodule = 0; // keep it around
diff --git a/monetdb5/mal/mal_parser.c b/monetdb5/mal/mal_parser.c
--- a/monetdb5/mal/mal_parser.c
+++ b/monetdb5/mal/mal_parser.c
@@ -116,7 +116,7 @@ parseError(Client cntxt, str msg)
        if (old){
                strcpy(new, old);
                GDKfree(old);
-       } 
+       }
        strcat(new,line);
        strcat(new,marker);
 
@@ -129,7 +129,7 @@ parseError(Client cntxt, str msg)
  * This command should be executed at the beginning of a parse
  * request and each time we encounter EOL.
 */
-static void 
+static void
 echoInput(Client cntxt)
 {
        char *c = CURRENT(cntxt);
@@ -229,7 +229,7 @@ idLength(Client cntxt)
                // skip remainder
                while (idCharacter2[(unsigned char) (*s)])
                        s++;
-       return (int) (s-t);;
+       return (int) (s-t);
 }
 
 /* Simple type identifiers can not be marked with a type variable. */
@@ -722,7 +722,7 @@ parseTypeId(Client cntxt, int defaultTyp
 
                if (currChar(cntxt) != ']')
                        parseError(cntxt, "']' expected\n");
-               nextChar(cntxt); // skip ']' 
+               nextChar(cntxt); // skip ']'
                skipSpace(cntxt);
                return i;
        }
@@ -999,7 +999,7 @@ parseModule(Client cntxt)
        advance(cntxt, l);
        if( strcmp(modnme, cntxt->usermodule->name) ==0){
                // ignore this module definition
-       } else 
+       } else
        if( getModule(modnme) == NULL){
                if( globalModule(modnme) == NULL)
                        parseError(cntxt,"<module> could not be created");
@@ -1115,7 +1115,7 @@ fcnHeader(Client cntxt, int kind)
                }
                fnme = putNameLen(((char *) CURRENT(cntxt)), l);
                advance(cntxt, l);
-       } else 
+       } else
                modnme= cntxt->curmodule->name;
 
        /* temporary suspend capturing statements in main block */
@@ -1359,7 +1359,7 @@ parseFunction(Client cntxt, int kind)
        MalBlkPtr curBlk = 0;
 
        curBlk = fcnHeader(cntxt, kind);
-       if (curBlk == NULL) 
+       if (curBlk == NULL)
                return curBlk;
        if (MALkeyword(cntxt, "address", 7)) {
                str nme;
@@ -1406,7 +1406,7 @@ parseEnd(Client cntxt)
                l = idLength(cntxt);
                if (l == 0)
                        l = operatorLength(cntxt);
-               sig = getInstrPtr(cntxt->curprg->def,0); 
+               sig = getInstrPtr(cntxt->curprg->def,0);
                if (strncmp(CURRENT(cntxt), getModuleId(sig), l) == 0) {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to