TAP-1.1 Next

This topic collects proposals for modifications of the TAP-1.1 specification in order to improve the next revision of the specification.

Errata to the TAP-1.1 Recommendation can be found on the devoted TAP-1_1-Errata page.

Proposed Features

Modify here to give your input, than possibly alert the community (email, slack, ...).

Feature: User-managed tables

The goal is to enable users to create table, create index, drop table, and load data (only adding rows). Stretch goals: setting permissions (private, groups via GMS, or public), some other table maintenance ops like renaming tables and columns and modifying some table (tap_schema) metadata. When digging into the details, there are lots of things that could be done where it seems like effort >> value, so tha hard part is drawing trhe line of what is in the stds and what is not.

The goal in CANFAR was to support projects that were creating astronomical catalogues so mostly bulk loading of content and that's what the CANFAR youcat service does now. The features could also support users managing their own tables in a more persistent fashion than we have with TAP upload: create a server-side table once, do various queries/joins with other tables over a period of time, and maybe drop it later. I'm sure there are other useful things one could do.

PatrickDowler gave a presentation in College Park (https://wiki.ivoa.net/internal/IVOA/InterOpNov2018DAL/tap-youcat.pdf)

The REST API docs for our youcat service are here: https://ws-cadc.canfar.net/youcat/ but will be added below in a more simplified form.

Feature: number of rows in TAP_SCHEMA.tables

As VODataService now declares the approximate number of rows in a table (and several TAP services already do that), let's have an nrows column in TAP_SCHEMA.tables. Its metadata could be:

  • type: bigint
  • description: The approximate size of the table in rows
-- MarkusDemleitner - 2022-08-22

Feature: debug/plan endpoint

To give users a chance to figure out why a query is slow (or perhaps for other diagnostic tasks), standardise a way to retrieve information useful for debugging. What is returned does not have to be machine readable, but it should usually include the query into the database's native SQL and an associated query plan.

Me, I'd say that sort of functionality probably not dramatically important for sync jobs. Users who want to read query plans can deal with async. I'd hence say this information should be retrievable on a child resource "plan" of a job's async resource, i.e., as a child of phase. We should require that, when people have a plan endpoint in the first place, it will return something sensible while a job is PENDING.

New constraint: Require dataType

Somewhat regrettably, VODataService does not require dataType. In TAP_SCHEMA, on the other hand, we require datatype to be non-NULL. For consistency, and in particular to let validators catch the condition, we should extend this non-NULL condition to the tables endpoint. Strictly speaking, this is a breaking change. Pragmatically, that's just uncovering bugs. So, I'd say in sect. 2.5 (VOSI-tables) we should amend the sentence "The content is equivalent to the metadata from the TAP_SCHEMA described in section 4" with "; this means, in particular, that while the dataType child of the column element is optional by VODataService, it MUST be given in the tables endpoints of TAP services. This reflects the non-NULL constraint on the datatype column in TAP_SCHEMA.columns."

New Constraint: VOUnits syntax

Where we talk about units in TAP_SCHEMA, we should say they SHOULD conform to VOUnits. If other people feel we can get away with MUST, I'd probably support that, too.

-- MarkusDemleitner - 2023-06-06"

Edit | Attach | Watch | Print version | History: r5 < r4 < r3 < r2 < r1 | Backlinks | Raw View | Raw edit | More topic actions
Topic revision: r5 - 2023-06-06 - MarkusDemleitner
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