Notes from the TAP/ADQL splinter session on Wednesday 21 May 2014 at the IVOA Interop meeting at ESAC.

During the meeting the group reviewed a number of proposed changes to TAP and ADQL described in the TAP Implementation Notes Version 1.0.

The following section lists the recommendations agreed at the meeting for each of the changes that were reviewed.

After each section there is a table for adding feedback. Please add your vote to indicate

  • +1 You agree with the decision
  • 0 You don't mind either way
  • -1 You disagree with the decision
If you vote to disagree please provide a brief one line explanation describing why (or a link to a new page if you prefer).

For items that need more discussion please raise them on the working group mailing list.

Thank you for your feedback. -- DaveMorris - 2014-07-18

Example item

Some text describing the item, with a reference to the original item in the TAP Implementation Notes.

May 2014 Interop
A brief summary of the discussion at the May Interop.

Community feedback
Name date vote notes
MarcoMolinaro 2014-07-18 +1  
DaveMorris 2014-07-18 +1 Yes, good idea
DaveMorris 2014-07-18 0 Ok, as long as it is optional
DaveMorris 2014-07-18 -1 It isn't the right colour, our users prefer blue background.


Separator Nonterminal

This item proposes two options to clarify the use of whitespace and comments in ADQL.

One option for such a clarification is to amend section 2.1 of [std:ADQL] with a subsection 2.1.4, "Tokens and literals", containing text like the following (taken essentially from [std:SQL1992]).

  1. Any token may be followed by a separator. A nondelimiter token shall be followed by a delimiter token or a separator.

Since the full rules for the separator are somewhat more complex in [std:ADQL], an attractive alternative could be to omit the separator nonterminal from the grammar and to just note:

  1. Whitespace and comments can occur wherever they can occur in [std:SQL1992].

May 2014 Interop
Accepted as errata - It was agreed that this item should be included in the errata note for the current, [std:ADQL-20081030], version of the standard.

Community feedback
Name date vote notes
DaveMorris 2014-07-18 0 Accept either option
       


Type System

This item proposes adding new section to introduce a notion of types into section 2 of the ADQL recommendation.

See original text for details of the proposed type mappings.

[TODO insert table here]

May 2014 Interop
Accepted for next version - It was agreed that this item should be discussed further, with a view to including it in the next (minor) version of the [std:ADQL] standard.

Community feedback
Name date vote notes
DaveMorris 2014-07-18 -1 In general yes, but some parts need further discussion (see below).
       

Transporting BLOB, CLOB, TIMESTAMP, POINT and REGION as char() strings should *not imply the ADQL string concatenation operator are applicable. -- DaveMorris - 2014-09-04


Empty Coordinate Systems

This item proposes deprecating the string-valued first argument for the geometry constructors (BOX, CIRCLE, POINT, POLYGON).

May 2014 Interop
Requires further discussion - It was agreed that the proposal needs more work done on it before it could be included in the [std:ADQL] standard.

Community feedback
Name date vote notes
DaveMorris 2014-07-18 +1  
       


Explanation of optional features

This item proposes adding a section of text to both the [std:TAP] and [std:ADQL] specifications that clarifies how optional features are described.

May 2014 Interop
Accepted for next version - It was agreed that this item should be discussed further, with a view to including it in the next (minor) version of the [std:ADQL] standard.

Community feedback
Name date vote notes
DaveMorris 2014-07-18 +1 I think this is needed
       


Simple Crossmatch Function

This item proposes adding a simple positional crossmatch function to [std:ADQL].

May 2014 Interop
Requires further discussion - It was agreed that the proposal needs more work done on it before it could be included in the [std:ADQL] standard.
  • It was agreed that this would be a useful feature for end users
  • It was noted that adding this feature could be difficult to implement
  • It was noted that part of the rationale for the IVOA services was to implement difficult things on the server side, making things easier for the end user

Community feedback
Name date vote notes
DaveMorris 2014-07-18 0 Like the idea, needs more work
       


No type-based decay of INTERSECTS

This item proposes deprecating the use of POINT as the first parameter to INTERSECTS.

May 2014 Interop
Accepted for next version - It was agreed that the proposed text should be included in the next (minor) version of the std:ADQL standard.

Community feedback
Name date vote notes
DaveMorris 2014-07-18 +1  
       


Generalized user defined functions

This item proposes allowing user defined functions to return geometric types.

May 2014 Interop
Accepted as errata - It was agreed that there should be no restriction on the return types of User Defined Functions. It was agreed that this should be included in the errata note for the current, [std:ADQL-20081030], version of the standard.

Futher discussion - It was also noted that the SimDAl working group would like to be able to define table value functions in std:ADQL. It was agreed to continue the discussion to find a way of adding support for table value functions in a future version of the std:ADQL standard.

Community feedback
Name date vote notes
DaveMorris 2014-07-18 +1  
       


Case-Insensitive String Comparisons

This item proposes adding functions and operators for to support case-insensitive string comparisons.

May 2014 Interop
Accepted for next version - This item was discussed by members of the working group at the May 2014 IVOA Interop meeting.

It was agreed that the following functions should be included as an optional feature in the next (minor) version of the std:ADQL standard.

  • UPPER
  • LOWER

It was agreed that the following operator should be included as an optional feature in the next (minor) version of the std:ADQL standard.

  • ILIKE

Community feedback
Name date vote notes
DaveMorris 2014-07-18 +1  
       


Set operators

This item proposes adding support for the UNION, EXCEPT and INTERSECT operators.

May 2014 Interop
Accepted for next version - This item was discussed by members of the working group at the May 2014 IVOA Interop meeting.

It was agreed that the following operators should be included in the next (minor) version of the std:ADQL standard.

  • UNION
  • EXCEPT
  • INTERSECT

It was agreed that the text describing the set operators in the std:ADQL standard should include the following caveats.

  • The set operands MUST produce the same number of columns
  • The corresponding columns in the operands MUST have the same data types
  • The corresponding columns in the operands SHOULD have the same metadata
  • The metadata for the results SHOULD be generated from the left-hand operand

Community feedback
Name date vote notes
DaveMorris 2014-07-18 -1 I agree with the proposal (+1), but we need to confirm which platforms support what operators (see below)
       

The Oracle database platform includes support for UNION and INTERSECT, but not EXCEPT. However, Oracle's MINUS opperator appears to be equivalent to EXCEPT.

If we make these operators as a required feature of std:ADQL then it means service implementatiuons based on Oracle will have to parse and translate ADQL queries.

This may not be an issue, but it will be the first time we have (knowingly) added a feature to std:ADQL that requires service implementatiuons to parse and translate ADQL queries.

-- DaveMorris - 2014-09-04

Please cotribute your knowledge to the table below to help us build a map of which platforms support which operators.

Vendor version UNION INTERSECT EXCEPT verified by
SQLServer   YES YES YES DaveMorris - 2014-09-04
Sybase        
Oracle   YES YES equivalent MINUS
PostgreSQL   YES YES YES DaveMorris - 2014-09-04
MySQL        
Derby        
HSQLBD        
SQLLite        
Edit | Attach | Watch | Print version | History: r11 | r7 < r6 < r5 < r4 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r5 - 2014-09-04 - DaveMorris
 
This site is powered by the TWiki collaboration platform Powered by Perl This site is powered by the TWiki collaboration platformCopyright © 2008-2024 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback