Changeset: 3ead9540574b for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=3ead9540574b
Added Files:
        clients/mapiclient/Tests/tomograph--help
        clients/mapiclient/Tests/tomograph--help.bat
        clients/mapiclient/Tests/tomograph--help.stable.err
        clients/mapiclient/Tests/tomograph--help.stable.out
        sql/test/BugTracker-2013/Tests/select-around-zero.Bug-3220.sql
        sql/test/BugTracker-2013/Tests/select-around-zero.Bug-3220.stable.err
        sql/test/BugTracker-2013/Tests/select-around-zero.Bug-3220.stable.out
Modified Files:
        .hgtags
        MonetDB.spec
        NT/installer32/MonetDB-ODBC-Installer.vdproj
        NT/installer32/MonetDB5-Geom-Module.vdproj
        NT/installer32/MonetDB5-SQL-Installer.vdproj
        NT/installer64/MonetDB-ODBC-Installer.vdproj
        NT/installer64/MonetDB5-Geom-Module.vdproj
        NT/installer64/MonetDB5-SQL-Installer.vdproj
        NT/monetdb_config.h.in
        NT/rules.msc
        clients/Tests/exports.stable.out
        clients/mapiclient/Tests/All
        clients/mapiclient/Tests/stethoscope--help.stable.err
        clients/mapiclient/stethoscope.c
        clients/mapiclient/tomograph.c
        clients/mapilib/mapi.rc
        clients/odbc/driver/driver.rc
        clients/odbc/winsetup/setup.rc
        clients/python2/setup.py
        clients/python3/setup.py
        configure.ag
        debian/changelog
        gdk/gdk_bat.c
        gdk/gdk_bbp.c
        gdk/gdk_bbp.h
        gdk/gdk_posix.c
        gdk/libbat.rc
        libversions
        monetdb5/mal/mal_client.c
        monetdb5/mal/mal_client.h
        monetdb5/mal/mal_debugger.c
        monetdb5/mal/mal_interpreter.c
        monetdb5/mal/mal_interpreter.h
        monetdb5/mal/mal_profiler.c
        monetdb5/mal/mal_resource.c
        monetdb5/mal/mal_runtime.c
        monetdb5/mal/mal_runtime.h
        monetdb5/modules/kernel/bat5.c
        monetdb5/modules/mal/language.c
        monetdb5/modules/mal/mdb.c
        monetdb5/modules/mal/profiler.c
        monetdb5/modules/mal/profiler.h
        monetdb5/optimizer/opt_dataflow.c
        monetdb5/optimizer/opt_dataflow.h
        monetdb5/tools/libmonetdb5.rc
        sql/backends/monet5/datacell/datacell.c
        sql/backends/monet5/datacell/opt_datacell.c
        sql/backends/monet5/datacell/opt_datacell.h
        sql/test/BugTracker-2013/Tests/All
        testing/Mtest.py.in
        vertoo.data
Branch: default
Log Message:

Merge with Feb2013 branch.


diffs (truncated from 1496 to 300 lines):

diff --git a/.hgtags b/.hgtags
--- a/.hgtags
+++ b/.hgtags
@@ -511,3 +511,5 @@ 5ba19bc11f7691610501c95ba8d0f1d9e5083a94
 c341b78e1c2e38445f43bd3ec89fdf40792bed01 Feb2013_root
 0ef42179e99bbd8450d9993cf419fcbed96cf61c Oct2012_7
 14b7be52b2212bf3aeb51edecbaee020554b3158 Oct2012_SP2_release
+0d23123db0a3fd8564564c46789e8e549320c77b Oct2012_9
+1f74df406780bccca94e6128c6c62a0b101fc847 Oct2012_SP3_release
diff --git a/MonetDB.spec b/MonetDB.spec
--- a/MonetDB.spec
+++ b/MonetDB.spec
@@ -27,7 +27,7 @@ Vendor: MonetDB BV <[email protected]>
 Group: Applications/Databases
 License: MPL - http://www.monetdb.org/Legal/MonetDBLicense
 URL: http://www.monetdb.org/
-Source: 
http://dev.monetdb.org/downloads/sources/Oct2012-SP2/%{name}-%{version}.tar.bz2
+Source: 
http://dev.monetdb.org/downloads/sources/Oct2012-SP3/%{name}-%{version}.tar.bz2
 
 BuildRequires: bison
 BuildRequires: bzip2-devel
@@ -706,6 +706,9 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libmonet
 rm -fr $RPM_BUILD_ROOT
 
 %changelog
