[ 
https://issues.apache.org/jira/browse/DERBY-6256?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13700629#comment-13700629
 ] 

Rick Hillegas commented on DERBY-6256:
--------------------------------------

Thanks, Knut. That's a good point. I can add a new constructor which takes an 
URL instead of a string. Because URL is Serializable, that constructor would be 
usable provided that the user first bound a user-defined type to URL:

create type URL external name 'java.net.URL' language java;

I think that an URL will survive transmission across the network. Technically, 
File is Serializable too, so it would be possible to bind a user-defined type 
to it and add a constructor with a File argument. But I don't think that File, 
either in its raw form or in its string form, will be meaningful when sent 
across a network. The file is only usable when it's located server-side. It 
still makes sense to me that the constructor with the string argument should be 
used for xml resources stored in server-side files. Existing Derby routines 
represent file arguments as strings and it seems reasonable to me to follow 
that convention.

Thanks,
-Rick
                
> Move the XmlVTI into the product.
> ---------------------------------
>
>                 Key: DERBY-6256
>                 URL: https://issues.apache.org/jira/browse/DERBY-6256
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL, Tools
>    Affects Versions: 10.11.0.0
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>              Labels: derby_triage10_11
>         Attachments: derby-6256-01-aa-move-XmlVTI-into-product.diff, 
> derby-6256-02-aa-allowParentTags.diff, derby-6256-03-aa-useFileNotURL.diff
>
>
> The XmlVTI under derbyDemo has been useful to me for many years. It has 
> become even more useful now that Derby supports varargs. That is because 
> varargs make it very easy to declare an XmlVTI. At this point, I think it is 
> worth re-phrasing the XmlVTI in terms of varargs and moving it into the 
> product so that we can use it for internal table functions. There is no rush 
> to expose XmlVTI as part of Derby's public api, but we could consider doing 
> that if other people find this table function to be useful.
> The XmlVTI is a table function which turns an xml file into a tabular data 
> set which you can query via sql. When you declare an XmlVTI, you state the 
> following arguments:
> 1) The url of an xml file.
> 2) The name of the element in the xml file which you want to treat as a 
> record or row.
> 3) The names of the attributes and subelements of that record which you want 
> to treat as columns. Now that we have varargs, it is possible to represent 
> this trailing argument as a variable length argument list.

--
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

Reply via email to