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

Modified Files:
      Tag: xquery-decomposition
        opt_algebra_cse.c opt_complex.c opt_general.brg opt_guide.c 
        opt_join_graph.c opt_join_pd.c opt_mvd.c opt_set.c 
        opt_thetajoin.c 
Log Message:
propagated changes of Friday 15 Feb 2008 - Monday Feb 18 2008
from the development trunk to the xquery-decomposition branch


Index: opt_algebra_cse.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_algebra_cse.c,v
retrieving revision 1.11.2.2
retrieving revision 1.11.2.3
diff -u -d -r1.11.2.2 -r1.11.2.3
--- opt_algebra_cse.c   16 Feb 2008 01:02:09 -0000      1.11.2.2
+++ opt_algebra_cse.c   18 Feb 2008 16:21:14 -0000      1.11.2.3
@@ -42,9 +42,6 @@
 #include "logical_mnemonic.h"
 #include "ordering.h"
 
-/* compare types in staircase join operator nodes */
-#include "subtyping.h"
-
 #include <assert.h>
 #include <string.h> /* strcmp */
 #include <stdio.h>
@@ -687,7 +684,8 @@
 
     for (i = 0; i < a.count; i++) {
         /* check the equivalence */
-        mismatch = PFalg_atom_cmp (a.atoms[i], b.atoms[i])?true:false; 
+        mismatch = !(PFalg_atom_comparable (a.atoms[i], b.atoms[i]) && 
+                     (PFalg_atom_cmp (a.atoms[i], b.atoms[i]) == 0)); 
         
         if (mismatch)
             break;
@@ -824,7 +822,8 @@
                                         b->sem.attach.value))
                 return false;
 
-            if (PFalg_atom_cmp (a->sem.attach.value, b->sem.attach.value) != 0)
+            if (PFalg_atom_cmp (a->sem.attach.value,
+                                b->sem.attach.value) != 0)
                 return false;
             
             return true;
@@ -1045,8 +1044,10 @@
                  ACTATT (R(b), b->sem.step.iter)) &&
                 (ACTATT (R(a), a->sem.step.item) ==
                  ACTATT (R(b), b->sem.step.item))  &&
-                PFty_eq (a->sem.step.ty, b->sem.step.ty) &&
-                (a->sem.step.axis == b->sem.step.axis) &&
+                (a->sem.step.spec.axis == b->sem.step.spec.axis) &&
+                (a->sem.step.spec.kind == b->sem.step.spec.kind) &&
+                (!PFqname_eq (a->sem.step.spec.qname,
+                              b->sem.step.spec.qname)) &&
                 (a->sem.step.level == b->sem.step.level))
                 return true;
 
@@ -1058,8 +1059,10 @@
                  ACTATT (R(b), b->sem.step.iter)) &&
                 (ACTATT (R(a), a->sem.step.item) ==
                  ACTATT (R(b), b->sem.step.item))  &&
-                PFty_eq (a->sem.step.ty, b->sem.step.ty) &&
-                (a->sem.step.axis == b->sem.step.axis) &&
+                (a->sem.step.spec.axis == b->sem.step.spec.axis) &&
+                (a->sem.step.spec.kind == b->sem.step.spec.kind) &&
+                (!PFqname_eq (a->sem.step.spec.qname,
+                              b->sem.step.spec.qname)) &&
                 (a->sem.step.level == b->sem.step.level) &&
                 (a->sem.step.guide_count == b->sem.step.guide_count)))
                 return false;
