openjpa-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Milosz Tylenda (JIRA)" <j...@apache.org>
Subject [jira] [Updated] (OPENJPA-1465) Queries over multi-valued elements within XML column
Date Fri, 25 Jan 2013 16:17:13 GMT

     [ https://issues.apache.org/jira/browse/OPENJPA-1465?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Milosz Tylenda updated OPENJPA-1465:
------------------------------------

    Description: 
A request for query support over multi-valued elements within XML column has been posted on
the user mailing list [1]. We currently support only queries over single-valued elements.

I have investigated the matter a bit using MySQL. It seems that a query working correctly
over multi-valued elements can be constructed like this ("street" is multi-valued):

select * from TORDER t0 where ExtractValue(t0.shipAddress,'count(/*/street[text()="Lelevela"])
>= 1') = 1;
or
select * from TORDER t0 where ExtractValue(t0.shipAddress,'count(/*/street[text()="Lelevela"])')
>= 1;

What worries me is that such a query might not be indexable even if the database supports
indexes over expressions.

[1] http://openjpa.208410.n2.nabble.com/quot-collection-valued-path-quot-ArgumentException-when-querying-based-on-multi-valued-elements-in-an-td4162113.html
[2] http://openjpa.208410.n2.nabble.com/JPA-XmlValueHandler-doesn-t-work-with-Multi-Valued-fileds-td7582589.html


  was:
A request for query support over multi-valued elements within XML column has been posted on
the user mailing list [1]. We currently support only queries over single-valued elements.

I have investigated the matter a bit using MySQL. It seems that a query working correctly
over multi-valued elements can be constructed like this ("street" is multi-valued):

select * from TORDER t0 where ExtractValue(t0.shipAddress,'count(/*/street[text()="Lelevela"])
>= 1') = 1;
or
select * from TORDER t0 where ExtractValue(t0.shipAddress,'count(/*/street[text()="Lelevela"])')
>= 1;

What worries me is that such a query might not be indexable even if the database supports
indexes over expressions.

[1] http://n2.nabble.com/collection-valued-path-ArgumentException-when-querying-based-on-multi-valued-elements-in-an-XML-colun-tp4162113p4162113.html


    
> Queries over multi-valued elements within XML column
> ----------------------------------------------------
>
>                 Key: OPENJPA-1465
>                 URL: https://issues.apache.org/jira/browse/OPENJPA-1465
>             Project: OpenJPA
>          Issue Type: Improvement
>          Components: query, sql
>    Affects Versions: 1.2.1
>            Reporter: Milosz Tylenda
>
> A request for query support over multi-valued elements within XML column has been posted
on the user mailing list [1]. We currently support only queries over single-valued elements.
> I have investigated the matter a bit using MySQL. It seems that a query working correctly
over multi-valued elements can be constructed like this ("street" is multi-valued):
> select * from TORDER t0 where ExtractValue(t0.shipAddress,'count(/*/street[text()="Lelevela"])
>= 1') = 1;
> or
> select * from TORDER t0 where ExtractValue(t0.shipAddress,'count(/*/street[text()="Lelevela"])')
>= 1;
> What worries me is that such a query might not be indexable even if the database supports
indexes over expressions.
> [1] http://openjpa.208410.n2.nabble.com/quot-collection-valued-path-quot-ArgumentException-when-querying-based-on-multi-valued-elements-in-an-td4162113.html
> [2] http://openjpa.208410.n2.nabble.com/JPA-XmlValueHandler-doesn-t-work-with-Multi-Valued-fileds-td7582589.html

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Mime
View raw message