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