Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory 
sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv20201/compiler/algebra/prop

Modified Files:
        prop_card.c prop_composite_key.c prop_const.c prop_dom.c 
        prop_dom_nat.c prop_guide.c prop_icol.c prop_key.c 
        prop_level.c prop_ocol.c prop_ori_names.c prop_rec_delta.c 
        prop_reqval.c prop_set.c prop_trace_names.c prop_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: prop_unq_names.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_unq_names.c,v
retrieving revision 1.24
retrieving revision 1.25
diff -u -d -r1.24 -r1.25
--- prop_unq_names.c    6 Dec 2007 08:42:33 -0000       1.24
+++ prop_unq_names.c    10 Dec 2007 15:10:03 -0000      1.25
@@ -547,6 +547,7 @@
         case la_empty_frag:
             break;
 
+        case la_error:
         case la_cond_err:
         case la_trace:
         case la_trace_msg:

Index: prop_ocol.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_ocol.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- prop_ocol.c 6 Dec 2007 08:42:32 -0000       1.39
+++ prop_ocol.c 10 Dec 2007 15:10:01 -0000      1.40
@@ -886,6 +886,7 @@
             /* keep empty schema */
             break;
 
+        case la_error:
         case la_cond_err:
         case la_trace:
         case la_trace_msg:

Index: prop_const.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_const.c,v
retrieving revision 1.31
retrieving revision 1.32
diff -u -d -r1.31 -r1.32
--- prop_const.c        6 Dec 2007 08:42:29 -0000       1.31
+++ prop_const.c        10 Dec 2007 15:10:01 -0000      1.32
@@ -382,6 +382,7 @@
 
         case la_semijoin:
         case la_difference:
