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

Modified Files:
        bpm.mx constraints.mx 
Log Message:
The code has been tested for robustness. The minimal size of the
instruction argument list was downgraded from 9 to 4. It uncovered
sloppyness in taking care of a possibly enlarged instruction.
The code in SQL code generation was properly done.

The look back for constants has been reduced a little (36->32 instructions)
without a major loss of opportunities.

The BMP, partitions and mergetable optimizer are still the focus
of further improvements. Mergetable optimizer first run indicates
about 60 test problems.



Index: bpm.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/bpm.mx,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- bpm.mx      8 Aug 2007 21:48:35 -0000       1.118
+++ bpm.mx      17 Aug 2007 13:56:36 -0000      1.119
@@ -2117,8 +2117,8 @@
        throw(MAL,"bpm.takePartition","not yet implemented");
 }
 @-
-For the time being we simulate a partitioned SQL environment.
-It contains two pieces for each.
+The Mergetable optimizer may request a list of fragments
+to be included.
 @c
 str
 BPMexpand(MalBlkPtr mb, int alias){
@@ -2129,7 +2129,7 @@
        BPMunfold( &i, &alias);
        p= getByNumber(alias);
        if( p==0)
-               throw(MAL,"bpm.expand","Partition not known");
+               return MAL_SUCCEED;
        
        for(i= p->nxt ; i!=p->bid && bpmcat[i] ; i= bpmcat[i]->nxt) {
                q = newStmt(mb,"bpm","take");
@@ -2472,8 +2472,10 @@
        
        BPMopen();
        
-       if( (p= getAlias(*bid)) == 0)
+       if( (p= getAlias(*bid)) == 0){
+               mdbDump(mb,stk,pci);
                throw(MAL,"bpm.newIterator","Can not access alias BAT");
+       }
 
        if( emptyRing(p)){
                *ret= 0;
@@ -2545,8 +2547,10 @@
 
        BPMopen();
        
-       if( (p= getAlias(*bid)) == 0)
+       if( (p= getAlias(*bid)) == 0){
+               mdbDump(mb,stk,pci);
                throw(MAL,"bpm.newIterator","Can not access alias BAT");
+       }
        @:getBATdescriptor(&p->bid,b,"bpm.newIterator")@
 
        /* get the comparison function */
@@ -2606,8 +2610,10 @@
        bid= *(bat *)getArgReference(stk, pci, 1);
 
        BPMopen();
-       if( (p= getAlias(bid)) == 0)
+       if( (p= getAlias(bid)) == 0){
+               mdbDump(mb,stk,pci);
                throw(MAL,"bpm.hasMoreElements","Can not access alias BAT");
+       }
        if( bpmcat[idx] == 0)
                throw(MAL,"bpm.hasMoreElements","Can not access BAT");
        if( bpmcat[idx]->nxt == p->alias)

Index: constraints.mx
===================================================================
RCS file: /cvsroot/monetdb/MonetDB5/src/modules/mal/constraints.mx,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- constraints.mx      3 Jan 2007 12:20:24 -0000       1.8
+++ constraints.mx      17 Aug 2007 13:56:36 -0000      1.9
@@ -63,5 +63,5 @@
        BBPunfix(b->batCacheid);
        if (cnt) 
                throw(OPTIMIZER, "mal.assert", "emptySet");
-        return MAL_SUCCEED;
+       return MAL_SUCCEED;
 }


-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
Monetdb-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-checkins

Reply via email to