[teiid-issues] [JBoss JIRA] (TEIID-5541) Incorrect parsing of xml with XmlTable

dalex dalex (Jira) issues at jboss.org
Fri Nov 16 08:16:00 EST 2018


    [ https://issues.jboss.org/browse/TEIID-5541?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13662631#comment-13662631 ] 

dalex dalex commented on TEIID-5541:
------------------------------------

[~shawkins] do you mean by the phrase "So for now document projection will not be allowed when root() is used." that now such query:
{code:sql}
Begin
    Declare xml x = '<root><def><test1>10</test1><test1>20</test1></def><abc>22</abc></root>';
    Select * From XmlTable (
        '/root/abc'
        Passing x
        Columns
            a string Path '.'
            ,b string Path 'root()'
    )xx;
End;;
{code}
will return empty values for a and b though before your changes it returned 22 for a and 102022 for b.
I'm afraid that it's incorrect solution. At least it breaks previous behavior.

> Incorrect parsing of xml with XmlTable
> --------------------------------------
>
>                 Key: TEIID-5541
>                 URL: https://issues.jboss.org/browse/TEIID-5541
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 11.1
>         Environment: teiid-11.1.0 (from 01.09.2018) on WildFly Full 11.0.0.Final (WildFly Core 3.0.8.Final)
>            Reporter: dalex dalex
>            Assignee: Steven Hawkins
>            Priority: Blocker
>             Fix For: 11.0.3, 11.1.2, 12.0, 11.2.1
>
>
> Running the query:
> {code:sql}
> Begin
> 	Declare xml xcontent = '<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
> 	<report>
> 		<data>
> 			<year xsi:type="decimal">2018</year>
> 		</data>
> 	</report>
> 	<waitSeconds xsi:type="decimal">13</waitSeconds>
>      </root>' ;
> 	Select *
> 	From 
> 		XmlTable(
> 			XmlNamespaces ('http://www.w3.org/2001/XMLSchema-instance' as xsi),
> 			'/root/report/data' 
> 			PASSING xcontent 
> 			Columns 
> 				"year" integer,
> 				waitSeconds xml Path 'root()/root/waitSeconds',
> 				waitSecondsStr string Path 'root()/root/waitSeconds'
> 	)a ;
> End ;;
> {code}
> and having a look at the structure we can see that the value 13 should be returned, while the value is not picked from xml for result.



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


More information about the teiid-issues mailing list