- priority: 5 --> 2
- assigned_to: nobody --> farrukh_najmi
The registry will throw an exception if the first item in an SQL select FROM line is not RegistryObject (or subtype). For example:
SELECT ro.*
FROM RegistryObject ro, AffectedObject ao, AuditableEvent ae
...
will run. While:
SELECT ro.*
FROM AffectedObject ao, RegistryObject ro, AuditableEvent ae
...
will not.
A helpful error message is needed in the second case. Currently, a simple NullPointerException is thrown.
From Farrukh's email:
"Order of table references matters in a critical way. The first table ref
is special. It MUST be RegistryObject or a sub-type of RegistryObject
as defined by RIM. The first table determines the primary table and the
type of objects that will be matches and returned. The remaining tables
may be tables related to non-RegistryObject sub-types (e.g. AffectedObject).
"Our code should handle the illegal vase of non-RegistryObject sub-types
(e.g. AffectedObject) more gracefully and report it as a helpful error
message."