MonetDB: default - merge with Jun2010

2010-07-01 Thread Stefan Manegold
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

2010-07-01 Thread Niels Nes
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 ...

2010-07-01 Thread Niels Nes
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...

2010-07-01 Thread Stefan Manegold
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

2010-07-01 Thread Stefan Manegold
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

2010-07-01 Thread Stefan Manegold
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:

2010-07-01 Thread Stefan Manegold
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...

2010-07-01 Thread Stefan Manegold
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...

2010-07-01 Thread Stefan Manegold
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

2010-07-01 Thread Stefan Manegold
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 ...

2010-07-01 Thread Fabian Groffen
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

2010-07-01 Thread Stefan Manegold
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):

2010-07-01 Thread Stefan Manegold
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

2010-07-01 Thread Fabian Groffen
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 ...

2010-07-01 Thread Fabian Groffen
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...

2010-07-01 Thread Stefan Manegold
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

2010-07-01 Thread Fabian Groffen
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.

2010-07-01 Thread Fabian Groffen
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...

2010-07-01 Thread Fabian Groffen
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...

2010-07-01 Thread Niels Nes
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

2010-07-01 Thread mk
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...

2010-07-01 Thread Fabian Groffen
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

2010-07-01 Thread mk
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