[
https://issues.jboss.org/browse/TEIID-5216?page=com.atlassian.jira.plugin...
]
Pushkar Kamra commented on TEIID-5216:
--------------------------------------
Hello Steven,
For the Employee table -
<EntityType Name="Employee">
<Key>
<PropertyRef Name="EmployeeID"/>
</Key>
<Property
xmlns:p5="http://schemas.microsoft.com/ado/2009/02/edm/annotation"
Name="EmployeeID" Type="Edm.Int32" Nullable="false"
p5:StoreGeneratedPattern="Identity"/>
<Property Name="LastName" Type="Edm.String"
Nullable="false" MaxLength="20"/>
<Property Name="FirstName" Type="Edm.String"
Nullable="false" MaxLength="10"/>
<Property Name="Title" Type="Edm.String"
MaxLength="30"/>
<Property Name="TitleOfCourtesy" Type="Edm.String"
MaxLength="25"/>
<Property Name="BirthDate" Type="Edm.DateTimeOffset"/>
<Property Name="HireDate" Type="Edm.DateTimeOffset"/>
<Property Name="Address" Type="Edm.String"
MaxLength="60"/>
<Property Name="City" Type="Edm.String"
MaxLength="15"/>
<Property Name="Region" Type="Edm.String"
MaxLength="15"/>
<Property Name="PostalCode" Type="Edm.String"
MaxLength="10"/>
<Property Name="Country" Type="Edm.String"
MaxLength="15"/>
<Property Name="HomePhone" Type="Edm.String"
MaxLength="24"/>
<Property Name="Extension" Type="Edm.String"
MaxLength="4"/>
<Property Name="Photo" Type="Edm.Binary"
MaxLength="max"/>
<Property Name="Notes" Type="Edm.String"
MaxLength="max"/>
<Property Name="ReportsTo" Type="Edm.Int32"/>
<Property Name="PhotoPath" Type="Edm.String"
MaxLength="255"/>
<NavigationProperty Name="Employees1"
Type="Collection(NorthwindModel.Employee)" Partner="Employee1"/>
<NavigationProperty Name="Employee1" Type="NorthwindModel.Employee"
Partner="Employees1">
<ReferentialConstraint Property="ReportsTo"
ReferencedProperty="EmployeeID"/>
</NavigationProperty>
<NavigationProperty Name="Orders"
Type="Collection(NorthwindModel.Order)" Partner="Employee"/>
<NavigationProperty Name="Territories"
Type="Collection(NorthwindModel.Territory)" Partner="Employees"/>
</EntityType>
Also, For other types like Boolean , String , Int etc. there is no substing being used for
removing the suffix Edm.
JBOSS - Teiid 9.2.1 unable to return DateTimeOffset ODatatype values
--------------------------------------------------------------------
Key: TEIID-5216
URL:
https://issues.jboss.org/browse/TEIID-5216
Project: Teiid
Issue Type: Bug
Components: OData
Affects Versions: 9.2.1
Environment: All
Reporter: Pushkar Kamra
Assignee: Steven Hawkins
Fix For: 10.1
Attachments: screenshot-1.png
During the time of requesting ODatatype - DateTimeOffset from the from the following
service -
http://services.odata.org/V4/Northwind/Northwind.svc/
Query - Select * from Employees.
Using the above query it is unable to return DateTimeOffset values for it and returns
the
following error -
java.lang.IllegalArgumentException: No enum constant
org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind.TimeOffset
at java.lang.Enum.valueOf(Enum.java:238)
at
org.apache.olingo.commons.api.edm.EdmPrimitiveTypeKind.valueOf(EdmPrimitiveTypeKind.java:24)
at
org.teiid.olingo.common.ODataTypeManager.parseLiteral(ODataTypeManager.java:332)
at
org.teiid.olingo.common.ODataTypeManager.convertToTeiidRuntimeType(ODataTypeManager.java:184)
at
org.teiid.translator.odata4.BaseQueryExecution.buildRow(BaseQueryExecution.java:244)
at
org.teiid.translator.odata4.ODataQueryExecution.next(ODataQueryExecution.java:122)
at
org.teiid.dqp.internal.datamgr.ConnectorWorkItem.handleBatch(ConnectorWorkItem.java:435)
at
org.teiid.dqp.internal.datamgr.ConnectorWorkItem.more(ConnectorWorkItem.java:238)
at sun.reflect.GeneratedMethodAccessor480.invoke(Unknown Source)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at
org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:220)
at com.sun.proxy.$Proxy398.more(Unknown Source)
at
org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:309)
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:112)
at
org.teiid.dqp.internal.process.DataTierTupleSource$1.call(DataTierTupleSource.java:108)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at org.teiid.dqp.internal.process.FutureWork.run(FutureWork.java:65)
at
org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
at
org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
From the initial level analysis and observation is has been observed teiid class -
ODataTypeManager in that parselitreals method where ODatatype.Substring(4) is done which
is causing the issue which is changing DateTimeOffset to TimeOffset and when it tries to
find the Enum constant from the EdmPrimitiveTypeKind list it is unable find the changed
name and this seems to be causing the issue in accessing the DateTimeOffset type datas
from the containing tables.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)