Changeset: 7cb4b26bcaad for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=7cb4b26bcaad
Removed Files:
        
sql/test/BugTracker-2010/Tests/crash-with-huge-query.Bug-2647.stable.out.int128
        
sql/test/BugTracker-2010/Tests/rank-over-crash.SF-2926454.stable.out.int128
        
sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.stable.out.int128
        
sql/test/BugTracker-2011/Tests/subquery_in_from_clause.Bug-2812.stable.out.int128
        
sql/test/BugTracker-2012/Tests/aggregate_incorrect_precision_scale.Bug-3182.stable.out.int128
        sql/test/BugTracker-2012/Tests/power_priority.Bug-2291.stable.out.int128
        
sql/test/BugTracker-2013/Tests/aggregates-typing-issues.Bug-3277.stable.out.int128
        sql/test/BugTracker-2013/Tests/case-orderby.Bug-3388.stable.out.int128
        sql/test/BugTracker-2014/Tests/groupby.Bug-3421.stable.out.int128
        sql/test/BugTracker-2014/Tests/ifthenelse.Bug-3546.stable.out.int128
        
sql/test/BugTracker-2014/Tests/union_with_subqueries.Bug-3518.stable.out.int128
        sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out.int128
        
sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.stable.out.int128
        sql/test/BugTracker-2015/Tests/nil_cast.Bug-3787.stable.out.int128
Modified Files:
        clients/Tests/exports.stable.out
        gdk/gdk_select.c
        monetdb5/mal/mal_atom.c
        monetdb5/mal/mal_authorize.c
        monetdb5/mal/mal_builder.c
        monetdb5/mal/mal_client.h
        monetdb5/mal/mal_import.c
        monetdb5/mal/mal_instruction.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_listing.c
        monetdb5/mal/mal_parser.c
        monetdb5/mal/mal_type.c
        monetdb5/mal/mal_type.h
        monetdb5/modules/mal/mal_mapi.c
        monetdb5/modules/mal/pcre.c
        monetdb5/optimizer/opt_remap.c
        monetdb5/optimizer/opt_remoteQueries.c
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql_execute.c
        sql/backends/monet5/sql_statement.c
        sql/include/sql_catalog.h
        sql/include/sql_relation.h
        sql/rel.txt
        sql/server/rel_distribute.c
        sql/server/rel_dump.c
        sql/server/rel_optimizer.c
        sql/server/rel_propagate.c
        sql/server/rel_psm.c
        sql/server/rel_rel.c
        sql/server/rel_rel.h
        sql/server/rel_schema.c
        sql/server/rel_semantic.c
        sql/server/rel_sequence.c
        sql/server/rel_trans.c
        sql/server/rel_updates.c
        sql/server/sql_scan.c
        sql/server/sql_scan.h
        sql/server/sql_semantic.c
        sql/storage/sql_catalog.c
        sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.sql
        sql/test/BugTracker-2009/Tests/count_bug.SF-2604583.stable.out
        sql/test/BugTracker-2010/Tests/crash-with-huge-query.Bug-2647.sql
        sql/test/BugTracker-2010/Tests/crash-with-huge-query.Bug-2647.stable.out
        sql/test/BugTracker-2010/Tests/rank-over-crash.SF-2926454.sql
        sql/test/BugTracker-2010/Tests/rank-over-crash.SF-2926454.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.sql
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out
        sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128
        sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.sql
        sql/test/BugTracker-2011/Tests/non-stable-select-bug.Bug-2894.stable.out
        sql/test/BugTracker-2011/Tests/subquery_in_from_clause.Bug-2812.sql
        
sql/test/BugTracker-2011/Tests/subquery_in_from_clause.Bug-2812.stable.out
        
sql/test/BugTracker-2012/Tests/aggregate_incorrect_precision_scale.Bug-3182.sql
        
sql/test/BugTracker-2012/Tests/aggregate_incorrect_precision_scale.Bug-3182.stable.out
        sql/test/BugTracker-2013/Tests/All
        sql/test/BugTracker-2013/Tests/aggregates-typing-issues.Bug-3277.sql
        
sql/test/BugTracker-2013/Tests/aggregates-typing-issues.Bug-3277.stable.out
        sql/test/BugTracker-2013/Tests/case-orderby.Bug-3388.sql
        sql/test/BugTracker-2013/Tests/case-orderby.Bug-3388.stable.out
        sql/test/BugTracker-2013/Tests/hashed_exp.Bug-3313.sql
        sql/test/BugTracker-2013/Tests/prepare-smallint.Bug-3297.sql
        sql/test/BugTracker-2013/Tests/prepare-smallint.Bug-3297.stable.out
        
