Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv6885/compiler/mil

Modified Files:
        milgen.brg 
Log Message:
* Added the correct mil implementation for the error operator.
  Basically it checks at runtime if the BAT with the error message strings is
  empty or not. If it is not empty, only one error is produced by fetching
  the first row of the BAT.
 
* Added semantics for the error operator. That actually changed the signature
  of the PFla_error and PFpa_error functions so alot of files had to adjust
  to these changes. We use the same semantics structure as the cond_err
  operator but disregard the sem.err.str part.


Index: milgen.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milgen.brg,v
retrieving revision 1.93
retrieving revision 1.94
diff -u -d -r1.93 -r1.94
--- milgen.brg  19 Dec 2007 16:06:35 -0000      1.93
+++ milgen.brg  19 Dec 2007 22:39:10 -0000      1.94
@@ -7166,8 +7166,23 @@
 
         /* Rel:      error(Rel) */
         case 129:
-            execute ( error(lit_str("error msg")));
+            execute (
+                if_ (eq (count (VAR (L(p)->env, p->sem.err.att, aat_str)),
+                         lit_int (0)),
+                     nop(),
+                     error (fetch ( VAR (L(p)->env, p->sem.err.att, aat_str),
+                                    lit_int (0)))));
+
+            /* copy all the attributes */
+            for (unsigned int i = 0; i < env_count (L(p)->env); i++) {
+                pin (env_at (L(p)->env, i).mvar, p->refctr);
+                env_add (p->env,
+                         env_at (L(p)->env, i).att,
+                         env_at (L(p)->env, i).ty,
+                         env_at (L(p)->env, i).mvar);
+            }
             break;
+
         /* Rel:      cond_err (Rel, Rel) */
         case 130:
             execute (


-------------------------------------------------------------------------
SF.Net email is sponsored by:
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services
for just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to