Status: To Do
Fix Version/s: None
Team:Data Access and Database
The current implementation of Qserv would always return the empty result set for queries restricted by object identifiers not found in the director index of a catalog. For example, if Object is the director table of the catalog LSST, and if the object identifier column's name is objectId then the query will return the empty result set for the above stated condition:
Qserv doesn't differentiate between the following scenarios:
- The object does exist in the table, while the director index is empty or incomplete (doesn't have the corresponding entry for the object identifier).
- The object doesn't exist in the table, while there is an entry for the non-existing identifier in the director index.
- Or, the object doesn't exist in both the table and in the index.
Scenarios 1 and 2 would be typical for incorrectly ingested catalogs. Scenario 1 is possible for catalogs in which the director index is yet to be constructed by the Qserv Ingest system (index construction may get delay for various operational reasons).
- Reinforce the implementation of the Qserv query Analyzer/Optimizer to turn queries restricted by the object identifiers into the shared scan queries.
- Consider a possibility of reporting this condition to a user as a warning via a mechanism similar to MySQL's SHOW WARNINGS (see https://dev.mysql.com/doc/refman/8.0/en/show-warnings.html).