Changeset: 6ba6f6dfccf5 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=6ba6f6dfccf5
Removed Files:
        monetdb5/tests/gdkTests/Tests/append_dense_tail.mal
        monetdb5/tests/gdkTests/Tests/append_dense_tail.stable.err
        monetdb5/tests/gdkTests/Tests/append_dense_tail.stable.out
Modified Files:
        clients/Tests/MAL-signatures_all.stable.out.int128
        clients/Tests/SQL-dump_all.stable.out.int128
        clients/examples/php/sqlsample.php
        clients/mapiclient/stethoscope.c
        clients/mapiclient/tomograph.c
        monetdb5/tests/gdkTests/Tests/All
        sql/backends/monet5/rel_bin.c
        sql/backends/monet5/sql.c
        sql/backends/monet5/sql.mal
        sql/include/sql_catalog.h
        sql/jdbc/tests/Tests/Test_Dobjects_bam.stable.out
        sql/scripts/75_storagemodel.sql
        sql/server/rel_optimizer.c
        sql/server/rel_schema.c
        sql/server/rel_trans.h
        sql/server/rel_updates.c
        sql/server/sql_mvc.c
        sql/server/sql_mvc.h
        sql/server/sql_parser.h
        sql/server/sql_parser.y
        sql/server/sql_scan.c
        sql/storage/bat/bat_logger.c
        sql/storage/bat/bat_storage.c
        sql/storage/sql_storage.h
        sql/storage/store.c
        
sql/test/BugDay_2005-11-09_2.8/Tests/ORDER_BY_evaluation_error.SF-1023658.stable.out
        
sql/test/BugTracker-2010/Tests/offset_limited_32bit.SF-2950579.stable.out
        sql/test/BugTracker-2013/Tests/alter_resets_readonly.Bug-3362.sql
        sql/test/BugTracker-2013/Tests/alter_resets_readonly.Bug-3362.stable.out
        sql/test/BugTracker/Tests/like_exp.SF-1613949.stable.out
        sql/test/Tests/systemfunctions_bam.stable.out.int128
        sql/test/bugs/Tests/select_orderby_alias-bug-sf-1024615.stable.out
        sql/test/leaks/Tests/check1_bam.stable.out.int128
        sql/test/leaks/Tests/check2_bam.stable.out.int128
        sql/test/leaks/Tests/check3_bam.stable.out.int128
        sql/test/leaks/Tests/check4_bam.stable.out.int128
        sql/test/leaks/Tests/check5_bam.stable.out.int128
        sql/test/mapi/Tests/php_monetdb.stable.out
        
sql/test/mserver5-sql-readonly/Tests/mserver5-sql-readonly-table.stable.err
Branch: mosaic
Log Message:

Merge with default


diffs (truncated from 612 to 300 lines):

diff --git a/clients/Tests/MAL-signatures_all.stable.out.int128 
b/clients/Tests/MAL-signatures_all.stable.out.int128
--- a/clients/Tests/MAL-signatures_all.stable.out.int128
+++ b/clients/Tests/MAL-signatures_all.stable.out.int128
@@ -2817,13 +2817,16 @@ command algebra.groupby(gids:bat[:oid,:o
 address ALGgroupby;
 comment Produces a new BAT with groups identified by the head column. The 
result contains tail times the head value, ie the tail contains the result 
group sizes.
 
-function 
algebra.ilikesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]);
+command 
algebra.ilikesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
+address ILIKEsubjoin1;
 command 
algebra.ilikesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],esc:str,sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_8:bat[:oid,:oid],X_9:bat[:oid,:oid]) 
 address ILIKEsubjoin;
 comment Join the string bat L with the pattern bat Rwith optional candidate 
lists SL and SR using pattern escape string ESCand doing a case insensitive 
match.The result is two aligned bats with oids of matching rows.
 
-function 
algebra.ilikesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,anti:bit):bat[:oid,:oid];
-function 
algebra.ilikesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,esc:str,anti:bit):bat[:oid,:oid];
+command 
algebra.ilikesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,anti:bit):bat[:oid,:oid]
 
+address PCRElikesubselect4;
+command 
algebra.ilikesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,esc:str,anti:bit):bat[:oid,:oid]
 
+address PCRElikesubselect1;
 command algebra.ilike(s:str,pat:str):bit 
 address PCREilike2;
 command algebra.ilike(s:str,pat:str,esc:str):bit 
