Changeset: 8cda69b54eb2 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8cda69b54eb2 Added Files: sql/test/BugTracker-2015/Tests/adddrop_unknown_table.Bug-3718.sql sql/test/BugTracker-2015/Tests/adddrop_unknown_table.Bug-3718.stable.err sql/test/BugTracker-2015/Tests/adddrop_unknown_table.Bug-3718.stable.out sql/test/BugTracker-2015/Tests/crash_on_alter_set_not_null.Bug-3715.sql sql/test/BugTracker-2015/Tests/leftjoin.Bug-3720.sql sql/test/BugTracker-2015/Tests/leftjoin.Bug-3720.stable.err sql/test/BugTracker-2015/Tests/leftjoin.Bug-3720.stable.out sql/test/BugTracker-2015/Tests/union_project.Bug-3723.sql sql/test/BugTracker-2015/Tests/union_project.Bug-3723.stable.err sql/test/BugTracker-2015/Tests/union_project.Bug-3723.stable.out tools/mserver/monetdblogo.png tools/mserver/tomographintro.docx tools/mserver/tomographintro.pdf Modified Files: clients/Tests/MAL-signatures.stable.out clients/Tests/MAL-signatures.stable.out.int128 clients/Tests/exports.stable.out clients/mapiclient/Tests/mclient--help.stable.err clients/mapiclient/Tests/mclient--help.stable.err.Windows clients/mapiclient/Tests/tomograph--help.stable.err clients/mapiclient/eventparser.c clients/mapiclient/eventparser.h clients/mapiclient/tachograph.c clients/mapiclient/tomograph.c gdk/gdk_bbp.c gdk/gdk_heap.c gdk/gdk_logger.c gdk/gdk_logger.h gdk/gdk_private.h gdk/gdk_search.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_debugger.c monetdb5/mal/mal_function.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_parser.h monetdb5/mal/mal_resource.c sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.c sql/backends/monet5/sql.mal sql/backends/monet5/sql_execute.c sql/backends/monet5/sql_gencode.c sql/backends/monet5/sql_gencode.h sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_optimizer.h sql/backends/monet5/sql_scenario.c sql/benchmarks/ssbm/Tests/01-plan.stable.out sql/benchmarks/ssbm/Tests/02-plan.stable.out sql/benchmarks/ssbm/Tests/03-plan.stable.out sql/benchmarks/ssbm/Tests/04-plan.stable.out sql/benchmarks/ssbm/Tests/05-plan.stable.out sql/benchmarks/ssbm/Tests/06-plan.stable.out sql/benchmarks/ssbm/Tests/07-plan.stable.out sql/benchmarks/ssbm/Tests/08-plan.stable.out sql/benchmarks/ssbm/Tests/09-plan.stable.out sql/benchmarks/ssbm/Tests/10-plan.stable.out sql/benchmarks/ssbm/Tests/11-plan.stable.out sql/benchmarks/ssbm/Tests/12-plan.stable.out sql/benchmarks/ssbm/Tests/13-plan.stable.out sql/benchmarks/tpch/Tests/02-plan.stable.out sql/benchmarks/tpch/Tests/03-plan.stable.out sql/benchmarks/tpch/Tests/03-plan.stable.out.int128 sql/benchmarks/tpch/Tests/05-plan.stable.out sql/benchmarks/tpch/Tests/05-plan.stable.out.int128 sql/benchmarks/tpch/Tests/07-plan.stable.out sql/benchmarks/tpch/Tests/07-plan.stable.out.int128 sql/benchmarks/tpch/Tests/08-plan.stable.out sql/benchmarks/tpch/Tests/08-plan.stable.out.int128 sql/benchmarks/tpch/Tests/09-plan.stable.out sql/benchmarks/tpch/Tests/09-plan.stable.out.int128 sql/benchmarks/tpch/Tests/11-explain.stable.out sql/benchmarks/tpch/Tests/11-explain.stable.out.int128 sql/benchmarks/tpch/Tests/11-plan.stable.out sql/benchmarks/tpch/Tests/11-plan.stable.out.int128 sql/benchmarks/tpch/Tests/12-plan.stable.out sql/benchmarks/tpch/Tests/13-plan.stable.out sql/benchmarks/tpch/Tests/14-plan.stable.out sql/benchmarks/tpch/Tests/14-plan.stable.out.int128 sql/benchmarks/tpch/Tests/16-plan.stable.out sql/benchmarks/tpch/Tests/17-plan.stable.out sql/benchmarks/tpch/Tests/17-plan.stable.out.int128 sql/benchmarks/tpch/Tests/19-plan.stable.out sql/benchmarks/tpch/Tests/19-plan.stable.out.int128 sql/benchmarks/tpch/Tests/20-plan.stable.out sql/benchmarks/tpch/Tests/20-plan.stable.out.int128 sql/benchmarks/tpch/Tests/21-plan.stable.out sql/benchmarks/tpch/Tests/22-plan.stable.out sql/include/sql_relation.h sql/server/rel_exp.c sql/server/rel_optimizer.c sql/server/rel_schema.c sql/server/rel_select.c sql/storage/bat/bat_table.c sql/storage/sql_catalog.c sql/storage/store.c sql/test/BugTracker-2011/Tests/crash_on_alias.Bug-2798.stable.out.int128 sql/test/BugTracker-2015/Tests/All sql/test/BugTracker/Tests/explain.SF-1739353.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out sql/test/BugTracker/Tests/jdbc_no_debug.SF-1739356.stable.out.32bit sql/test/Triggers/trigger_activation.sql sql/test/leaks/Tests/check0.stable.out.int128 sql/test/mergetables/Tests/alter.stable.err sql/test/mergetables/Tests/doubletable.stable.err sql/test/mergetables/Tests/mergedropcrash.stable.err tools/mserver/Makefile.ag Branch: geo Log Message:
Merge with default branch. diffs (truncated from 10158 to 300 lines): diff --git a/clients/Tests/MAL-signatures.stable.out b/clients/Tests/MAL-signatures.stable.out --- a/clients/Tests/MAL-signatures.stable.out +++ b/clients/Tests/MAL-signatures.stable.out @@ -40945,6 +40945,14 @@ pattern sql.clear_table{unsafe}(sname:st address mvc_clear_table_wrap; comment Clear table +pattern sql.catalog(type:int,msname:str,mtname:str,psname:str,ptname:str,action:int):void +address SQLcatalog; +comment a alter table add/del table catalog statement + +pattern sql.catalog(type:int,sname:str,tname:str,access:int):void +address SQLcatalog; +comment a alter table access statement + pattern sql.catalog(type:int,iname:str,itype:int,sname:str,tname:str...):void address SQLcatalog; comment a create index catalog statement diff --git a/clients/Tests/MAL-signatures.stable.out.int128 b/clients/Tests/MAL-signatures.stable.out.int128 --- a/clients/Tests/MAL-signatures.stable.out.int128 +++ b/clients/Tests/MAL-signatures.stable.out.int128 @@ -51876,6 +51876,14 @@ pattern sql.clear_table{unsafe}(sname:st address mvc_clear_table_wrap; comment Clear table +pattern sql.catalog(type:int,msname:str,mtname:str,psname:str,ptname:str,action:int):void +address SQLcatalog; +comment a alter table add/del table catalog statement + +pattern sql.catalog(type:int,sname:str,tname:str,access:int):void +address SQLcatalog; +comment a alter table access statement + pattern sql.catalog(type:int,iname:str,itype:int,sname:str,tname:str...):void address SQLcatalog; comment a create index catalog statement 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 @@ -1380,8 +1380,6 @@ str MALengine(Client c); str MALexitClient(Client c); str MALgarbagesink(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); str MALinitClient(Client c); -int MALkeyword(Client cntxt, str kw, int length); -int MALlookahead(Client cntxt, str kw, int length); str MALoptimizer(Client c); str MALparser(Client c); str MALpass(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); @@ -2101,7 +2099,6 @@ int canBeCrackedProp; int canBeJoinselectProp; str catalogRef; str catchKernelException(Client cntxt, str ret); -int charCst(Client cntxt, ValPtr val); void chkDeclarations(stream *out, MalBlkPtr mb); void chkFlow(stream *out, MalBlkPtr mb); int chkInstruction(stream *out, Module s, MalBlkPtr mb, InstrPtr p); @@ -2141,7 +2138,6 @@ int cpyConstant(MalBlkPtr mb, VarPtr vr) str createException(enum malexception, const char *, _In_z_ _Printf_format_string_ const char *, ...) __attribute__((__format__(__printf__, 3, 4))); str createRef; str crossRef; -int cstToken(Client cntxt, ValPtr val); str datacyclotronRef; str dataflowRef; str dateRef; @@ -2154,7 +2150,6 @@ str dblRef; void debugFunction(stream *fd, MalBlkPtr mb, MalStkPtr stk, int flg, int first, int size); void debugLifespan(Client cntxt, MalBlkPtr mb, Lifespan span); str debugOptimizers(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); -void debugParser(int i); str debugScheduler(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr pci); int defConstant(MalBlkPtr mb, int type, ValPtr cst); str defineRef; @@ -2176,7 +2171,6 @@ str divRef; void dumpExceptionsToStream(stream *out, str msg); void dumpHelpTable(stream *f, Module s, str text, int flag); void dumpSearchTable(stream *f, str text); -void echoInput(Client cntxt); str eqRef; str escape_str(str *retval, str s); str evalFile(Client c, str fname, int listing); @@ -2270,7 +2264,6 @@ str hgeRef; int hlbProp; int horiginProp; int hubProp; -int idLength(Client cntxt); str identityRef; str ifthenelseRef; str ilikeRef; @@ -2340,7 +2333,6 @@ str kdifferenceRef; int keepProp; str kunionRef; str languageRef; -str lastline(Client cntxt); str leftfetchjoinPathRef; str leftfetchjoinRef; str leftjoinPathRef; @@ -2488,8 +2480,6 @@ str openProfilerStream(stream *fd); str openRef; int open_block_stream(Stream *S, Stream *is); str open_block_streamwrap(Stream *S, Stream *is); -str operatorCopy(Client cntxt, int length); -int operatorLength(Client cntxt); str operatorName(int i); lng optDebug; str optimizeMALBlock(Client cntxt, MalBlkPtr mb); @@ -2499,7 +2489,6 @@ str optimizer_prelude(Client cntxt, MalB str pack2Ref; str packRef; str parametersRef; -str parseError(Client cntxt, str msg); int parseMAL(Client cntxt, Symbol curPrg, int skipcomments); str partitionRef; str passRef; @@ -2510,7 +2499,6 @@ str pinRef; int pivotDisjunctiveProp; int pivotProp; str plusRef; -ssize_t position(Client cntxt); str postludeRef; str preludeRef; MalStkPtr prepareMALstack(MalBlkPtr mb, int size); @@ -2667,7 +2655,6 @@ str strEpilogue(void *ret); str strPrelude(void *ret); str strRef; str streamsRef; -int stringLength(Client cntxt); str stringdiff_impl(int *res, str *s1, str *s2); str subantijoinRef; str subavgRef; diff --git a/clients/mapiclient/Tests/tomograph--help.stable.err b/clients/mapiclient/Tests/tomograph--help.stable.err --- a/clients/mapiclient/Tests/tomograph--help.stable.err +++ b/clients/mapiclient/Tests/tomograph--help.stable.err @@ -19,9 +19,7 @@ tomograph [options] -T | --title=<plot title> -r | --range=<starttime>-<endtime>[ms,s] -i | --input=<profiler event file > - -o | --output=<file prefix > (default 'tomograph' - -c | --cache=<query pool location> - -s | --system=# (on= 1(default) off=0 + -o | --output=<dir/file prefix > (default 'cache/<dbname>' -b | --beat=<delay> in milliseconds (default 5000) -A | --atlas=<number> maximum number of queries (default 1) -D | --debug diff --git a/clients/mapiclient/eventparser.c b/clients/mapiclient/eventparser.c --- a/clients/mapiclient/eventparser.c +++ b/clients/mapiclient/eventparser.c @@ -70,11 +70,22 @@ stripQuotes(char *currentquery) *q =0; return qry; } + + +void +eventdump(void) +{ int i; + fprintf(stderr,"Event analysis\n"); + for(i=0; i < malargc; i++) + fprintf(stderr,"arg[%d] %s %s %d\n",i,malarguments[i], maltypes[i], malcount[i]); + for(i=0; i < malvartop; i++) + fprintf(stderr,"var[%d] %s\n",i,malvariables[i]); +} static void parseArguments(char *call, int m) { - int i, argc= m < 0? -1:0; + int argc= m < 0? -1:0; char *c = call, *l, ch; char *v, *w; @@ -187,12 +198,8 @@ parseArguments(char *call, int m) if (*c == 0 || *c ==')' ) break; } - if( debug){ - for(i=0; i < malargc; i++) - fprintf(stderr,"arg[%d] %s %s %d\n",i,malarguments[i], maltypes[i], malcount[i]); - for(i=0; i < malvartop; i++) - fprintf(stderr,"var[%d] %s\n",i,malvariables[i]); - } + if( debug) + eventdump(); } int diff --git a/clients/mapiclient/eventparser.h b/clients/mapiclient/eventparser.h --- a/clients/mapiclient/eventparser.h +++ b/clients/mapiclient/eventparser.h @@ -98,6 +98,7 @@ extern int debug; extern char *monetdb_characteristics; extern void clearArguments(void); +extern void eventdump(void); extern int eventparser(char *row, EventRecord *ev); extern char *stripQuotes(char *currentquery); #endif /*_EVENT_PARSER_*/ diff --git a/clients/mapiclient/tachograph.c b/clients/mapiclient/tachograph.c --- a/clients/mapiclient/tachograph.c +++ b/clients/mapiclient/tachograph.c @@ -67,9 +67,12 @@ static stream *conn = NULL; static char hostname[128]; -static char *basefilename = "tachograph"; -static char *cache= "cache"; -static char cachebuf[BUFSIZ]={0}; +static char *prefix = "tachograph"; +#ifdef NATIVE_WIN32 +static char *dirpath= "cache\\"; +#else +static char *dirpath= "cache/"; +#endif static char *dbname; static int beat = 5000; static int delay = 0; // ms @@ -507,25 +510,25 @@ initFiles(void) { char buf[BUFSIZ]; - snprintf(buf,BUFSIZ,"%s%s_%s_%d.json", cachebuf, basefilename, dbname, queryid); + snprintf(buf,BUFSIZ,"%s%s_%d.json", dirpath, prefix, queryid); tachojson= fopen(buf,"w"); if( tachojson == NULL){ fprintf(stderr,"Could not create %s\n",buf); exit(-1); } - snprintf(buf,BUFSIZ,"%s%s_%s_%d_mal.csv",cachebuf, basefilename, dbname, queryid); + snprintf(buf,BUFSIZ,"%s%s_%d_mal.csv",dirpath, prefix, queryid); tachomal= fopen(buf,"w"); if( tachomal == NULL){ fprintf(stderr,"Could not create %s\n",buf); exit(-1); } - snprintf(buf,BUFSIZ,"%s%s_%s_%d_stmt.csv", cachebuf, basefilename, dbname, queryid); + snprintf(buf,BUFSIZ,"%s%s_%d_stmt.csv", dirpath, prefix, queryid); tachostmt= fopen(buf,"w"); if( tachostmt == NULL){ fprintf(stderr,"Could not create %s\n",buf); exit(-1); } - snprintf(buf,BUFSIZ,"%s%s_%s_%d.trace", cachebuf, basefilename, dbname, queryid); + snprintf(buf,BUFSIZ,"%s%s_%d.trace", dirpath, prefix, queryid); tachotrace= fopen(buf,"w"); if( tachotrace == NULL){ fprintf(stderr,"Could not create %s\n",buf); @@ -592,7 +595,8 @@ update(EventRecord *ev) /* monitor top level function brackets, we restrict ourselves to SQL queries */ if (ev->state == MDB_START && ev->fcn && strncmp(ev->fcn, "function", 8) == 0) { if( capturing){ - fprintf(stderr,"We lost some events\n"); + fprintf(stderr,"Input garbled or we lost some events\n"); + eventdump(); resetTachograph(); capturing = 0; } @@ -793,6 +797,7 @@ main(int argc, char **argv) int i = 0; FILE *trace = NULL; EventRecord event; + char *s; static struct option long_options[15] = { { "dbname", 1, 0, 'd' }, @@ -804,7 +809,6 @@ main(int argc, char **argv) { "beat", 1, 0, 'b' }, { "interactive", 1, 0, 'i' }, { "output", 1, 0, 'o' }, - { "cache", 1, 0, 'c' }, { "queries", 1, 0, 'q' }, { "wait", 1, 0, 'w' }, { "debug", 0, 0, 'D' }, @@ -862,13 +866,19 @@ main(int argc, char **argv) host = optarg; break; case 'o': - basefilename = strdup(optarg); - if( strstr(basefilename,".trace")) - *strstr(basefilename,".trace") = 0; - printf("-- Output directed towards %s\n", basefilename); - break; - case 'c': // cache directory - cache = strdup(optarg); + //store the output files in a specific place + prefix = strdup(optarg); +#ifdef NATIVE_WIN32 + s= strrchr(prefix, (int) '\\'); +#else + s= strrchr(prefix, (int) '/'); +#endif + if( s ){ + dirpath= prefix; + prefix = strdup(prefix); + *(s+1) = 0; + prefix += s-dirpath; + } break; case '?': usageTachograph(); @@ -882,21 +892,12 @@ main(int argc, char **argv) } _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list