+        case la_error:
         case la_cond_err:
             /* propagate information from the first input operator */
                 for (unsigned int j = 0;

Index: prop_reqval.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_reqval.c,v
retrieving revision 1.29
retrieving revision 1.30
diff -u -d -r1.29 -r1.30
--- prop_reqval.c       6 Dec 2007 08:42:33 -0000       1.29
+++ prop_reqval.c       10 Dec 2007 15:10:02 -0000      1.30
@@ -228,6 +228,7 @@
         case la_proxy:
         case la_proxy_base:
         case la_dummy:
+        case la_error:
             /* propagate required values list to left subtree */
             prop_infer_reqvals (L(n), rv);
             break;

Index: prop_set.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_set.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- prop_set.c  6 Dec 2007 08:42:33 -0000       1.16
+++ prop_set.c  10 Dec 2007 15:10:02 -0000      1.17
@@ -159,6 +159,7 @@
             r_set = true;
             break;
 
+        case la_error:
         case la_distinct:
         case la_max:
         case la_min:

Index: prop_icol.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_icol.c,v
retrieving revision 1.26
retrieving revision 1.27
diff -u -d -r1.26 -r1.27
--- prop_icol.c 6 Dec 2007 08:42:31 -0000       1.26
+++ prop_icol.c 10 Dec 2007 15:10:01 -0000      1.27
@@ -247,6 +247,7 @@
         case la_lit_tbl:
         case la_empty_tbl:
         case la_ref_tbl:
+        case la_error:
             break;
 
         case la_attach:

Index: prop_rec_delta.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_rec_delta.c,v
retrieving revision 1.15
retrieving revision 1.16
diff -u -d -r1.15 -r1.16
--- prop_rec_delta.c    6 Dec 2007 08:42:33 -0000       1.15
+++ prop_rec_delta.c    10 Dec 2007 15:10:02 -0000      1.16
@@ -104,6 +104,7 @@
         case la_doc_tbl:
         case la_roots:
         case la_trace:
+        case la_error:
         case la_cond_err:
             /* just propagate all column information */
             ITER (n) = ITER (L(n));

Index: prop_level.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_level.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- prop_level.c        6 Dec 2007 08:42:31 -0000       1.8
+++ prop_level.c        10 Dec 2007 15:10:01 -0000      1.9
@@ -169,6 +169,7 @@
         case la_type_assert:
         case la_cast:
         case la_roots:
+        case la_error:
         case la_cond_err:
         case la_trace:
         case la_trace_msg:

Index: prop_dom_nat.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_dom_nat.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- prop_dom_nat.c      6 Dec 2007 08:42:30 -0000       1.11
+++ prop_dom_nat.c      10 Dec 2007 15:10:01 -0000      1.12
@@ -851,6 +851,7 @@
         case la_empty_frag:
             break;
 
+        case la_error:
         case la_cond_err:
         case la_trace:
             bulk_add_dom (n->prop, L(n));

Index: prop_trace_names.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_trace_names.c,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- prop_trace_names.c  6 Dec 2007 08:42:33 -0000       1.10
+++ prop_trace_names.c  10 Dec 2007 15:10:02 -0000      1.11
@@ -156,6 +156,7 @@
         case la_thetajoin:
         case la_select:
         case la_pos_select:
+        case la_error:
         case la_distinct:
         case la_disjunion:
         case la_intersect:

Index: prop_key.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_key.c,v
retrieving revision 1.33
retrieving revision 1.34
diff -u -d -r1.33 -r1.34
--- prop_key.c  6 Dec 2007 22:41:33 -0000       1.33
+++ prop_key.c  10 Dec 2007 15:10:01 -0000      1.34
@@ -424,6 +424,7 @@
         case la_difference:
         case la_type_assert:
         case la_roots:
+        case la_error:
         case la_cond_err:
             /* key columns are propagated */
             copy (n->prop->keys, L(n)->prop->keys);

Index: prop_guide.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_guide.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- prop_guide.c        6 Dec 2007 08:42:30 -0000       1.16
+++ prop_guide.c        10 Dec 2007 15:10:01 -0000      1.17
@@ -1009,6 +1009,7 @@
         case la_type_assert:
         case la_cast:
         case la_roots:
+        case la_error:
         case la_cond_err:
         case la_trace:
         case la_trace_msg:

Index: prop_ori_names.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_ori_names.c,v
retrieving revision 1.23
retrieving revision 1.24
diff -u -d -r1.23 -r1.24
--- prop_ori_names.c    6 Dec 2007 08:42:32 -0000       1.23
+++ prop_ori_names.c    10 Dec 2007 15:10:02 -0000      1.24
@@ -358,6 +358,7 @@
             }
             break;
 
+        case la_error:
         case la_select:
         case la_pos_select:
         case la_distinct:

Index: prop_card.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_card.c,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -d -r1.28 -r1.29
--- prop_card.c 6 Dec 2007 08:42:28 -0000       1.28
+++ prop_card.c 10 Dec 2007 15:10:01 -0000      1.29
@@ -177,6 +177,7 @@
                 n->prop->card = 0;
             break;
 
+        case la_error:
         case la_cond_err:
             /* Optimizations are allowed to prune errors
                as long as the cardinality stays the same.

Index: prop_composite_key.c
===================================================================
RCS file: 
/cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_composite_key.c,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- prop_composite_key.c        6 Dec 2007 08:42:29 -0000       1.8
+++ prop_composite_key.c        10 Dec 2007 15:10:01 -0000      1.9
@@ -465,6 +465,7 @@
         case la_difference:
         case la_type_assert:
         case la_roots:
+        case la_error:
         case la_cond_err:
             /* composite key columns are propagated */
             copy (n->prop->ckeys, L(n)->prop->ckeys);

Index: prop_dom.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_dom.c,v
retrieving revision 1.43
retrieving revision 1.44
diff -u -d -r1.43 -r1.44
--- prop_dom.c  6 Dec 2007 08:42:29 -0000       1.43
+++ prop_dom.c  10 Dec 2007 15:10:01 -0000      1.44
@@ -1132,6 +1132,7 @@
         case la_empty_frag:
             break;
 
+        case la_error:
         case la_cond_err:
         case la_trace:
             bulk_add_dom (n->prop, L(n));


-------------------------------------------------------------------------
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

Reply via email to