@@ -1745,8 +1748,7 @@
 
         case la_step:
             return PFla_step (CSE(L(n)), CSE(R(n)),
-                              n->sem.step.axis,
-                              n->sem.step.ty,
+                              n->sem.step.spec,
                               n->sem.step.level,
                               ACTATT (R(n), n->sem.step.iter),
                               ACTATT (R(n), n->sem.step.item),
@@ -1754,8 +1756,7 @@
 
         case la_step_join:
             return PFla_step_join (CSE(L(n)), CSE(R(n)),
-                                   n->sem.step.axis,
-                                   n->sem.step.ty,
+                                   n->sem.step.spec,
                                    n->sem.step.level,
                                    ACTATT (R(n), n->sem.step.item),
                                    create_unq_name (CSE(R(n))->schema,
@@ -1763,8 +1764,7 @@
 
         case la_guide_step:
             return PFla_guide_step (CSE(L(n)), CSE(R(n)),
-                                    n->sem.step.axis,
-                                    n->sem.step.ty,
+                                    n->sem.step.spec,
                                     n->sem.step.guide_count,
                                     n->sem.step.guides,
                                     n->sem.step.level,
@@ -1774,8 +1774,7 @@
 
         case la_guide_step_join:
             return PFla_guide_step_join (CSE(L(n)), CSE(R(n)),
-                                         n->sem.step.axis,
-                                         n->sem.step.ty,
+                                         n->sem.step.spec,
                                          n->sem.step.guide_count,
                                          n->sem.step.guides,
                                          n->sem.step.level,

Index: opt_join_pd.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_join_pd.c,v
retrieving revision 1.37.2.2
retrieving revision 1.37.2.3
diff -u -d -r1.37.2.2 -r1.37.2.3
--- opt_join_pd.c       16 Feb 2008 01:02:10 -0000      1.37.2.2
+++ opt_join_pd.c       18 Feb 2008 16:21:19 -0000      1.37.2.3
@@ -1623,8 +1623,7 @@
                                L(lp),
                                eqjoin_unq (R(lp), rp, latt, ratt,
                                            p->sem.eqjoin_unq.res),
-                               lp->sem.step.axis,
-                               lp->sem.step.ty,
+                               lp->sem.step.spec,
                                lp->sem.step.level,
                                is_join_att(p, lp->sem.step.item)
                                   ? p->sem.eqjoin_unq.res
@@ -1640,8 +1639,7 @@
                                L(lp),
                                eqjoin_unq (R(lp), rp, latt, ratt,
                                            p->sem.eqjoin_unq.res),
-                               lp->sem.step.axis,
-                               lp->sem.step.ty,
+                               lp->sem.step.spec,
                                lp->sem.step.guide_count,
                                lp->sem.step.guides,
                                lp->sem.step.level,

Index: opt_guide.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_guide.c,v
retrieving revision 1.12.2.1
retrieving revision 1.12.2.2
diff -u -d -r1.12.2.1 -r1.12.2.2
--- opt_guide.c 16 Feb 2008 01:02:09 -0000      1.12.2.1
+++ opt_guide.c 18 Feb 2008 16:21:18 -0000      1.12.2.2
@@ -48,7 +48,7 @@
 /* prop of n */
 #define PROP(n) ((n)->prop)
 /* axis of n, n must be a step */
-#define AXIS(n) ((n)->sem.step.axis)
+#define AXIS(n) ((n)->sem.step.spec.axis)
 
 /* Merge 2 guide_steps if it is possible */
 static void
@@ -255,15 +255,15 @@
                 /* create new step operator */
                 if (n->kind == la_step) {
                     ret = PFla_guide_step (
-                              L(n), R(n), n->sem.step.axis,
-                              n->sem.step.ty, count, guides,
+                              L(n), R(n), n->sem.step.spec,
+                              count, guides,
                               n->sem.step.level,
                               n->sem.step.iter, n->sem.step.item,
                               n->sem.step.item_res);
                 } else {
                     ret = PFla_guide_step_join (
-                              L(n), R(n), n->sem.step.axis,
-                              n->sem.step.ty, count, guides,
+                              L(n), R(n), n->sem.step.spec,
+                              count, guides,
                               n->sem.step.level,
                               n->sem.step.item,
                               n->sem.step.item_res);
@@ -280,9 +280,9 @@
 
         case la_guide_step_join:
             if ((PFprop_set (n->prop) ||
-                ((n->sem.step.axis == alg_chld ||
-                  n->sem.step.axis == alg_attr ||
-                  n->sem.step.axis == alg_self) &&
+                ((n->sem.step.spec.axis == alg_chld ||
+                  n->sem.step.spec.axis == alg_attr ||
+                  n->sem.step.spec.axis == alg_self) &&
                  find_guide_max (n->sem.step.guide_count,
                                  n->sem.step.guides) <= 1)) &&
                 !PFprop_icol (n->prop, n->sem.step.item))

Index: opt_set.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_set.c,v
retrieving revision 1.8.2.1
retrieving revision 1.8.2.2
diff -u -d -r1.8.2.1 -r1.8.2.2
--- opt_set.c   16 Feb 2008 01:02:10 -0000      1.8.2.1
+++ opt_set.c   18 Feb 2008 16:21:20 -0000      1.8.2.2
@@ -82,8 +82,7 @@
                              PFla_step_join (
                                  LL(p),
                                  LR(p),
-                                 L(p)->sem.step.axis,
-                                 L(p)->sem.step.ty,
+                                 L(p)->sem.step.spec,
                                  L(p)->sem.step.level,
                                  L(p)->sem.step.item,
                                  item_res),
@@ -105,8 +104,7 @@
                              PFla_step_join (
                                  RL(p),
                                  RR(p),
-                                 R(p)->sem.step.axis,
-                                 R(p)->sem.step.ty,
+                                 R(p)->sem.step.spec,
                                  R(p)->sem.step.level,
                                  R(p)->sem.step.item,
                                  item_res),
@@ -137,8 +135,7 @@
                                       p->sem.step.item)),
                               p->sem.step.iter,
                               PFalg_lit_nat (1)),
-                          p->sem.step.axis,
-                          p->sem.step.ty,
+                          p->sem.step.spec,
                           p->sem.step.level,
                           p->sem.step.iter,
                           p->sem.step.item,
@@ -170,8 +167,7 @@
                               PFalg_proj (p->sem.step.item_res,
                                           p->sem.step.item),
                               PFalg_proj (iter, iter)),
-                          p->sem.step.axis,
-                          p->sem.step.ty,
+                          p->sem.step.spec,
                           p->sem.step.level,
                           iter,
                           p->sem.step.item_res,
@@ -193,8 +189,7 @@
                                       p->sem.step.item)),
                               p->sem.step.iter,
                               PFalg_lit_nat (1)),
