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