Update of /cvsroot/monetdb/MonetDB5/src/modules/mal
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv11183/src/modules/mal

Modified Files:
        algebraExtensions.mx batExtensions.mx batxml.mx bbp.mx box.mx 
        bpm.mx const.mx constraints.mx factory.mx fleet.mx language.mx 
        mal_mapi.mx 
Log Message:
propagated changes of Friday Feb 08 2008 - Sunday Feb 10 2008
from the MonetDB_5-4 branch to the development trunk


Index: factory.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/factory.mx,v
retrieving revision 1.25
retrieving revision 1.26
diff -u -d -r1.25 -r1.26
--- factory.mx  11 Jan 2008 10:41:37 -0000      1.25
+++ factory.mx  10 Feb 2008 23:48:50 -0000      1.26
@@ -25,27 +25,27 @@
 
 command getPlants()(mod:bat[:oid,:str], fcn:bat[:oid,:str])
 address FCTgetPlants 
-comment "Retrieve the names for all active factories";
+comment "Retrieve the names for all active factories.";
 
 command getCaller():int
 address FCTgetCaller
-comment "Retrieve the unique identity of the factory caller";
+comment "Retrieve the unique identity of the factory caller.";
 
 command getOwners():bat[:oid,:str]
 address FCTgetOwners
-comment "Retrieve the factory owners table";
+comment "Retrieve the factory owners table.";
 
 command getArrival():bat[:oid,:timestamp]
 address FCTgetArrival
-comment "Retrieve the time stamp the last call was made";
+comment "Retrieve the time stamp the last call was made.";
 
 command getDeparture():bat[:oid,:timestamp]
 address FCTgetDeparture
-comment "Retrieve the time stamp the last answer was returned";
+comment "Retrieve the time stamp the last answer was returned.";
 
 command shutdown(m:str, f:str):void
 address FCTshutdown
