Changeset: 233bba03b560 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=233bba03b560
Modified Files:
        monetdb5/optimizer/opt_garbageCollector.c
Branch: default
Log Message:

Avoid assertion errors during production runs.
An invalid plan can also be recognized by a proper exception.


diffs (17 lines):

diff --git a/monetdb5/optimizer/opt_garbageCollector.c 
b/monetdb5/optimizer/opt_garbageCollector.c
--- a/monetdb5/optimizer/opt_garbageCollector.c
+++ b/monetdb5/optimizer/opt_garbageCollector.c
@@ -120,9 +120,11 @@ OPTgarbageCollectorImplementation(Client
                }
 */
        }
-       assert(p);
-       assert( p->token == ENDsymbol);
+       /* A good MAL plan should end with an END instruction */
        pushInstruction(mb, p);
+       if( p && p->token != ENDsymbol){
+               throw(MAL, "optimizer.garbagecollector", SQLSTATE(42000) 
"Incorrect MAL plan encountered");
+       }
        for (i++; i < limit; i++) 
                pushInstruction(mb, old[i]);
        for (; i < slimit; i++) 
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to