Bugs item #1908822, was opened at 2008-03-06 16:25
Message generated for change (Comment added) made by tsheyar
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1908822&group_id=56967

Please note that this message will contain a full copy of the comment thread,
including the initial issue submission, for this request,
not just the latest update.
Category: PF/compiler
>Group: Pathfinder 0.24
Status: Open
>Resolution: Fixed
Priority: 5
Private: No
Submitted By: Stefan Manegold (stmane)
>Assigned to: Stefan Manegold (stmane)
Summary: PFalg: fails to compile multi-join query

Initial Comment:
Both in the XQuery_0-22 release branch and the development head,
the following 4-way join query compiles fine with `pf -M`, but fails to compile 
with `pf -A`:

========
$ cat /tmp/dblp3.XQ
--------
let $d := doc('dblp.xml')
for $a1 in $d//article,
    $a2 in $d//article,
    $a3 in $d//article,
    $a4 in $d//article
where
    $a1/author/text() = $a2/author/text() and
    $a2/author/text() = $a3/author/text() and
    $a3/author/text() = $a4/author/text() and
    $a1/journal/text() = 'ACM Trans. Database Syst.' and
    $a2/journal/text() = 'Bioinformatics' and
    $a3/journal/text() = 'IEEE Trans. Knowl. Data Eng.' and
    $a4/journal/text() = 'Nucleic Acids Research'
return  $a3
========
$ pf -M /tmp/dblp3.XQ | wc
--------
   4804   19899  227036
========
$ pf -A /tmp/dblp3.XQ | wc
--------
fatal error: Mapping unique name to an original name failed.
# halted in 
/ufs/manegold/_/scratch0/Monet/Testing/Stable/source/pathfinder/compiler/algebra/algebra.c
 (PFalg_ori_name), line 916
      0       0       0
========

A slightly simpler version seems to compile well --- the warnings with `pf -A` 
occur only in the XQuery_0-22 branch:

========
$ cat /tmp/dblp2.XQ
--------
let $d := doc('dblp.xml')
for $a1 in $d//article,
    $a2 in $d//article,
    $a3 in $d//article
where
    $a1/author/text() = $a2/author/text() and
    $a2/author/text() = $a3/author/text() and
    $a1/journal/text() = 'ACM Trans. Database Syst.' and
    $a2/journal/text() = 'Bioinformatics' and
    $a3/journal/text() = 'IEEE Trans. Knowl. Data Eng.'
return  $a3
========
$ pf -M /tmp/dblp2.XQ | wc
--------
   3431   14222  158281
========
$ pf -A /tmp/dblp2.XQ | wc
--------
warning: variable a0000 stilled pinned once.
warning: variable a0001 stilled pinned once.
warning: variable a0002 stilled pinned once.
warning: variable a0003 stilled pinned once.
warning: variable a0004 stilled pinned once.
warning: variable a0005 stilled pinned once.
warning: variable a0006 stilled pinned once.
warning: variable a0007 stilled pinned once.
warning: variable a0008 stilled pinned once.
warning: variable a0009 stilled pinned once.
warning: variable a0010 stilled pinned once.
warning: variable a0011 stilled pinned once.
warning: variable a0012 stilled pinned once.
warning: variable a0013 stilled pinned once.
warning: variable a0014 stilled pinned once.
warning: variable a0015 stilled pinned once.
warning: variable a0016 stilled pinned once.
warning: variable a0017 stilled pinned once.
warning: variable a0018 stilled pinned once.
warning: variable a0019 stilled pinned once.
warning: variable a0020 stilled pinned once.
warning: variable a0021 stilled pinned once.
warning: variable a0022 stilled pinned once.
warning: variable a0023 stilled pinned once.
warning: variable a0024 stilled pinned once.
warning: variable a0025 stilled pinned once.
warning: variable a0026 stilled pinned once.
warning: variable a0027 stilled pinned once.
warning: variable a0028 stilled pinned once.
warning: variable a0029 stilled pinned once.
warning: variable a0030 stilled pinned once.
warning: variable a0031 stilled pinned once.
   2619    9795   83777
========


----------------------------------------------------------------------

>Comment By: Jan Rittinger (tsheyar)
Date: 2008-05-29 13:55

Message:
Logged In: YES 
user_id=993208
Originator: NO

I added a core rewrite that resolves the problem reported here.

A better solution would be to get rid of the bit-encoded column names in
the algebra (as in some situations we need more than 32 columns).

The variable pinning problem was solved already a while ago.

A test that also checks the correctness of the resulting plan still needs
to be added.

----------------------------------------------------------------------

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detail&atid=482468&aid=1908822&group_id=56967

-------------------------------------------------------------------------
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-bugs mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-bugs

Reply via email to