@@ -2838,20 +2841,6 @@ command algebra.join(left:bat[:oid,:any_
 address ALGjoin2;
 comment Returns 2 columns with all BUNs, consisting of the head-oids     from 
'left' and 'right' for which there are BUNs in 'left'      and 'right' with 
equal tails
 
-command 
algebra.join(l:bat[:any_1,:any_2],rl:bat[:any_3,:any_2],rh:bat[:any_3,:any_2],li:bit,hi:bit):bat[:any_1,:any_3]
 
-address ALGrangejoin;
-command 
algebra.kunion(left:bat[:any_1,:any_2],right:bat[:any_1,:any_2]):bat[:any_1,:any_2]
 
-address ALGkunion;
-comment Returns the union of two BATs; looking at head-columns only.           
Results in all BUNs of 'left' that are  not in 'right', plus    all BUNs of 
'right'.  *no* double-elimination is done.
-
-command 
algebra.kdifference(left:bat[:any_1,:any_2],right:bat[:any_1,:any]):bat[:any_1,:any_2]
 
-address ALGkdiff;
-comment Returns the difference taken over only the *head* columns of two BATs. 
        Results in all BUNs of 'left' that are *not* in 'right'.                
It does *not* do double-elimination over the 'left' BUNs.               If you 
want this, use:   'kdifference(left.kunique,right.kunique)'      or: 
'kdifference(left,right).kunique'.
-
-command 
algebra.kintersect(left:bat[:any_1,:any_2],right:bat[:any_1,:any]):bat[:any_1,:any_2]
 
-address ALGsemijoin;
-comment Returns the intersection taken over only the *head* columns of two 
BATs.       Results in all BUNs of 'left' that are also in 'right'.         
Does *not* do double- elimination over the 'left' BUNs.         If you want 
this, use: 'kintersect(kunique(left),kunique(right))'       or: 
'kunique(kintersect(left,right))'.
-
 pattern algebra.leftfetchjoinPath(l:bat[:any,:any]...):bat[:any,:any] 
 address ALGjoinPath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
@@ -2860,13 +2849,16 @@ pattern algebra.leftjoinPath(l:bat[:any,
 address ALGjoinPath;
 comment Routine to handle join paths.  The type analysis is rather tricky.
 
-function 
algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]);
+command 
algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_7:bat[:oid,:oid],X_8:bat[:oid,:oid]) 
+address LIKEsubjoin1;
 command 
algebra.likesubjoin(l:bat[:oid,:str],r:bat[:oid,:str],esc:str,sl:bat[:oid,:oid],sr:bat[:oid,:oid],nil_matches:bit,estimate:lng)
 (X_8:bat[:oid,:oid],X_9:bat[:oid,:oid]) 
 address LIKEsubjoin;
 comment Join the string bat L with the pattern bat Rwith optional candidate 
lists SL and SR using pattern escape string ESCand doing a case sensitive 
match.The result is two aligned bats with oids of matching rows.
 
-function 
algebra.likesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,anti:bit):bat[:oid,:oid];
-function 
algebra.likesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,esc:str,anti:bit):bat[:oid,:oid];
+command 
algebra.likesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,anti:bit):bat[:oid,:oid]
 
+address PCRElikesubselect5;
+command 
algebra.likesubselect(b:bat[:oid,:str],cand:bat[:oid,:oid],pat:str,esc:str,anti:bit):bat[:oid,:oid]
 
+address PCRElikesubselect3;
 command 
algebra.likesubselect(b:bat[:oid,:str],s:bat[:oid,:oid],pat:str,esc:str,caseignore:bit,anti:bit):bat[:oid,:oid]
 
 address PCRElikesubselect2;
 comment Select all head values of the first input BAT for which the    tail 