-                          p->sem.step.axis,
-                          p->sem.step.ty,
+                          p->sem.step.spec,
                           p->sem.step.guide_count,
                           p->sem.step.guides,
                           p->sem.step.level,

Index: opt_general.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_general.brg,v
retrieving revision 1.45.2.2
retrieving revision 1.45.2.3
diff -u -d -r1.45.2.2 -r1.45.2.3
--- opt_general.brg     16 Feb 2008 01:02:09 -0000      1.45.2.2
+++ opt_general.brg     18 Feb 2008 16:21:16 -0000      1.45.2.3
@@ -42,7 +42,6 @@
 #include "alg_dag.h"
 #include "oops.h"         /* PFoops() */
 #include "mem.h"          /* PFmalloc() */
-#include "subtyping.h"
 
 /* Easily access subtree-parts */
 #include "child_mnemonic.h"
@@ -1121,14 +1120,15 @@
         case 63:
             /* combine steps if they are of the form:
                ``/descandent-or-self::node()/child::element()'' */
-            if (R(p)->sem.step.axis == alg_desc_s &&
-                PFty_equality (R(p)->sem.step.ty, PFty_xs_anyNode ()) &&
-                p->sem.step.axis == alg_chld) {
+            if (R(p)->sem.step.spec.axis == alg_desc_s &&
+                R(p)->sem.step.spec.kind == node_kind_node &&
+                p->sem.step.spec.axis == alg_chld) {
+                PFalg_step_spec_t spec = p->sem.step.spec;
+                spec.axis = alg_desc,
                 /* rewrite child into descendant
                    and discard descendant-or-self step */
                 *p = *PFla_step_simple (
-                          L(p), RR(p),
-                          alg_desc, p->sem.step.ty,
+                          L(p), RR(p), spec,
                           p->sem.step.iter, R(p)->sem.step.item,
                           p->sem.step.item_res);
                 SEEN(p) = false;

Index: opt_complex.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_complex.c,v
retrieving revision 1.37.2.4
retrieving revision 1.37.2.5
diff -u -d -r1.37.2.4 -r1.37.2.5
--- opt_complex.c       16 Feb 2008 01:02:09 -0000      1.37.2.4
+++ opt_complex.c       18 Feb 2008 16:21:15 -0000      1.37.2.5
@@ -1192,12 +1192,12 @@
                 p->sem.step.level = PFprop_level (p->prop,
                                                   p->sem.step.item_res);
 
-            if ((p->sem.step.axis == alg_desc ||
-                 p->sem.step.axis == alg_desc_s) &&
+            if ((p->sem.step.spec.axis == alg_desc ||
+                 p->sem.step.spec.axis == alg_desc_s) &&
                 p->sem.step.level >= 1 &&
                 p->sem.step.level - 1 == PFprop_level (R(p)->prop,
                                                        p->sem.step.item))
-                p->sem.step.axis = alg_chld;
+                p->sem.step.spec.axis = alg_chld;
 
             if (R(p)->kind == la_project &&
                 RL(p)->kind == la_step) {
@@ -1220,8 +1220,7 @@
                     *p = *PFla_project (PFla_step (
                                             L(p),
                                             RL(p),
-                                            p->sem.step.axis,
-                                            p->sem.step.ty,
+                                            p->sem.step.spec,
                                             p->sem.step.level,
                                             RL(p)->sem.step.iter,
                                             RL(p)->sem.step.item,
@@ -1231,7 +1230,7 @@
                 break;
             }
             else if (R(p)->kind == la_rowid &&
-                     p->sem.step.axis == alg_chld &&
+                     p->sem.step.spec.axis == alg_chld &&
                      p->sem.step.iter == R(p)->sem.rowid.res &&
                      !PFprop_icol (p->prop, p->sem.step.iter) &&
                      PFprop_key (p->prop, p->sem.step.item)) {
@@ -1252,12 +1251,12 @@
                 p->sem.step.level = level;
             }
 
-            if ((p->sem.step.axis == alg_desc ||
-                 p->sem.step.axis == alg_desc_s) &&
+            if ((p->sem.step.spec.axis == alg_desc ||
+                 p->sem.step.spec.axis == alg_desc_s) &&
                 p->sem.step.level >= 1 &&
                 p->sem.step.level - 1 == PFprop_level (R(p)->prop,
                                                        p->sem.step.item))
-                p->sem.step.axis = alg_chld;
+                p->sem.step.spec.axis = alg_chld;
             break;
 
         case la_step_join:
@@ -1265,12 +1264,12 @@
                 p->sem.step.level = PFprop_level (p->prop,
                                                   p->sem.step.item_res);
 
-            if ((p->sem.step.axis == alg_desc ||
-                 p->sem.step.axis == alg_desc_s) &&
+            if ((p->sem.step.spec.axis == alg_desc ||
+                 p->sem.step.spec.axis == alg_desc_s) &&
                 p->sem.step.level >= 1 &&
                 p->sem.step.level - 1 == PFprop_level (R(p)->prop,
                                                        p->sem.step.item))
-                p->sem.step.axis = alg_chld;
+                p->sem.step.spec.axis = alg_chld;
             break;
 
         case la_fcns:

Index: opt_thetajoin.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_thetajoin.c,v
retrieving revision 1.14.2.3
retrieving revision 1.14.2.4
diff -u -d -r1.14.2.3 -r1.14.2.4
--- opt_thetajoin.c     16 Feb 2008 01:02:10 -0000      1.14.2.3
+++ opt_thetajoin.c     18 Feb 2008 16:21:21 -0000      1.14.2.4
@@ -1677,16 +1677,14 @@
                     *p = *(thetajoin_opt (step_join (
                                                 L(p),
                                                 RL(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.level,
                                                 p->sem.step.item,
                                                 p->sem.step.item_res),
                                           step_join (
                                                 L(p),
                                                 RR(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.level,
                                                 p->sem.step.item,
                                                 p->sem.step.item_res),
@@ -1697,8 +1695,7 @@
                     resolve_name_conflict (R(p), p->sem.step.item_res);
                     *p = *(thetajoin_opt (step_join (
                                                 L(p), RL(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.level,
                                                 p->sem.step.item,
                                                 p->sem.step.item_res),
@@ -1712,8 +1709,7 @@
                                           step_join (
                                                 L(p),
                                                 RR(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.level,
                                                 p->sem.step.item,
                                                 p->sem.step.item_res),
@@ -1733,8 +1729,7 @@
                     *p = *(thetajoin_opt (guide_step_join (
                                                 L(p),
                                                 RL(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.guide_count,
                                                 p->sem.step.guides,
                                                 p->sem.step.level,
@@ -1743,8 +1738,7 @@
                                           guide_step_join (
                                                 L(p),
                                                 RR(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.guide_count,
                                                 p->sem.step.guides,
                                                 p->sem.step.level,
@@ -1757,8 +1751,7 @@
                     resolve_name_conflict (R(p), p->sem.step.item_res);
                     *p = *(thetajoin_opt (guide_step_join (
                                                 L(p), RL(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.guide_count,
                                                 p->sem.step.guides,
                                                 p->sem.step.level,
@@ -1774,8 +1767,7 @@
                                           guide_step_join (
                                                 L(p),
                                                 RR(p),
-                                                p->sem.step.axis,
-                                                p->sem.step.ty,
+                                                p->sem.step.spec,
                                                 p->sem.step.guide_count,
                                                 p->sem.step.guides,
                                                 p->sem.step.level,

Index: opt_mvd.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_mvd.c,v
retrieving revision 1.32.2.2
retrieving revision 1.32.2.3
diff -u -d -r1.32.2.2 -r1.32.2.3
--- opt_mvd.c   16 Feb 2008 01:02:10 -0000      1.32.2.2
+++ opt_mvd.c   18 Feb 2008 16:21:20 -0000      1.32.2.3
@@ -1204,8 +1204,7 @@
                                             attach (RL(p),
                                                     p->sem.step.iter,
                                                     lit_nat(1)),
-                                            p->sem.step.axis,
-                                            p->sem.step.ty,
+                                            p->sem.step.spec,
                                             p->sem.step.level,
                                             p->sem.step.iter,
                                             p->sem.step.item,
@@ -1219,8 +1218,7 @@
                                             attach (RR(p),
                                                     p->sem.step.iter,
                                                     lit_nat(1)),
-                                            p->sem.step.axis,
-                                            p->sem.step.ty,
+                                            p->sem.step.spec,
                                             p->sem.step.level,
                                             p->sem.step.iter,
                                             p->sem.step.item,
@@ -1241,16 +1239,14 @@
                 *p = *(cross_can (step_join (
                                         L(p),
                                         RL(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.level,
                                         p->sem.step.item,
                                         p->sem.step.item_res),
                                   step_join (
                                         L(p),
                                         RR(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.level,
                                         p->sem.step.item,
                                         p->sem.step.item_res)));
@@ -1259,8 +1255,7 @@
             else if (switch_left) {
                 *p = *(cross_can (step_join (
                                         L(p), RL(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.level,
                                         p->sem.step.item,
                                         p->sem.step.item_res),
@@ -1272,8 +1267,7 @@
                                   step_join (
                                         L(p),
                                         RR(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.level,
                                         p->sem.step.item,
                                         p->sem.step.item_res)));
@@ -1292,8 +1286,7 @@
                                         attach (RL(p),
                                                 p->sem.step.iter,
                                                 lit_nat(1)),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.guide_count,
                                         p->sem.step.guides,
                                         p->sem.step.level,
@@ -1310,8 +1303,7 @@
                                         attach (RR(p),
                                                 p->sem.step.iter,
                                                 lit_nat(1)),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.guide_count,
                                         p->sem.step.guides,
                                         p->sem.step.level,
@@ -1334,8 +1326,7 @@
                 *p = *(cross_can (guide_step_join (
                                         L(p),
                                         RL(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.guide_count,
                                         p->sem.step.guides,
                                         p->sem.step.level,
@@ -1344,8 +1335,7 @@
                                   guide_step_join (
                                         L(p),
                                         RR(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.guide_count,
                                         p->sem.step.guides,
                                         p->sem.step.level,
@@ -1356,8 +1346,7 @@
             else if (switch_left) {
                 *p = *(cross_can (guide_step_join (
                                         L(p), RL(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.guide_count,
                                         p->sem.step.guides,
                                         p->sem.step.level,
@@ -1371,8 +1360,7 @@
                                   guide_step_join (
                                         L(p),
                                         RR(p),
-                                        p->sem.step.axis,
-                                        p->sem.step.ty,
+                                        p->sem.step.spec,
                                         p->sem.step.guide_count,
                                         p->sem.step.guides,
                                         p->sem.step.level,

Index: opt_join_graph.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/opt/opt_join_graph.c,v
retrieving revision 1.9.2.2
retrieving revision 1.9.2.3
diff -u -d -r1.9.2.2 -r1.9.2.3
--- opt_join_graph.c    16 Feb 2008 01:02:10 -0000      1.9.2.2
+++ opt_join_graph.c    18 Feb 2008 16:21:18 -0000      1.9.2.3
@@ -178,13 +178,13 @@
            of unnecessary eqjoin and rowid operators */
         case la_step:
             if ((PFprop_key_right (p->prop, p->sem.step.item) &&
-                 (p->sem.step.axis == alg_attr ||
-                  p->sem.step.axis == alg_chld ||
-                  p->sem.step.axis == alg_self)) ||
+                 (p->sem.step.spec.axis == alg_attr ||
+                  p->sem.step.spec.axis == alg_chld ||
+                  p->sem.step.spec.axis == alg_self)) ||
                 (PFprop_key_right (p->prop, p->sem.step.item) &&
                  PFprop_level_right (p->prop, p->sem.step.item) >= 0 &&
-                 (p->sem.step.axis == alg_desc ||
-                  p->sem.step.axis == alg_desc_s))) {
+                 (p->sem.step.spec.axis == alg_desc ||
+                  p->sem.step.spec.axis == alg_desc_s))) {
 
                 PFalg_att_t item_res;
                 item_res = PFalg_ori_name (
@@ -196,8 +196,7 @@
                              PFla_step_join (
                                  L(p),
                                  R(p),
-                                 p->sem.step.axis,
-                                 p->sem.step.ty,
+                                 p->sem.step.spec,
                                  p->sem.step.level,
                                  p->sem.step.item,
                                  item_res),
@@ -215,14 +214,14 @@
         case la_guide_step:
             if (((PFprop_key_right (p->prop, p->sem.step.item) ||
                   PFprop_ckey (R(p)->prop, p->schema)) &&
-                 (p->sem.step.axis == alg_attr ||
-                  p->sem.step.axis == alg_chld ||
-                  p->sem.step.axis == alg_self)) ||
+                 (p->sem.step.spec.axis == alg_attr ||
+                  p->sem.step.spec.axis == alg_chld ||
+                  p->sem.step.spec.axis == alg_self)) ||
                 ((PFprop_key_right (p->prop, p->sem.step.item) ||
                   PFprop_ckey (R(p)->prop, p->schema)) &&
                  PFprop_level_right (p->prop, p->sem.step.item) >= 0 &&
-                 (p->sem.step.axis == alg_desc ||
-                  p->sem.step.axis == alg_desc_s))) {
+                 (p->sem.step.spec.axis == alg_desc ||
+                  p->sem.step.spec.axis == alg_desc_s))) {
 
                 PFalg_att_t item_res;
                 item_res = PFalg_ori_name (
@@ -234,8 +233,7 @@
                              PFla_guide_step_join (
                                  L(p),
                                  R(p),
-                                 p->sem.step.axis,
-                                 p->sem.step.ty,
+                                 p->sem.step.spec,
                                  p->sem.step.guide_count,
                                  p->sem.step.guides,
                                  p->sem.step.level,
@@ -350,8 +348,7 @@
                              PFla_step_join (
                                  L(p),
                                  R(p),
-                                 p->sem.step.axis,
-                                 p->sem.step.ty,
+                                 p->sem.step.spec,
                                  p->sem.step.level,
                                  p->sem.step.item,
                                  item_res),
@@ -379,8 +376,7 @@
                              PFla_guide_step_join (
                                  L(p),
                                  R(p),
-                                 p->sem.step.axis,
-                                 p->sem.step.ty,
+                                 p->sem.step.spec,
                                  p->sem.step.guide_count,
                                  p->sem.step.guides,
                                  p->sem.step.level,


-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins

Reply via email to