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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list