value is "like" the given (SQL-style) pattern and for      which the head value 
occurs in the tail of the second input     BAT.    Input is a dense-headed BAT, 
output is a dense-headed BAT with in       the tail the head value of the input 
BAT for which the  relationship holds.  The output BAT is sorted on the tail 
value.
@@ -40359,14 +40351,6 @@ command bat.insert(b:bat[:oid,:any_1],sr
 address BKCinsert_bat;
 comment Insert all BUNs of the second BAT into the first.
 
-command 
bat.insert(b:bat[:oid,:any_1],h:oid,t:any_1,force:bit):bat[:oid,:any_1] 
-address BKCinsert_bun_force;
-comment Insert one BUN[h,t] in a BAT.
-
-command bat.insert(b:bat[:oid,:any_1],h:oid,t:any_1):bat[:oid,:any_1] 
-address BKCinsert_bun;
-comment Insert one BUN[h,t] in a BAT.
-
 command bat.load(name:str):bat[:oid,:any_1] 
 address BKCload;
 comment Load a particular BAT from disk
@@ -40453,6 +40437,10 @@ command bat.reverse(b:bat[:any_1,:any_2]
 address BKCreverse;
 comment Returns the reverse view of a BAT (head is tail and tail is head).     
   BEWARE  no copying is involved; input and output refer to the         same 
object!
 
+pattern bat.single(val:any_1):bat[:oid,:any_1] 
+address CMDBATsingle;
+comment Create a BAT with a single elemenet
+
 command bat.shrinkMap(b:bat[:oid,:any_1],del:bat[:oid,:oid]):bat[:oid,:oid] 
 address BKCshrinkBATmap;
 comment Derive the oid mapping for shrink BAT based on list of to-be-deleted
@@ -51222,10 +51210,6 @@ command pcre.sql2pcre(pat:str,esc:str):s
 address PCREsql2pcre;
 comment Convert a SQL like pattern with the given escape character into a PCRE 
pattern.
 
-pattern profiler.activate(name:str...):void 
-address CMDactivateProfiler;
-comment A list of counters to be activated.
-
 command profiler.cpuload(user:lng,nice:lng,sys:lng,idle:lng,iowait:lng) 
(cycles:int,io:int) 
 address CMDcpuloadPercentage;
 comment Calculate the average cpu load percentage and io waiting times
@@ -51238,14 +51222,6 @@ command profiler.cleanup():void
 address CMDcleanup;
 comment Remove the temporary tables for profiling
 
-pattern profiler.clrFilter(v:any):void 
-address CMDsetFilterVariable;
-comment Stop tracing the variable
-
-pattern profiler.clrFilter(mod:str,fcn:str):void 
-address CMDclrFilterProfiler;
-comment Clear the performance trace bit        of the selected functions.
-
 command profiler.closeStream():void 
 address CMDcloseProfilerStream;
 comment Stop sending the event records
@@ -51254,14 +51230,6 @@ command profiler.dumpTrace():void
 address CMDdumpTrace;
 comment List the events collected
 
-pattern profiler.deactivate(name:str...):void 
-address CMDdeactivateProfiler;
-comment A list of counters to be deactivated.
-
-pattern profiler.getFootprint():lng 
-address CMDgetFootprint;
-comment Get the amount of memory claimed and reset the flag
-
 command profiler.getSystemTime():lng 
 address CMDgetSystemTime;
 comment Obtain the user timing information.
@@ -51278,10 +51246,6 @@ command profiler.getDiskReads():lng
 address CMDgetDiskReads;
 comment Obtain the number of physical reads
 
-pattern profiler.getEvent() (X_1:lng,X_2:lng,X_3:lng) 
-address CMDgetEvent;
-comment Retrieve the performance indicators of the previous instruction
-
 command profiler.getTrace(e:str):bat[:oid,:any_1] 
 address CMDgetTrace;
 comment Get the trace details of a specific event
@@ -51306,49 +51270,29 @@ command profiler.reset():void
 address CMDclearTrace;
 comment Clear the profiler traces
 
+command profiler.setHeartbeat(b:int):void 
+address CMDsetHeartbeat;
+comment Set heart beat performance tracing
+
 pattern profiler.stop():void 
 address CMDstopProfiler;
 comment Stop performance tracing
 
-pattern profiler.start():void 
-address CMDstartProfiler;
-comment Start performance tracing
-
-pattern profiler.setEndPoint(mod:str,fcn:str):void 
-address CMDendPointProfiler;
-comment End performance tracing after mod.fcn
-
-pattern profiler.setStartPoint(mod:str,fcn:str):void 
-address CMDstartPointProfiler;
-comment Start performance tracing at mod.fcn
-
-pattern profiler.setFilter(v:any):void 
-address CMDsetFilterVariable;
-comment Generate an event record for   every instruction where v is used.
-
-pattern profiler.setFilter(mod:str,fcn:str):void 
-address CMDsetFilterProfiler;
-comment Generate an event record for all       function calls that satisfy the 
regular expression mod.fcn. A wildcard (*) can  be used as name to identify all
-
-pattern profiler.setNone():void 
-address CMDsetNoneProfiler;
-comment Short cut for clrFilter(*,*).
-
-pattern profiler.setAll():void 
-address CMDsetAllProfiler;
-comment Short cut for setFilter(*,*).
-
-command profiler.tomograph():void 
+command profiler.stethoscope(b:int):void 
+address CMDstethoscope;
+comment Start stethoscope profiling with heart beat
+
+command profiler.tomograph(b:int):void 
 address CMDtomograph;
-comment No-op operation, merely a signal to the tomograph package
-
-pattern 
querylog.call(tick1:timestamp,tick2:timestamp,arg:str,tuples:wrd,xtime:lng,rtime:lng,cpu:int,iowait:int,space:lng):void
 
+comment Start tomograph profiler with heart beat
+
+pattern 
querylog.call(tick1:timestamp,tick2:timestamp,arg:str,tuples:wrd,xtime:lng,rtime:lng,cpu:int,iowait:int):void
 
 address QLOGcall;
 comment Add a new query call to the query log
 
-pattern querylog.define(q:str,pipe:str,usr:str,tick:timestamp):oid 
-address QLOGdefine;
-comment Add a new query call to the query log
+command querylog.define(q:str,pipe:str):void 
+address QLOGdefineNaive;
+comment Noop operation, just marking the query
 
 command querylog.disable():void 
 address QLOGdisable;
@@ -51366,6 +51310,10 @@ command querylog.enable(threshold:int):v
 address QLOGenableThreshold;
 comment Turn on the query logger
 
+pattern querylog.insert(q:str,pipe:str,usr:str,tick:timestamp):void 
+address QLOGinsert;
+comment Add a new query call to the query log
+
 command querylog.isset():int 
 address QLOGissetFcn;
 comment Return status of query logger
@@ -51803,7 +51751,7 @@ command sql.dec_round(v:bte,r:bte):bte
 address bte_dec_round_wrap;
 comment round off the value v to nearests multiple of r
 
-pattern sql.dump_trace() 
(event:bat[:oid,:int],clk:bat[:oid,:str],pc:bat[:oid,:str],thread:bat[:oid,:int],user:bat[:oid,:int],ticks:bat[:oid,:lng],reads:bat[:oid,:lng],writes:bat[:oid,:lng],rbytes:bat[:oid,:lng],wbytes:bat[:oid,:lng],type:bat[:oid,:str],stmt:bat[:oid,:str])
 
+pattern sql.dump_trace() 
(event:bat[:oid,:int],clk:bat[:oid,:str],pc:bat[:oid,:str],thread:bat[:oid,:int],ticks:bat[:oid,:lng],rssMB:bat[:oid,:lng],vmMB:bat[:oid,:lng],reads:bat[:oid,:lng],writes:bat[:oid,:lng],minflt:bat[:oid,:lng],majflt:bat[:oid,:lng],nvcsw:bat[:oid,:lng],stmt:bat[:oid,:str])
 
 address dump_trace;
 comment dump the trace statistics
 
@@ -51967,11 +51915,11 @@ command sql.querylog_enable():void
 address QLOGenable;
 pattern sql.querylog_empty():void 
 address sql_querylog_empty;
-pattern sql.querylog_calls() 
(id:bat[:oid,:oid],start:bat[:oid,:timestamp],stop:bat[:oid,:timestamp],arguments:bat[:oid,:str],tuples:bat[:oid,:wrd],exec:bat[:oid,:lng],result:bat[:oid,:lng],cpuload:bat[:oid,:int],iowait:bat[:oid,:int],space:bat[:oid,:lng])
 
+pattern sql.querylog_calls() 
(id:bat[:oid,:oid],start:bat[:oid,:timestamp],stop:bat[:oid,:timestamp],arguments:bat[:oid,:str],tuples:bat[:oid,:wrd],exec:bat[:oid,:lng],result:bat[:oid,:lng],cpuload:bat[:oid,:int],iowait:bat[:oid,:int])
 
 address sql_querylog_calls;
 comment Obtain the query log calls
 
-pattern sql.querylog_catalog() 
(id:bat[:oid,:oid],user:bat[:oid,:str],defined:bat[:oid,:timestamp],query:bat[:oid,:str],pipe:bat[:oid,:str],mal:bat[:oid,:int],optimize:bat[:oid,:lng])
 
+pattern sql.querylog_catalog() 
(id:bat[:oid,:oid],user:bat[:oid,:str],defined:bat[:oid,:timestamp],query:bat[:oid,:str],pipe:bat[:oid,:str],plan:bat[:oid,:str],mal:bat[:oid,:int],optimize:bat[:oid,:lng])
 
 address sql_querylog_catalog;
 comment Obtain the query log catalog
 
@@ -52077,7 +52025,7 @@ pattern sql.sysmon_pause(tag:sht):void
 address SYSMONpause;
 pattern sql.sysmon_queue() 
(qtag:bat[:oid,:lng],user:bat[:oid,:str],started:bat[:oid,:timestamp],estimate:bat[:oid,:timestamp],progress:bat[:oid,:int],status:bat[:oid,:str],tag:bat[:oid,:oid],query:bat[:oid,:str])
 
 address SYSMONqueue;
-pattern sql.storage() 
(schema:bat[:oid,:str],table:bat[:oid,:str],column:bat[:oid,:str],type:bat[:oid,:str],location:bat[:oid,:str],count:bat[:oid,:lng],atomwidth:bat[:oid,:int],columnsize:bat[:oid,:lng],heap:bat[:oid,:lng],hashes:bat[:oid,:lng],imprints:bat[:oid,:lng],sorted:bat[:oid,:bit])
 
+pattern sql.storage() 
(schema:bat[:oid,:str],table:bat[:oid,:str],column:bat[:oid,:str],type:bat[:oid,:str],mode:bat[:oid,:str],location:bat[:oid,:str],count:bat[:oid,:lng],atomwidth:bat[:oid,:int],columnsize:bat[:oid,:lng],heap:bat[:oid,:lng],hashes:bat[:oid,:lng],imprints:bat[:oid,:lng],sorted:bat[:oid,:bit])
 
 address sql_storage;
 comment return a table with storage information 
 
@@ -52097,7 +52045,8 @@ pattern sql.sql_variables():bat[:oid,:st
 address sql_variables;
 comment return the table with session variables
 
-function sql.single(x:any_2):bat[:oid,:any_2];
+pattern sql.single(x:any_2):bat[:oid,:any_2] 
+address CMDBATsingle;
 command 
sql.subdelta(col:bat[:oid,:oid],cand:bat[:oid,:oid],uid:bat[:oid,:oid],uval:bat[:oid,:oid]):bat[:oid,:oid]
 
 address DELTAsub2;
 comment Return a single bat of subselected delta.
diff --git a/clients/mapiclient/tomograph.c b/clients/mapiclient/tomograph.c
--- a/clients/mapiclient/tomograph.c
+++ b/clients/mapiclient/tomograph.c
@@ -564,10 +564,9 @@ static void resetTomograph(void){
 static lng
 gnuXtics(int withlabels)
 {
-       double scale = 1.0;
        const char * scalename = "MB";
        int digits;
-       lng tw, w = lastclktick - starttime;
+       lng scale =1, tw, w = lastclktick - starttime;
        int i;
 
        if (w >= 10 * US_DD) {
@@ -610,12 +609,12 @@ gnuXtics(int withlabels)
                fprintf(gnudata, "set xtics ( \"\" 0.0,");
        for (i = 1; i * tw < w - 2 * tw / 3; i++){
                if( withlabels)
-               fprintf(gnudata, "\"%g\" "LLFMT".0,", (double) i * tw / scale, 
i * tw);
+               fprintf(gnudata, "\"%g\" "LLFMT".0,", ((double) i) * tw / 
scale, i * tw);
                else
                fprintf(gnudata, "\"\" "LLFMT".0,", i * tw);
        }
        if( withlabels)
-               fprintf(gnudata, "\"%.*f %s\" "LLFMT".0", digits, (double) w / 
scale, scalename, w);
+               fprintf(gnudata, "\"%.*f %s\" "LLFMT".0", digits, ((double) w) 
/ scale, scalename, w);
        else
                fprintf(gnudata, "\"\" "LLFMT".0",   w);
        fprintf(gnudata, ")\n");
@@ -1763,7 +1762,9 @@ parser(char *row)
 int
 main(int argc, char **argv)
 {
-       int i, n, len;
+       int i;
+       ssize_t m;
+       size_t n, len;
        char *host = NULL;
        int portnr = 0;
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to