-comment "Close a factory";
+comment "Close a factory.";
 @-
 @{
 @include prelude.mx

Index: constraints.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/constraints.mx,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- constraints.mx      11 Jan 2008 10:41:37 -0000      1.10
+++ constraints.mx      10 Feb 2008 23:48:48 -0000      1.11
@@ -23,7 +23,7 @@
 
 command emptySet(b:bat[:oid,:any_2]):void
 address CemptySet
-comment "Check if the bat is empty";
+comment "Check if the BAT is empty.";
 
 @h
 #ifndef _CONSTRAINTS_H

Index: batxml.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/batxml.mx,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- batxml.mx   8 Feb 2008 22:36:34 -0000       1.24
+++ batxml.mx   10 Feb 2008 23:48:46 -0000      1.25
@@ -33,43 +33,43 @@
 
 command xml.xml(src:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLstr2xml
-comment "Cast the string to an xml compliant string";
+comment "Cast the string to an xml compliant string.";
 
 command xml.str(src:bat[:oid,:xml]):bat[:oid,:str]
 address BATXMLxml2str
-comment "Cast the string to an xml compliant string";
+comment "Cast the string to an xml compliant string.";
 
 command xml.document(src:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLdocument
-comment "Parse the string as a document";
+comment "Parse the string as an XML document.";
 
 command xml.content(src:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLcontent
-comment "Parse the string as a document";
+comment "Parse the string as an XML document.";
 
 command xml.tag(nme:str,val:bat[:oid,:xml]):bat[:oid,:xml]
 address BATXMLtag
-comment "Routine to put element brackets around an XML value";
+comment "Put element brackets around an XML value.";
 
 command xml.comment(val:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLcomment
-comment "Construct an comment struction ";
+comment "Create an XML comment element.";
 
 command xml.parse(val:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLparse
-comment "Parse the XML document or element string values ";
+comment "Parse the XML document or element string values. ";
 
 command xml.serialize(val:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLxml2str
-comment "Serialize the XML object to a string";
+comment "Serialize the XML object to a string.";
 
 command xml.text(val:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLxml2str
-comment "Serialize the XQuery object to a string";
+comment "Serialize the XML object to a string.";
 
 command xml.xquery(val:bat[:oid,:str],expr:str):bat[:oid,:xml]
 address BATXMLxquery
-comment "Execute the XQuery against the elements";
+comment "Execute the XQuery against the elements.";
 
 #todo
 #command xml.table(val:bat[:oid,:str],expr:str):bat[:oid,:xml]
@@ -78,51 +78,51 @@
 
 command xml.pi(operator:str, ret:bat[:oid,:xml]):bat[:oid,:xml]
 address XMLpi
-comment "Call the processing instruction";
+comment "Call the XML processing instruction.";
 
 command xml.attribute(name:str, val:bat[:oid,:str]):bat[:oid,:xml]
 address BATXMLattribute
-comment "Construct an attribute value pair";
+comment "Construct an attribute value pair.";
 
 command xml.element(name:str, s:bat[:oid,:xml]) :bat[:oid,:xml]
 address BATXMLtag
-comment "The basic building block for XML elements are namespaces, attributes 
and a sequence of xml elements. The name space and the attributes may be left 
unspecified."; 
+comment "The basic building block for XML elements are namespaces, attributes 
and a sequence of XML elements. The name space and the attributes may be left 
unspecified."; 
 
 command xml.options(tag:str, option:str,left:bat[:oid,:xml]):bat[:oid,:xml]
 address BATXMLoptions
-comment "Create the components including NULL conversions";
+comment "Create the components including NULL conversions.";
 
 command xml.element(name:str, ns:xml, attr:xml, 
s:bat[:oid,:xml]):bat[:oid,:xml]
 address BATXMLelement
-comment "The basic building block for XML elements are namespaces, attributes 
and a sequence of xml elements. The name space and the attributes may be left 
unspecified(=nilt).";
+comment "The basic building block for XML elements are namespaces, attributes 
and a sequence of XML elements. The name space and the attributes may be left 
unspecified(=nil).";
 
 command xml.concat(left:bat[:oid,:xml],right:bat[:oid,:xml] ):bat[:oid,:xml]
 address BATXMLconcat
-comment "Concatenate the xml values";
+comment "Concatenate the XML values.";
 
 pattern xml.forest(val:bat[:oid,:xml]...):bat[:oid,:xml]
 address BATXMLforest
-comment "Construct an element list";
+comment "Construct an element list.";
 
 command 
xml.agg(val:bat[:oid,:xml],grp:bat[:oid,:oid],e:bat[:oid,:any_1]):bat[:oid,:xml]
 address BATXMLagg3
-comment "Aggregate the XML values over grouping specified";
+comment "Aggregate the XML values over groups specified.";
 
 command xml.agg(val:bat[:oid,:xml],grp:bat[:oid,:oid]):bat[:oid,:xml]
 address BATXMLagg
-comment "Aggregate the XML values over grouping specified";
+comment "Aggregate the XML values over groups specified.";
 
 command xml.agg(val:bat[:oid,:xml]):bat[:oid,:xml]
 address BATXMLgroup
-comment "Aggregate the XML values over grouping specified";
+comment "Aggregate the XML values over groups specified.";
 
 command xml.root(val:bat[:oid,:xml], version:str, 
standalone:str):bat[:oid,:xml]
 address BATXMLroot
-comment "Contruct the root nodes";
+comment "Contruct the root nodes.";
 
 command xml.isdocument(val:bat[:oid,:str]):bat[:oid,:bit]
 address BATXMLisdocument
-comment "Validate the string as a document";
+comment "Validate the string as a XML document.";
 
 module batcalc;
 command xml(src:bat[:oid,:str]):bat[:oid,:xml] address BATXMLstr2xml;

Index: const.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/const.mx,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -d -r1.49 -r1.50
--- const.mx    11 Jan 2008 10:41:37 -0000      1.49
+++ const.mx    10 Feb 2008 23:48:47 -0000      1.50
@@ -39,41 +39,41 @@
 
 pattern open():void
 address CSTopen
-comment "Locate and open the constant box";
+comment "Locate and open the constant box.";
 pattern close():void
 address CSTclose
-comment "Close the constant box ";
+comment "Close the constant box.";
 pattern destroy():void
 address CSTdestroy
-comment "Destroy the box";
+comment "Destroy the box.";
 pattern take(name:str):any_1 
 address CSTtake
-comment "Take a variable out of the box";
+comment "Take a variable out of the box.";
 pattern deposit(name:str,val:any_1) :void              
 address CSTdeposit
-comment "Enter a new variable into the box";
+comment "Add a variable to the box.";
 
 pattern releaseAll():void 
 address CSTreleaseAll
-comment "Release all variables in the box";
+comment "Release all variables in the box.";
 pattern release(name:str) :void                
 address CSTrelease
-comment "Release a new constant value";
+comment "Release a constant value.";
 pattern release(name:any_1):void 
 address CSTrelease
-comment "Release a new constant value";
+comment "Release a constant value.";
 pattern toString(name:any_1):str 
 address CSTtoString
-comment "Get the string representation of an element in the box";
+comment "Get the string representation of an element in the box.";
 pattern discard(name:any_1) :void              
 address CSTdiscard
-comment "Release the const from the box";
+comment "Release the const from the box.";
 pattern newIterator()(:lng,:str)
 address CSTnewIterator
-comment "Locate next element in the box";
+comment "Locate next element in the box.";
 pattern hasMoreElements()(:lng,:str)
 address CSThasMoreElements
-comment "Locate next element in the box";
+comment "Locate next element in the box.";
 
 @{
 pattern prelude():void 

Index: language.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/language.mx,v
retrieving revision 1.64
retrieving revision 1.65
diff -u -d -r1.64 -r1.65
--- language.mx 11 Jan 2008 10:41:37 -0000      1.64
+++ language.mx 10 Feb 2008 23:48:50 -0000      1.65
@@ -82,32 +82,32 @@
 address MALassertOid;
 pattern assert(v:any_1,pname:str,oper:str,val:any_2):void
 address MALassertTriple
-comment "Assertion test";
+comment "Assertion test.";
 
 pattern assertSpace(depth:int)
 address MALsafeguardStack
 comment "Ensures that the current call does not consume
-more then depth*vtop elements on the stack";
+more then depth*vtop elements on the stack.";
 
 pattern dataflow():int
 address MALstartDataflow
 comment "The current guarded block is executed using
-dataflow control ";
+dataflow control.";
 
 command register(m:str,f:str,code:str,help:str):void
 address CMDregisterFunction
-comment"Compile the code string and register it as a MAL function";
+comment"Compile the code string and register it as a MAL function.";
 
 pattern call(s:str):void
 address CMDcallString
-comment "Evaluate a MAL string program";
+comment "Evaluate a MAL string program.";
 pattern call(s:bat[:oid,:str]):void
 address CMDcallBAT
-comment "Evaluate a program stored in a BAT";
+comment "Evaluate a program stored in a BAT.";
 command source(f:str):void
 address CMDevalFile
 comment "Merge the instructions stored in the 
-       file with the current program";
+       file with the current program.";
 
 @{
 @+ Dummy code 

Index: bpm.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/bpm.mx,v
retrieving revision 1.124
retrieving revision 1.125
diff -u -d -r1.124 -r1.125
--- bpm.mx      7 Feb 2008 08:18:12 -0000       1.124
+++ bpm.mx      10 Feb 2008 23:48:47 -0000      1.125
@@ -29,11 +29,11 @@
 based on splitting by tail value. 
 The following MAL program illustrates the snippet of actions needed:
 @example
-       bpm.open();
-       Ralias:= bpm.deposit("myversion",R:bat[:oid,:int]);
-       bpm.rangePartition(Ralias,nil:int,100);
-       bpm.rangePartition(Ralias,101,200);
-       bpm.close();
+bpm.open();
+Ralias:= bpm.deposit("myversion",R:bat[:oid,:int]);
+bpm.rangePartition(Ralias,nil:int,100);
+bpm.rangePartition(Ralias,101,200);
+bpm.close();
 @end example
 The command @sc{bpm.deposit} registers a BAT as one 
 for which a partitioned copy is required.
@@ -48,11 +48,11 @@
 The partition manager also supports hash-based partitioning.
 Its argument is the number of hash bucket bits.
 @example
-       bpm.open();
-       Rev:= bat.reverse(R:bat[:oid,:int]);
-       Ralias:= bpm.deposit("myHashVersion",Rev);      # creates side effects
-       bpm.hashPartition(Ralias,2);
-       bpm.close();
+bpm.open();
+Rev:= bat.reverse(R:bat[:oid,:int]);
+Ralias:= bpm.deposit("myHashVersion",Rev);     # creates side effects
+bpm.hashPartition(Ralias,2);
+bpm.close();
 @end example
 This example creates a hash-partition based on the head.
 
@@ -67,7 +67,7 @@
 Assume a relation R(A,B) which is already partitioned on A
 the derived fragmentation on the head is enforced with
 @example
-       bpm.derivePartition(B,A);
+bpm.derivePartition(B,A);
 @end example
 @- Using partitions
 The partitioned BAT can be used in two ways. A query plan can be
@@ -79,17 +79,17 @@
 a partitioned BAT. In this example we collect the partial
 results in the accumulator BAT U.
 @example
-       bpm.open();
-       Ralias:bat[:oid,:int]:= bpm.take("myversion");
-       U:= bat.new(:oid,:int);
+    bpm.open();
+    Ralias:bat[:oid,:int]:= bpm.take("myversion");
+    U:= bat.new(:oid,:int);
 barrier Rp:= bpm.newIterator(Ralias);
-       ...
-       t:= algebra.select(Rp,0,100);
-       U:= algebra.union(tu,t);
-       ...
-       redo Rp:= bpm.hasMoreElements(Ralias);
+    ...
+    t:= algebra.select(Rp,0,100);
+    U:= algebra.union(tu,t);
+    ...
+    redo Rp:= bpm.hasMoreElements(Ralias);
 exit Rp;
-       bpm.close();
+    bpm.close();
 @end example
 
 The properties of the partitioned BATs are particularly useful during query
@@ -100,21 +100,21 @@
 To illustrate, the same problem handled by an optimizer that produces the plan
 based on a known number of partitions:
 @example
-       bpm.open();
-       R:bat[:oid,:int]:= bpm.take("myversion"); # get the partition alias
-       optimizer.mergetable();
-       T:= algebra.select(R,0,100);
+    bpm.open();
+    R:bat[:oid,:int]:= bpm.take("myversion"); # get the partition alias
+    optimizer.mergetable();
+    T:= algebra.select(R,0,100);
 @end example
 is translated to the plan:
 @example
-       bpm.open();
-       R:bat[:oid,:int]:= bpm.take("myversion"); # get the partition alias
-       R0:bat[:oid,:int]:= bpm.take(R,0, nil:oid,nil:oid, 0,100);
-       R1:bat[:oid,:int]:= bpm.take(R,1, nil:oid,nil:oid, 101,200);
-       R2:bat[:oid,:int]:= bpm.take(R,2, nil:oid,nil:oid, 201,nil:int);
-       R:= mat.new(R0,R1,R2);
-       T:= algebra.select(R,0,100);
-       optimizer.multitable();
+    bpm.open();
+    R:bat[:oid,:int]:= bpm.take("myversion"); # get the partition alias
+    R0:bat[:oid,:int]:= bpm.take(R,0, nil:oid,nil:oid, 0,100);
+    R1:bat[:oid,:int]:= bpm.take(R,1, nil:oid,nil:oid, 101,200);
+    R2:bat[:oid,:int]:= bpm.take(R,2, nil:oid,nil:oid, 201,nil:int);
+    R:= mat.new(R0,R1,R2);
+    T:= algebra.select(R,0,100);
+    optimizer.multitable();
 @end example
 In this translation Ri also gets the properties of the BATs.
 It is now up to the @sc{mat} optimizer to decide about
@@ -127,12 +127,12 @@
 Once the transaction is commited, the updates are propagated
 (in parallel) to all partitions.
 @example
-       bpm.open();
-       Ralias:bat[:oid,:int] := bpm.take("myversion"); 
-       bpm.insert(Ralias, Rinsert);    # handle pending inserts
-       bpm.delete(Ralias, Rdelete);    # handle pending deletes
-       bpm.replace(Ralias, Rold, Rnew);        # handle pending updates
-       bpm.close();
+    bpm.open();
+    Ralias:bat[:oid,:int] := bpm.take("myversion"); 
+    bpm.insert(Ralias, Rinsert);# handle pending inserts
+    bpm.delete(Ralias, Rdelete);# handle pending deletes
+    bpm.replace(Ralias, Rold, Rnew);# handle pending updates
+    bpm.close();
 @end example
 The @sc{replace} operator works on the assumption that
 the head of @sc{Rold} and @sc{Rnew} is unique.
@@ -152,23 +152,23 @@
 
 In the previous plan for this becomes
 @example
-       bpm.open();
-       Tmp := bpm.deposit("tmp",:bat[:oid,:int]);
-       bpm.rangePartition(tmp,nil:int,100);
-       bpm.rangePartition(tmp,101,nil:int);
+    bpm.open();
+    Tmp := bpm.deposit("tmp",:bat[:oid,:int]);
+    bpm.rangePartition(tmp,nil:int,100);
+    bpm.rangePartition(tmp,101,nil:int);
 
-       Ralias:bat[:oid,:int]:= bpm.take("myversion"); # get the partition alias
-       R0:bat[:oid,:int]:= bpm.take("myversion", nil:oid,nil:oid, 0,100);
-       T0:= algebra.select(R0,0,100);
-       bpm.insert(Tmp,T0);
+    Ralias:bat[:oid,:int]:= bpm.take("myversion"); # get the partition alias
+    R0:bat[:oid,:int]:= bpm.take("myversion", nil:oid,nil:oid, 0,100);
+    T0:= algebra.select(R0,0,100);
+    bpm.insert(Tmp,T0);
 
-       R1:bat[:oid,:int]:= bpm.take("myversion", nil:oid,nil:oid, 101,200);
-       T1:= algebra.select(R1,0,100);
-       bpm.insert(Tmp,T1);
+    R1:bat[:oid,:int]:= bpm.take("myversion", nil:oid,nil:oid, 101,200);
+    T1:= algebra.select(R1,0,100);
+    bpm.insert(Tmp,T1);
 
-       R2:bat[:oid,:int]:= bpm.take("myversion", nil:oid,nil:oid, 201,nil:int);
-       T2:= algebra.select(R2,0,100);
-       bpm.insert(Tmp,T2);
+    R2:bat[:oid,:int]:= bpm.take("myversion", nil:oid,nil:oid, 201,nil:int);
+    T2:= algebra.select(R2,0,100);
+    bpm.insert(Tmp,T2);
 @end example
 Note that a symbolic optimizer can reduce this plan to a small snippet.
 
@@ -181,28 +181,28 @@
 stored in the BPM catalog. Instead, the mat approach could
 be used to reduce the plan size.
 @example
-       bpm.open();
-       Ralias:= bpm.take("myversion",:bat[:oid,:int]); # get the partition 
alias
-       [EMAIL PROTECTED]:oid,hhigh=nil:oid,tlow=nil:int,[EMAIL PROTECTED]:= 
bpm.take(Ralias, 0);
-       T0:=algebra.select(R0,0,100);
+    bpm.open();
+    Ralias:= bpm.take("myversion",:bat[:oid,:int]); # get the partition alias
+    [EMAIL PROTECTED]:oid,hhigh=nil:oid,tlow=nil:int,[EMAIL PROTECTED]:= 
bpm.take(Ralias, 0);
+    T0:=algebra.select(R0,0,100);
 
-       [EMAIL PROTECTED]:oid,hhigh=nil:oid,tlow=101,[EMAIL PROTECTED]:= 
bpm.take(Ralias, 1);
-       T1:= algebra.select(R1,0,100);
+    [EMAIL PROTECTED]:oid,hhigh=nil:oid,tlow=101,[EMAIL PROTECTED]:= 
bpm.take(Ralias, 1);
+    T1:= algebra.select(R1,0,100);
 
-       [EMAIL PROTECTED]:oid,hhigh=nil:oid,tlow=201,thigh=nil:[EMAIL 
PROTECTED]:=  bpm.take(Ralias, 2);
-       R:= mat.new(T0,T1,T2);
-       T2:=algebra.select(R2,0,100);
+    [EMAIL PROTECTED]:oid,hhigh=nil:oid,tlow=201,thigh=nil:[EMAIL PROTECTED]:= 
 bpm.take(Ralias, 2);
+    R:= mat.new(T0,T1,T2);
+    T2:=algebra.select(R2,0,100);
 @end example
 
 @- Partition iterators
 The default strategy for an optimizer is to replace a
 reference to a partitioned BAT by an iterator.
 @example
-       l:= bpm.new();
+    l:= bpm.new();
 barrier Elm:bat[:oid,:int]:= bpm.newIterator(Ralias);
-       t:= algebra.select(Elm,0,20);
-       bpm.addPartition(l,t);
-       redo Elm:bat[:oid,:int]:= bpm.newIterator(Ralias);
+    t:= algebra.select(Elm,0,20);
+    bpm.addPartition(l,t);
+    redo Elm:bat[:oid,:int]:= bpm.newIterator(Ralias);
 exit Elm;
 @end example
 Variations on this theme are iterators that search for
@@ -217,7 +217,7 @@
 The select operation can be overloaded in the BPM to
 improve processing further. For example, the operation
 @example
-       t := bpm.select(Ralias,0,100);
+    t := bpm.select(Ralias,0,100);
 @end example
 extracts portions of all three partitions and creates 
 a non-partitioned result BAT. 
@@ -240,19 +240,19 @@
 
 command open():void
 address BPMopen
-comment "Locate and open the BAT partition box";
+comment "Locate and open the BAT partition box.";
 
 command close():void
 address BPMclose
-comment "Save and close the BAT partition box ";
+comment "Save and close the BAT partition box.";
 
 command destroy():void
 address BPMdestroy
-comment "Destroy the BAT partition box";
+comment "Destroy the BAT partition box.";
 
 command deposit(nme:str,b:bat[:oid,:any_2]) :bat[:oid,:any_2]
 address BPMdeposit
-comment "Create a new partitioned BAT by name";
+comment "Create a new partitioned BAT by name.";
 
 @-
 Temporary results can be administered as partitioned tables as well.
@@ -260,33 +260,33 @@
 @mal
 pattern new(ht:any_1,tt:any_2):bat[:any_1,:any_2]
 address BPMnew
-comment "Create a temporary partitioned table";
+comment "Create a temporary partitioned table.";
 
 command fold(b:bat[:any_1,:any_2]):bat[:any_1,:any_2]
 address BPMfold
-comment "Collapse the partitioned BAT into a single BAT";
+comment "Collapse the partitioned BAT into a single BAT.";
 
 command unfold(alias:bat[:any_1,:any_2]) :bat[:any_1,:any_2]
 address BPMunfold
-comment "Unfold a BAT into a partitioned one";
+comment "Unfold a BAT into a partitioned one.";
 
 command garbage(b:bat[:any_1,:any_2]):void
 address BPMgarbage
-comment "Remove a temporary partitioned table";
+comment "Remove a temporary partitioned table.";
 
 command pieces(b:bat[:any_1,:any_2]):int
 address BPMpieces
-comment "Count the number of partitions";
+comment "Count the number of partitions.";
 
 command count(b:bat[:any_1,:any_2]):int
 address BPMcount;
 command emptySet(b:bat[:any_1,:any_2]):void
 address BPMemptySet
-comment "Implement the constraints test efficiently";
+comment "Implement the empty set constraints test efficiently.";
 
 command sortTail(b:bat[:any_1,:any_2]):bat[:any_1,:any_2]
 address BPMsortTail
-comment "Implement the sort on tail for partitioned BAT efficiently";
+comment "Implement the sort on tail for partitioned BAT efficiently.";
 @-
 The partitioning is handled inside the module.
 If the alias BAT denotes an existing partition, it is
@@ -294,38 +294,38 @@
 @mal
 command rangePartition(pb:bat[:any_1,:any_2], rl:any_2, rh:any_2):void
 address BPMrange
-comment "Create a range partition on a BAT";
+comment "Create a range partition on a BAT.";
 
 command rangePartition(pb:bat[:any_1,:any_2], pv:bat[:oid,:any_2]):void
 address BPMrangeVector
-comment "Create the partitions based on a range vector";
+comment "Create the partitions based on a range vector.";
 
 command rangePartitionSort(pb:bat[:any_1,:any_2], pv:bat[:oid,:any_2]):void
 address BPMrangeVectorSort
-comment "Create the partitions based on a range vector";
+comment "Create the partitions based on a range vector.";
 
 command sortPartitions(b:bat[:any_1,:any_2]):void
 address BPMsortPartitions
-comment "Sort all partitions of alias b on the tail";
+comment "Sort all partitions of alias b on the tail.";
 
 command hashPartitions(b:bat[:any_1,:any_2]):void
 address BPMhashPartitions
-comment "Ensure all partitions have a hash in the head";
+comment "Ensure all partitions have a hash in the head.";
 
 command partition(pb:bat[:any_1,:any_2], val:any_2):void
 address BPMsplitpartition
-comment "Split all partitions that cover the split value";
+comment "Split all partitions that cover the split value.";
 
 command addPartition(b:bat[:any_1,:any_2],s:bat[:any_1,:any_2]):void
 address BPMaddPartition
-comment "Add a partition to a fragmented temporary table";
+comment "Add a partition to a fragmented temporary table.";
 command addPartition(b:bat[:any_1,:any_2],s:BAT):void
 address BPMaddPartition
-comment "Add a partition to a fragmented temporary table";
+comment "Add a partition to a fragmented temporary table.";
 
 command hashPartition(pb:bat[:any_1,:any_2], slots:int):void
 address BPMhash
-comment "Create a hash partition on a BAT";
+comment "Create a hash partition on a BAT.";
 command derivePartition(pb:bat[:any_1,:any_2], 
        src:bat[:any_1,:any_2]):bat[:any_1,:any_2]
 address BPMderived
@@ -333,45 +333,45 @@
 
 command adapt(s:bat[:any_1,:any_2], low:any_2, hgh:any_2, 
rs:bat[:any_1,:any_3], pol:int) :bat[:any_1,:any_2]
 address BPMadapt
-comment "Re-organize segment s using the selection (val1,val2) stored in bat 
rs";
+comment "Re-organize segment s using the selection (val1,val2) stored in bat 
rs.";
 
 
 command take(pb:int):bat[:any_1,:any_2]
 address BPMtakeIndexed
-comment "Retrieve the partition given the its index ";
+comment "Retrieve the partition given the its index.";
 command take(pb:str):bat[:any_1,:any_2]
 address BPMtake
-comment "Retrieve the alias given the name of a partitioned BAT";
+comment "Retrieve the alias given the name of a partitioned BAT.";
 
 command take(nme:str, hl:any_1, hh:any_1, tl:any_2, th:any_2) 
:bat[:any_1,:any_2]
 address BPMtakePartition
-comment "Retrieve a single component of a partitioned BAT by index";
+comment "Retrieve a single component of a partitioned BAT by index.";
 
 command take(nme:bat[:any_1,:any_2],idx:int, hl:any_1, hh:any_1, tl:any_2, 
th:any_2) :bat[:any_1,:any_2]
 address BPMtakePartitionIndexed
-comment "Retrieve a single component of a partitioned BAT by index";
+comment "Retrieve a single component of a partitioned BAT by index.";
 
 command insert(pb:bat[:any_1,:any_2],b:bat[:any_1,:any_2]) :void
 address BPMinsert
-comment "Insert elements into the BAT partitions";
+comment "Insert elements into the BAT partitions.";
 command delete(pb:bat[:any_1,:any_2],b:bat[:any_1,:any_2]) :void
 address BPMdelete
-comment "Delete elements from the BAT partitions";
+comment "Delete elements from the BAT partitions.";
 command replace(pb:bat[:any_1,:any_2],old:bat[:any_1,:any_2],
                nwe:bat[:any_1,:any_2]) :void
 address BPMreplace
-comment "Replace the content of the BAT partitions";
+comment "Replace the content of the BAT partitions.";
 
 command getNames():bat[:oid,:str]
 address BPMgetNames
-comment "Retrieve the names of all known partitioned BATs";
+comment "Retrieve the names of all known partitioned BATs.";
 
 command discard(alias:bat[:any_1,:any_2]) :void
 address BPMdiscard
-comment "Release a partitioned BAT from the box";
+comment "Release a partitioned BAT from the box.";
 command discard() :void
 address BPMdiscardAll
-comment "Release all partitioned BATs";
+comment "Release all partitioned BATs.";
 
 @-
 In most situations we would like to iterator over

Index: box.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/box.mx,v
retrieving revision 1.34
retrieving revision 1.35
diff -u -d -r1.34 -r1.35
--- box.mx      11 Jan 2008 10:41:37 -0000      1.34
+++ box.mx      10 Feb 2008 23:48:47 -0000      1.35
@@ -40,7 +40,7 @@
 comment "Destroy the box.";
 pattern take(bnme:str, vnme:str):any_1
 address BOXtake
-comment "Locates the typed value in the box.";
+comment "Locate the typed value in the box.";
 pattern deposit(bname:str,name:str,v:any_1):void                       
 address BOXdeposit
 comment "Enter a new value into the box.";

Index: bbp.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/bbp.mx,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- bbp.mx      11 Jan 2008 10:41:37 -0000      1.117
+++ bbp.mx      10 Feb 2008 23:48:47 -0000      1.118
@@ -30,7 +30,7 @@
 Any BAT B created can be brought under this scheme with the name N.
 The association N->B is only maintained in the box administration
 and not reflected in the BAT descriptor.
-In particular, taking a  BATobject out of the box leads to a private 
+In particular, taking a  BAT object out of the box leads to a private 
 copy to isolate the user from concurrent updates on the underlying store.
 Upon releasing it, the updates are merged with the master copy [todo].
 
@@ -51,7 +51,7 @@
 comment "Destroy the box";
 pattern take(name:str) :bat[:any_1,:any_2] 
 address CMDbbptake
-comment "Load a particular bat";
+comment "Load a particular bat.";
 pattern deposit(name:str,v:bat[:any_1,:any_2]) :void                   
 address CMDbbpdeposit
 comment "Enter a new bat into the bbp box.";
@@ -60,10 +60,10 @@
 comment "Relate a logical name to a physical BAT in the buffer pool.";
 pattern commit():void  
 address CMDbbpReleaseAll
-comment "Commit updates for this client";
+comment "Commit updates for this client.";
 pattern releaseAll():void      
 address CMDbbpReleaseAll
-comment "Commit updates for this client";
+comment "Commit updates for this client.";
 pattern release(name:str,val:bat[:any_1,:any_2]) :void                         
 address CMDbbprelease
 comment "Commit updates and release this BAT.";
@@ -72,24 +72,24 @@
 comment "Remove the BAT from further consideration";
 pattern destroy(b:bat[:any_1,:any_2]):void
 address CMDbbpdestroyBAT1
-comment "BAT removal at session end";
+comment "Schedule a BAT for removal at session end.";
 pattern destroy(b:bat[:any_1,:any_2],immediate:bit)
 address CMDbbpdestroyBAT
-comment "Schedule a BAT for removal at session end or immediately";
+comment "Schedule a BAT for removal at session end or immediately.";
 pattern toString(name:str):str         
 address CMDbbptoStr
-comment "Get the string representation of an element in the box";
+comment "Get the string representation of an element in the box.";
 pattern discard(name:str):void 
 address CMDbbpdiscard
-comment "Remove the BAT from the box";
+comment "Remove the BAT from the box.";
 
 pattern iterator(nme:str):lng  
 address CMDbbpiterator
-comment "Locates the next element in the box";
+comment "Locate the next element in the box.";
 
 pattern prelude():void 
 address CMDbbpprelude
-comment "Initialize the bbp box";
+comment "Initialize the bbp box.";
 
 pattern bind(name:str):bat[:any_1,:any_2]
 address CMDbbpbind
@@ -176,7 +176,7 @@
 comment "Utility for debugging MAL interpreter";
 command getDiskSpace() :int
 address CMDbbpDiskSpace
-comment "Estimate the amount of diskspace occupied by dbfarm";
+comment "Estimate the amount of disk space occupied by dbfarm";
 @-
 @{
 @include prelude.mx

Index: mal_mapi.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/mal_mapi.mx,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- mal_mapi.mx 28 Jan 2008 08:00:18 -0000      1.3
+++ mal_mapi.mx 10 Feb 2008 23:48:50 -0000      1.4
@@ -40,10 +40,10 @@
 comment "Start a Mapi server with the default settings.";
 command listen(port:int):int
 address SERVERlisten_port
-comment "Start a Mapi server on the given port";
+comment "Start a Mapi listener on the port given.";
 command listen(port:int, maxusers:int):int
 address SERVERlisten2
-comment "Start a Mapi server";
+comment "Start a Mapi listener.";
 
 command listen(port:int, maxusers:int, cmd:str):int
 address SERVERlisten3
@@ -62,73 +62,73 @@
 
 command stop():void
 address SERVERstop
-comment "Terminate connection listeners"; 
+comment "Terminate connection listeners."; 
 
 command suspend():void
 address SERVERsuspend
-comment "Suspend accepting connections";
+comment "Suspend accepting connections.";
 
 command resume():void
 address SERVERresume
-comment "Resume connection listeners";
+comment "Resume connection listeners.";
 
 command malclient(in:streams, out:streams):void
 address SERVERclient
-comment "Start a Mapi client.";
+comment "Start a Mapi client for a particular stream pair.";
 
 
 command trace(mid:int,flag:int):void
 address SERVERtrace
-comment "Toggle the Mapi library tracer";
+comment "Toggle the Mapi library debug tracer.";
 
 command reconnect(host:str, port:int, usr:str, passwd:str,lang:str):int
 address SERVERreconnectWithoutAlias
-comment "Re-establish connection with a remote mserver";
+comment "Re-establish connection with a remote mserver.";
 
 command reconnect(host:str, port:int, db_alias:str, usr:str, 
passwd:str,lang:str):int
 address SERVERreconnectAlias
-comment "Re-establish connection with a remote mserver";
+comment "Re-establish connection with a remote mserver.";
 
 command reconnect(mid:int):void
 address SERVERreconnect
-comment "Re-establish a connection";
+comment "Re-establish a connection.";
 
 command connect(host:str, port:int, usr:str, passwd:str,lang:str):int
 address SERVERconnect
-comment "Establish connection with a remote mserver";
+comment "Establish connection with a remote mserver.";
 
 command connect_ssl(host:str, port:int, usr:str, passwd:str,lang:str):int
 address SERVERconnectssl
 comment "Establish connection with a remote mserver using the
-secure socket layer";
+secure socket layer.";
 
 command disconnect(dbalias:str):int
 address SERVERdisconnectWithAlias
-comment "Close connection with a remote mserver";
+comment "Close connection with a remote Mserver.";
 
 command disconnect():int
 address SERVERdisconnectALL
-comment "Close connections with all remote mserver";
+comment "Close connections with all remote Mserver.";
 
 command setAlias(dbalias:str)
 address SERVERsetAlias
-comment "Give the channel a logical name";
+comment "Give the channel a logical name.";
 
 command lookup(dbalias:str):int
 address SERVERlookup
-comment "Retrieve the connection identifier";
+comment "Retrieve the connection identifier.";
 
 command disconnect(mid:int):void
 address SERVERdisconnect
-comment "Terminate the session";
+comment "Terminate the session.";
 
 command destroy(mid:int):void
 address SERVERdestroy
-comment "Destroy the handle";
+comment "Destroy the handle for an Mserver.";
 
 command ping(mid:int):int
 address SERVERping
-comment "Test availability of server";
+comment "Test availability of an Mserver.";
 
 command query(mid:int, qry:str):int
 address SERVERquery
@@ -136,75 +136,75 @@
 
 command query_handle(mid:int, qry:str):int
 address SERVERquery_handle
-comment "Sent the query for execution";
+comment "Sent the query for execution.";
 
 pattern query_array(mid:int, qry:str, arg:str...):int
 address SERVERquery_array
-comment "Sent the query for execution replacing '?' by arguments";
+comment "Sent the query for execution replacing '?' by arguments.";
 
 command prepare(mid:int, qry:str):int
 address SERVERprepare
-comment "Prepare a query for execution";
+comment "Prepare a query for execution.";
 
 command finish(hdl:int):int
 address SERVERfinish
-comment "Remove all remaining answers";
+comment "Remove all remaining answers.";
 
 command get_field_count(hdl:int):int
 address SERVERget_field_count
-comment "Return number of fields";
+comment "Return number of fields.";
 
 command get_row_count(hdl:int):int
 address SERVERget_row_count
-comment "Return number of rows";
+comment "Return number of rows.";
 
 command fetch_row(hdl:int):int
 address SERVERrows_affected
-comment "Return number of affected rows";
+comment "Return number of affected rows.";
 
 command fetch_row(hdl:int):int
 address SERVERfetch_row
-comment "Retrieve the next row for analysis";
+comment "Retrieve the next row for analysis.";
 
 command fetch_all_rows(hdl:int):int
 address SERVERfetch_all_rows
-comment "Retrieve all rows into the cache";
+comment "Retrieve all rows into the cache.";
 
 command fetch_field(hdl:int,fnr:int):str
 address SERVERfetch_field_str
-comment "Retrieve a single field";
+comment "Retrieve a single field.";
 
 command fetch_field(hdl:int,fnr:int):int
 address SERVERfetch_field_int
-comment "Retrieve a single int field";
+comment "Retrieve a single int field.";
 
 command fetch_field(hdl:int,fnr:int):lng
 address SERVERfetch_field_lng
-comment "Retrieve a single lng field";
+comment "Retrieve a single lng field.";
 
 command fetch_field(hdl:int,fnr:int):sht
 address SERVERfetch_field_sht
-comment "Retrieve a single sht field";
+comment "Retrieve a single sht field.";
 
 command fetch_field(hdl:int,fnr:int):void
 address SERVERfetch_field_void
-comment "Retrieve a single void field";
+comment "Retrieve a single void field.";
 
 command fetch_field(hdl:int,fnr:int):oid
 address SERVERfetch_field_oid
-comment "Retrieve a single void field";
+comment "Retrieve a single void field.";
 
 command fetch_field(hdl:int,fnr:int):chr
 address SERVERfetch_field_chr
-comment "Retrieve a single chr field";
+comment "Retrieve a single chr field.";
 
 command fetch_field_array(hdl:int):bat[:int,:str]
 address SERVERfetch_field_bat
-comment "Retrieve all fields for a row";
+comment "Retrieve all fields for a row.";
 
 command fetch_line(hdl:int):str
 address SERVERfetch_line
-comment "Retrieve a complete line";
+comment "Retrieve a complete line.";
 
 command fetch_reset(hdl:int):int
 address SERVERfetch_reset
@@ -212,50 +212,50 @@
 
 command next_result(hdl:int):int
 address SERVERnext_result
-comment "Go to next result set";
+comment "Go to next result set.";
 
 command error(mid:int):int
 address SERVERerror
-comment "Check for an error in the communication";
+comment "Check for an error in the communication.";
 
 command getError(mid:int):str
 address SERVERgetError
-comment "Get error message";
+comment "Get error message.";
 
 command explain(mid:int):str
 address SERVERexplain
-comment "Turn the error seen into a string";
+comment "Turn the error seen into a string.";
 
 pattern put(mid:int, nme:str, val:any_1):void
 address SERVERput
-comment "Send a value to a remote site";
+comment "Send a value to a remote site.";
 
 pattern put(nme:str, val:any_1):str
 address SERVERputLocal
-comment "Prepare sending a value to a remote site";
+comment "Prepare sending a value to a remote site.";
 
 pattern rpc(key:int,qry:str...):any
 address SERVERmapi_rpc_single_row
-comment "Sent a simple query for execution and fetch result";
+comment "Sent a simple query for execution and fetch result.";
 
 pattern rpc(key:int,qry:str):bat[:any_1,:any_2]
 address SERVERmapi_rpc_bat;
 
 command rpc(key:int,qry:str):void
 address SERVERquery
-comment "Sent a simple query for execution";
+comment "Sent a simple query for execution.";
 
 pattern 
bind(key:int,rschema:str,rtable:str,rcolumn:str,i:int):bat[:any_1,:any_2]
 address SERVERbindBAT
-comment "Bind a remote variable to a local one";
+comment "Bind a remote variable to a local one.";
 
 pattern bind(key:int,rschema:str,rtable:str,i:int):bat[:any_1,:any_2]
 address SERVERbindBAT
-comment "Bind a remote variable to a local one";
+comment "Bind a remote variable to a local one.";
 
 pattern bind(key:int,remoteName:str):bat[:any_1,:any_2]
 address SERVERbindBAT
-comment "Bind a remote variable to a local one";
+comment "Bind a remote variable to a local one.";
 
 
 mapi.listen();

Index: fleet.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/fleet.mx,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- fleet.mx    11 Jan 2008 10:41:37 -0000      1.9
+++ fleet.mx    10 Feb 2008 23:48:50 -0000      1.10
@@ -184,7 +184,7 @@
 command registry(name:str,port:nr)
 address FLEETregistry
 comment "Take upon you to act as a localhost registry and listen
-to requests to join/leave";
+to requests to join/leave.";
 
 command join(nme:str, host:str, port:nr): str
 address FLEETjoin
@@ -193,22 +193,22 @@
 within the fleet.";
 
 command leave(alias:str)
-comment "Leave the fleet of servers for which you have an alias";
+comment "Leave the fleet of servers for which you have an alias.";
 
 command members(name:str):bat[:oid,:str]
-comment "Produce the alias member list of a fleet";
+comment "Produce the alias member list of a fleet.";
 
 pattern put(alias:int, nme:str, val:any_1):void
 address FLEETput
-comment "Send a value to a remote site";
+comment "Send a value to a remote site.";
 
 pattern put(nme:str, val:any_1):str
 address FLEETputLocal
-comment "Prepare sending a value to a remote site";
+comment "Prepare sending a value to a remote site.";
 
 pattern rpc(key:int,qry:str...):any
 address FLEETmapi_rpc_single_row
-comment "Sent a simple query for execution and fetch result";
+comment "Sent a simple query for execution and fetch result.";
 
 pattern rpc(key:int,qry:str):bat[:any_1,:any_2]
 address FLEETmapi_rpc_bat;
@@ -219,15 +219,15 @@
 
 pattern 
bind(key:int,rschema:str,rtable:str,rcolumn:str,i:int):bat[:any_1,:any_2]
 address FLEETbindBAT
-comment "Bind a remote variable to a local one";
+comment "Bind a remote variable to a local one.";
 
 pattern bind(key:int,rschema:str,rtable:str,i:int):bat[:any_1,:any_2]
 address FLEETbindBAT
-comment "Bind a remote variable to a local one";
+comment "Bind a remote variable to a local one.";
 
 pattern bind(key:int,remoteName:str):bat[:any_1,:any_2]
 address FLEETbindBAT
-comment "Bind a remote variable to a local one";
+comment "Bind a remote variable to a local one.";
 
 @-
 @{

Index: batExtensions.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/batExtensions.mx,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- batExtensions.mx    11 Jan 2008 10:41:37 -0000      1.20
+++ batExtensions.mx    10 Feb 2008 23:48:46 -0000      1.21
@@ -32,7 +32,7 @@
 
 pattern bat.new(ht:any_1, tt:any_2, b:bat[:any_3,:any_4]) :bat[:any_1,:any_2]  
 address CMDBATclone
-comment "Creates a new empty transient BAT by cloning another";
+comment "Creates a new empty transient BAT by cloning another.";
 pattern bat.new(ht:any_1, tt:any_2) :bat[:any_1,:any_2]        
 address CMDBATnew
 comment "Creates a new empty transient BAT,
@@ -54,28 +54,28 @@
 address CMDBATnewDerived;
 command bat.new(nme:str):bat[:any_1,:any_2]
 address CMDBATderivedByName
-comment "Localize a bat by name and produce a variant";
+comment "Localize a bat by name and produce a clone.";
 
 command bat.reduce(b:bat[:any_1,:any_2]):bat[:any_1,:any_2]
 address CMDBATreduce
-comment "Designate a BAT for which auxillary structures can be dropped";
+comment "Drop auxillary BAT structures.";
 command bat.flush(b:bat[:any_1,:any_2]):void
 address CMDBATflush
-comment "Designate a BAT as not needed anymore";
+comment "Designate a BAT as not needed anymore.";
 pattern bat.setGarbage(b:bat[:any_1,:any_2]):void
 address CMDBATsetGarbage
-comment "Designate a BAT as garbage";
+comment "Designate a BAT as garbage.";
 
 pattern bat.unpack(b:bat[:any_1,:any_2])(h:any_1,t:any_2)
 address CMDbatunpack
-comment "Extract the first tuple from a bat";
+comment "Extract the first tuple from a BAT.";
 pattern bat.pack(h:any_1,t:any_2):bat[:any_1,:any_2]
 address CMDbatpack
-comment "Pack a pair into a BAT";
+comment "Pack a pair of values into a BAT.";
 
 pattern bat.setBase(b:bat[:any_1,:any_2],c:bat[:any_1,:any_2]...):void
 address CMDsetBase
-comment "Give the non-empty BATs consecutive oid bases";
+comment "Give the non-empty BATs consecutive oid bases.";
                                                                                
 
 @{
 @{

Index: algebraExtensions.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/algebraExtensions.mx,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- algebraExtensions.mx        11 Jan 2008 10:41:37 -0000      1.10
+++ algebraExtensions.mx        10 Feb 2008 23:48:46 -0000      1.11
@@ -28,7 +28,7 @@
 comment "Fill the tail column with a newly typed constant.";
 pattern algebra.project(b:bat[:any_1,:any_3], val:bat[:any_1,:any_2]) 
:bat[:any_1,:any_2]
 address ALGprojectCst
-comment "Fill the tail column with a constant.";
+comment "Fill the tail column with a constant taken from the aligned BAT.";
                                                                                
 
 @{
 @include prelude.mx


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to