Changeset: b43123a05c10 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b43123a05c10 Added Files: clients/python3/test/control.py monetdb5/mal/Tests/tst275.mal monetdb5/mal/Tests/tst275.stable.err monetdb5/mal/Tests/tst275.stable.out monetdb5/modules/mal/Tests/batpartition.mal monetdb5/modules/mal/Tests/batpartition.stable.err monetdb5/modules/mal/Tests/batpartition.stable.out monetdb5/modules/mal/Tests/callfunction.mal monetdb5/modules/mal/Tests/callfunction.stable.err monetdb5/modules/mal/Tests/callfunction.stable.out monetdb5/modules/mal/Tests/callstring.mal monetdb5/modules/mal/Tests/callstring.stable.err monetdb5/modules/mal/Tests/callstring.stable.out monetdb5/scheduler/Tests/mutation00.mal monetdb5/scheduler/Tests/mutation00.stable.err monetdb5/scheduler/Tests/mutation00.stable.out sql/Changelog.Feb2013 sql/server/rel_planner.c sql/server/rel_planner.h sql/test/BugTracker-2013/Tests/groupby_on_value_view.Bug-3264.sql sql/test/BugTracker-2013/Tests/groupby_on_value_view.Bug-3264.stable.err sql/test/BugTracker-2013/Tests/groupby_on_value_view.Bug-3264.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/tomograph.c clients/mapilib/mapi.rc clients/odbc/driver/driver.rc clients/odbc/winsetup/setup.rc clients/php/doc/generate_doc.sh clients/php/examples/query.php clients/python2/monetdb/__init__.py clients/python2/monetdb/control.py clients/python2/monetdb/exceptions.py clients/python2/monetdb/mapi.py clients/python2/monetdb/sql/__init__.py clients/python2/monetdb/sql/connections.py clients/python2/monetdb/sql/converters.py clients/python2/monetdb/sql/cursors.py clients/python2/monetdb/sql/monetize.py clients/python2/monetdb/sql/pythonize.py clients/python2/monetdb/sql/types.py clients/python2/setup.py clients/python3/monetdb/__init__.py clients/python3/monetdb/control.py clients/python3/monetdb/exceptions.py clients/python3/monetdb/mapi.py clients/python3/monetdb/sql/__init__.py clients/python3/monetdb/sql/connections.py clients/python3/monetdb/sql/converters.py clients/python3/monetdb/sql/cursors.py clients/python3/monetdb/sql/monetize.py clients/python3/monetdb/sql/pythonize.py clients/python3/monetdb/sql/types.py clients/python3/setup.py clients/ruby/lib/MonetDBExceptions.rb common/utils/msabaoth.c configure.ag debian/changelog gdk/ChangeLog-Archive gdk/ChangeLog.Feb2013 gdk/gdk_atomic.h gdk/gdk_atoms.c gdk/gdk_bat.c gdk/gdk_bbp.c gdk/gdk_calc_private.h gdk/gdk_heap.c gdk/gdk_mapreduce.c gdk/gdk_sample.c gdk/gdk_select.c gdk/gdk_system.c gdk/gdk_utils.c gdk/libbat.rc java/ChangeLog-Archive java/ChangeLog.Feb2013 java/build.xml libversions monetdb5/ChangeLog-Archive monetdb5/ChangeLog.Feb2013 monetdb5/extras/jaql/jaqlgencode.c monetdb5/extras/jaql/jaqlscenario.c monetdb5/mal/Tests/All monetdb5/mal/Tests/tst274.stable.out.oid64 monetdb5/mal/mal.c monetdb5/mal/mal_dataflow.c monetdb5/mal/mal_function.c monetdb5/mal/mal_instruction.c monetdb5/mal/mal_instruction.h monetdb5/mal/mal_module.c monetdb5/mal/mal_namespace.c monetdb5/mal/mal_parser.c monetdb5/mal/mal_profiler.c monetdb5/mal/mal_properties.c monetdb5/mal/mal_runtime.c monetdb5/mal/mal_runtime.h monetdb5/mal/mal_sabaoth.c monetdb5/mal/mal_session.c monetdb5/modules/mal/Tests/All monetdb5/modules/mal/Tests/partition.stable.out monetdb5/modules/mal/batExtensions.c monetdb5/modules/mal/language.c monetdb5/modules/mal/language.h monetdb5/modules/mal/language.mal monetdb5/modules/mal/mal_mapi.c monetdb5/modules/mal/pcre.c monetdb5/modules/mal/profiler.h monetdb5/modules/mal/remote.c monetdb5/modules/mal/tablet.c monetdb5/optimizer/Tests/joinpath.mal monetdb5/optimizer/Tests/joinpath.stable.out monetdb5/optimizer/opt_joinpath.c monetdb5/optimizer/opt_mergetable.c monetdb5/optimizer/opt_mitosis.c monetdb5/optimizer/optimizer.mal monetdb5/scheduler/Tests/All monetdb5/tools/libmonetdb5.rc sql/backends/monet5/Makefile.ag sql/backends/monet5/rel_bin.c sql/backends/monet5/sql.mx sql/backends/monet5/sql_optimizer.c sql/backends/monet5/sql_scenario.c sql/backends/monet5/vaults/fits.c sql/backends/monet5/vaults/mseed.c sql/common/sql_list.c sql/common/sql_mem.c sql/common/sql_types.c sql/common/sql_types.h sql/include/sql_catalog.h sql/jdbc/tests/Tests/Test_Dobjects.stable.out sql/scripts/15_querylog.sql sql/scripts/16_tracelog.sql sql/scripts/22_clients.sql sql/scripts/25_debug.sql sql/scripts/26_sysmon.sql sql/scripts/75_storagemodel.sql sql/server/Makefile.ag sql/server/rel_optimizer.c sql/server/rel_optimizer.h sql/server/rel_psm.c sql/server/rel_schema.c sql/server/rel_select.c sql/server/rel_updates.c sql/server/sql_mvc.c sql/server/sql_mvc.h sql/server/sql_parser.y sql/server/sql_scan.h sql/server/sql_semantic.h sql/storage/Makefile.ag sql/storage/bat/bat_storage.c sql/storage/bat/bat_storage.h sql/storage/bat/bat_table.c sql/storage/bat/bat_table.h sql/storage/bat/bat_utils.c sql/storage/bat/bat_utils.h sql/storage/sql_catalog.c sql/storage/sql_storage.h sql/storage/store.c sql/test/BugDay_2005-10-06_2.8/Tests/MapiClient-dump.SF-905851.stable.out sql/test/BugDay_2005-10-06_2.9.3/Tests/last_line_without_newline.SF-922390_s02.sql sql/test/BugTracker-2008/Tests/sql_command_kills_db.SF-2233677.stable.err sql/test/BugTracker-2009/Tests/dumping_tables.SF-2776908--optimizers.stable.out sql/test/BugTracker-2009/Tests/dumping_tables.SF-2776908--performance.stable.out sql/test/BugTracker-2009/Tests/dumping_tables.SF-2776908.stable.out sql/test/BugTracker-2009/Tests/mclient-lsql-D.stable.out sql/test/BugTracker-2009/Tests/name_clash_with_dump.SF-2780395.stable.out sql/test/BugTracker-2009/Tests/union_leak.SF-2540169.3.sql sql/test/BugTracker-2011/Tests/count-count-distinct.Bug-2808.stable.out sql/test/BugTracker-2011/Tests/exists-select.Bug-2933.stable.out sql/test/BugTracker-2011/Tests/interrupted-initialization.Bug-2875.stable.out sql/test/BugTracker-2011/Tests/mclient-lsql-d.Bug-2861.stable.out sql/test/BugTracker-2011/Tests/perl-table_info.Bug-2885.pl sql/test/BugTracker-2012/Tests/aggregate_vs_positional_column_crash.Bug-3085.stable.out sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.err sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090.stable.out sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090_nogeom.stable.err sql/test/BugTracker-2012/Tests/predicate_select.Bug-3090_nogeom.stable.out sql/test/BugTracker-2013/Tests/All sql/test/BugTracker-2013/Tests/php-size-limit-bug.php sql/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err sql/test/BugTracker/Tests/cardinality_violation.SF-1240701.stable.err.Windows sql/test/BugTracker/Tests/multi-column-constraint.SF-1964587.stable.out sql/test/BugTracker/Tests/rank_over.SF-1691098.stable.out sql/test/BugTracker/Tests/set_sql_debug_64__breaking_the_DB.SF-1906287.stable.out sql/test/BugTracker/Tests/with_only_once.SF-1720293.stable.out sql/test/Dependencies/Tests/dependency_loop.stable.out sql/test/Dump/Tests/dump-empty.stable.out sql/test/Dump/Tests/dump.stable.out sql/test/Tests/systemfunctions.stable.out sql/test/Tests/systemfunctions_nogeom.stable.out sql/test/Tests/trace.stable.out sql/test/Tests/trace_nogeom.stable.out sql/test/UserDump/Tests/create.stable.out sql/test/bugs/Tests/crash_order_by.stable.out sql/test/bugs/Tests/simple_view.stable.out sql/test/bugs/union_all_where_1=1-bug-sf-936386.sql sql/test/leaks/Tests/check0.stable.out sql/test/leaks/Tests/check0_nogeom.stable.out sql/test/leaks/Tests/check1.stable.out sql/test/leaks/Tests/check1_nogeom.stable.out sql/test/leaks/Tests/check2.stable.out sql/test/leaks/Tests/check2_nogeom.stable.out sql/test/leaks/Tests/check3.stable.out sql/test/leaks/Tests/check3_nogeom.stable.out sql/test/leaks/Tests/check4.stable.out sql/test/leaks/Tests/check4_nogeom.stable.out sql/test/leaks/Tests/check5.stable.out sql/test/leaks/Tests/check5_nogeom.stable.out sql/test/leaks/Tests/drop3.stable.out sql/test/leaks/Tests/drop3_nogeom.stable.out sql/test/leaks/Tests/select1.stable.out sql/test/leaks/Tests/select1_nogeom.stable.out sql/test/leaks/Tests/select2.stable.out sql/test/leaks/Tests/select2_nogeom.stable.out sql/test/leaks/Tests/temp1.stable.out sql/test/leaks/Tests/temp1_nogeom.stable.out sql/test/leaks/Tests/temp2.stable.out sql/test/leaks/Tests/temp2_nogeom.stable.out sql/test/leaks/Tests/temp3.stable.out sql/test/leaks/Tests/temp3_nogeom.stable.out sql/test/mapi/Tests/php_monetdb.stable.out sql/test/mapi/Tests/php_monetdb_nogeom.stable.out sql/test/pg_regress/sql/update.sql sql/test/ssqq/Tests/All sql/test/ssqq/Tests/insert_query.sql.src sql/test/ssqq/Tests/insert_query.stable.out sql/test/ssqq/Tests/insert_queue.sql.src sql/test/ssqq/Tests/insert_queue.stable.err sql/test/ssqq/Tests/insert_queue.stable.out sql/test/ssqq/Tests/insert_quser.sql.src sql/test/ssqq/Tests/insert_quser.stable.out sql/test/ssqq/Tests/ssqq.sql.src sql/test/ssqq/insert_query.sql sql/test/ssqq/insert_queue.sql sql/test/ssqq/insert_quser.sql sql/test/ssqq/ssqq.sql sql/test/testdb/Tests/testdb-dump.stable.out.Windows tools/merovingian/client/monetdb.c vertoo.data Branch: rdf Log Message:
Merge with default branch diffs (truncated from 12765 to 300 lines): diff --git a/.hgtags b/.hgtags --- a/.hgtags +++ b/.hgtags @@ -518,3 +518,6 @@ 693187b90b57a610779caa942efe7514372125ee 23894afae1679eb37e6866a793ba00782c4b0804 Feb2013_release 355d0e22cf76c461ba4009d11f84d7bd7349b2a4 Feb2013_3 fc0c9b319d2275215c283a7ece1d389e55b43217 Feb2013_SP1_release +0ee398b5025f7bc3c0320d70eb5c0a3707b69c67 mutation_root +7daa66a6db1c0404dbf7ed935437b59b7bf54d4b Feb2013_5 +df2cbb7845660d94dc484bab860b6893344be92a Feb2013_SP2_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/Feb2013-SP1/%{name}-%{version}.tar.bz2 +Source: http://dev.monetdb.org/downloads/sources/Feb2013-SP2/%{name}-%{version}.tar.bz2 BuildRequires: bison BuildRequires: bzip2-devel @@ -722,6 +722,20 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/libmonet rm -fr $RPM_BUILD_ROOT %changelog +* Fri Apr 12 2013 Sjoerd Mullender <[email protected]> - 11.15.5-20130412 +- Rebuilt. + +* Thu Apr 11 2013 Sjoerd Mullender <[email protected]> - 11.15.5-20130412 +- java: The pre-compiled .jar files are now created using Java 7 instead of + Java 6. + +* Mon Apr 8 2013 Sjoerd Mullender <[email protected]> - 11.15.5-20130412 +- gdk: Fixed a bug in case the candidate list is dense and completely + outside the range of the bat being worked upon. + +* Tue Mar 12 2013 Sjoerd Mullender <[email protected]> - 11.15.5-20130412 +- monetdb5: Fixed argument parsing of mapi.reconnect() with 5 arguments. + * Wed Feb 27 2013 Sjoerd Mullender <[email protected]> - 11.15.3-20130227 - 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 @@ -1836,7 +1836,6 @@ str OPTvectorOid(Client cntxt, MalBlkPtr str OPTwrapper(Client cntxt, MalBlkPtr mb, MalStkPtr stk, InstrPtr p); str PCREcompile_wrap(pcre **res, str *pattern); str PCREexec_wrap(bit *res, pcre *pattern, str *s); -str PCREfromstr(str instr, int *l, pcre **val); str PCREilike2(bit *ret, str *s, str *pat); str PCREilike3(bit *ret, str *s, str *pat, str *esc); str PCREilike_join_pcre(int *l, int *r, int *b, int *pat, str *esc); @@ -1861,10 +1860,8 @@ str PCREpatindex(int *ret, str *pat, str str PCREquote(str *r, str *v); str PCREreplace_bat_wrap(int *res, int *or, str *pat, str *repl, str *flags); str PCREreplace_wrap(str *res, str *or, str *pat, str *repl, str *flags); -str PCREselect(int *res, str *pattern, int *bid, bit *ignore); str PCREselectDef(int *res, str *pattern, int *bid); str PCREsql2pcre(str *ret, str *pat, str *esc); -str PCREuselect(int *res, str *pattern, int *bid, bit *ignore); str PCREuselectDef(int *res, str *pattern, int *bid); str PQdequeue_anymax(int *ret, int *bid); str PQdequeue_anymin(int *ret, int *bid); @@ -2901,7 +2898,7 @@ str partitionRef; str passRef; str pcreRef; void pcre_del(Heap *h, var_t *index); -int pcre_fromstr(str instr, int *l, pcre **val); +int pcre_fromstr(const char *instr, int *l, pcre **val); BUN pcre_hash(pcre *b); void pcre_heap(Heap *heap, size_t capacity); str pcre_init(void); diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c --- a/clients/mapiclient/tomograph.c +++ b/clients/mapiclient/tomograph.c @@ -139,6 +139,7 @@ static char hostname[128]; static char *filename = "tomograph"; static char *tracefile = 0; static lng startrange = 0, endrange = 0; +static char *inputfile = NULL; static char *title = 0; static int debug = 0; static int colormap = 0; @@ -164,6 +165,7 @@ usage(void) fprintf(stderr, " -s | --sql=<single sql expression>\n"); fprintf(stderr, " -t | --trace=<tomograph trace filename>\n"); fprintf(stderr, " -r | --range=<starttime>-<endtime>[ms,s] \n"); + fprintf(stderr, " -i | --input=<profiler event file > \n"); fprintf(stderr, " -o | --output=<file prefix > (default 'tomograph'\n"); fprintf(stderr, " -b | --beat=<delay> in milliseconds (default 50)\n"); fprintf(stderr, " -B | --batch=<number> of combined queries\n"); @@ -674,6 +676,8 @@ base_colors[] = { /* 1 */ { 0, 0, "algebra", "project", 0 }, /* 1 */ { 0, 0, "algebra", "fetch", 0 }, /* 1 */ { 0, 0, "aggr", "max", 0 }, +/* ? */ { 0, 0, "aggr", "avg", 0 }, +/* ? */ { 0, 0, "aggr", "subavg", 0 }, /* 0 */ { 0, 0, 0, 0, 0 } }; @@ -1155,7 +1159,7 @@ static void showcolormap(char *filename, if (k % 3 == 0) h -= 45; - fprintf(f, "set object %d rectangle from %f, %f to %f, %f fillcolor rgb \"%s\" fillstyle solid 0.6\n", + fprintf(f, "set object %d rectangle from %f, %f to %f, %f fillcolor rgb \"%s\" fillstyle solid 1.0\n", object++, (double) (k % 3) * w, (double) h - 40, (double) ((k % 3) * w + 0.15 * w), (double) h - 5, clrs[i].col); fprintf(f, "set label %d \"%s.%s \" at %d,%d\n", object++, clrs[i].mod, clrs[i].fcn, (int) ((k % 3) * w + 0.2 * w), h - 15); @@ -1561,7 +1565,12 @@ static void createTomogram(void) * that the tomograph start can appear while the * system is already processing. This leads to * receiving 'done' events without matching 'start' + * + * A secondary issue is to properly count the functions + * being monitored. */ +char *currentfunction= 0; + 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; @@ -1572,19 +1581,30 @@ static void update(int state, int thread if (fcn && strncmp(fcn, "end ", 4) == 0) return; if (starttime == 0) { - /* ignore all instructions up to the first function call */ - if (state >= PING || fcn == 0 || strncmp(fcn, "function", 8) != 0) + /* ignore all instructions up to the first function call, unless input comes from a file */ + if ( inputfile == NULL && (state >= PING || fcn == 0 || strncmp(fcn, "function", 8) != 0)) return; assert(clkticks >= 0); starttime = clkticks; + } + + /* monitor top level function brackets */ + if (state == START && fcn && strncmp(fcn, "function", 8) == 0 ){ + if ( currentfunction == 0) { + currentfunction = strdup(fcn+9); + if (debug) + fprintf(stderr, "Enter function %s batch %d\n", currentfunction, batch); + } return; } - - if (state == DONE && fcn && (strncmp(fcn, "function", 8) == 0 || strncmp(fcn, "profiler.tomograph", 18) == 0)) { - if (debug) - fprintf(stderr, "Batch %d\n", batch); - if (strncmp(fcn, "function", 8) == 0 && batch-- > 1) - return; + if (state == DONE && fcn && strncmp(fcn, "function", 8) == 0 ){ + if ( currentfunction && strcmp(currentfunction, fcn+9) == 0){ + if (debug) + fprintf(stderr, "Leave function %s batch %d\n", currentfunction, batch); + free(currentfunction); + currentfunction = 0; + } else return; + if ( batch -- > 1) return; deactivateBeat(); createTomogram(); totalclkticks = 0; /* number of clock ticks reported */ @@ -1594,6 +1614,16 @@ static void update(int state, int thread return; } + if (state == DONE && strncmp(fcn, "profiler.tomograph", 18) == 0) { + if (debug) + fprintf(stderr, "Profiler.tomograph ends %d\n", batch); + deactivateBeat(); + createTomogram(); + totalclkticks = 0; /* number of clock ticks reported */ + totalexecticks = 0; /* number of ticks reported for processing */ + return; + } + assert(clkticks >= 0); clkticks -= starttime; if (clkticks < 0) { @@ -1719,6 +1749,8 @@ static int parser(char *row) } else { state = 0; c = strchr(c + 1, (int) '"'); + if ( c == 0) + return -2; } c = strchr(c + 1, (int) '"'); @@ -1813,6 +1845,43 @@ wrapup: return 0; } +static void processFile(char *fname) +{ + size_t len; + ssize_t n; + int i; + char buf[BUFSIZ + 1]; + char *e, *response; + stream *s; + + s = open_rstream(fname); + if ( s == NULL || mnstr_errnr(s)){ + fprintf(stderr,"ERROR Can not access '%s'\n",fname); + return; + } + len = 0; + while (s && (n = mnstr_read(s, buf, 1, BUFSIZ - len)) > 0) { + buf[n] = 0; + response = buf; + while ((e = strchr(response, '\n')) != NULL) { + *e = 0; + i = parser(response); + if (debug ) + fprintf(stderr, "ERROR %d:%s\n", i, response); + response = e + 1; + } + /* handle last line in buffer */ + if (*response) { + if (debug) + printf("LASTLINE:%s", response); + len = strlen(response); + strncpy(buf, response, len + 1); + } else + len = 0; + } + mnstr_close(s); +} + static void format_result(Mapi mid, MapiHdl hdl) { @@ -2060,7 +2129,7 @@ main(int argc, char **argv) { int a = 1; int k = 0; - char *host = NULL; + char *host = "localhost"; int portnr = 0; char *dbname = NULL; char *uri = NULL; @@ -2071,13 +2140,14 @@ main(int argc, char **argv) wthread *walk; - static struct option long_options[16] = { + static struct option long_options[17] = { { "dbname", 1, 0, 'd' }, { "user", 1, 0, 'u' }, { "port", 1, 0, 'p' }, { "host", 1, 0, 'h' }, { "help", 0, 0, '?' }, { "title", 1, 0, 'T' }, + { "input", 1, 0, 'i' }, { "trace", 1, 0, 't' }, { "range", 1, 0, 'r' }, { "output", 1, 0, 'o' }, @@ -2096,7 +2166,7 @@ main(int argc, char **argv) while (1) { int option_index = 0; - int c = getopt_long(argc, argv, "d:u:p:h:?T:t:r:o:Db:B:s:m:a", + int c = getopt_long(argc, argv, "d:u:p:h:?T:i:t:r:o:Db:B:s:m:a", long_options, &option_index); if (c == -1) break; @@ -2116,6 +2186,9 @@ main(int argc, char **argv) case 'd': dbname = optarg; break; + case 'i': + inputfile = optarg; + break; case 'u': if (user) free(user); @@ -2222,6 +2295,11 @@ main(int argc, char **argv) } else k = setCounter(COUNTERSDEFAULT); + if (inputfile){ + processFile(inputfile); + createTomogram(); + exit(0); + } if (tracefile) { /* reload existing tomogram */ scandata(tracefile); diff --git a/clients/php/doc/generate_doc.sh b/clients/php/doc/generate_doc.sh --- a/clients/php/doc/generate_doc.sh +++ b/clients/php/doc/generate_doc.sh @@ -17,4 +17,4 @@ doc_dir=$current_dir/$2 title="MonetDB5 PHP API" -phpdoc -ti $title -o "HTML:frames:phpedit" -f $source_code -t $doc_dir \ No newline at end of file +phpdoc -ti $title -o "HTML:frames:phpedit" -f $source_code -t $doc_dir diff --git a/clients/php/examples/query.php b/clients/php/examples/query.php _______________________________________________ checkin-list mailing list [email protected] http://mail.monetdb.org/mailman/listinfo/checkin-list