sql/test/BugTracker-2013/Tests/prepare-smallint.Bug-3297.stable.out.int128
        sql/test/BugTracker-2014/Tests/groupby.Bug-3421.sql
        sql/test/BugTracker-2014/Tests/groupby.Bug-3421.stable.out
        sql/test/BugTracker-2014/Tests/ifthenelse.Bug-3546.sql
        sql/test/BugTracker-2014/Tests/ifthenelse.Bug-3546.stable.out
        sql/test/BugTracker-2014/Tests/union_with_subqueries.Bug-3518.sql
        sql/test/BugTracker-2014/Tests/union_with_subqueries.Bug-3518.stable.out
        sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.sql
        sql/test/BugTracker-2015/Tests/ambiguous.Bug-3803.stable.out
        sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.sql
        
sql/test/BugTracker-2015/Tests/crash_in_reduce_groupby.Bug-3818.stable.out
        
sql/test/BugTracker-2015/Tests/crash_timestamp_convert.Bug-3816.stable.err.Windows
        sql/test/BugTracker-2015/Tests/incorrect_result_type.Bug-3687.sql
        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/nil_cast.Bug-3787.sql
        sql/test/BugTracker-2015/Tests/nil_cast.Bug-3787.stable.out
Branch: mtime
Log Message:

Merge with default branch.


