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

Reply via email to