Update of /cvsroot/monetdb/pathfinder/compiler/mil
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv3380/compiler/mil
Modified Files:
Tag: PF_ROX
milgen.brg
Log Message:
propagated changes of Monday Jun 16 2008
from the development trunk to the PF_ROX branch
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/06/16 - sjoerd: compiler/algebra/map/map_ori_names.c,1.35
compiler/algebra/prop/prop_trace_names.c,1.24
compiler/debug/logdebug.c,1.104 compiler/debug/physdebug.c,1.64
compiler/mil/milgen.brg,1.164
propagated changes of Friday Jun 13 2008 - Monday Jun 16 2008
from the XQuery_0-24 branch to the development trunk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/06/13 - tsheyar: compiler/algebra/prop/prop_trace_names.c,1.23.2.1
-- Try to fix bug #1991938 XQ: iter in join
During name tracing keep conflicting names until the end as a projection
may map them shortly before the last operator into the same column name.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/06/13 - tsheyar: compiler/debug/logdebug.c,1.100.2.3
compiler/debug/physdebug.c,1.62.2.2 compiler/mil/milgen.brg,1.157.2.16
-- 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
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/06/13 - tsheyar: compiler/algebra/map/map_ori_names.c,1.33.2.3
-- avoid double memory allocation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
U milgen.brg
Index: milgen.brg
===================================================================
RCS file: /cvsroot/monetdb/pathfinder/compiler/mil/milgen.brg,v
retrieving revision 1.103.2.20
retrieving revision 1.103.2.21
diff -u -d -r1.103.2.20 -r1.103.2.21
--- milgen.brg 13 Jun 2008 14:29:38 -0000 1.103.2.20
+++ milgen.brg 16 Jun 2008 10:41:21 -0000 1.103.2.21
@@ -1866,24 +1866,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");
@@ -8860,7 +8860,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)))));
@@ -8901,7 +8901,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 (
@@ -9200,20 +9200,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),
@@ -9224,7 +9233,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