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

Rick Hillegas commented on DERBY-716:
-------------------------------------

Thanks for the great feedback, Army. Your comments will help simplify the next 
rev of this spec.

> Under the "New SELECT Syntax" section: 

You are correct: I left out the parentheses needed by the TABLE constructor in 
both the syntax description and the example.

> A standalone VALUES clause can include other types of expressions, as well. 
> For example: 

Function Table invocations will support the same spectrum of expressions that 
currently work with the diagnostic VTIs. I will reword this section.

> Under "Type System" 

Yes, I think we need a new datatype for Function Tables, which will be returned 
by the corresponding RoutineAliasInfo.getReturnType() method. This returned 
datatype, in turn, can be used:

1) by the GetProcedureColumns diagnostic vti, which decodes the 
RoutineAliasInfo on behalf of java.sql.DatabaseMetaData.getFunctionColumns()

2) by our bind() logic in order to determine the names and types of columns in 
the derived table

Because this datatype is part of RoutineAliasInfo, it will be serialized to 
SYSALIASES.ALIASINFO.and that is why it has its own Formatable id.

You are, of course, correct that this is mostly an internal, implementation 
detail. This new datatype will only appear to users accidentally since it is 
part of the contents of SYSALIASES.ALIASINFO, which users can select and 
display. We won't be documenting this in the user guides. I will explain this 
better in the next rev of the spec.

This particular implementation seems like a fairly straightforward way to 
deliver (1) and (2). If you have another idea how to implement (1) and (2), 
please let me know.

> Re-enable VTIs
> --------------
>
>                 Key: DERBY-716
>                 URL: https://issues.apache.org/jira/browse/DERBY-716
>             Project: Derby
>          Issue Type: New Feature
>          Components: SQL
>            Reporter: Rick Hillegas
>         Attachments: functionTables.html
>
>
> Cloudscape used to expose Virtual Table Interfaces, by which any class which 
> implemented ResultSet could be included in a query's FROM list. Derby still 
> exposes a number of these VTIs as diagnostic tools. However, Derby now 
> prevents customers from declaring their own VTIs. The parser raises an error 
> if a VTI's package isn't one of the Derby diagnostic packages.
> This is a very powerful feature which customers can use to solve many 
> problems. We should discuss the reasons that it was disabled and come up with 
> a plan for putting this power back into our customers' hands.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to