[teiid-issues] [JBoss JIRA] (TEIID-4452) Pushdown SQL/XML

Steven Hawkins (Jira) issues at jboss.org
Wed Oct 17 09:50:08 EDT 2018


     [ https://issues.jboss.org/browse/TEIID-4452?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins updated TEIID-4452:
----------------------------------
    Fix Version/s: 12.x
                       (was: 11.x)


> Pushdown SQL/XML
> ----------------
>
>                 Key: TEIID-4452
>                 URL: https://issues.jboss.org/browse/TEIID-4452
>             Project: Teiid
>          Issue Type: Enhancement
>          Components: JDBC Connector
>    Affects Versions: 9.x
>            Reporter: Tom Arnold
>            Priority: Major
>             Fix For: 12.x
>
>
> It would be helpful to pushdown SQL/XML functions for JDBC databases that support them. 
> Databases:
> - Oracle
> - Postgres
> Functions:
> - XMLELEMENT
> - XMLATTRIBUTES
> - XMLAGG
> - XMLCONCAT
> We have an application that uses these functions and we support Oracle, Postgres, and Teiid (to integrate external data sources). Here's an example query generated by this application:
> {code:xml}
> select
> "ITEMS"."ITEM_ID" "ITEM_ID",
> (
>     select xmlelement (
>         name "attributes",
>         xmlagg(
>             xmlelement(
>                 name "attribute", 
>                 xmlattributes(
>                     "ITEM_ATTRIBUTES"."ATTR_NAME" as "name", 
>                     "ITEM_ATTRIBUTES"."ATTR_VALUE" as "value"
>                 )
>             )
>         )
>     )
>     from "ITEM_ATTRIBUTES" "ITEM_ATTRIBUTES"
>     where (
>         "ITEMS"."ITEM_ID" = "ITEM_ATTRIBUTES"."ITEM_ID"
>     )
> ) "ITEM_ATTRIBUTES"
> {code}
> {code}
> ITEM_ID    ITEM_ATTRIBUTES
> 3          <attributes><attribute name="foo" value="bar"></attribute><attribute name="baz" value="blah"></attribute></attributes>
> 4          <attributes><attribute name="foo" value="123"></attribute><attribute name="baz" value="456"></attribute></attributes>
> {code}
> When we are using Teiid queries like this do not work well because they cannot be pushed down, so we get N-many queries (one per row) and the query ends up taking much longer than if performed directly against Oracle/Postgres. 
> Since SQL/XML is standard and supported by both Oracle/Postgres it would be good if queries like this could be pushed in their entirety so that there would be no performance difference between going through Teiid and native.



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the teiid-issues mailing list