Update of /cvsroot/monetdb/pathfinder/compiler/include
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv28729/compiler/include
Modified Files:
Tag: Aug2009_NFI
logical.h logical_mnemonic.h physical.h physical_mnemonic.h
Log Message:
enable heuristic rewrite value-selections in the algebra backend of
MonetDB/xQuery
has to properly implement pf:attribute(ctx, node, ns1, loc1, ns2, loc2) first,
as only the verion without namespaces was there (that one is now gone).
many restrictions:
- only non-loop-lifted equality tests
- not involving fn:collection or pf:collection (as path reversal in the latter
will never find the supernode)
- not involving any date/time/etc typed expressions (as the indices only work
for string and numerical equality)
went through the testweb and fixed all apparant problems
note the Aug2009_NFI value indices are full; whereas previously they would omit
frequent data items
U physical_mnemonic.h
Index: physical_mnemonic.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/physical_mnemonic.h,v
retrieving revision 1.41.6.1
retrieving revision 1.41.6.2
diff -u -d -r1.41.6.1 -r1.41.6.2
--- physical_mnemonic.h 28 Sep 2009 23:20:25 -0000 1.41.6.1
+++ physical_mnemonic.h 6 Oct 2009 17:22:51 -0000 1.41.6.2
@@ -178,7 +178,7 @@
#define findnodes(a,b,c,d,e,f) PFpa_findnodes ((a),(b),(c),(d),(e),(f))
/* pf:text/attribute operator */
-#define vx_lookup(a,b,c,d,e,f) PFpa_vx_lookup ((a),(b),(c),(d),(e),(f))
+#define vx_lookup(a,b,c,d,e,f,h,i,j,k) PFpa_vx_lookup
((a),(b),(c),(d),(e),(f),(h),(i),(j),(k))
/* vim:set shiftwidth=4 expandtab: */
U logical_mnemonic.h
Index: logical_mnemonic.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/logical_mnemonic.h,v
retrieving revision 1.42.6.1
retrieving revision 1.42.6.2
diff -u -d -r1.42.6.1 -r1.42.6.2
--- logical_mnemonic.h 28 Sep 2009 23:20:25 -0000 1.42.6.1
+++ logical_mnemonic.h 6 Oct 2009 17:22:50 -0000 1.42.6.2
@@ -139,8 +139,8 @@
PFla_guide_step_join ((a),(b),(c),(d),(e),(f),(g),(h))
/* doc index join */
-#define doc_index_join(a,b,c,d,e,f) \
- PFla_doc_index_join ((a),(b),(c),(d),(e),(f))
+#define doc_index_join(a,b,c,d,e,f,g,h,i,j) \
+ PFla_doc_index_join ((a),(b),(c),(d),(e),(f),(g),(h),(i),(j))
/* document table */
#define doc_tbl(a,b,c,d) PFla_doc_tbl((a),(b),(c),(d))
U physical.h
Index: physical.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/physical.h,v
retrieving revision 1.56.6.1
retrieving revision 1.56.6.2
diff -u -d -r1.56.6.1 -r1.56.6.2
--- physical.h 28 Sep 2009 23:20:25 -0000 1.56.6.1
+++ physical.h 6 Oct 2009 17:22:51 -0000 1.56.6.2
@@ -389,6 +389,7 @@
PFalg_col_t item; /**< column to look up the context nodes */
PFalg_col_t item_doc; /**< column to store the fragment info */
PFalg_col_t item_res; /**< column to store the resulting nodes */
+ const char *ns1, *loc1, *ns2, *loc2;
} vx_lookup;
};
@@ -935,7 +936,11 @@
PFalg_col_t item,
PFalg_col_t item_res,
PFalg_col_t item_doc,
- bool id);
+ bool id,
+ const char* ns1,
+ const char* loc1,
+ const char* ns2,
+ const char* loc2);
#endif /* PHYSICAL_H */
U logical.h
Index: logical.h
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/include/logical.h,v
retrieving revision 1.69.6.1
retrieving revision 1.69.6.2
diff -u -d -r1.69.6.1 -r1.69.6.2
--- logical.h 28 Sep 2009 23:20:25 -0000 1.69.6.1
+++ logical.h 6 Oct 2009 17:22:50 -0000 1.69.6.2
@@ -365,6 +365,7 @@
PFalg_col_t item_res; /**< column to store the resulting nodes */
PFalg_col_t item; /**< column to look up the context nodes */
PFalg_col_t item_doc; /**< column to store the fragment info */
+ const char *ns1, *loc1, *ns2, *loc2;
} doc_join;
/* store the column names necessary for document or collection lookup */
@@ -946,7 +947,9 @@
PFla_op_t * PFla_doc_index_join (const PFla_op_t *doc, const PFla_op_t *n,
PFla_doc_join_kind_t kind,
PFalg_col_t item,
- PFalg_col_t item_res, PFalg_col_t item_doc);
+ PFalg_col_t item_res, PFalg_col_t item_doc,
+ const char *ns1, const char *loc1,
+ const char *ns2, const char *loc2);
/*********** node construction functionality *************/
------------------------------------------------------------------------------
Come build with us! The BlackBerry® Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9-12, 2009. Register now!
http://p.sf.net/sfu/devconf
_______________________________________________
Monetdb-pf-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-pf-checkins