ADQL function namesThe ADQL standard itself does not impose any restrictions on the names that may be used for user defined functions. To avoid name collisions when solving common problems, we recommend that TAP service providers adopt a policy of consistently prefixing the names of user-defined functions provided by their services with an acronym that represents the institute, department or archive where the function originates. If the Wide Field Astronomy Unit (WFAU) use the department acronym,wfau , to prefix their user defined function names: | |||||||||||||||||||
Added: | |||||||||||||||||||
> > | |||||||||||||||||||
wfau_align() | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | wfau_convert() | ||||||||||||||||||
> > | wfau_convert() | ||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
and the German Astrophysical Virtual Observatory (GAVO) adopt a similar naming convention: | |||||||||||||||||||
Added: | |||||||||||||||||||
> > | |||||||||||||||||||
gavo_align() | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | gavo_convert() | ||||||||||||||||||
> > | gavo_convert() | ||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
this would help to avoid confusion when users encounter functions with similar names on different TAP services: | |||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
wfau_align() gavo_align() wfau_convert() | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | gavo_convert() | ||||||||||||||||||
> > | gavo_convert() | ||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
Note that the prefix indicates the origin of the function implementation, not the identity of the TAP service providing the function. If another TAP service provides a function with exactly the same behaviour as one of the WFAU functions, the function name should use the wfau prefix to indicate this. | |||||||||||||||||||
Added: | |||||||||||||||||||
> > | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | wfau_align() | ||||||||||||||||||
> > | wfau_align() | ||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
By ensuring that different implementations use different names, this scheme avoids potential conflicts when a user takes a query written for one TAP service and sends it to another TAP service. With the name prefixes, the second TAP service will reject the query if it does not provide exactly the same function as the first.
Without this fail fast approach, the second query may run without raising any errors or warnings, but due to differences in the algorithm used, the second query may produce subtly different results which could go undetected.
On the other hand, if the second TAP service does implement the same function, with exactly the same behaviour, then selecting this function using the name prefix gives the user a level of confidence that a query would produce equivalent results when run on different TAP services.
IVO standard functionsTheivo prefix is reserved for defining functions that are specified in IVOA recommendations or endorsed notes.
If one of the GAVO functions is adopted as part of an IVOA standard, then we could use the ivo prefix to indicate that it is an IVOA standard function. | |||||||||||||||||||
Added: | |||||||||||||||||||
> > | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | ivo_align() | ||||||||||||||||||
> > | ivo_align() | ||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
For backwards compatibility, a TAP services could provide the same function using different names: | |||||||||||||||||||
Added: | |||||||||||||||||||
> > | |||||||||||||||||||
gavo_align() -- original GAVO version | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | ivo_align() -- IVOA standard version | ||||||||||||||||||
> > | ivo_align() -- IVOA standard version | ||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
The same TAP service could also provide the WFAU implementation of the same function: | |||||||||||||||||||
Added: | |||||||||||||||||||
> > | |||||||||||||||||||
gavo_align() -- original GAVO version wfau_align() -- alternative WFAU version | |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | ivo_align() -- IVOA standard version | ||||||||||||||||||
> > | ivo_align() -- IVOA standard version | ||||||||||||||||||
Deleted: | |||||||||||||||||||
< < | |||||||||||||||||||
It is the responsibility of the IVOA working groups to ensure that the total set of ivo endorsed functions remains sensible.
In order to be accepted as an ivo function, a function MUST be defined in a format suitable for TAPRegExt and ideally have reference implementations for one or more of the major RDMS platforms.
Note that in general a TAP service is not required to implement these functions. However, if they do implement functions with these names, then their implementation MUST be consistent with the behaviour defined in the specification.
An example for a Recommendation that defines ivo functions is RegTAP, which defines the following functions:
Prefix registryThe following table acts as an informal registry of function prefix names.
| |||||||||||||||||||
Changed: | |||||||||||||||||||
< < | |||||||||||||||||||
> > |
| ||||||||||||||||||
If you would like to to participate, please add your prefix to the table.
Next stepsIf you are adding new user defined functions to your TAP services, consider adding a prefix to the function name to indicate where the function comes from. If you already have user defined functions in your TAP services, introduce alternative names for them with an appropriate prefix and gradually encourage your users to use the prefixed names.Original text by -- DaveMorris with additions and suggestions from -- MarkusDemleitner <--
|
ADQL function namesThe ADQL standard itself does not impose any restrictions on the names that may be used for user defined functions. To avoid name collisions when solving common problems, we recommend that TAP service providers adopt a policy of consistently prefixing the names of user-defined functions provided by their services with an acronym that represents the institute, department or archive where the function originates. If the Wide Field Astronomy Unit (WFAU) use the department acronym,wfau , to prefix their user defined function names:
wfau_align() wfau_convert()and the German Astrophysical Virtual Observatory (GAVO) adopt a similar naming convention: gavo_align() gavo_convert()this would help to avoid confusion when users encounter functions with similar names on different TAP services: wfau_align() gavo_align() wfau_convert() gavo_convert()Note that the prefix indicates the origin of the function implementation, not the identity of the TAP service providing the function. If another TAP service provides a function with exactly the same behaviour as one of the WFAU functions, the function name should use the wfau prefix to indicate this.
wfau_align()By ensuring that different implementations use different names, this scheme avoids potential conflicts when a user takes a query written for one TAP service and sends it to another TAP service. With the name prefixes, the second TAP service will reject the query if it does not provide exactly the same function as the first. Without this fail fast approach, the second query may run without raising any errors or warnings, but due to differences in the algorithm used, the second query may produce subtly different results which could go undetected. On the other hand, if the second TAP service does implement the same function, with exactly the same behaviour, then selecting this function using the name prefix gives the user a level of confidence that a query would produce equivalent results when run on different TAP services. IVO standard functionsTheivo prefix is reserved for defining functions that are specified in IVOA recommendations or endorsed notes.
If one of the GAVO functions is adopted as part of an IVOA standard, then we could use the ivo prefix to indicate that it is an IVOA standard function.
ivo_align()For backwards compatibility, a TAP services could provide the same function using different names: gavo_align() -- original GAVO version ivo_align() -- IVOA standard versionThe same TAP service could also provide the WFAU implementation of the same function: gavo_align() -- original GAVO version wfau_align() -- alternative WFAU version ivo_align() -- IVOA standard versionIt is the responsibility of the IVOA working groups to ensure that the total set of ivo endorsed functions remains sensible.
In order to be accepted as an ivo function, a function MUST be defined in a format suitable for TAPRegExt and ideally have reference implementations for one or more of the major RDMS platforms.
Note that in general a TAP service is not required to implement these functions. However, if they do implement functions with these names, then their implementation MUST be consistent with the behaviour defined in the specification.
An example for a Recommendation that defines ivo functions is RegTAP, which defines the following functions:
Prefix registryThe following table acts as an informal registry of function prefix names.
| ||||||||||||||||||
Added: | ||||||||||||||||||
> > |
| |||||||||||||||||
If you would like to to participate, please add your prefix to the table.
Next stepsIf you are adding new user defined functions to your TAP services, consider adding a prefix to the function name to indicate where the function comes from. If you already have user defined functions in your TAP services, introduce alternative names for them with an appropriate prefix and gradually encourage your users to use the prefixed names.Original text by -- DaveMorris with additions and suggestions from -- MarkusDemleitner <--
|
ADQL function names | |||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
The ADQL standard itself does not impose any restrictions on the names that may be used for user defined functions. | |||||||||||||
Changed: | |||||||||||||
< < | To avoid name collisions when solving common problems, we recommend that TAP service providers adopt a policy of | ||||||||||||
> > | To avoid name collisions when solving common problems, we recommend that TAP service providers adopt a policy of consistently prefixing the names of user-defined functions provided by their services with an acronym that represents the institute, department or archive where the function originates. | ||||||||||||
Deleted: | |||||||||||||
< < | consistently prefixing the names of user-defined functions provided by their services with an acronym that represents the institute, department or archive where the function originates. | ||||||||||||
If the Wide Field Astronomy Unit (WFAU) use the department acronym, wfau , to prefix their user defined function names:
wfau_align() wfau_convert()and the German Astrophysical Virtual Observatory (GAVO) adopt a similar naming convention: gavo_align() gavo_convert()this would help to avoid confusion when users encounter functions with similar names on different TAP services: wfau_align() gavo_align() wfau_convert() gavo_convert() | |||||||||||||
Changed: | |||||||||||||
< < | Note that the prefix indicates the origin of the function implementation, not the identity of the TAP service providing the function. | ||||||||||||
> > | Note that the prefix indicates the origin of the function implementation, not the identity of the TAP service providing the function. If another TAP service provides a function with exactly the same behaviour as one of the WFAU functions, the function name should use the wfau prefix to indicate this. | ||||||||||||
Deleted: | |||||||||||||
< < | If another TAP service provides a function with exactly the same behaviour as one of the WFAU functions, the function name should use the wfau prefix to indicate this. | ||||||||||||
wfau_align() | |||||||||||||
Changed: | |||||||||||||
< < | By ensuring that different implementations use different names, this scheme avoids potential | ||||||||||||
> > | By ensuring that different implementations use different names, this scheme avoids potential conflicts when a user takes a query written for one TAP service and sends it to another TAP service. With the name prefixes, the second TAP service will reject the query if it does not provide exactly the same function as the first. | ||||||||||||
Deleted: | |||||||||||||
< < | conflicts when a user takes a query written for one TAP service and sends it to another TAP service. With the name prefixes, the second TAP service will reject the query if it does not provide exactly the same function as the first. | ||||||||||||
Changed: | |||||||||||||
< < | Without this fail fast approach, the second query may run without raising any errors or warnings, | ||||||||||||
> > | Without this fail fast approach, the second query may run without raising any errors or warnings, but due to differences in the algorithm used, the second query may produce subtly different results which could go undetected. | ||||||||||||
Deleted: | |||||||||||||
< < | but due to differences in the algorithm used, the second query may produce subtly different results which could go undetected. | ||||||||||||
Changed: | |||||||||||||
< < | On the other hand, if the second TAP service does implement the same function, with exactly the | ||||||||||||
> > | On the other hand, if the second TAP service does implement the same function, with exactly the same behaviour, then selecting this function using the name prefix gives the user a level of confidence that a query would produce equivalent results when run on different TAP services. | ||||||||||||
Deleted: | |||||||||||||
< < | same behaviour, then selecting this function using the name prefix gives the user a level of confidence that a query would produce equivalent results when run on different TAP services. | ||||||||||||
IVO standard functions | |||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
The ivo prefix is reserved for defining functions that are specified in IVOA recommendations or endorsed notes.
If one of the GAVO functions is adopted as part of an IVOA standard, then we could use the ivo prefix to indicate that it is an IVOA standard function.
ivo_align()For backwards compatibility, a TAP services could provide the same function using different names: gavo_align() -- original GAVO version ivo_align() -- IVOA standard versionThe same TAP service could also provide the WFAU implementation of the same function: gavo_align() -- original GAVO version wfau_align() -- alternative WFAU version ivo_align() -- IVOA standard version | |||||||||||||
Changed: | |||||||||||||
< < | It is the responsibility of the IVOA working groups to ensure that the total set of | ||||||||||||
> > | It is the responsibility of the IVOA working groups to ensure that the total set of ivo endorsed functions remains sensible. | ||||||||||||
Deleted: | |||||||||||||
< < | ivo endorsed functions remains sensible. | ||||||||||||
Changed: | |||||||||||||
< < | In order to be accepted as an ivo function, a function MUST be defined in a format | ||||||||||||
> > | In order to be accepted as an ivo function, a function MUST be defined in a format suitable for TAPRegExt and ideally have reference implementations for one or more of the major RDMS platforms. | ||||||||||||
Deleted: | |||||||||||||
< < | suitable for TAPRegExt and ideally have reference implementations for one or more of the major RDMS platforms. | ||||||||||||
Changed: | |||||||||||||
< < | Note that in general a TAP service is not required to implement these functions. | ||||||||||||
> > | Note that in general a TAP service is not required to implement these functions. However, if they do implement functions with these names, then their implementation MUST be consistent with the behaviour defined in the specification. | ||||||||||||
Deleted: | |||||||||||||
< < | However, if they do implement functions with these names, then their implementation MUST be consistent with the behaviour defined in the specification. | ||||||||||||
Changed: | |||||||||||||
< < | An example for a Recommendation that defines ivo functions is RegTAP, which defines | ||||||||||||
> > | An example for a Recommendation that defines ivo functions is RegTAP, which defines the following functions: | ||||||||||||
Deleted: | |||||||||||||
< < | the following functions: | ||||||||||||
| |||||||||||||
Changed: | |||||||||||||
< < |
| ||||||||||||
> > |
| ||||||||||||
Prefix registry | |||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
The following table acts as an informal registry of function prefix names. | |||||||||||||
Changed: | |||||||||||||
< < |
| ||||||||||||
> > |
| ||||||||||||
Added: | |||||||||||||
> > |
| ||||||||||||
If you would like to to participate, please add your prefix to the table.
Next steps | |||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
If you are adding new user defined functions to your TAP services, consider adding a prefix to the function name to indicate where the function comes from. | |||||||||||||
Changed: | |||||||||||||
< < | If you already have user define functions in your TAP services, introduce alternative names for them with an appropriate prefix and gradually encourage your users to use the prefixed names. | ||||||||||||
> > | If you already have user defined functions in your TAP services, introduce alternative names for them with an appropriate prefix and gradually encourage your users to use the prefixed names. | ||||||||||||
Changed: | |||||||||||||
< < | |||||||||||||
> > | |||||||||||||
Original text by -- DaveMorris with additions and suggestions from -- MarkusDemleitner | |||||||||||||
Deleted: | |||||||||||||
< < | |||||||||||||
<--
|
ADQL function names | |||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
The ADQL standard itself does not impose any restrictions on the names that may be used for user defined functions.
To avoid name collisions when solving common problems, we recommend that TAP service providers adopt a policy of
consistently prefixing the names of user-defined functions provided by their services with an acronym that represents
the institute, department or archive where the function originates.
If the Wide Field Astronomy Unit (WFAU) use the department acronym, wfau , to prefix their user defined function names:
wfau_align() wfau_convert()and the German Astrophysical Virtual Observatory (GAVO) adopt a similar naming convention: gavo_align() gavo_convert()this would help to avoid confusion when users encounter functions with similar names on different TAP services: wfau_align() gavo_align() wfau_convert() gavo_convert()Note that the prefix indicates the origin of the function implementation, not the identity of the TAP service providing the function. If another TAP service provides a function with exactly the same behaviour as one of the WFAU functions, the function name should use the wfau prefix to indicate this.
wfau_align()By ensuring that different implementations use different names, this scheme avoids potential conflicts when a user takes a query written for one TAP service and sends it to another TAP service. With the name prefixes, the second TAP service will reject the query if it does not provide exactly the same function as the first. Without this fail fast approach, the second query may run without raising any errors or warnings, but due to differences in the algorithm used, the second query may produce subtly different results which could go undetected. On the other hand, if the second TAP service does implement the same function, with exactly the same behaviour, then selecting this function using the name prefix gives the user a level of confidence that a query would produce equivalent results when run on different TAP services. IVO standard functions | |||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
The ivo prefix is reserved for defining functions that are specified in IVOA recommendations or endorsed notes.
If one of the GAVO functions is adopted as part of an IVOA standard, then we could use the ivo prefix to indicate that it is an IVOA standard function.
ivo_align()For backwards compatibility, a TAP services could provide the same function using different names: gavo_align() -- original GAVO version ivo_align() -- IVOA standard versionThe same TAP service could also provide the WFAU implementation of the same function: gavo_align() -- original GAVO version wfau_align() -- alternative WFAU version ivo_align() -- IVOA standard versionIt is the responsibility of the IVOA working groups to ensure that the total set of ivo endorsed functions remains sensible.
In order to be accepted as an ivo function, a function MUST be defined in a format
suitable for TAPRegExt and ideally
have reference implementations for one or more of the major RDMS platforms.
Note that in general a TAP service is not required to implement these functions.
However, if they do implement functions with these names, then their implementation
MUST be consistent with the behaviour defined in the specification.
An example for a Recommendation that defines ivo functions is RegTAP, which defines
the following functions:
| |||||||||||||
Changed: | |||||||||||||
< < | Known prefixes | ||||||||||||
> > | Prefix registry | ||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
The following table acts as an informal registry of function prefix names.
Next steps | |||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
If you are adding new user defined functions to your TAP services, consider adding a prefix to the function name to indicate where the function comes from.
If you already have user define functions in your TAP services, introduce alternative names for them with an appropriate prefix and gradually encourage your users to use the prefixed names.
Original text by -- DaveMorris with additions and suggestions from -- MarkusDemleitner <--
|
ADQL function namesThe ADQL standard itself does not impose any restrictions on the names that may be used for user defined functions. | |||||||||||||
Changed: | |||||||||||||
< < | To avoid name collisions when solving common problems, we should prefix user defined functions with an acronym that represents the institute, department or archive where the function originates. | ||||||||||||
> > | To avoid name collisions when solving common problems, we recommend that TAP service providers adopt a policy of | ||||||||||||
Added: | |||||||||||||
> > | consistently prefixing the names of user-defined functions provided by their services with an acronym that represents the institute, department or archive where the function originates. | ||||||||||||
Changed: | |||||||||||||
< < | If the Wide Field Astronomy Unit (WFAU) prefix user defined functions with wfau : | ||||||||||||
> > | If the Wide Field Astronomy Unit (WFAU) use the department acronym, wfau , to prefix their user defined function names: | ||||||||||||
wfau_align() wfau_convert() | |||||||||||||
Changed: | |||||||||||||
< < | If the German Astrophysical Virtual Observatory (GAVO) adopted a similar naming convention: | ||||||||||||
> > | and the German Astrophysical Virtual Observatory (GAVO) adopt a similar naming convention: | ||||||||||||
gavo_align() gavo_convert() | |||||||||||||
Changed: | |||||||||||||
< < | This would enable the VO to support different implementations of similar functions without conflicts: | ||||||||||||
> > | this would help to avoid confusion when users encounter functions with similar names on different TAP services: | ||||||||||||
Added: | |||||||||||||
> > | |||||||||||||
wfau_align() gavo_align() wfau_convert() gavo_convert()Note that the prefix indicates the origin of the function implementation, not the identity of the TAP service providing the function. | |||||||||||||
Changed: | |||||||||||||
< < | If another TAP service uses one of the WFAU function implementations, the function name should keep the wfau prefix to indicate the origin of the implementation. | ||||||||||||
> > | If another TAP service provides a function with exactly the same behaviour as one of the WFAU functions, the function name should use the wfau prefix to indicate this. | ||||||||||||
wfau_align() | |||||||||||||
Added: | |||||||||||||
> > | By ensuring that different implementations use different names, this scheme avoids potential
conflicts when a user takes a query written for one TAP service and sends it to another TAP service.
With the name prefixes, the second TAP service will reject the query if it does not provide exactly
the same function as the first.
Without this fail fast approach, the second query may run without raising any errors or warnings,
but due to differences in the algorithm used, the second query may produce subtly different
results which could go undetected.
On the other hand, if the second TAP service does implement the same function, with exactly the
same behaviour, then selecting this function using the name prefix gives the user a level of
confidence that a query would produce equivalent results when run on different TAP services.
IVO standard functionsTheivo prefix is reserved for defining functions that are specified in IVOA recommendations or endorsed notes. | ||||||||||||
If one of the GAVO functions is adopted as part of an IVOA standard, then we could use the ivo prefix to indicate that it is an IVOA standard function.
ivo_align()For backwards compatibility, a TAP services could provide the same function using different names: gavo_align() -- original GAVO version ivo_align() -- IVOA standard version | |||||||||||||
Changed: | |||||||||||||
< < | The same TAP service could also provide the WFAU implementation of the align() function: | ||||||||||||
> > | The same TAP service could also provide the WFAU implementation of the same function: | ||||||||||||
gavo_align() -- original GAVO version wfau_align() -- alternative WFAU version ivo_align() -- IVOA standard version | |||||||||||||
Added: | |||||||||||||
> > | It is the responsibility of the IVOA working groups to ensure that the total set of
ivo endorsed functions remains sensible.
In order to be accepted as an ivo function, a function MUST be defined in a format
suitable for TAPRegExt and ideally
have reference implementations for one or more of the major RDMS platforms.
Note that in general a TAP service is not required to implement these functions.
However, if they do implement functions with these names, then their implementation
MUST be consistent with the behaviour defined in the specification.
An example for a Recommendation that defines ivo functions is RegTAP, which defines
the following functions:
Known prefixes | ||||||||||||
The following table acts as an informal registry of function prefix names.
| |||||||||||||
Added: | |||||||||||||
> > | Next steps | ||||||||||||
If you are adding new user defined functions to your TAP services, consider adding a prefix to the function name to indicate where the function comes from. If you already have user define functions in your TAP services, introduce alternative names for them with an appropriate prefix and gradually encourage your users to use the prefixed names. | |||||||||||||
Changed: | |||||||||||||
< < | |||||||||||||
> > | |||||||||||||
Added: | |||||||||||||
> > | Original text by -- DaveMorris with additions and suggestions from -- MarkusDemleitner | ||||||||||||
<--
|
ADQL function namesThe ADQL standard itself does not impose any restrictions on the names that may be used for user defined functions. To avoid name collisions when solving common problems, we should prefix user defined functions with an acronym that represents the institute, department or archive where the function originates. If the Wide Field Astronomy Unit (WFAU) prefix user defined functions withwfau :
wfau_align() wfau_convert()If the German Astrophysical Virtual Observatory (GAVO) adopted a similar naming convention: gavo_align() gavo_convert()This would enable the VO to support different implementations of similar functions without conflicts: wfau_align() gavo_align() wfau_convert() gavo_convert()Note that the prefix indicates the origin of the function implementation, not the identity of the TAP service providing the function. If another TAP service uses one of the WFAU function implementations, the function name should keep the wfau prefix to indicate the origin of the implementation.
wfau_align()If one of the GAVO functions is adopted as part of an IVOA standard, then we could use the ivo prefix to indicate that it is an IVOA standard function.
ivo_align()For backwards compatibility, a TAP services could provide the same function using different names: gavo_align() -- original GAVO version ivo_align() -- IVOA standard versionThe same TAP service could also provide the WFAU implementation of the align() function: gavo_align() -- original GAVO version wfau_align() -- alternative WFAU version ivo_align() -- IVOA standard versionThe following table acts as an informal registry of function prefix names.
<--
|