Update of /cvsroot/monetdb/pathfinder/compiler/algebra
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv22030/compiler/algebra
Modified Files:
algebra.c builtins.c logical.c physical.c
Log Message:
propagated changes of Thursday Jun 12 2008 - Friday Jun 13 2008
from the XQuery_0-24 branch to the development trunk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/06/12 - sjoerd:
NT/MonetDB4-XQuery64/MonetDB4-XQuery-Installer.vdproj,1.4.2.1
Updated installer version number.
Make sure the 64 bit version and the 32 bit version have different "Upgrade
Codes" so that they can be installed at the same time.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/06/12 - lsidir: compiler/algebra/algebra.c,1.84.2.3
compiler/algebra/builtins.c,1.95.2.4
compiler/algebra/logical.c,1.98.2.4
compiler/algebra/physical.c,1.69.2.3
compiler/algebra/prop/prop_ocol.c,1.60.2.2
compiler/include/algebra.h,1.85.2.2 compiler/mil/milgen.brg,1.157.2.15
compiler/sql/lalg2sql.brg,1.133.2.1
pf:docname implementation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/06/12 - sjoerd:
NT/MonetDB4-XQuery/MonetDB4-XQuery-Installer.vdproj,1.12.2.1
Updated installer version number.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
U physical.c
Index: physical.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/physical.c,v
retrieving revision 1.71
retrieving revision 1.72
diff -u -d -r1.71 -r1.72
--- physical.c 31 May 2008 05:28:08 -0000 1.71
+++ physical.c 13 Jun 2008 12:50:45 -0000 1.72
@@ -1725,6 +1725,15 @@
res_type = aat_str;
break;
+ case alg_fun_pf_docname:
+ assert(refs.count == 1);
+
+ /* make sure atts are of the correct type */
+ assert(n->schema.items[ix[0]].type & aat_node);
+
+ res_type = aat_str;
+ break;
+
case alg_fun_upd_delete:
assert(refs.count == 1);
/* make sure that the attributes is a node */
U algebra.c
Index: algebra.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/algebra.c,v
retrieving revision 1.86
retrieving revision 1.87
diff -u -d -r1.86 -r1.87
--- algebra.c 2 Jun 2008 13:53:07 -0000 1.86
+++ algebra.c 13 Jun 2008 12:50:43 -0000 1.87
@@ -1070,7 +1070,6 @@
case alg_fun_call_pf_documents_str: return "pf:documents_str";
case alg_fun_call_pf_documents_str_unsafe:
return
"pf:documents_str_unsafe";
- case alg_fun_call_pf_docname: return "pf:docname";
case alg_fun_call_pf_collections: return "pf:collections";
case alg_fun_call_pf_collections_unsafe: return
"pf:collections_unsafe";
case alg_fun_call_pf_collection: return "pf:collection";
@@ -1127,6 +1126,7 @@
case alg_fun_pf_add_doc_str_int: return "pf:add-doc";
case alg_fun_pf_del_doc: return "pf:del-doc";
case alg_fun_pf_nid: return "pf:nid";
+ case alg_fun_pf_docname: return "pf:docname";
case alg_fun_upd_rename: return "upd:rename";
case alg_fun_upd_delete: return "upd:delete";
case alg_fun_upd_insert_into_as_first: return "upd:insertIntoAsFirst";
U logical.c
Index: logical.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/logical.c,v
retrieving revision 1.101
retrieving revision 1.102
diff -u -d -r1.101 -r1.102
--- logical.c 5 Jun 2008 09:18:48 -0000 1.101
+++ logical.c 13 Jun 2008 12:50:44 -0000 1.102
@@ -1591,6 +1591,15 @@
res_type = aat_str;
break;
+ case alg_fun_pf_docname:
+ assert(refs.count == 1);
+
+ /* make sure atts are of the correct type */
+ assert(n->schema.items[ix[0]].type & aat_node);
+
+ res_type = aat_str;
+ break;
+
case alg_fun_upd_delete:
assert(refs.count == 1);
U builtins.c
Index: builtins.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/builtins.c,v
retrieving revision 1.99
retrieving revision 1.100
diff -u -d -r1.99 -r1.100
--- builtins.c 5 Jun 2008 09:18:46 -0000 1.99
+++ builtins.c 13 Jun 2008 12:50:44 -0000 1.100
@@ -4872,11 +4872,17 @@
PFbui_pf_docname (const PFla_op_t *loop, bool ordering,
struct PFla_pair_t *args)
{
- (void) loop; (void) ordering; (void) args;
+ (void) loop; (void) ordering;
return (struct PFla_pair_t) {
- .rel = NULL,
- .frag = NULL };
+ .rel = project (fun_1to1 (args[0].rel,
+ alg_fun_pf_docname,
+ att_res,
+ attlist (att_item)),
+ proj (att_iter, att_iter),
+ proj (att_pos, att_pos),
+ proj (att_item, att_res)),
+ .frag = args[0].frag };
}
/**
-------------------------------------------------------------------------
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