diffs (truncated from 5678 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
@@ -2156,7 +2156,7 @@ str generatorRef;
 MALfcn getAddress(str fcnname);
 str getArgDefault(MalBlkPtr mb, InstrPtr p, int idx);
 ptr getArgReference(MalStkPtr stk, InstrPtr pci, int k);
-int getAtomIndex(const char *nme, int len, int deftpe);
+int getAtomIndex(const char *nme, size_t len, int deftpe);
 lng getBatSpace(BAT *b);
 int getBitConstant(MalBlkPtr mb, bit val);
 int getBlockBegin(MalBlkPtr mb, int pc);
diff --git a/gdk/gdk_select.c b/gdk/gdk_select.c
--- a/gdk/gdk_select.c
+++ b/gdk/gdk_select.c
@@ -1535,7 +1535,7 @@ BATselect(BAT *b, BAT *s, const void *tl
                        use_orderidx = true;
                        if (view) {
                                vwo = (lng) ((view->theap.base - b->theap.base) 
>> b->tshift);
-                               vwl = b->hseqbase + vwo;
+                               vwl = b->hseqbase + (oid) vwo;
                                vwo = (lng) view->hseqbase - (lng) b->hseqbase 
- vwo;
                                vwh = vwl + view->batCount;
                        } else {
diff --git a/monetdb5/mal/mal_atom.c b/monetdb5/mal/mal_atom.c
--- a/monetdb5/mal/mal_atom.c
+++ b/monetdb5/mal/mal_atom.c
@@ -40,7 +40,7 @@ malAtomProperty(MalBlkPtr mb, InstrPtr p
        (void)mb;  /* fool compilers */
        assert(pci != 0);
        name = getFunctionId(pci);
-       tpe = getAtomIndex(getModuleId(pci), (int)strlen(getModuleId(pci)), 
TYPE_any);
+       tpe = getAtomIndex(getModuleId(pci), strlen(getModuleId(pci)), 
TYPE_any);
        if (tpe < 0 || tpe >= GDKatomcnt || tpe >= MAXATOMS)
                return MAL_SUCCEED;
        assert(pci->fcn != NULL);
diff --git a/monetdb5/mal/mal_authorize.c b/monetdb5/mal/mal_authorize.c
--- a/monetdb5/mal/mal_authorize.c
+++ b/monetdb5/mal/mal_authorize.c
@@ -859,7 +859,7 @@ AUTHdecypherValue(str *ret, const char *
        int escaped = 0;
        /* we default to some garbage key, just to make password unreadable
         * (a space would only uppercase the password) */
-       int keylen = 0;
+       size_t keylen = 0;
 
        if (vaultKey == NULL)
                throw(MAL, "decypherValue", "The vault is still locked!");
@@ -867,7 +867,7 @@ AUTHdecypherValue(str *ret, const char *
        if( r == NULL)
                throw(MAL, "decypherValue", SQLSTATE(HY001) MAL_MALLOC_FAIL);
 
-       keylen = (int) strlen(vaultKey);
+       keylen = strlen(vaultKey);
 
        /* XOR all characters.  If we encounter a 'one' char after the XOR
         * operation, it is an escape, so replace it with the next char. */
@@ -901,7 +901,7 @@ AUTHcypherValue(str *ret, const char *va
        const char *s = value;
        /* we default to some garbage key, just to make password unreadable
         * (a space would only uppercase the password) */
-       int keylen = 0;
+       size_t keylen = 0;
 
        if (vaultKey == NULL)
                throw(MAL, "cypherValue", "The vault is still locked!");
@@ -909,7 +909,7 @@ AUTHcypherValue(str *ret, const char *va
        if( r == NULL)
                throw(MAL, "cypherValue", SQLSTATE(HY001) MAL_MALLOC_FAIL);
 
-       keylen = (int) strlen(vaultKey);
+       keylen = strlen(vaultKey);
 
        /* XOR all characters.  If we encounter a 'zero' char after the XOR
         * operation, escape it with an 'one' char. */
diff --git a/monetdb5/mal/mal_builder.c b/monetdb5/mal/mal_builder.c
--- a/monetdb5/mal/mal_builder.c
+++ b/monetdb5/mal/mal_builder.c
@@ -106,7 +106,7 @@ newComment(MalBlkPtr mb, const char *val
                freeInstruction(q);
                return NULL;
        }
-       cst.len= (int) strlen(cst.val.sval);
+       cst.len = strlen(cst.val.sval);
        getArg(q,0) = defConstant(mb,TYPE_str,&cst);
        clrVarConstant(mb,getArg(q,0));
        setVarDisabled(mb,getArg(q,0));
@@ -457,7 +457,7 @@ getStrConstant(MalBlkPtr mb, str val)
 
        cst.vtype = TYPE_str;
        cst.val.sval = val; 
-       cst.len = (int) strlen(val);
+       cst.len = strlen(val);
        _t= fndConstant(mb, &cst, mb->vtop);
        if( _t < 0) {
                if ((cst.val.sval= GDKstrdup(val)) == NULL) 
@@ -480,7 +480,7 @@ pushStr(MalBlkPtr mb, InstrPtr q, const 
                freeInstruction(q);
                return NULL;
        }
-       cst.len= (int) strlen(cst.val.sval);
+       cst.len = strlen(cst.val.sval);
        _t = defConstant(mb,TYPE_str,&cst);
        return pushArgument(mb, q, _t);
 }
@@ -564,7 +564,7 @@ pushNilType(MalBlkPtr mb, InstrPtr q, ch
 
        if (q == NULL)
                return NULL;
-       idx= getAtomIndex(tpe, -1, TYPE_any);
+       idx= getAtomIndex(tpe, strlen(tpe), TYPE_any);
        if( idx < 0 || idx >= GDKatomcnt || idx >= MAXATOMS)
                return NULL;
        cst.vtype=TYPE_void;
diff --git a/monetdb5/mal/mal_client.h b/monetdb5/mal/mal_client.h
--- a/monetdb5/mal/mal_client.h
+++ b/monetdb5/mal/mal_client.h
@@ -40,7 +40,7 @@ enum clientmode {
  */
 typedef struct CLIENT_INPUT {
        bstream             *fdin;
-       int                 yycur;              
+       size_t              yycur;
        int                 listing;
        char                *prompt;
        struct CLIENT_INPUT *next;    
@@ -90,7 +90,7 @@ typedef struct CLIENT {
         */
        str       srcFile;  /* NULL for stdin, or file name */
        bstream  *fdin;
-       int       yycur;    /* the scanners current position */
+       size_t    yycur;    /* the scanners current position */
        /*
         * Keeping track of instructions executed is a valuable tool for
         * script processing and debugging.  It can be changed at runtime
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
@@ -128,7 +128,7 @@ malLoadScript(str name, bstream **fdin)
        c->srcFile = oldsrcFile; \
        if(c->prompt) GDKfree(c->prompt); \
        c->prompt = oldprompt; \
-       c->promptlength= (int)strlen(c->prompt);
+       c->promptlength = strlen(c->prompt);
 #define restoreClient2 \
        assert(c->glb == 0 || c->glb == oldglb); /* detect leak */ \
        c->glb = oldglb; \
@@ -154,7 +154,7 @@ malInclude(Client c, str name, int listi
        str p;
 
        bstream *oldfdin = c->fdin;
-       int oldyycur = c->yycur;
+       size_t oldyycur = c->yycur;
        int oldlisting = c->listing;
        enum clientmode oldmode = c->mode;
        int oldblkmode = c->blkmode;
@@ -324,7 +324,6 @@ compileString(Symbol *fcn, Client cntxt,
        stream *bs;
        bstream *fdin = NULL;
 
-       assert(s);
        s = mal_cmdline(s, &len);
        qry = s;
        if (old == s) {
@@ -401,7 +400,6 @@ callString(Client cntxt, str s, int list
        str msg = MAL_SUCCEED, qry;
        bstream *bs;
 
-       assert(s);
        s = mal_cmdline(s, &len);
        qry = s;
        if (old == s) {
diff --git a/monetdb5/mal/mal_instruction.c b/monetdb5/mal/mal_instruction.c
--- a/monetdb5/mal/mal_instruction.c
+++ b/monetdb5/mal/mal_instruction.c
@@ -632,7 +632,7 @@ getType(MalBlkPtr mb, str nme)
 
        i = findVariable(mb, nme);
        if (i < 0)
-               return getAtomIndex(nme, -1, TYPE_any);
+               return getAtomIndex(nme, strlen(nme), TYPE_any);
        return getVarType(mb, i);
 }
 
@@ -1208,7 +1208,8 @@ pushArgumentId(MalBlkPtr mb, InstrPtr p,
                return NULL;
        v = findVariable(mb, name);
        if (v < 0) {
-               if ((v = newVariable(mb, name, strlen(name), getAtomIndex(name, 
-1, TYPE_any))) < 0) {
+               size_t namelen = strlen(name);
+               if ((v = newVariable(mb, name, namelen, getAtomIndex(name, 
namelen, TYPE_any))) < 0) {
                        freeInstruction(p);
                        return NULL;
                }
diff --git a/monetdb5/mal/mal_interpreter.c b/monetdb5/mal/mal_interpreter.c
--- a/monetdb5/mal/mal_interpreter.c
+++ b/monetdb5/mal/mal_interpreter.c
@@ -940,7 +940,7 @@ str runMALsequence(Client cntxt, MalBlkP
                                        freeException(v->val.sval);    /* old 
exception*/
                                v->vtype = TYPE_str;
                                v->val.sval = ret;
-                               v->len = (int)strlen(v->val.sval);
+                               v->len = strlen(v->val.sval);
                                ret = 0;
                                MT_lock_unset(&mal_contextLock);
                        } else {
diff --git a/monetdb5/mal/mal_listing.c b/monetdb5/mal/mal_listing.c
--- a/monetdb5/mal/mal_listing.c
+++ b/monetdb5/mal/mal_listing.c
@@ -565,10 +565,11 @@ str
 mal2str(MalBlkPtr mb, int first, int last)
 {
        str ps = NULL, *txt;
-       int i, *len, totlen = 0, j;
+       int i, j;
+       size_t *len, totlen = 0;
 
        txt = GDKmalloc(sizeof(str) * mb->stop);
-       len = GDKmalloc(sizeof(int) * mb->stop);
+       len = GDKmalloc(sizeof(size_t) * mb->stop);
 
        if( txt == NULL || len == NULL){
                addMalException(mb,"mal2str: " MAL_MALLOC_FAIL);
@@ -586,7 +587,7 @@ mal2str(MalBlkPtr mb, int first, int las
 #endif
 
                if ( txt[i])
-                       totlen += len[i] = (int)strlen(txt[i]);
+                       totlen += len[i] = strlen(txt[i]);
                else {
                        addMalException(mb,"mal2str: " MAL_MALLOC_FAIL);
                        GDKfree(len);
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
@@ -154,7 +154,7 @@ skipSpace(Client cntxt)
 }
 
 static inline void
-advance(Client cntxt, int length)
+advance(Client cntxt, size_t length)
 {
        cntxt->yycur += length;
        skipSpace(cntxt);
@@ -202,7 +202,7 @@ idLength(Client cntxt)
 {
        str s,t;
        int len = 0;
-       
+
        skipSpace(cntxt);
        s = CURRENT(cntxt);
        t = s;
@@ -226,10 +226,10 @@ idLength(Client cntxt)
 }
 
 /* Simple type identifiers can not be marked with a type variable. */
-static int
+static size_t
 typeidLength(Client cntxt)
 {
-       int l;
+       size_t l;
        char id[IDLENGTH], *t= id;
        str s;
        skipSpace(cntxt);
@@ -419,7 +419,7 @@ cstToken(Client cntxt, ValPtr cst)
                i = stringLength(cntxt);
                cst->val.sval = strCopy(cntxt, i);
                if (cst->val.sval)
-                       cst->len = (int) strlen(cst->val.sval);
+                       cst->len = strlen(cst->val.sval);
                else
                        cst->len = 0;
                return i;
@@ -646,6 +646,8 @@ handleInts:
  * scope.
  * Additional information, such as a repetition factor,
  * encoding tables, or type dependency should be modeled as properties.
+ *
+ * It would make more sense for tpe parameter to be an int, but simpleTypeId 
returns a size_t
  */
 static int
 typeAlias(Client cntxt, int tpe)
@@ -673,7 +675,8 @@ typeAlias(Client cntxt, int tpe)
 static int
 simpleTypeId(Client cntxt)
 {
-       int l, tpe;
+       int tpe;
+       size_t l;
 
        nextChar(cntxt);
        l = typeidLength(cntxt);
@@ -695,8 +698,9 @@ simpleTypeId(Client cntxt)
 static int
 parseTypeId(Client cntxt, int defaultType)
 {
-       int i = TYPE_any, tt, kt = 0;
+       int i = TYPE_any, kt = 0;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to