+* Tue Jan 15 2013 Sjoerd Mullender <[email protected]> - 11.13.9-20130115
+- Rebuilt.
+
 * Wed Dec 12 2012 Sjoerd Mullender <[email protected]> - 11.13.7-20121212
 - Rebuilt.
 
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
@@ -3036,7 +3036,7 @@ void releaseBAT(MalBlkPtr mb, MalStkPtr 
 int releaseBox(Box box, str name);
 str remapRef;
 str remoteRef;
-void removeDataflow(Client cntxt, MalBlkPtr mb);
+void removeDataflow(MalBlkPtr mb);
 void removeInstruction(MalBlkPtr mb, InstrPtr p);
 void removeInstructionBlock(MalBlkPtr mb, int pc, int cnt);
 int removeProp;
diff --git a/clients/mapiclient/Tests/All b/clients/mapiclient/Tests/All
--- a/clients/mapiclient/Tests/All
+++ b/clients/mapiclient/Tests/All
@@ -1,3 +1,4 @@
 mclient--help
 msqldump--help
 stethoscope--help
+tomograph--help
diff --git a/clients/mapiclient/Tests/stethoscope--help.stable.err 
b/clients/mapiclient/Tests/stethoscope--help.stable.err
--- a/clients/mapiclient/Tests/stethoscope--help.stable.err
+++ b/clients/mapiclient/Tests/stethoscope--help.stable.err
@@ -28,6 +28,7 @@ The trace options (default 'ISTest'):
   t = ticks in microseconds
   c = cpu statistics (utime,ctime,stime,cstime)
   m = rss memory as provided by OS (in MB)
+  M = memory footprint of non-persistent objects
   r = block reads
   w = block writes
   b = bytes read/written
diff --git a/clients/mapiclient/Tests/tomograph--help 
b/clients/mapiclient/Tests/tomograph--help
new file mode 100755
--- /dev/null
+++ b/clients/mapiclient/Tests/tomograph--help
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+Mlog -x $MTIMEOUT tomograph --help
diff --git a/clients/mapiclient/Tests/tomograph--help.bat 
b/clients/mapiclient/Tests/tomograph--help.bat
new file mode 100755
--- /dev/null
+++ b/clients/mapiclient/Tests/tomograph--help.bat
@@ -0,0 +1,4 @@
+@echo on
+@prompt # $t $g  
+
+       %MTIMEOUT% tomograph --help
diff --git a/clients/mapiclient/Tests/tomograph--help.stable.err 
b/clients/mapiclient/Tests/tomograph--help.stable.err
new file mode 100644
--- /dev/null
+++ b/clients/mapiclient/Tests/tomograph--help.stable.err
@@ -0,0 +1,34 @@
+stderr of test 'tomograph--help` in directory 'mapiclient` itself:
+
+
+# 11:43:47 >  
+# 11:43:47 >  Mtimeout -timeout 120 ./tomograph--help tomograph--help 
+# 11:43:47 >  
+
+
+# 10:36:09 >  
+# 10:36:09 >  Mtimeout -timeout 60 tomograph --help
+# 10:36:09 >  
+
+tomograph [options]
+  -d | --dbname=<database_name>
+  -u | --user=<user>
+  -P | --password=<password>
+  -p | --port=<portnr>
+  -h | --host=<hostname>
+  -T | --title=<plot title>
+  -s | --sql=<single sql expression>
+  -t | --trace=<tomograph trace filename>
+  -r | --range=<starttime>-<endtime>[ms,s] 
+  -o | --output=<file prefix > (default 'tomograph'
+  -b | --beat=<delay> in milliseconds (default 50)
+  -B | --batch=<number> of combined queries
+  -a | --adaptive colormap 
+  -m | --colormap=<userdefined colormap>
+  -D | --debug
+  -? | --help
+
+# 23:54:13 >  
+# 23:54:13 >  "Done."
+# 23:54:13 >  
+
diff --git a/clients/mapiclient/Tests/tomograph--help.stable.out 
b/clients/mapiclient/Tests/tomograph--help.stable.out
new file mode 100644
--- /dev/null
+++ b/clients/mapiclient/Tests/tomograph--help.stable.out
@@ -0,0 +1,17 @@
+stdout of test 'tomograph--help` in directory 'mapiclient` itself:
+
+
+# 11:43:47 >  
+# 11:43:47 >  Mtimeout -timeout 120 ./tomograph--help tomograph--help 
+# 11:43:47 >  
+
+
+# 11:43:47 >  
+# 11:43:47 >  Mtimeout -timeout 60 tomograph --help
+# 11:43:47 >  
+
+
+# 11:43:47 >  
+# 11:43:47 >  Done.
+# 11:43:47 >  
+
diff --git a/clients/mapiclient/stethoscope.c b/clients/mapiclient/stethoscope.c
--- a/clients/mapiclient/stethoscope.c
+++ b/clients/mapiclient/stethoscope.c
@@ -83,7 +83,8 @@ static struct {
        /*  1  */ { 'y', "type", "type", 0 },
        /*  2  */ { 'D', "dot", "dot", 0 },
        /*  3  */ { 'F', "flow", "flow", 0 },
-       /*  3  */ { 0, 0, 0, 0 }
+       /*  4  */ { 'M', "footprint", "footprint", 0 },
+       /*  5  */ { 0, 0, 0, 0 }
 };
 
 static stream *conn = NULL;
@@ -110,6 +111,7 @@ usage(void)
        fprintf(stderr, "  t = ticks in microseconds\n");
        fprintf(stderr, "  c = cpu statistics (utime,ctime,stime,cstime)\n");
        fprintf(stderr, "  m = rss memory as provided by OS (in MB)\n");
+       fprintf(stderr, "  M = memory footprint of non-persistent objects\n");
        fprintf(stderr, "  r = block reads\n");
        fprintf(stderr, "  w = block writes\n");
        fprintf(stderr, "  b = bytes read/written\n");
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -56,7 +56,7 @@
 # endif
 #endif
 
-#define COUNTERSDEFAULT "ISTestmrw"
+#define COUNTERSDEFAULT "ISTestmMrw"
 
 /* #define _DEBUG_TOMOGRAPH_*/
 
@@ -102,7 +102,8 @@ profileCounter[] = {
        /*  2  */ { 'D', "dot", "dot", 0 },
        /*  3  */ { 'F', "flow", "flow", 0 },
        /*  4  */ { 'x', "ping50", "ping", 0 },
-       /*  5  */ { 0, 0, 0, 0 }
+       /*  5  */ { 'M', "footprint", "footprint", 0 },
+       /*  6  */ { 0, 0, 0, 0 }
 };
 
 typedef struct _wthread {
@@ -280,6 +281,7 @@ typedef struct BOX {
        lng clkstart, clkend;
        lng ticks;
        lng memstart, memend;
+       lng footstart, footend;
        lng reads, writes;
        char *stmt;
        char *fcn;
@@ -309,6 +311,7 @@ static void dumpbox(int i)
        printf("thread %d ", box[i].thread);
        printf("clk "LLFMT" - "LLFMT" ", box[i].clkstart, box[i].clkend);
        printf("mem "LLFMT" - "LLFMT" ", box[i].memstart, box[i].memend);
+       printf("foot "LLFMT" - "LLFMT" ", box[i].footstart, box[i].footend);
        printf("ticks "LLFMT" ", box[i].ticks);
        if (box[i].stmt)
                printf("%s ", box[i].stmt);
@@ -778,14 +781,14 @@ static void dumpboxes(void)
                        if (box[i].state < PING) {
                                //io counters are zero at start of instruction !
                                //fprintf(f,""LLFMT" %f 0 0 \n", 
box[i].clkstart, (box[i].memstart/1024.0));
-                               fprintf(f, ""LLFMT" %f 0 0\n", box[i].clkend, 
(box[i].memend / 1024.0));
+                               fprintf(f, ""LLFMT" %f %f 0 0\n", 
box[i].clkend, (box[i].memend / 1024.0), box[i].footend/1024.0);
                        } else 
                        if (box[i].state == PING) {
                                /* cpu stat events may arrive out of order, 
drop those */
                                if ( box[i].clkstart <= e)
                                        continue;
                                e = box[i].clkstart;
-                               fprintf(f, ""LLFMT" %f "LLFMT" "LLFMT"\n", 
box[i].clkstart, (box[i].memend / 1024.0), box[i].reads, box[i].writes);
+                               fprintf(f, ""LLFMT" %f %f "LLFMT" "LLFMT"\n", 
box[i].clkstart, (box[i].memend / 1024.0), box[i].footend/1024.0, box[i].reads, 
box[i].writes);
                                if (cpus == 0) {
                                        char *s = box[i].stmt;
                                        while (s && isspace((int) *s))
@@ -831,6 +834,15 @@ static void showmemory(void)
                                min = box[i].memstart;
                        if (box[i].memend < min)
                                min = box[i].memend;
+
+                       if (box[i].footstart > max)
+                               max = box[i].footstart;
+                       if (box[i].footend > max)
+                               max = box[i].footend;
+                       if (box[i].footstart < min && box[i].footstart > 0)
+                               min = box[i].footstart;
+                       if (box[i].footend < min && box[i].footend > 0)
+                               min = box[i].footend;
                }
        if (min == max) {
                min -= 1;
@@ -863,7 +875,8 @@ static void showmemory(void)
        mm = (mx - mn) / 50.0; /* 2% top & bottom margin */
        fprintf(gnudata, "set yrange [%f:%f]\n", mn - mm, mx + mm);
        fprintf(gnudata, "set ytics (\"%.*f\" %f, \"%.*f\" %f) nomirror\n", 
digits, min / scale, mn, digits, max / scale, mx);
-       fprintf(gnudata, "plot \"%s.dat\" using 1:2 notitle with dots linecolor 
rgb \"blue\"\n", (tracefile ? "scratch" : filename));
+       fprintf(gnudata, "plot \"%s.dat\" using 1:2 notitle with dots linecolor 
rgb \"blue\", \\\n", (tracefile ? "scratch" : filename));
+       fprintf(gnudata, " \"%s.dat\" using 1:3 notitle with dots linecolor rgb 
\"black\"\n", (tracefile ? "scratch" : filename));
        fprintf(gnudata, "unset yrange\n");
 }
 
@@ -930,8 +943,8 @@ static void showio(void)
        fprintf(gnudata, "unset ylabel\n");
        fprintf(gnudata, "set y2tics in (0, "LLFMT".0) nomirror\n", max / beat);
        fprintf(gnudata, "set y2label \"IO per ms\"\n");
-       fprintf(gnudata, "plot \"%s.dat\" using 1:(($3+$4)/%d.0) title 
\"reads\" with boxes fs solid linecolor rgb \"gray\" ,\\\n", (tracefile ? 
"scratch" : filename), beat);
-       fprintf(gnudata, "\"%s.dat\" using 1:($4/%d.0) title \"writes\" with 
boxes fs solid linecolor rgb \"red\"  \n", (tracefile ? "scratch" : filename), 
beat);
+       fprintf(gnudata, "plot \"%s.dat\" using 1:(($4+$5)/%d.0) title 
\"reads\" with boxes fs solid linecolor rgb \"gray\" ,\\\n", (tracefile ? 
"scratch" : filename), beat);
+       fprintf(gnudata, "\"%s.dat\" using 1:($5/%d.0) title \"writes\" with 
boxes fs solid linecolor rgb \"red\"  \n", (tracefile ? "scratch" : filename), 
beat);
        fprintf(gnudata, "unset y2label\n");
        fprintf(gnudata, "unset y2tics\n");
        fprintf(gnudata, "unset y2range\n");
@@ -1544,7 +1557,7 @@ static void createTomogram(void)
  * system is already processing. This leads to
  * receiving 'done' events without matching 'start'
  */
-static void update(int state, int thread, lng clkticks, lng ticks, lng memory, 
lng reads, lng writes, char *fcn, char *stmt)
+static void update(int state, int thread, lng clkticks, lng ticks, lng memory, 
lng footprint, lng reads, lng writes, char *fcn, char *stmt)
 {
        int idx;
        Box b;
@@ -1599,6 +1612,7 @@ static void update(int state, int thread
                lastclk[thread] = clkticks;
                box[idx].clkend = box[idx].clkstart = clkticks;
                box[idx].memend = box[idx].memstart = memory;
+               box[idx].footstart = box[idx].footend = footprint;
                box[idx].reads = reads;
                box[idx].writes = writes;
                s = strchr(stmt, (int) ']');
@@ -1622,6 +1636,7 @@ static void update(int state, int thread
                box[idx].thread = thread;
                box[idx].clkstart = clkticks;
                box[idx].memstart = memory;
+               box[idx].footstart = footprint;
                box[idx].stmt = stmt;
                box[idx].fcn = fcn ? strdup(fcn) : "";
        }
@@ -1630,6 +1645,7 @@ static void update(int state, int thread
                lastclk[thread] = clkticks;
                box[idx].clkend = clkticks;
                box[idx].memend = memory;
+               box[idx].footend = footprint;
                box[idx].ticks = ticks;
                box[idx].state = ACTION;
                box[idx].reads = reads;
@@ -1669,9 +1685,10 @@ static int parser(char *row)
        int thread = 0;
        lng ticks = 0;
        lng memory = 0; /* in MB*/
+       lng footprint = 0; /* in MB*/
        char *fcn = 0, *stmt = 0;
        int state = 0;
-       lng reads, writes;
+       lng reads= 0, writes= 0;
 
        /* check basic validaty first */
        if (row[0] != '[')
@@ -1734,10 +1751,16 @@ static int parser(char *row)
                return -6;
_______________________________________________
checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to