Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv24305/mil
Modified Files:
Tag: XQuery_0-24
milgen.brg
Log Message:
-- small fixes
- do not address the static column name in MIL generation
(for the fun_call operator the order of the schema stays fixed)
- fun_call operators without QNames should not result in a segfault
during debug printing
U milgen.brg
Index: milgen.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milgen.brg,v
retrieving revision 1.157.2.15
retrieving revision 1.157.2.16
diff -u -d -r1.157.2.15 -r1.157.2.16
--- milgen.brg 12 Jun 2008 12:39:16 -0000 1.157.2.15
+++ milgen.brg 13 Jun 2008 14:01:48 -0000 1.157.2.16
@@ -1864,24 +1864,24 @@
/* PFTIJAH helper functions */
-static mvar_t
-*pft_create_pfop(PFpa_op_t *p, PFalg_simple_type_t t)
+static mvar_t *
+pft_create_pfop (PFpa_op_t *p, PFalg_simple_type_t t)
{
mvar_t *res;
if ( p ) {
res = new_var (1);
- mvar_t *p_iter = env_mvar (p->env, att_iter, aat_nat);
- mvar_t *p_item = env_mvar (p->env, att_item, t);
+ mvar_t *p_iter = env_mvar (p->env, p->schema.items[0].name /* iter
*/, aat_nat);
+ mvar_t *p_item = env_mvar (p->env, p->schema.items[2].name /* item
*/, t);
mvar_t *p_frag;
if ( t == aat_pre ) {
- p_frag = env_mvar (p->env, att_item, aat_frag);
+ p_frag = env_mvar (p->env, p->schema.items[2].name /* item */,
aat_frag);
} else {
p_frag = new_var (1);
execute(
assgn (var (p_frag->name), lit_int(0))
);
}
- mvar_t *p_pos = env_mvar (p->env, att_pos , aat_nat);
+ mvar_t *p_pos = env_mvar (p->env, p->schema.items[1].name /* item
*/, aat_nat);
if ( !(p_iter && p_item && p_frag && p_pos) )
PFoops(OOPS_FATAL,"pft_create_pfop: missing
[iter|item|frag|pos] child");
@@ -8865,7 +8865,7 @@
ws_documents_str (
var (PF_MIL_VAR_WS),
VAR (param_1->env,
- att_item,
+ /* item */ param_1->schema.items[2].name,
aat_str),
lit_bit(safe)))));
@@ -8906,7 +8906,7 @@
ws_collection_root (
var (PF_MIL_VAR_WS),
VAR (param_1->env,
- att_item,
+ /* item */ param_1->schema.items[2].name,
aat_str))));
execute (
@@ -9205,20 +9205,29 @@
PFpa_op_t* op1 = *(PFpa_op_t **)PFarray_at(fun_params,0);
/* copy the iter bat */
- mvar_t *p_iter = env_mvar (op1->env, att_iter, aat_nat);
+ mvar_t *p_iter = env_mvar (
+ op1->env,
+ op1->schema.items[0].name /* iter */,
+ aat_nat);
pin(p_iter,1);
env_add (p->env, fc_iter_a, aat_nat, p_iter);
mvar_t *new_item = new_var (p->refctr);
if ( strcmp(fcname,PFT_TOKENIZE) == 0 ) {
- mvar_t *p_item = env_mvar (op1->env, att_item, aat_str);
+ mvar_t *p_item = env_mvar (
+ op1->env,
+ op1->schema.items[2].name /* item
*/,
+ aat_str);
execute (
assgn (var (new_item->name),
tj_tokenize( var(p_item->name) ) ) );
env_add (p->env, fc_item_a, aat_str, new_item);
} else {
/* must be RESSIZE */
- mvar_t *p_item = env_mvar (op1->env, att_item, aat_int);
+ mvar_t *p_item = env_mvar (
+ op1->env,
+ op1->schema.items[2].name /* item
*/,
+ aat_int);
/* "var res := item%s.join(tijah_scoreDB.fetch([EMAIL
PROTECTED]));\n" */
execute (
assgn (var (new_item->name),
@@ -9229,7 +9238,10 @@
}
/* copy the pos bat */
- mvar_t *p_pos = env_mvar (op1->env, att_iter, aat_nat);
+ mvar_t *p_pos = env_mvar (
+ op1->env,
+ op1->schema.items[1].name /* pos */,
+ aat_nat);
pin(p_pos,1);
env_add (p->env, fc_pos_a, aat_nat, p_pos);
} else if (strcmp(fcname,PFT_INFO) == 0 ) {
-------------------------------------------------------------------------
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