[
https://issues.jboss.org/browse/TEIID-3358?page=com.atlassian.jira.plugin...
]
Steven Hawkins commented on TEIID-3358:
---------------------------------------
The short answer is yes. The long answer is that we could play with the notion of the
entity set name - such as adding both the usual namespaced entry and a uniquely/generated
name entry and switch to that entity set after resolving.
It seems simpler to just patch InternalUtil.getEntityRelId to use
entitySet.getType().getFullyQualifiedTypeName() rather than entitySet.getName()
We could also just validate at load time and require the use of the entity set extension
metadata if there is a possible conflict.
Issues with entity set names
----------------------------
Key: TEIID-3358
URL:
https://issues.jboss.org/browse/TEIID-3358
Project: Teiid
Issue Type: Bug
Components: OData
Affects Versions: 8.7
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 8.11
The entity set name used for sql generation should be the fully qualified name. If there
is for example two table with the same names in schemas visible to odata, but one of the
tables does not have a key, then an ambiguous name exception will be thrown if an odata
url is used with only the base table name.
It also appears that the URI link in the results metadata uses the non-qualified table
name, which will have issues in the scenario above.
We may also need to document or add an additional check for ambiguity as the OData4j
findEdmEntitySet logic will return the first matching entity, which is generally against
our approach to resolving.
--
This message was sent by Atlassian JIRA
(v6.3.11#6341)