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