Update of /cvsroot/monetdb/pathfinder/compiler/algebra/prop
In directory
sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv19571/compiler/algebra/prop
Modified Files:
prop_ocol.c
Log Message:
* Changed the names of the new types that were introduced for the docmgm
functions. Now the types are:
- aat_docmgmt
- aat_path
- aat_docnm
- aat_colnm
Note that we used only 1 more bit for these types since we re-used
the types introduced for the update functions.
* Algebra and MIL implementation for the docmgm functions:
- pf:add-doc(str,str)
- pf:add-doc(str,str,str)
- pf:add-doc(str,str,int)
- pf:add-doc(str,str,str,int)
* Change the serialize operator to identify docmgm queries and produce
the correct MIL code for that
* MIL implementation for the docmgmt_tape
* Dummy implementation of the DocmgmTape proc in pathfinder.mx
For now it just prints the BAT parameters, but next commit will be
with the correct implementation.
Everything works great, but for one *very very* strange thing. Inside the 1to1
function, case alg_fun_pf_add_doc_str_int reaches until logical level and then
disappears! This case has 4 params but that must not be the problem since case
alg_fun_fn_replace_flag has also 4 params and works fine. I could use some
help/suggestions on this one, since I have no idea why this is happening.
could it be some strange elimination/optimization code?
Index: prop_ocol.c
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/algebra/prop/prop_ocol.c,v
retrieving revision 1.45
retrieving revision 1.46
diff -u -d -r1.45 -r1.46
--- prop_ocol.c 18 Jan 2008 16:11:36 -0000 1.45
+++ prop_ocol.c 20 Jan 2008 22:35:04 -0000 1.46
@@ -459,19 +459,6 @@
res_type = ocol_at (L(n), ix[0]).type;
break;
-
- case alg_fun_pf_add_doc:
- assert(n->sem.fun_1to1.refs.count == 2);
-
- /* make sure atts are of the correct type */
- assert(ocol_at (L(n), ix[0]).type == aat_str);
- assert(ocol_at (L(n), ix[1]).type == aat_str);
-
- /* the returning type of doc management functions
- * is aat_docmgmt bitwise OR the attribute types*/
- res_type = aat_docmgmt | aat_str | aat_str1;
- break;
-
case alg_fun_pf_add_doc_str:
assert(n->sem.fun_1to1.refs.count == 3);
@@ -482,20 +469,7 @@
/* the returning type of doc management functions
* is aat_docmgmt bitwise OR the attribute types*/
- res_type = aat_docmgmt | aat_str | aat_str1 | aat_str2;
- break;
-
- case alg_fun_pf_add_doc_int:
- assert(n->sem.fun_1to1.refs.count == 3);
-
- /* make sure atts are of the correct type */
- assert(ocol_at (L(n), ix[0]).type == aat_str);
- assert(ocol_at (L(n), ix[1]).type == aat_str);
- assert(ocol_at (L(n), ix[2]).type == aat_int);
-
- /* the returning type of doc management functions
- * is aat_docmgmt bitwise OR the attribute types */
- res_type = aat_docmgmt | aat_str | aat_str1 | aat_int;
+ res_type = aat_docmgmt | aat_path | aat_docnm | aat_colnm;
break;
case alg_fun_pf_add_doc_str_int:
@@ -509,8 +483,7 @@
/* the returning type of doc management functions
* is aat_docmgmt bitwise OR the attribute types */
- res_type = aat_docmgmt | aat_str | aat_str1 |
- aat_str2 | aat_int;
+ res_type = aat_docmgmt | aat_path | aat_docnm | aat_colnm;
break;
case alg_fun_pf_del_doc:
@@ -521,7 +494,7 @@
/* the returning type of doc management functions
* is aat_docmgmt bitwise OR the attribute types */
- res_type = aat_docmgmt | aat_str1;
+ res_type = aat_docmgmt | aat_docnm;
break;
case alg_fun_upd_delete:
-------------------------------------------------------------------------
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