Update of /cvsroot/monetdb/pathfinder/compiler/algebra/map
In directory
sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv20201/compiler/algebra/map
Modified Files:
intro_thetajoin.c map_ori_names.c map_unq_names.c
Log Message:
Basic Algebra implementation for the fn:error functions (32 files edited).
Introduced a new operator on the logical level, namely la_error.
Operator la_error takes a BAT of strings as parameter (containing the error
message) and carry it all the way until the MIL level where the conditions are
checked and the mil if-statement is printed.
Disclaimer:
Most likely the switch-case clauses on the prop/ and opt/ directories
are not always treated correctly for the la_error operator, but a man has
to start from somewhere.
Index: intro_thetajoin.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/map/intro_thetajoin.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- intro_thetajoin.c 6 Dec 2007 08:42:17 -0000 1.9
+++ intro_thetajoin.c 10 Dec 2007 15:10:00 -0000 1.10
@@ -183,6 +183,7 @@
case la_disjunion:
case la_intersect:
case la_difference:
+ case la_error:
case la_distinct:
break;
Index: map_ori_names.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/map/map_ori_names.c,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- map_ori_names.c 6 Dec 2007 08:42:18 -0000 1.22
+++ map_ori_names.c 10 Dec 2007 15:10:00 -0000 1.23
@@ -833,6 +833,10 @@
res = empty_frag ();
break;
+ case la_error:
+ res = error (PROJ(LEFT, p));
+ break;
+
case la_cond_err:
res = cond_err (PROJ(LEFT, p), O(R(p)),
PFprop_ori_name_right (p->prop, p->sem.err.att),
Index: map_unq_names.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/map/map_unq_names.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- map_unq_names.c 6 Dec 2007 08:42:18 -0000 1.21
+++ map_unq_names.c 10 Dec 2007 15:10:00 -0000 1.22
@@ -746,6 +746,9 @@
res = empty_frag ();
break;
+ case la_error:
+ res = error (U(L(p)));
+ break;
case la_cond_err:
res = cond_err (U(L(p)), U(R(p)),
/* unique name of input attribute att is
-------------------------------------------------------------------------
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://sourceforge.net/services/buy/index.php
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins