Changeset: 2f62c9f02c11 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2f62c9f02c11 Modified Files: monetdb5/optimizer/opt_mergetable.c tools/mserver/mserver5.c Branch: default Log Message:
Merged with Jun2016 branch. diffs (60 lines): diff --git a/monetdb5/optimizer/opt_mergetable.c b/monetdb5/optimizer/opt_mergetable.c --- a/monetdb5/optimizer/opt_mergetable.c +++ b/monetdb5/optimizer/opt_mergetable.c @@ -632,17 +632,20 @@ mat_join2(MalBlkPtr mb, InstrPtr p, matl static int subjoin_split(Client cntxt, InstrPtr p, int args) { - char *name; - int len, i, res = 0; + char *name = NULL; + size_t len; + int i, res = 0; Symbol sym; MalBlkPtr mb; InstrPtr q; - if (args <= 2) /* we asume there are no 2x1 joins! */ + if (args <= 3) /* we asume there are no 2x1 joins! */ return 1; len = strlen( getFunctionId(p) ); name = GDKmalloc(len+3); + if (!name) + return -1; strncpy(name, getFunctionId(p), len-7); strcpy(name+len-7, "subselect"); @@ -657,6 +660,7 @@ subjoin_split(Client cntxt, InstrPtr p, else break; } + GDKfree(name); return res-1; } @@ -700,6 +704,10 @@ mat_joinNxM(Client cntxt, MalBlkPtr mb, int split = subjoin_split(cntxt, p, args); int nr_mv1 = split, nr_mv2 = nr_mats-split; + if (split < 0) { + mb->errors++; + return ; + } /* now detect split point */ for(k=1; k<mat[mv1].mi->argc; k++) { for (j=1; j<mat[mv2].mi->argc; j++) { diff --git a/tools/mserver/mserver5.c b/tools/mserver/mserver5.c --- a/tools/mserver/mserver5.c +++ b/tools/mserver/mserver5.c @@ -281,8 +281,10 @@ main(int argc, char **av) _CrtSetReportMode(_CRT_ERROR, 0); _CrtSetReportMode(_CRT_ASSERT, 0); _set_invalid_parameter_handler(mserver_invalid_parameter_handler); +#ifdef _TWO_DIGIT_EXPONENT _set_output_format(_TWO_DIGIT_EXPONENT); #endif +#endif if (setlocale(LC_CTYPE, "") == NULL) { GDKfatal("cannot set locale\n"); } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list