RegTAP 1.0 Erratum 1: Case insensitivity in an example query against res_details
Author: Markus Demleitner
Date last changed: 2019-02-06
Date accepted: 2019-05-12
Rationale
The example query in 10.7 "Records from Registry" was written against an early draft of the
RegTAP standard, when values in rr.res_detail were case-normalized. They no longer are in
RegTAP 1.0 REC.
Therefore, the query as given in the REC-1.0 will not yield results for mixed-case authorities. It may be considered fortunate that the authorities in the examples are all mixed case, as users at least notice that the example query does not work as expected. Still, the document should give the correct query pattern.
Erratum Content
In section 10.7, “Records from Registry”, replace the current query,
SELECT ivoid FROM rr.resource
RIGHT OUTER JOIN (
SELECT 'ivo://' || detail_value || '%' AS pat FROM rr.res_detail
WHERE detail_xpath='/managedAuthority'
AND ivoid='ivo://cds.vizier/registry')
AS authpatterns
ON (resource.ivoid LIKE authpatterns.pat)
with
SELECT ivoid FROM rr.resource
RIGHT OUTER JOIN (
SELECT 'ivo://' || detail_value || '%' AS pat
FROM rr.res_detail
WHERE detail_xpath='/managedAuthority'
AND ivoid='ivo://cds.vizier/registry')
AS authpatterns
ON (1=ivo_nocasematch(resource.ivoid, authpatterns.pat))
(i.e., employ case-insensitive matching in the join condition).
Impact assessment
As no normative text is changed, implementations are not concerned. Persons trying the example queries will be spared debugging.