MonetDB: default - merge with Jun2010
Changeset: de7a2d35628a for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=de7a2d35628a Modified Files: pathfinder/tests/BugsViaSourgeforce/Tests/All Branch: default Log Message: merge with Jun2010 ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - merge
Changeset: 74d2f9566873 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=74d2f9566873 Modified Files: Branch: Jun2010 Log Message: merge diffs (13 lines): diff -r 64acf9744dca -r 74d2f9566873 pathfinder/tests/BugsViaSourgeforce/Tests/All --- a/pathfinder/tests/BugsViaSourgeforce/Tests/All Fri Jul 02 08:47:25 2010 +0200 +++ b/pathfinder/tests/BugsViaSourgeforce/Tests/All Fri Jul 02 08:48:13 2010 +0200 @@ -84,7 +84,8 @@ ID.1491723 ID.1600704-a ID.1600704-b -ID.1652527 +# recursive function +NOT_ALGEBRA?ID.1652527 ID.1648854 ID.1766414 ID.1766173 ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - added test for fixed bug 2552 PREPARE: limit ...
Changeset: 64acf9744dca for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=64acf9744dca Modified Files: clients/src/mapiclient/dump.c sql/src/test/BugTracker-2010/Tests/All sql/src/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql sql/src/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.err sql/src/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.out Branch: Jun2010 Log Message: added test for fixed bug 2552 PREPARE: limit statement not recognised diffs (158 lines): diff -r 1ee337e08430 -r 64acf9744dca clients/src/mapiclient/dump.c --- a/clients/src/mapiclient/dump.c Fri Jul 02 08:30:13 2010 +0200 +++ b/clients/src/mapiclient/dump.c Fri Jul 02 08:47:25 2010 +0200 @@ -911,7 +911,7 @@ const char functions[] = "SELECT \"f\".\"func\" " "FROM \"sys\".\"schemas\" \"s\"," "\"sys\".\"functions\" \"f\" " - "WHERE \"f\".\"sql\" = TRUE AND " + "WHERE \"f\".\"id\" > 2000 AND " "\"s\".\"id\" = \"f\".\"schema_id\"" "%s%s%s " "ORDER BY \"f\".\"id\""; diff -r 1ee337e08430 -r 64acf9744dca sql/src/test/BugTracker-2010/Tests/All --- a/sql/src/test/BugTracker-2010/Tests/AllFri Jul 02 08:30:13 2010 +0200 +++ b/sql/src/test/BugTracker-2010/Tests/AllFri Jul 02 08:47:25 2010 +0200 @@ -11,3 +11,4 @@ copy-into-too-long-string.Bug-2358 in_column_exp.Bug-2561 multiple-updates-in-transaction.Bug-2543 +limit_in_prepare.Bug-2552 diff -r 1ee337e08430 -r 64acf9744dca sql/src/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/sql/src/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.sql Fri Jul 02 08:47:25 2010 +0200 @@ -0,0 +1,5 @@ +create table rr (id int); +insert into rr values (1),(2),(3); +prepare select * from rr limit ?; +exec 0 (1); + diff -r 1ee337e08430 -r 64acf9744dca sql/src/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.err --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/sql/src/test/BugTracker-2010/Tests/limit_in_prepare.Bug-2552.stable.err Fri Jul 02 08:47:25 2010 +0200 @@ -0,0 +1,78 @@ +stderr of test 'limit_in_prepare.Bug-2552` in directory 'src/test/BugTracker-2010` itself: + + +# 08:45:11 > +# 08:45:11 > mserver5 "--config=/ufs/niels/scratch/rc/Linux-x86_64/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=0 --set "monet_mod_path=/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/lib:/ufs/niels/scratch/rc/Linux-x86_64/lib/MonetDB5/bin" --set "gdk_dbfarm=/ufs/niels/scratch/rc/Linux-x86_64/var/MonetDB5/dbfarm" --set mapi_open=true --set xrpc_open=true --set mapi_port=35663 --set xrpc_port=48610 --set monet_prompt= --set mal_listing=2 --trace "--dbname=mTests_src_test_BugTracker-2010" --set mal_listing=0 ; echo ; echo Over.. +# 08:45:11 > + +# builtin opt gdk_arch = 64bitx86_64-unknown-linux-gnu +# builtin opt gdk_version = 1.38.0 +# builtin opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 +# builtin opt exec_prefix = ${prefix} +# builtin opt gdk_dbname = demo +# builtin opt gdk_dbfarm = ${prefix}/var/MonetDB/dbfarm +# builtin opt gdk_debug = 0 +# builtin opt gdk_alloc_map = no +# builtin opt gdk_vmtrim = yes +# builtin opt monet_admin = adm +# builtin opt monet_prompt = > +# builtin opt monet_welcome = yes +# builtin opt monet_mod_path = ${exec_prefix}/lib/MonetDB +# builtin opt monet_daemon = no +# builtin opt host = localhost +# builtin opt mapi_port = 5 +# builtin opt mapi_clients = 2 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_debug = 0 +# builtin opt standoff_ns = +# builtin opt standoff_start = start +# builtin opt standoff_end = end +# config opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 +# config opt config = ${prefix}/etc/monetdb5.conf +# config opt prefix = /ufs/niels/scratch/rc/Linux-x86_64 +# config opt exec_prefix = ${prefix} +# config opt gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm +# config opt monet_mod_path = ${exec_prefix}/lib/MonetDB5:${exec_prefix}/lib/MonetDB5/lib:${exec_prefix}/lib/MonetDB5/bin +# config opt mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid +# config opt mero_controlport = 50001 +# config opt sql_optimizer = default_pipe +# config opt minimal_pipe = inline,remap,deadcode,multiplex,garbageCollector +# config opt default_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector +# config opt nov2009_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector +# config opt replication_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,merg
MonetDB: Jun2010 - Disable another test that uses unsupported fe...
Changeset: ebf998749616 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ebf998749616 Modified Files: pathfinder/tests/BugsViaSourgeforce/Tests/All Branch: Jun2010 Log Message: Disable another test that uses unsupported features. diffs (13 lines): diff -r 1ee337e08430 -r ebf998749616 pathfinder/tests/BugsViaSourgeforce/Tests/All --- a/pathfinder/tests/BugsViaSourgeforce/Tests/All Fri Jul 02 08:30:13 2010 +0200 +++ b/pathfinder/tests/BugsViaSourgeforce/Tests/All Fri Jul 02 08:47:03 2010 +0200 @@ -84,7 +84,8 @@ ID.1491723 ID.1600704-a ID.1600704-b -ID.1652527 +# recursive function +NOT_ALGEBRA?ID.1652527 ID.1648854 ID.1766414 ID.1766173 ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merged output approvals from Jun2010
Changeset: 46fea0bb2482 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=46fea0bb2482 Modified Files: Branch: default Log Message: merged output approvals from Jun2010 diffs (36 lines): diff -r c847cd226a6e -r 46fea0bb2482 pathfinder/modules/pftijah/Tests/sigs.stable.out --- a/pathfinder/modules/pftijah/Tests/sigs.stable.out Thu Jul 01 20:13:45 2010 +0200 +++ b/pathfinder/modules/pftijah/Tests/sigs.stable.out Fri Jul 02 08:32:06 2010 +0200 @@ -38,7 +38,7 @@ [ "mergeindex(BAT[oid,oid], BAT[void,oid], BAT[void,oid], wrd) : BAT[void,BAT]" ] [ "mergeindex2(BAT[oid,oid], BAT[oid,int], BAT[void,oid], BAT[void,oid], BAT[void,int], wrd) : BAT[void,BAT]" ] [ "offsetindex(BAT[void,oid], wrd) : BAT[void,oid]" ] -[ "pf2tijah_node(bit, BAT[oid,str], BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,str]) : BAT[oid,oid]" ] +[ "pf2tijah_node(bit, BAT[oid,str], BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,str]) : BAT[void,oid]" ] [ "serialize_tijah_opt(BAT[void,BAT], int, BAT[void,oid], BAT[void,oid], BAT[void,oid], BAT[void,int], BAT[void,lng], BAT[void,dbl], BAT[void,str]) : BAT[str,str]" ] [ "set_tailkeysorted(BAT[any,any]) : BAT[any,any]" ] [ "splitbat(BAT[void,oid], BAT[oid,any]) : BAT[void,BAT]" ] diff -r c847cd226a6e -r 46fea0bb2482 pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out --- a/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out Thu Jul 01 20:13:45 2010 +0200 +++ b/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out Fri Jul 02 08:32:06 2010 +0200 @@ -29,7 +29,7 @@ -2611 KiBtruexmark +2612 KiBtruexmark truexmarkxmark1.xml diff -r c847cd226a6e -r 46fea0bb2482 pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out.32bit --- a/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out.32bit Thu Jul 01 20:13:45 2010 +0200 +++ b/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out.32bit Fri Jul 02 08:32:06 2010 +0200 @@ -29,7 +29,7 @@ -2429 KiBtruexmark +2430 KiBtruexmark truexmarkxmark1.xml ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - approved minor size changes
Changeset: 1ee337e08430 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=1ee337e08430 Modified Files: pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out.32bit Branch: Jun2010 Log Message: approved minor size changes diffs (24 lines): diff -r 50d937748478 -r 1ee337e08430 pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out --- a/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out Fri Jul 02 08:28:01 2010 +0200 +++ b/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out Fri Jul 02 08:30:13 2010 +0200 @@ -29,7 +29,7 @@ -2611 KiBtruexmark +2612 KiBtruexmark truexmarkxmark1.xml diff -r 50d937748478 -r 1ee337e08430 pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out.32bit --- a/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out.32bit Fri Jul 02 08:28:01 2010 +0200 +++ b/pathfinder/runtime/xrpc/admin/Tests/add_del_doc_noxrpc.stable.out.32bit Fri Jul 02 08:30:13 2010 +0200 @@ -29,7 +29,7 @@ -2429 KiBtruexmark +2430 KiBtruexmark truexmarkxmark1.xml ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - approved (not that) recent signature change:
Changeset: 50d937748478 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=50d937748478 Modified Files: pathfinder/modules/pftijah/Tests/sigs.stable.out Branch: Jun2010 Log Message: approved (not that) recent signature change: pf2tijah_node(bit, BAT[oid,str], BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,str]) : BAT[ oid,oid] | V pf2tijah_node(bit, BAT[oid,str], BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,str]) : BAT[void,oid] diffs (12 lines): diff -r b3f8e1ca6088 -r 50d937748478 pathfinder/modules/pftijah/Tests/sigs.stable.out --- a/pathfinder/modules/pftijah/Tests/sigs.stable.out Thu Jul 01 20:12:38 2010 +0200 +++ b/pathfinder/modules/pftijah/Tests/sigs.stable.out Fri Jul 02 08:28:01 2010 +0200 @@ -38,7 +38,7 @@ [ "mergeindex(BAT[oid,oid], BAT[void,oid], BAT[void,oid], wrd) : BAT[void,BAT]" ] [ "mergeindex2(BAT[oid,oid], BAT[oid,int], BAT[void,oid], BAT[void,oid], BAT[void,int], wrd) : BAT[void,BAT]" ] [ "offsetindex(BAT[void,oid], wrd) : BAT[void,oid]" ] -[ "pf2tijah_node(bit, BAT[oid,str], BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,str]) : BAT[oid,oid]" ] +[ "pf2tijah_node(bit, BAT[oid,str], BAT[oid,oid], BAT[oid,oid], BAT[oid,oid], BAT[oid,int], BAT[oid,str]) : BAT[void,oid]" ] [ "serialize_tijah_opt(BAT[void,BAT], int, BAT[void,oid], BAT[void,oid], BAT[void,oid], BAT[void,int], BAT[void,lng], BAT[void,dbl], BAT[void,str]) : BAT[str,str]" ] [ "set_tailkeysorted(BAT[any,any]) : BAT[any,any]" ] [ "splitbat(BAT[void,oid], BAT[oid,any]) : BAT[void,BAT]" ] ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merged undo of changeset 36471:3573f0c1b6d5 f...
Changeset: c847cd226a6e for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c847cd226a6e Modified Files: Branch: default Log Message: merged undo of changeset 36471:3573f0c1b6d5 from Jun2010 diffs (truncated from 1132 to 300 lines): diff -r 9f6b5a106ed9 -r c847cd226a6e MonetDB5/src/modules/kernel/aggr_be_avg.mx --- a/MonetDB5/src/modules/kernel/aggr_be_avg.mxThu Jul 01 20:09:29 2010 +0200 +++ b/MonetDB5/src/modules/kernel/aggr_be_avg.mxThu Jul 01 20:13:45 2010 +0200 @@ -48,7 +48,7 @@ @1: 0 1 0 0 use sums-array? @2: 0 0 0 1 do BATprepareHash? @3: BUNfndVOID CHKrangeSCANfndOID HASHfnd_oid lookup - @4: (oid)(bnhsb+p) bnh[p]-min bnh[p]-min bnh[p]-min e/bn-head-access + @4: var loc loc loc e/bn-head-access @5: "BUNhloc(b,p)" for (oid) b-head-type, b-head access "&bhsb; bhsb++" for (void) b-head-type @@ -133,20 +133,9 @@ if (@1) { if (sums) { /* sums in sums-array */ - int bn_use = USE_TAIL; - ssize_t bnhsb = 0; - oid *bnh = 0; - if (BAThdense(bn)) { - bnhsb = (ssize_t) bn->hseqbase - BUNfirst(bn) - min; - (void) bnh; - } else { - (void) bnhsb; - bnh = (oid*)Hloc(bn,0); - bn_use |= USE_HEAD; - } - BATaccessBegin(bn,bn_use,MMAP_SEQUENTIAL); + BATaccessBegin(bn,USE_HEAD|USE_TAIL,MMAP_SEQUENTIAL); BATloop(bn, p, q) { - oid h = @4; + oid h = (*(oid*) b...@4(bni,p)) - min; dbl *dst = (dbl*) b...@7(bni, p); if (cnt[h] == 0 || sums[h] == dbl_nil) { *dst = dbl_nil; @@ -154,7 +143,7 @@ *dst = (dbl) (sums[h]/cnt[h]); } } - BATaccessEnd(bn,bn_use,MMAP_SEQUENTIAL); + BATaccessEnd(bn,USE_HEAD|USE_TAIL,MMAP_SEQUENTIAL); GDKfree(sums); } } else { @@ -226,41 +215,41 @@ if (BAThdense(e)) { /* void lookup */ if (BAThdense(b)) { - @:aggrX3_avg(0,0,BUNfndVOID,(oid)(bnhsb+p),&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,BUNfndVOID,var,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ } else { - @:aggrX3_avg(0,0,BUNfndVOID,(oid)(bnhsb+p),BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,BUNfndVOID,var,BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ } /* e->htype == TYPE_oid */ } else if (range <= SMALL_AGGR_MAX) { /* array lookup */ slots = range; if (BAThdense(b)) { - @:aggrX3_avg(1,0,CHKrange,bnh[p]-min,&bhsb;bhsb++,@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ + @:aggrX3_avg(1,0,CHKrange,loc,&bhsb;bhsb++,@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ } else { - @:aggrX3_avg(1,0,CHKrange,bnh[p]-min,BUNhloc(bi,p),@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ + @:aggrX3_avg(1,0,CHKrange,loc,BUNhloc(bi,p),@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ } } else if (BATcount(e) <= SCAN_AGGR_MAX) { /* scan lookup */ SCAN_aggr_init; if (BAThdense(b)) { - @:aggrX3_avg(0,0,SCANfndOID,bnh[p]-min,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,SCANfndOID,loc,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ } else { - @:aggrX3_avg(0,0,SCANfndOID,bnh[p]-min,BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,SCANfndOID,loc,BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ } } else if (BAThordered(e)&1) { /* merge lookup */ MERGE_aggr_init; if (BAThdense(b)) { - @:aggrX3_avg(0,0,MERGEfndOID,bnh[p]-min,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,MERGEfndOID,loc,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ } else { - @:aggrX3_avg(0,0,MERGEfndOID,bnh[p]-min,BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,MERGEfndOID,loc,BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ } } else { /* hash lookup */ if (BAThdense(b)) { -
MonetDB: Jun2010 - reverting changes of changeset 36471:3573f0c1...
Changeset: b3f8e1ca6088 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b3f8e1ca6088 Modified Files: MonetDB5/src/modules/kernel/aggr_be_avg.mx MonetDB5/src/modules/kernel/aggr_be_count.mx MonetDB5/src/modules/kernel/aggr_be_minmax.mx MonetDB5/src/modules/kernel/aggr_be_prod.mx MonetDB5/src/modules/kernel/aggr_be_sum.mx MonetDB5/src/modules/kernel/aggr_bge_avg.mx MonetDB5/src/modules/kernel/aggr_bge_count.mx MonetDB5/src/modules/kernel/aggr_bge_minmax.mx MonetDB5/src/modules/kernel/aggr_bge_prod.mx MonetDB5/src/modules/kernel/aggr_bge_sum.mx Branch: Jun2010 Log Message: reverting changes of changeset 36471:3573f0c1b6d5: "exploit denseness of the head of BATs e & bn" These changes trigger server crashes (segfault) with some customer tests and I could not yet locate let alone fix the problem. I will come back to this once time allows. diffs (truncated from 1132 to 300 lines): diff -r f5d253fa8790 -r b3f8e1ca6088 MonetDB5/src/modules/kernel/aggr_be_avg.mx --- a/MonetDB5/src/modules/kernel/aggr_be_avg.mxThu Jul 01 18:17:53 2010 +0200 +++ b/MonetDB5/src/modules/kernel/aggr_be_avg.mxThu Jul 01 20:12:38 2010 +0200 @@ -48,7 +48,7 @@ @1: 0 1 0 0 use sums-array? @2: 0 0 0 1 do BATprepareHash? @3: BUNfndVOID CHKrangeSCANfndOID HASHfnd_oid lookup - @4: (oid)(bnhsb+p) bnh[p]-min bnh[p]-min bnh[p]-min e/bn-head-access + @4: var loc loc loc e/bn-head-access @5: "BUNhloc(b,p)" for (oid) b-head-type, b-head access "&bhsb; bhsb++" for (void) b-head-type @@ -133,20 +133,9 @@ if (@1) { if (sums) { /* sums in sums-array */ - int bn_use = USE_TAIL; - ssize_t bnhsb = 0; - oid *bnh = 0; - if (BAThdense(bn)) { - bnhsb = (ssize_t) bn->hseqbase - BUNfirst(bn) - min; - (void) bnh; - } else { - (void) bnhsb; - bnh = (oid*)Hloc(bn,0); - bn_use |= USE_HEAD; - } - BATaccessBegin(bn,bn_use,MMAP_SEQUENTIAL); + BATaccessBegin(bn,USE_HEAD|USE_TAIL,MMAP_SEQUENTIAL); BATloop(bn, p, q) { - oid h = @4; + oid h = (*(oid*) b...@4(bni,p)) - min; dbl *dst = (dbl*) b...@7(bni, p); if (cnt[h] == 0 || sums[h] == dbl_nil) { *dst = dbl_nil; @@ -154,7 +143,7 @@ *dst = (dbl) (sums[h]/cnt[h]); } } - BATaccessEnd(bn,bn_use,MMAP_SEQUENTIAL); + BATaccessEnd(bn,USE_HEAD|USE_TAIL,MMAP_SEQUENTIAL); GDKfree(sums); } } else { @@ -226,41 +215,41 @@ if (BAThdense(e)) { /* void lookup */ if (BAThdense(b)) { - @:aggrX3_avg(0,0,BUNfndVOID,(oid)(bnhsb+p),&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,BUNfndVOID,var,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ } else { - @:aggrX3_avg(0,0,BUNfndVOID,(oid)(bnhsb+p),BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,BUNfndVOID,var,BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ } /* e->htype == TYPE_oid */ } else if (range <= SMALL_AGGR_MAX) { /* array lookup */ slots = range; if (BAThdense(b)) { - @:aggrX3_avg(1,0,CHKrange,bnh[p]-min,&bhsb;bhsb++,@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ + @:aggrX3_avg(1,0,CHKrange,loc,&bhsb;bhsb++,@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ } else { - @:aggrX3_avg(1,0,CHKrange,bnh[p]-min,BUNhloc(bi,p),@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ + @:aggrX3_avg(1,0,CHKrange,loc,BUNhloc(bi,p),@1,@2,&sums[(*(oid*)h)-min],(*(oid*)h)-min)@ } } else if (BATcount(e) <= SCAN_AGGR_MAX) { /* scan lookup */ SCAN_aggr_init; if (BAThdense(b)) { - @:aggrX3_avg(0,0,SCANfndOID,bnh[p]-min,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,SCANfndOID,loc,&bhsb;bhsb++,@1,@2,b...@2(bni,r),r-off)@ } else { - @:aggrX3_avg(0,0,SCANfndOID,bnh[p]-min,BUNhloc(bi,p),@1,@2,b...@2(bni,r),r-off)@ + @:aggrX3_avg(0,0,SCANfndOID,loc,BUNhloc(bi,p),@1,
MonetDB: default - merged Fabian' compilation fixes from Jun2010
Changeset: 9f6b5a106ed9 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9f6b5a106ed9 Modified Files: Branch: default Log Message: merged Fabian' compilation fixes from Jun2010 diffs (45 lines): diff -r 50bb5aca073b -r 9f6b5a106ed9 sql/src/backends/monet5/merovingian/merovingian.c --- a/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 15:51:08 2010 +0200 +++ b/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 20:09:29 2010 +0200 @@ -427,7 +427,7 @@ FILE *cnf = NULL, *pidfile = NULL; char buf[1024]; char bufu[1024]; - dpair d; + dpair d = NULL; int pfd[2]; int retfd = -1; pthread_t tid; @@ -1010,15 +1010,14 @@ } shutdown: - - /* we don't need merovingian itself */ - d = d->next; - /* stop started mservers */ - if (_mero_exit_timeout > 0) { + if (d != NULL && _mero_exit_timeout > 0) { dpair t; threadlist tl = NULL, tlw = tl; + /* we don't need merovingian itself */ + d = d->next; + pthread_mutex_lock(&_mero_topdp_lock); t = d; while (t != NULL) { @@ -1073,8 +1072,10 @@ /* remove files that suggest our existence */ unlink(".merovingian_lock"); - unlink(pidfilename); - GDKfree(pidfilename); + if (pidfilename != NULL) { + unlink(pidfilename); + GDKfree(pidfilename); + } /* mostly for valgrind... */ freeConfFile(_mero_props); ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - Fix issues found by compilers when compiling ...
Changeset: f5d253fa8790 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=f5d253fa8790 Modified Files: sql/src/backends/monet5/merovingian/merovingian.c Branch: Jun2010 Log Message: Fix issues found by compilers when compiling in strict mode (Bug #2571) - make sure d isn't unitialised (and dereferenced) - make sure we don't try to remove and free a NULL pidfilename diffs (45 lines): diff -r 65057ede4eba -r f5d253fa8790 sql/src/backends/monet5/merovingian/merovingian.c --- a/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 15:50:00 2010 +0200 +++ b/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 18:17:53 2010 +0200 @@ -427,7 +427,7 @@ FILE *cnf = NULL, *pidfile = NULL; char buf[1024]; char bufu[1024]; - dpair d; + dpair d = NULL; int pfd[2]; int retfd = -1; pthread_t tid; @@ -1010,15 +1010,14 @@ } shutdown: - - /* we don't need merovingian itself */ - d = d->next; - /* stop started mservers */ - if (_mero_exit_timeout > 0) { + if (d != NULL && _mero_exit_timeout > 0) { dpair t; threadlist tl = NULL, tlw = tl; + /* we don't need merovingian itself */ + d = d->next; + pthread_mutex_lock(&_mero_topdp_lock); t = d; while (t != NULL) { @@ -1073,8 +1072,10 @@ /* remove files that suggest our existence */ unlink(".merovingian_lock"); - unlink(pidfilename); - GDKfree(pidfilename); + if (pidfilename != NULL) { + unlink(pidfilename); + GDKfree(pidfilename); + } /* mostly for valgrind... */ freeConfFile(_mero_props); ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - merge with Jun2010
Changeset: 50bb5aca073b for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=50bb5aca073b Modified Files: MonetDB5/src/mal/mal_profiler.mx Branch: default Log Message: merge with Jun2010 diffs (12 lines): diff -r 5c7a10ceb231 -r 50bb5aca073b MonetDB5/src/mal/mal_profiler.mx --- a/MonetDB5/src/mal/mal_profiler.mx Thu Jul 01 15:02:41 2010 +0200 +++ b/MonetDB5/src/mal/mal_profiler.mx Thu Jul 01 15:51:08 2010 +0200 @@ -105,7 +105,7 @@ [ "15:17:56", 245, "_36 := io.print({3});", ] @end verbatim -...@node Event Caching, Stethoscope, Event Filtering, The MAL Profiler +...@node Event Caching, The MAL Modules, Event Filtering, The MAL Profiler @+ Event Caching Aside from shipping events to a separate process, the profiler can keep the events in a local @sc{bat} group. ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - fixed texi node linking (aligned with monetweb):
Changeset: 65057ede4eba for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=65057ede4eba Modified Files: MonetDB5/src/mal/mal_profiler.mx Branch: Jun2010 Log Message: fixed texi node linking (aligned with monetweb): MonetDB5/src/tools/stethoscope.mx has been moved to clients/src/mapiclient/stethoscope.c hence, there is no stethoscope.bdy.texi (generated) anymore diffs (12 lines): diff -r 95fed6b66e73 -r 65057ede4eba MonetDB5/src/mal/mal_profiler.mx --- a/MonetDB5/src/mal/mal_profiler.mx Thu Jul 01 15:02:04 2010 +0200 +++ b/MonetDB5/src/mal/mal_profiler.mx Thu Jul 01 15:50:00 2010 +0200 @@ -105,7 +105,7 @@ [ "15:17:56", 245, "_36 := io.print({3});", ] @end verbatim -...@node Event Caching, Stethoscope, Event Filtering, The MAL Profiler +...@node Event Caching, The MAL Modules, Event Filtering, The MAL Profiler @+ Event Caching Aside from shipping events to a separate process, the profiler can keep the events in a local @sc{bat} group. ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merged from Jun2010
Changeset: 5c7a10ceb231 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=5c7a10ceb231 Modified Files: Branch: default Log Message: Merged from Jun2010 diffs (51 lines): diff -r a4492dce5fce -r 5c7a10ceb231 sql/src/backends/monet5/merovingian/ChangeLog.Jun2010 --- a/sql/src/backends/monet5/merovingian/ChangeLog.Jun2010 Thu Jul 01 15:01:02 2010 +0200 +++ b/sql/src/backends/monet5/merovingian/ChangeLog.Jun2010 Thu Jul 01 15:02:41 2010 +0200 @@ -1,7 +1,12 @@ # ChangeLog file for sql/src/backends/monet5/merovingian # This file is updated with mchangelog -#*June2010 + 01 Jul 2010; Fabian Groffen merovingian.c: + When a startup failure causes a shutdown, make sure we log this + incident in the logfile, together with a message that the deamon was + shut down due to this fatal condition. + +*Jun2010 01 Jun 2010; Fabian Groffen merovingian.c, utils.c: Fixed an issue where Merovingian's strict umask was applied too early diff -r a4492dce5fce -r 5c7a10ceb231 sql/src/backends/monet5/merovingian/merovingian.c --- a/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 15:01:02 2010 +0200 +++ b/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 15:02:41 2010 +0200 @@ -518,8 +518,11 @@ if (write(retfd, &s, 1) != 1 || close(retfd) != 0) { \ Mfprintf(stderr, "could not write to parent\n"); \ } \ - if (status != 0) \ - return(status); \ + if (status != 0) { \ + Mfprintf(stderr, "fatal startup condition encountered, " \ + "aborting startup\n"); \ + goto shutdown; \ + } \ } readConfFile(ckv, cnf); @@ -1000,13 +1003,14 @@ if (e != NO_ERR) { /* console */ - Mfprintf(stderr, "%s\n", argv[0], e); Mfprintf(oerr, "%s: %s\n", argv[0], e); - MERO_EXIT(1); /* logfile */ Mfprintf(stderr, "%s\n", e); + MERO_EXIT(1); } +shutdown: + /* we don't need merovingian itself */ d = d->next; ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - properly log when a startup is aborted, such ...
Changeset: 95fed6b66e73 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=95fed6b66e73 Modified Files: sql/src/backends/monet5/merovingian/ChangeLog.Jun2010 sql/src/backends/monet5/merovingian/merovingian.c Branch: Jun2010 Log Message: properly log when a startup is aborted, such that the logfile contains the same information as the console diffs (51 lines): diff -r 98d538f10391 -r 95fed6b66e73 sql/src/backends/monet5/merovingian/ChangeLog.Jun2010 --- a/sql/src/backends/monet5/merovingian/ChangeLog.Jun2010 Thu Jul 01 14:41:38 2010 +0200 +++ b/sql/src/backends/monet5/merovingian/ChangeLog.Jun2010 Thu Jul 01 15:02:04 2010 +0200 @@ -1,7 +1,12 @@ # ChangeLog file for sql/src/backends/monet5/merovingian # This file is updated with mchangelog -#*June2010 + 01 Jul 2010; Fabian Groffen merovingian.c: + When a startup failure causes a shutdown, make sure we log this + incident in the logfile, together with a message that the deamon was + shut down due to this fatal condition. + +*Jun2010 01 Jun 2010; Fabian Groffen merovingian.c, utils.c: Fixed an issue where Merovingian's strict umask was applied too early diff -r 98d538f10391 -r 95fed6b66e73 sql/src/backends/monet5/merovingian/merovingian.c --- a/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 14:41:38 2010 +0200 +++ b/sql/src/backends/monet5/merovingian/merovingian.c Thu Jul 01 15:02:04 2010 +0200 @@ -518,8 +518,11 @@ if (write(retfd, &s, 1) != 1 || close(retfd) != 0) { \ Mfprintf(stderr, "could not write to parent\n"); \ } \ - if (status != 0) \ - return(status); \ + if (status != 0) { \ + Mfprintf(stderr, "fatal startup condition encountered, " \ + "aborting startup\n"); \ + goto shutdown; \ + } \ } readConfFile(ckv, cnf); @@ -1000,13 +1003,14 @@ if (e != NO_ERR) { /* console */ - Mfprintf(stderr, "%s\n", argv[0], e); Mfprintf(oerr, "%s: %s\n", argv[0], e); - MERO_EXIT(1); /* logfile */ Mfprintf(stderr, "%s\n", e); + MERO_EXIT(1); } +shutdown: + /* we don't need merovingian itself */ d = d->next; ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - the new module is (supposed to be) called "va...
Changeset: a4492dce5fce for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a4492dce5fce Modified Files: sql/src/backends/monet5/vaults/Makefile.ag Branch: default Log Message: the new module is (supposed to be) called "vault", not "vaults" diffs (12 lines): diff -r e7fc78bf3887 -r a4492dce5fce sql/src/backends/monet5/vaults/Makefile.ag --- a/sql/src/backends/monet5/vaults/Makefile.agThu Jul 01 14:42:59 2010 +0200 +++ b/sql/src/backends/monet5/vaults/Makefile.agThu Jul 01 15:01:02 2010 +0200 @@ -18,7 +18,7 @@ INCLUDES = ../../include ../../common ../../storage ../../server \ $(MONETDB5_INCS) $(CLIENTS_INCS) $(MONETDB_INCS) $(READLINE_INCS) -lib__vaults = { +lib__vault = { DIR = libdir/MonetDB5/ SOURCES = vault.mx # LIBS = ../../server/libsqlserver ../../storage/libstore ../../storage/bat/libbatstore ../../storage/restrict/librestrictstore ../../storage/bpm/libbpmstore ../../common/libsqlcommon \ ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Merged from Jun2010
Changeset: e7fc78bf3887 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=e7fc78bf3887 Modified Files: Branch: default Log Message: Merged from Jun2010 diffs (truncated from 309 to 300 lines): diff -r b257e57f9473 -r e7fc78bf3887 MonetDB5/ChangeLog.Jun2010 --- a/MonetDB5/ChangeLog.Jun2010Thu Jul 01 14:29:32 2010 +0200 +++ b/MonetDB5/ChangeLog.Jun2010Thu Jul 01 14:42:59 2010 +0200 @@ -1,6 +1,10 @@ # ChangeLog file for MonetDB5 # This file is updated with Maddlog +* Thr Jul 01 2010 Fabian Groffen +- Return a correct URI for local connection from Sabaoth when the + connection is a UNIX domain socket. Partial fix for bug #2567. + * Wed Jun 30 2010 Stefan Manegold - various performance fixes in grouping and grouped aggregation code (MonetDB5/src/modules/kernel/group.mx, MonetDB5/src/modules/kernel/aggr*.mx) diff -r b257e57f9473 -r e7fc78bf3887 MonetDB5/src/mal/mal_sabaoth.mx --- a/MonetDB5/src/mal/mal_sabaoth.mx Thu Jul 01 14:29:32 2010 +0200 +++ b/MonetDB5/src/mal/mal_sabaoth.mx Thu Jul 01 14:42:59 2010 +0200 @@ -349,7 +349,13 @@ if (stats == NULL || stats->conns == NULL || stats->conns->val == NULL) { *ret = GDKstrdup(str_nil); } else { - snprintf(data, sizeof(data), "%s%s", stats->conns->val, stats->dbname); + if (stats->conns->val[15] == '/') { + snprintf(data, sizeof(data), "%s?database=%s", + stats->conns->val, stats->dbname); + } else { + snprintf(data, sizeof(data), "%s%s", + stats->conns->val, stats->dbname); + } *ret = GDKstrdup(data); } diff -r b257e57f9473 -r e7fc78bf3887 MonetDB5/src/modules/mal/Tests/All --- a/MonetDB5/src/modules/mal/Tests/AllThu Jul 01 14:29:32 2010 +0200 +++ b/MonetDB5/src/modules/mal/Tests/AllThu Jul 01 14:42:59 2010 +0200 @@ -39,6 +39,10 @@ remote10 +# this will always return something else +#sabaoth00 +sabaoth01 + partition printf #some remote related tests diff -r b257e57f9473 -r e7fc78bf3887 MonetDB5/src/modules/mal/Tests/sabaoth01.mal --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/MonetDB5/src/modules/mal/Tests/sabaoth01.mal Thu Jul 01 14:42:59 2010 +0200 @@ -0,0 +1,4 @@ +u := sabaoth.getLocalConnectionURI(); +# if all is well, we can make a connection to ourself +c := remote.connect(u, "monetdb", "monetdb"); +remote.disconnect(c); diff -r b257e57f9473 -r e7fc78bf3887 MonetDB5/src/modules/mal/Tests/sabaoth01.stable.err --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/MonetDB5/src/modules/mal/Tests/sabaoth01.stable.err Thu Jul 01 14:42:59 2010 +0200 @@ -0,0 +1,72 @@ +stderr of test 'sabaoth01` in directory 'src/modules/mal` itself: + + +# 14:37:48 > +# 14:37:48 > mserver5 "--config=/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=0 --set "monet_mod_path=/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5:/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5/lib:/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5/bin" --set "gdk_dbfarm=/net/volund.ins.cwi.nl/export/scratch0/fabian/vtmp/mtest-Jun2010-volund.ins.cwi.nl/five/dbfarm" --set mapi_open=true --set xrpc_open=true --set mapi_port=38787 --set xrpc_port=40577 --set monet_prompt= --set mal_listing=2 --trace --dbname=mTests_src_modules_mal sabaoth01.mal +# 14:37:48 > + +# builtin opt gdk_arch = 64bitx86_64-pc-linux-gnu +# builtin opt gdk_version = 1.38.1 +# builtin opt prefix = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64 +# builtin opt exec_prefix = ${prefix} +# builtin opt gdk_dbname = demo +# builtin opt gdk_dbfarm = ${prefix}/var/MonetDB/dbfarm +# builtin opt gdk_debug = 0 +# builtin opt gdk_alloc_map = no +# builtin opt gdk_vmtrim = yes +# builtin opt monet_admin = adm +# builtin opt monet_prompt = > +# builtin opt monet_welcome = yes +# builtin opt monet_mod_path = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB +# builtin opt monet_daemon = no +# builtin opt host = localhost +# builtin opt mapi_port = 5 +# builtin opt mapi_clients = 2 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_debug = 0 +# builtin opt standoff_ns = +# builtin opt standoff_start = start +# builtin opt standoff_end = end +# config opt prefix = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64 +# config opt config = ${prefix}/etc/monetdb5.conf +# config opt prefix = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64 +# config opt exec_prefix = ${prefix} +# config opt gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm +# config opt monet_mod_path = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5:/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5/lib:/ufs/fabian/scratch/monetd
MonetDB: Jun2010 - Add test for sabaoth.getLocalConnectionURI.
Changeset: 98d538f10391 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=98d538f10391 Modified Files: MonetDB5/src/modules/mal/Tests/All MonetDB5/src/modules/mal/Tests/sabaoth01.mal MonetDB5/src/modules/mal/Tests/sabaoth01.stable.err MonetDB5/src/modules/mal/Tests/sabaoth01.stable.out Branch: Jun2010 Log Message: Add test for sabaoth.getLocalConnectionURI. This test isn't really testing b #2567, since mserver doesn't use a UNIX domain socket by default. But on the other hand, it does at least test sabaoth to some extent. diffs (130 lines): diff -r 2a62d199 -r 98d538f10391 MonetDB5/src/modules/mal/Tests/All --- a/MonetDB5/src/modules/mal/Tests/AllThu Jul 01 14:30:44 2010 +0200 +++ b/MonetDB5/src/modules/mal/Tests/AllThu Jul 01 14:41:38 2010 +0200 @@ -39,6 +39,10 @@ remote10 +# this will always return something else +#sabaoth00 +sabaoth01 + partition printf #some remote related tests diff -r 2a62d199 -r 98d538f10391 MonetDB5/src/modules/mal/Tests/sabaoth01.mal --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/MonetDB5/src/modules/mal/Tests/sabaoth01.mal Thu Jul 01 14:41:38 2010 +0200 @@ -0,0 +1,4 @@ +u := sabaoth.getLocalConnectionURI(); +# if all is well, we can make a connection to ourself +c := remote.connect(u, "monetdb", "monetdb"); +remote.disconnect(c); diff -r 2a62d199 -r 98d538f10391 MonetDB5/src/modules/mal/Tests/sabaoth01.stable.err --- /dev/null Thu Jan 01 00:00:00 1970 + +++ b/MonetDB5/src/modules/mal/Tests/sabaoth01.stable.err Thu Jul 01 14:41:38 2010 +0200 @@ -0,0 +1,72 @@ +stderr of test 'sabaoth01` in directory 'src/modules/mal` itself: + + +# 14:37:48 > +# 14:37:48 > mserver5 "--config=/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/etc/monetdb5.conf" --debug=10 --set gdk_nr_threads=0 --set "monet_mod_path=/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5:/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5/lib:/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5/bin" --set "gdk_dbfarm=/net/volund.ins.cwi.nl/export/scratch0/fabian/vtmp/mtest-Jun2010-volund.ins.cwi.nl/five/dbfarm" --set mapi_open=true --set xrpc_open=true --set mapi_port=38787 --set xrpc_port=40577 --set monet_prompt= --set mal_listing=2 --trace --dbname=mTests_src_modules_mal sabaoth01.mal +# 14:37:48 > + +# builtin opt gdk_arch = 64bitx86_64-pc-linux-gnu +# builtin opt gdk_version = 1.38.1 +# builtin opt prefix = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64 +# builtin opt exec_prefix = ${prefix} +# builtin opt gdk_dbname = demo +# builtin opt gdk_dbfarm = ${prefix}/var/MonetDB/dbfarm +# builtin opt gdk_debug = 0 +# builtin opt gdk_alloc_map = no +# builtin opt gdk_vmtrim = yes +# builtin opt monet_admin = adm +# builtin opt monet_prompt = > +# builtin opt monet_welcome = yes +# builtin opt monet_mod_path = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB +# builtin opt monet_daemon = no +# builtin opt host = localhost +# builtin opt mapi_port = 5 +# builtin opt mapi_clients = 2 +# builtin opt mapi_open = false +# builtin opt mapi_autosense = false +# builtin opt sql_debug = 0 +# builtin opt standoff_ns = +# builtin opt standoff_start = start +# builtin opt standoff_end = end +# config opt prefix = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64 +# config opt config = ${prefix}/etc/monetdb5.conf +# config opt prefix = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64 +# config opt exec_prefix = ${prefix} +# config opt gdk_dbfarm = ${prefix}/var/MonetDB5/dbfarm +# config opt monet_mod_path = /ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5:/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5/lib:/ufs/fabian/scratch/monetdb/Jun2010/program-x86_64/lib/MonetDB5/bin +# config opt mero_pidfile = ${prefix}/var/run/MonetDB/merovingian.pid +# config opt mero_controlport = 50001 +# config opt sql_optimizer = default_pipe +# config opt minimal_pipe = inline,remap,deadcode,multiplex,garbageCollector +# config opt default_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mitosis,mergetable,deadcode,commonTerms,joinPath,reorder,deadcode,reduce,dataflow,history,multiplex,garbageCollector +# config opt nov2009_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,multiplex,garbageCollector +# config opt replication_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,dataflow,history,replication,multiplex,garbageCollector +# config opt accumulator_pipe = inline,remap,evaluate,costModel,coercions,emptySet,aliases,mergetable,deadcode,constants,commonTerms,joinPath,deadcode,reduce,accumulators,dataflow,history,multiplex,garbageCollector +# config opt recycler_pipe = inl
MonetDB: Jun2010 - Return a correct URI for local connection fro...
Changeset: 2a62d199 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2a62d199 Modified Files: MonetDB5/ChangeLog.Jun2010 MonetDB5/src/mal/mal_sabaoth.mx Branch: Jun2010 Log Message: Return a correct URI for local connection from Sabaoth when the connection is a UNIX domain socket. Partial fix for bug #2567. diffs (32 lines): diff -r 2d856b72dba7 -r 2a62d199 MonetDB5/ChangeLog.Jun2010 --- a/MonetDB5/ChangeLog.Jun2010Thu Jul 01 14:01:29 2010 +0200 +++ b/MonetDB5/ChangeLog.Jun2010Thu Jul 01 14:30:44 2010 +0200 @@ -1,6 +1,10 @@ # ChangeLog file for MonetDB5 # This file is updated with Maddlog +* Thr Jul 01 2010 Fabian Groffen +- Return a correct URI for local connection from Sabaoth when the + connection is a UNIX domain socket. Partial fix for bug #2567. + * Wed Jun 30 2010 Stefan Manegold - various performance fixes in grouping and grouped aggregation code (MonetDB5/src/modules/kernel/group.mx, MonetDB5/src/modules/kernel/aggr*.mx) diff -r 2d856b72dba7 -r 2a62d199 MonetDB5/src/mal/mal_sabaoth.mx --- a/MonetDB5/src/mal/mal_sabaoth.mx Thu Jul 01 14:01:29 2010 +0200 +++ b/MonetDB5/src/mal/mal_sabaoth.mx Thu Jul 01 14:30:44 2010 +0200 @@ -349,7 +349,13 @@ if (stats == NULL || stats->conns == NULL || stats->conns->val == NULL) { *ret = GDKstrdup(str_nil); } else { - snprintf(data, sizeof(data), "%s%s", stats->conns->val, stats->dbname); + if (stats->conns->val[15] == '/') { + snprintf(data, sizeof(data), "%s?database=%s", + stats->conns->val, stats->dbname); + } else { + snprintf(data, sizeof(data), "%s%s", + stats->conns->val, stats->dbname); + } *ret = GDKstrdup(data); } ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - fixed vault.sql (`external name' is the expec...
Changeset: b257e57f9473 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=b257e57f9473 Modified Files: sql/src/sql/vault.sql Branch: default Log Message: fixed vault.sql (`external name' is the expected syntax) diffs (15 lines): diff -r 0758a5e6d2e0 -r b257e57f9473 sql/src/sql/vault.sql --- a/sql/src/sql/vault.sql Thu Jul 01 14:16:21 2010 +0200 +++ b/sql/src/sql/vault.sql Thu Jul 01 14:29:32 2010 +0200 @@ -26,9 +26,9 @@ create function getVaultDir(nme string) returns string -external sql.getVaultDir; +external name sql.getVaultDir; -- refresh the vault create procedure refreshVault(nme string) -external sql.refreshVault; +external name sql.refreshVault; ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: default - Next step to get library working
Changeset: 0758a5e6d2e0 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0758a5e6d2e0 Modified Files: sql/src/backends/monet5/vaults/Makefile.ag sql/src/backends/monet5/vaults/vault.mx sql/src/sql/createdb.mx Branch: default Log Message: Next step to get library working The name resolution does not work properly yet for the vault primitives. diffs (66 lines): diff -r 9d81c7b5a874 -r 0758a5e6d2e0 sql/src/backends/monet5/vaults/Makefile.ag --- a/sql/src/backends/monet5/vaults/Makefile.agThu Jul 01 09:09:21 2010 +0200 +++ b/sql/src/backends/monet5/vaults/Makefile.agThu Jul 01 14:16:21 2010 +0200 @@ -18,8 +18,8 @@ INCLUDES = ../../include ../../common ../../storage ../../server \ $(MONETDB5_INCS) $(CLIENTS_INCS) $(MONETDB_INCS) $(READLINE_INCS) -lib_vaults = { - DIR = libdir/MonetDB5 +lib__vaults = { + DIR = libdir/MonetDB5/ SOURCES = vault.mx # LIBS = ../../server/libsqlserver ../../storage/libstore ../../storage/bat/libbatstore ../../storage/restrict/librestrictstore ../../storage/bpm/libbpmstore ../../common/libsqlcommon \ LIBS = ../../../server/libsqlserver ../../../storage/libstore ../../../storage/bat/libbatstore ../../../storage/restrict/librestrictstore ../../../storage/bpm/libbpmstore ../../../common/libsqlcommon \ diff -r 9d81c7b5a874 -r 0758a5e6d2e0 sql/src/backends/monet5/vaults/vault.mx --- a/sql/src/backends/monet5/vaults/vault.mx Thu Jul 01 09:09:21 2010 +0200 +++ b/sql/src/backends/monet5/vaults/vault.mx Thu Jul 01 14:16:21 2010 +0200 @@ -54,6 +54,7 @@ The vault root is a subdirectory of the dbfarm//vault/ and contains a subdirectory for each vault kind. @mal +library vault; module vault; command getDirectory(i:int):str @@ -67,7 +68,6 @@ command refresh(id:int) address VLTrefreshObject comment "Refresh the content of the vault for a specific object"; -...@{ pattern prelude():void address VLTprelude comment "Initialize the vault."; @@ -76,11 +76,13 @@ address VLTepilogue comment "Cleanup the vault."; +...@{ @- @+ Implementation @h #ifndef _VAULT_H #define _VAULT_H +#include "sql_config.h" #include "clients.h" #include "mal.h" #include "mal_client.h" @@ -104,7 +106,6 @@ #endif /* _VAULT_H */ @- Module initializaton @c -#include "sql_config.h" #include "vault.h" static char vaultpath[BUFSIZ]; diff -r 9d81c7b5a874 -r 0758a5e6d2e0 sql/src/sql/createdb.mx --- a/sql/src/sql/createdb.mx Thu Jul 01 09:09:21 2010 +0200 +++ b/sql/src/sql/createdb.mx Thu Jul 01 14:16:21 2010 +0200 @@ -44,7 +44,6 @@ @include skyserver.sql @include clients.sql -...@include vault.sql @- The remaining functionality is considered for debugging. @sql ___ Checkin-list mailing list Checkin-list@monetdb.org http://mail.monetdb.org/mailman/listinfo/checkin-list
MonetDB: Jun2010 - Fix implementation of mapi_mapiuri to deal wi...
Changeset: 2d856b72dba7 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=2d856b72dba7 Modified Files: clients/ChangeLog.Jun2010 clients/src/mapilib/Mapi.mx sql/src/backends/monet5/merovingian/merovingian.c Branch: Jun2010 Log Message: Fix implementation of mapi_mapiuri to deal with UNIX socket urls properly. This fixes one part of Bug #2567. diffs (147 lines): diff -r 357a239e7c37 -r 2d856b72dba7 clients/ChangeLog.Jun2010 --- a/clients/ChangeLog.Jun2010 Wed Jun 30 15:24:33 2010 +0200 +++ b/clients/ChangeLog.Jun2010 Thu Jul 01 14:01:29 2010 +0200 @@ -1,3 +1,6 @@ # ChangeLog file for clients # This file is updated with Maddlog +* Thr Jul 1 2010 Fabian Groffen +- Fix implementation of mapi_mapiuri to deal with UNIX socket urls + properly. This fixes one part of Bug #2567. diff -r 357a239e7c37 -r 2d856b72dba7 clients/src/mapilib/Mapi.mx --- a/clients/src/mapilib/Mapi.mx Wed Jun 30 15:24:33 2010 +0200 +++ b/clients/src/mapilib/Mapi.mx Thu Jul 01 14:01:29 2010 +0200 @@ -1303,6 +1303,7 @@ static int unquote(const char *msg, char **start, const char **next, int endchar, size_t *lenp); static int mapi_slice_row(struct MapiResultSet *result, int cr); static void mapi_store_bind(struct MapiResultSet *result, int cr); +static void parse_uri_query(Mapi mid, char *uri); static int mapi_initialized = 0; @@ -2093,39 +2094,43 @@ } /* copy to a writable working buffer */ - snprintf(uri, 8096, "%s", url +sizeof("mapi:monetdb://") - 1); - - if ((p = strchr(uri, ':')) == NULL) { - mapi_setError(mid, "URI must contain a port number after the hostname", "mapi_mapiuri", MERROR); - return mid; - } - *p++ = '\0'; - host = uri; - dbname = p; /* temp misuse */ - - if ((p = strchr(dbname, '/')) == NULL) { - p = dbname; - dbname = NULL; - } else { + snprintf(uri, 8096, "%s", url + sizeof("mapi:monetdb://") - 1); + + if (uri[0] != '/') { + if ((p = strchr(uri, ':')) == NULL) { + mapi_setError(mid, "URI must contain a port number after " + "the hostname", "mapi_mapiuri", MERROR); + return mid; + } *p++ = '\0'; - if (*p == '\0') { + dbname = p; /* temp misuse */ + host = uri; + if ((p = strchr(dbname, '/')) == NULL) { p = dbname; dbname = NULL; } else { - char *t = dbname; - dbname = p; - p = t; + *p++ = '\0'; + if (*p == '\0') { + p = dbname; + dbname = NULL; + } else { + char *t = dbname; + dbname = p; + p = t; + } } + port = atoi(p); + if (port <= 0) { + mapi_setError(mid, "URI contains invalid port", + "mapi_mapiuri", MERROR); + return mid; + } + } else { + host = uri; + port = 0; + dbname = NULL; } - port = atoi(p); - if (port <= 0) { - mapi_setError(mid, "URI contains invalid port", "mapi_mapiuri", MERROR); - return mid; - } - - if (mid->hostname) - free(mid->hostname); - mid->hostname = strdup(host); + mid->port = port; if (mid->username != NULL) free(mid->username); @@ -2145,7 +2150,18 @@ mid->languageId = LANG_XQUERY; if (mid->database) free(mid->database); - mid->database = dbname == NULL ? NULL : strdup(dbname); + mid->database = NULL; + + /* this is in particular important for unix sockets */ + parse_uri_query(mid, uri); + + /* doing this here, because parse_uri_query will terminate the +* string if a ? is in place */ + if (mid->hostname) + free(mid->hostname); + mid->hostname = strdup(host); + if (mid->database == NULL && dbname != NULL) + mid->database = strdup(dbname); return mid; } @@ -2267,7 +2283,7 @@ if ((uri = strchr(uri, '?')) == NULL) return; - uri++; /* skip '?' */ + *uri++ = '\0'; /* skip '?' */ do { if ((amp = strchr(uri, '&')) != NULL) @@ -2281,6 +2297,14 @@ } else if (strcmp("language", uri) == 0) { free(mid->language); mid->la
MonetDB: default - Hooks for admission control
Changeset: 9d81c7b5a874 for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=9d81c7b5a874 Modified Files: MonetDB5/src/mal/mal_instruction.mx MonetDB5/src/mal/mal_interpreter.mx MonetDB5/src/mal/mal_stack.mx Branch: default Log Message: Hooks for admission control The dataflow block execution has been extended with a hook for admission and wrapup. They take effect when the instruction is about to be added to or released from the queue. The hooks context is a single stack frame. These hooks are intended to finetune the scheduling using more knowlegde about the context, or to implement a dynamic dataflow crawler where the instructions to be executed are determined by e.g. sampling first. The stack structure is changed, so a clean rebuild may be required. diffs (91 lines): diff -r 3ce2ea819aea -r 9d81c7b5a874 MonetDB5/src/mal/mal_instruction.mx --- a/MonetDB5/src/mal/mal_instruction.mx Wed Jun 30 21:27:45 2010 +0200 +++ b/MonetDB5/src/mal/mal_instruction.mx Thu Jul 01 09:09:21 2010 +0200 @@ -350,7 +350,6 @@ #define VARRETS 2 /* all functions return a string */ -typedef str (*MALfcn) (); typedef struct { bit token; /* instruction type */ diff -r 3ce2ea819aea -r 9d81c7b5a874 MonetDB5/src/mal/mal_interpreter.mx --- a/MonetDB5/src/mal/mal_interpreter.mx Wed Jun 30 21:27:45 2010 +0200 +++ b/MonetDB5/src/mal/mal_interpreter.mx Thu Jul 01 09:09:21 2010 +0200 @@ -1262,7 +1262,15 @@ printInstruction(GDKstdout, flow->mb, 0, p, LIST_MAL_STMT); } } - +...@- +Parallel processing is mostly driven by dataflow, but within this context +there may be different schemes to take instructions into execution. +The admission scheme (and wrapup) are the necessary scheduler hooks. +A scheduler registers the functions needed and should release them +at the end of the parallel block. +They take effect after we have ensured that the basic properties for +execution hold. +...@c static str DFLOWscheduler( DataFlow flow ) { @@ -1287,6 +1295,8 @@ while(queued){ PARDEBUG stream_printf(GDKstdout,"#waiting for results, queued %d\n", queued); f = q_dequeue(flow->done); + if ( f->flow->stk->wrapup ) /* clean up whatever is called for */ + (*f->flow->stk->wrapup)(f->flow->cntxt, f->flow->mb, f->flow->stk, getInstrPtr(flow->mb, f->pc)); f->status = DFLOWwrapup; queued--; if (f->pc < 0) { @@ -1295,8 +1305,11 @@ } /* we have to wait for all threads to report back */ /* dequeue the remainders in case of an error */ - while(queued-- > 0) - (void)q_dequeue(flow->done); + while(queued-- > 0) { + if ( f->flow->stk->wrapup ) /* clean up whatever is called for */ + (*f->flow->stk->wrapup)(f->flow->cntxt, f->flow->mb, f->flow->stk, getInstrPtr(flow->mb, f->pc)); + (void)q_dequeue(flow->done); + } return f->error; } else { p = getInstrPtr(flow->mb, f->pc); @@ -1337,7 +1350,9 @@ if (fs[i].status == DFLOWpending ) { p = getInstrPtr(flow->mb, fs[i].pc); for ( j= p->retc; j < p->argc; j++) - if ( getArg(p,j)== oa && DFLOWeligible(flow,fs,i,p,pc)){ + if ( getArg(p,j)== oa && DFLOWeligible(flow,fs,i,p,pc) && + ( f->flow->stk->admit == 0 || (*f->flow->stk->admit)(f->flow->cntxt, f->flow->mb, f->flow->stk, getInstrPtr(flow->mb, f->pc)) ) + ){ queued++; candidates ++; DFLOWactivate(flow,fs,i,p); diff -r 3ce2ea819aea -r 9d81c7b5a874 MonetDB5/src/mal/mal_stack.mx --- a/MonetDB5/src/mal/mal_stack.mx Wed Jun 30 21:27:45 2010 +0200 +++ b/MonetDB5/src/mal/mal_stack.mx Thu Jul 01 09:09:21 2010 +0200 @@ -68,6 +68,8 @@ #define MAXGLOBALS 4 * STACKINCR #define MAXSHARES 8 +typedef str (*MALfcn) (); + typedef struct MALSTK { int stksize; int stktop; @@ -76,6 +78,13 @@ int calldepth; /* to protect against runtime stack overflow */ short keepAlive;/* do not garbage collect when set */ short garbageCollect; /* stack needs garbage collection */ +...@- +Parallel processing is mostly driven by dataflow, but within this context +there may be different schemes to take instructions into execution. +The admission scheme (and wrapup) are the necessary scheduler hooks. +...@h + MALfcn admit; + MALfcn wrapup; MT_Lock stklock;/* used for