[JBoss JIRA] (TEIID-5589) NavigationProperty not working with Teiid odata, results in TEIID16053
by Christoph John (Jira)
[ https://issues.jboss.org/browse/TEIID-5589?page=com.atlassian.jira.plugin... ]
Christoph John commented on TEIID-5589:
---------------------------------------
If I change the primary key in Account from uuidUser to idProfile. Things are working.
For completeness, the error message
<error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
<code>TEIID31172</code>
<message>
TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
</message>
</error>
and the $metadata.xml
<edmx:Edmx xmlns:edmx="http://docs.oasis-open.org/odata/ns/edmx" Version="4.0">
<edmx:Reference Uri="http://localhost:8080/odata4/static/org.teiid.v1.xml">
<edmx:Include Namespace="org.teiid.v1" Alias="teiid"/>
</edmx:Reference>
<edmx:Reference Uri="http://localhost:8080/odata4/static/org.apache.olingo.v1.xml">
<edmx:Include Namespace="org.apache.olingo.v1" Alias="olingo-extensions"/>
</edmx:Reference>
<edmx:DataServices>
<Schema xmlns="http://docs.oasis-open.org/odata/ns/edm" Namespace="test.1.test" Alias="test">
<EntityType Name="Account">
<Key>
<PropertyRef Name="uuidUser"/>
</Key>
<Property Name="idProfile" Type="Edm.Int64" Nullable="false">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`idProfile`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="uuidUser" Type="Edm.String" Nullable="false" MaxLength="36">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`uuidUser`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<NavigationProperty Name="Avatar_fkAvatarToAccount" Type="test.Avatar" Nullable="false"/>
<NavigationProperty Name="BodyWeight_fkBodyWeightToAccount" Type="Collection(test.BodyWeight)"/>
<NavigationProperty Name="ConfigOptions_fkConfigOptionsToAccount" Type="test.ConfigOptions" Nullable="false"/>
<NavigationProperty Name="Profile_fkProfileToAccount" Type="test.Profile" Nullable="false"/>
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Account`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="test.teiid_rel:ALLOW_MATVIEW_MANAGEMENT">
<String>false</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_ONERROR_ACTION">
<String>WAIT</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_SHARE_SCOPE">
<String>NONE</String>
</Annotation>
</EntityType>
<EntityType Name="Avatar">
<Key>
<PropertyRef Name="fkProfile"/>
</Key>
<Property Name="fkProfile" Type="Edm.Int64" Nullable="false">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`fkProfile`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="AvatarImg" Type="Edm.Stream">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`AvatarImg`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<NavigationProperty Name="fkAvatarToAccount" Type="test.Account" Nullable="false">
<ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
</NavigationProperty>
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Avatar`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="test.teiid_rel:ALLOW_MATVIEW_MANAGEMENT">
<String>false</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_ONERROR_ACTION">
<String>WAIT</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_SHARE_SCOPE">
<String>NONE</String>
</Annotation>
</EntityType>
<EntityType Name="BodyWeight">
<Key>
<PropertyRef Name="idBodyWeight"/>
</Key>
<Property Name="idBodyWeight" Type="Edm.Int64" Nullable="false">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`idBodyWeight`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="fkProfile" Type="Edm.Int64" Nullable="false">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`fkProfile`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="WeightMeasurementDateTime" Type="Edm.DateTimeOffset" Nullable="false" Precision="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`WeightMeasurementDateTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Weight" Type="Edm.Single" Nullable="false">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Weight`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<NavigationProperty Name="fkBodyWeightToAccount" Type="test.Account" Nullable="false">
<ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
</NavigationProperty>
<Annotation Term="teiid.NAMEINSOURCE">
<String>`BodyWeight`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="test.teiid_rel:ALLOW_MATVIEW_MANAGEMENT">
<String>false</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_ONERROR_ACTION">
<String>WAIT</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_SHARE_SCOPE">
<String>NONE</String>
</Annotation>
</EntityType>
<EntityType Name="ConfigOptions">
<Key>
<PropertyRef Name="fkProfile"/>
</Key>
<Property Name="fkProfile" Type="Edm.Int64" Nullable="false">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`fkProfile`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="MUnitWeight" Type="Edm.String" DefaultValue="kg" MaxLength="2">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`MUnitWeight`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="MUnitLength" Type="Edm.String" DefaultValue="cm" MaxLength="2">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`MUnitLength`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="MUnitEnergy" Type="Edm.String" DefaultValue="kcal" MaxLength="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`MUnitEnergy`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="MUnitLiquids" Type="Edm.String" DefaultValue="ml" MaxLength="2">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`MUnitLiquids`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="MUnitTime" Type="Edm.String" DefaultValue="24h" MaxLength="3">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`MUnitTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="EnableDrinkReminder" Type="Edm.Boolean" DefaultValue="0">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`EnableDrinkReminder`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="PreferredContryCodeForSearch" Type="Edm.String" DefaultValue="de" MaxLength="2">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`PreferredContryCodeForSearch`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="EnableInternationalSearch" Type="Edm.Boolean" DefaultValue="1">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`EnableInternationalSearch`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="NumberOfActiveMeals" Type="Edm.Int64" DefaultValue="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`NumberOfActiveMeals`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal1Name" Type="Edm.String" MaxLength="45">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal1Name`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal1StartTime" Type="Edm.TimeOfDay" DefaultValue="00:00:00" Precision="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal1StartTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal2Name" Type="Edm.String" MaxLength="45">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal2Name`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal2StartTime" Type="Edm.TimeOfDay" DefaultValue="00:00:00" Precision="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal2StartTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal3Name" Type="Edm.String" MaxLength="45">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal3Name`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal3StartTime" Type="Edm.TimeOfDay" DefaultValue="00:00:00" Precision="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal3StartTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal4Name" Type="Edm.String" MaxLength="45">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal4Name`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal4StartTime" Type="Edm.TimeOfDay" DefaultValue="00:00:00" Precision="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal4StartTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal5Name" Type="Edm.String" MaxLength="45">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal5Name`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal5StartTime" Type="Edm.TimeOfDay" DefaultValue="00:00:00" Precision="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal5StartTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal6Name" Type="Edm.String" MaxLength="45">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal6Name`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Meal6StartTime" Type="Edm.TimeOfDay" DefaultValue="00:00:00" Precision="4">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Meal6StartTime`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<NavigationProperty Name="fkConfigOptionsToAccount" Type="test.Account" Nullable="false">
<ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
</NavigationProperty>
<Annotation Term="teiid.NAMEINSOURCE">
<String>`ConfigOptions`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="test.teiid_rel:ALLOW_MATVIEW_MANAGEMENT">
<String>false</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_ONERROR_ACTION">
<String>WAIT</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_SHARE_SCOPE">
<String>NONE</String>
</Annotation>
</EntityType>
<EntityType Name="Profile">
<Key>
<PropertyRef Name="fkProfile"/>
</Key>
<Property Name="fkProfile" Type="Edm.Int64" Nullable="false">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`fkProfile`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="BodyHeight" Type="Edm.Single" DefaultValue="0">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`BodyHeight`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="GoalWeight" Type="Edm.Single" DefaultValue="0.000">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`GoalWeight`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="Gender" Type="Edm.String" DefaultValue="m" MaxLength="1">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Gender`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="BirthDate" Type="Edm.Date" DefaultValue="1980-01-01">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`BirthDate`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<Property Name="ActivityLevel" Type="Edm.String" DefaultValue="strActive" MaxLength="17">
<Annotation Term="teiid.NAMEINSOURCE">
<String>`ActivityLevel`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="teiid.CASE_SENSITIVE">
<Bool>true</Bool>
</Annotation>
</Property>
<NavigationProperty Name="fkProfileToAccount" Type="test.Account" Nullable="false">
<ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
</NavigationProperty>
<Annotation Term="teiid.NAMEINSOURCE">
<String>`Profile`</String>
</Annotation>
<Annotation Term="teiid.UPDATABLE">
<Bool>true</Bool>
</Annotation>
<Annotation Term="test.teiid_rel:ALLOW_MATVIEW_MANAGEMENT">
<String>false</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_ONERROR_ACTION">
<String>WAIT</String>
</Annotation>
<Annotation Term="test.teiid_rel:MATVIEW_SHARE_SCOPE">
<String>NONE</String>
</Annotation>
</EntityType>
<Term Name="teiid_rel:ALLOW_MATVIEW_MANAGEMENT" Type="Edm.String" AppliesTo="EntityType EntityType EntityType EntityType EntityType"/>
<Term Name="teiid_rel:MATVIEW_ONERROR_ACTION" Type="Edm.String" AppliesTo="EntityType EntityType EntityType EntityType EntityType"/>
<Term Name="teiid_rel:MATVIEW_SHARE_SCOPE" Type="Edm.String" AppliesTo="EntityType EntityType EntityType EntityType EntityType"/>
<EntityContainer Name="test">
<EntitySet Name="Account" EntityType="test.Account">
<NavigationPropertyBinding Path="Avatar_fkAvatarToAccount" Target="Avatar"/>
<NavigationPropertyBinding Path="BodyWeight_fkBodyWeightToAccount" Target="BodyWeight"/>
<NavigationPropertyBinding Path="ConfigOptions_fkConfigOptionsToAccount" Target="ConfigOptions"/>
<NavigationPropertyBinding Path="Profile_fkProfileToAccount" Target="Profile"/>
</EntitySet>
<EntitySet Name="Avatar" EntityType="test.Avatar">
<NavigationPropertyBinding Path="fkAvatarToAccount" Target="Account"/>
</EntitySet>
<EntitySet Name="BodyWeight" EntityType="test.BodyWeight">
<NavigationPropertyBinding Path="fkBodyWeightToAccount" Target="Account"/>
</EntitySet>
<EntitySet Name="ConfigOptions" EntityType="test.ConfigOptions">
<NavigationPropertyBinding Path="fkConfigOptionsToAccount" Target="Account"/>
</EntitySet>
<EntitySet Name="Profile" EntityType="test.Profile">
<NavigationPropertyBinding Path="fkProfileToAccount" Target="Account"/>
</EntitySet>
</EntityContainer>
</Schema>
</edmx:DataServices>
</edmx:Edmx>
> NavigationProperty not working with Teiid odata, results in TEIID16053
> ------------------------------------------------------------------------
>
> Key: TEIID-5589
> URL: https://issues.jboss.org/browse/TEIID-5589
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.2.1
> Reporter: Christoph John
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: AccountRecord.xml, metadata.xml
>
>
> Teiid throws an error in case it tries to follow an odata Navigation property. I tried this by using $expand and also by directly following a path. Two examples are shown below. My $metaddata.xml file is attached, and also a single record from the Account table in which the relevant comparison seems to happen. the uuidUser property you can find here.
> I do not understand the error message. What is not clear to me is the assignment which is mentioned there g1.uuidUser = g0.fkProfile
> Just for your awareness, uuidUser and fkProfile are different columns of different types that should not be compared in anyway. Maybe this is a hint what is going wrong. I would the relevant NavigationProperty expect to be
> <NavigationProperty Name="fkProfileInProfile" Type="my_nutri_diary.Account" Nullable="false">
> <ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
> Here are two example queries which fail with the same error
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)?$expand=fkPro...
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)/fkProfileInPr...
> <error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
> <code>TEIID31172</code>
> <message>
> TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
> </message>
> </error>
> ----------------------
> There might also exist a bug in Teiid Designer, when changing the private key and reimporting the database, the source in Teiid Designer looks as expected. However, a sync of the vdb seems not to work properly. For the workaround described in this ticket, I had to create a new vdb in order to get things to work correctely.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5589) NavigationProperty not working with Teiid odata, results in TEIID16053
by Christoph John (Jira)
[ https://issues.jboss.org/browse/TEIID-5589?page=com.atlassian.jira.plugin... ]
Christoph John commented on TEIID-5589:
---------------------------------------
Hello Ramesh,
if have rebuild an example. So here this navigation path fails for example
http://localhost:8080/odata4/test/test/Profile(38)/fkProfileToAccount
CREATE FOREIGN TABLE Account (
idProfile long NOT NULL AUTO_INCREMENT OPTIONS (ANNOTATION '', NAMEINSOURCE '`idProfile`', NATIVE_TYPE 'BIGINT UNSIGNED'),
uuidUser string(36) NOT NULL OPTIONS (ANNOTATION '', NAMEINSOURCE '`uuidUser`', NATIVE_TYPE 'CHAR'),
CONSTRAINT "PRIMARY" PRIMARY KEY(uuidUser),
CONSTRAINT idProfile_UNIQUE UNIQUE(idProfile),
CONSTRAINT uuidUser_UNIQUE UNIQUE(uuidUser)
) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Account`', UPDATABLE TRUE);
CREATE FOREIGN TABLE Avatar (
fkProfile long NOT NULL OPTIONS (ANNOTATION '', NAMEINSOURCE '`fkProfile`', NATIVE_TYPE 'BIGINT UNSIGNED'),
AvatarImg blob(65535) OPTIONS (ANNOTATION '', NAMEINSOURCE '`AvatarImg`', NATIVE_TYPE 'BLOB'),
CONSTRAINT "PRIMARY" PRIMARY KEY(fkProfile),
CONSTRAINT fkProfile_UNIQUE UNIQUE(fkProfile),
CONSTRAINT fkAvatarToAccount FOREIGN KEY(fkProfile) REFERENCES Account (idProfile)
) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Avatar`', UPDATABLE TRUE);
CREATE FOREIGN TABLE BodyWeight (
idBodyWeight long NOT NULL AUTO_INCREMENT OPTIONS (ANNOTATION 'We need a surrogate key here as Teiid requires a primary key on each table. fkProfile is not unique here as we can will have multiple weight measurements per person. Moreover, combining it with WeightMeasurementDateTime makes the index to compute intensive.', NAMEINSOURCE '`idBodyWeight`', NATIVE_TYPE 'BIGINT UNSIGNED'),
fkProfile long NOT NULL OPTIONS (ANNOTATION '', NAMEINSOURCE '`fkProfile`', NATIVE_TYPE 'BIGINT UNSIGNED'),
WeightMeasurementDateTime timestamp NOT NULL OPTIONS (ANNOTATION '', NAMEINSOURCE '`WeightMeasurementDateTime`', NATIVE_TYPE 'DATETIME'),
Weight float NOT NULL OPTIONS (ANNOTATION '', NAMEINSOURCE '`Weight`', NATIVE_TYPE 'FLOAT UNSIGNED'),
CONSTRAINT "PRIMARY" PRIMARY KEY(idBodyWeight),
CONSTRAINT idBodyWeight_UNIQUE UNIQUE(idBodyWeight),
CONSTRAINT fkBodyWeightToAccount FOREIGN KEY(fkProfile) REFERENCES Account (idProfile)
) OPTIONS (ANNOTATION '', NAMEINSOURCE '`BodyWeight`', UPDATABLE TRUE);
CREATE FOREIGN TABLE ConfigOptions (
fkProfile long NOT NULL OPTIONS (ANNOTATION '', NAMEINSOURCE '`fkProfile`', NATIVE_TYPE 'BIGINT UNSIGNED'),
MUnitWeight string(2) DEFAULT 'kg' OPTIONS (ANNOTATION '', NAMEINSOURCE '`MUnitWeight`', CHAR_OCTET_LENGTH 8, NATIVE_TYPE 'ENUM'),
MUnitLength string(2) DEFAULT 'cm' OPTIONS (ANNOTATION '', NAMEINSOURCE '`MUnitLength`', CHAR_OCTET_LENGTH 8, NATIVE_TYPE 'ENUM'),
MUnitEnergy string(4) DEFAULT 'kcal' OPTIONS (ANNOTATION '', NAMEINSOURCE '`MUnitEnergy`', CHAR_OCTET_LENGTH 16, NATIVE_TYPE 'ENUM'),
MUnitLiquids string(2) DEFAULT 'ml' OPTIONS (ANNOTATION '', NAMEINSOURCE '`MUnitLiquids`', CHAR_OCTET_LENGTH 8, NATIVE_TYPE 'ENUM'),
MUnitTime string(3) DEFAULT '24h' OPTIONS (ANNOTATION '', NAMEINSOURCE '`MUnitTime`', CHAR_OCTET_LENGTH 12, NATIVE_TYPE 'ENUM'),
EnableDrinkReminder boolean DEFAULT '0' OPTIONS (ANNOTATION '', NAMEINSOURCE '`EnableDrinkReminder`', NATIVE_TYPE 'BIT'),
PreferredContryCodeForSearch string(2) DEFAULT 'de' OPTIONS (ANNOTATION '', NAMEINSOURCE '`PreferredContryCodeForSearch`', CHAR_OCTET_LENGTH 8, NATIVE_TYPE 'VARCHAR'),
EnableInternationalSearch boolean DEFAULT '1' OPTIONS (ANNOTATION '', NAMEINSOURCE '`EnableInternationalSearch`', NATIVE_TYPE 'BIT'),
NumberOfActiveMeals long DEFAULT '4' OPTIONS (ANNOTATION '', NAMEINSOURCE '`NumberOfActiveMeals`', NATIVE_TYPE 'INT UNSIGNED'),
Meal1Name string(45) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal1Name`', CHAR_OCTET_LENGTH 180, NATIVE_TYPE 'VARCHAR'),
Meal1StartTime time DEFAULT '00:00:00' OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal1StartTime`', NATIVE_TYPE 'TIME'),
Meal2Name string(45) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal2Name`', CHAR_OCTET_LENGTH 180, NATIVE_TYPE 'VARCHAR'),
Meal2StartTime time DEFAULT '00:00:00' OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal2StartTime`', NATIVE_TYPE 'TIME'),
Meal3Name string(45) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal3Name`', CHAR_OCTET_LENGTH 180, NATIVE_TYPE 'VARCHAR'),
Meal3StartTime time DEFAULT '00:00:00' OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal3StartTime`', NATIVE_TYPE 'TIME'),
Meal4Name string(45) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal4Name`', CHAR_OCTET_LENGTH 180, NATIVE_TYPE 'VARCHAR'),
Meal4StartTime time DEFAULT '00:00:00' OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal4StartTime`', NATIVE_TYPE 'TIME'),
Meal5Name string(45) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal5Name`', CHAR_OCTET_LENGTH 180, NATIVE_TYPE 'VARCHAR'),
Meal5StartTime time DEFAULT '00:00:00' OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal5StartTime`', NATIVE_TYPE 'TIME'),
Meal6Name string(45) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal6Name`', CHAR_OCTET_LENGTH 180, NATIVE_TYPE 'VARCHAR'),
Meal6StartTime time DEFAULT '00:00:00' OPTIONS (ANNOTATION '', NAMEINSOURCE '`Meal6StartTime`', NATIVE_TYPE 'TIME'),
CONSTRAINT "PRIMARY" PRIMARY KEY(fkProfile),
CONSTRAINT fkProfile_UNIQUE UNIQUE(fkProfile),
CONSTRAINT fkConfigOptionsToAccount FOREIGN KEY(fkProfile) REFERENCES Account (idProfile)
) OPTIONS (ANNOTATION '', NAMEINSOURCE '`ConfigOptions`', UPDATABLE TRUE);
CREATE FOREIGN TABLE Profile (
fkProfile long NOT NULL OPTIONS (ANNOTATION '', NAMEINSOURCE '`fkProfile`', NATIVE_TYPE 'BIGINT UNSIGNED'),
BodyHeight float DEFAULT '0' OPTIONS (ANNOTATION '', NAMEINSOURCE '`BodyHeight`', NATIVE_TYPE 'FLOAT UNSIGNED'),
GoalWeight float DEFAULT '0.000' OPTIONS (ANNOTATION '', NAMEINSOURCE '`GoalWeight`', NATIVE_TYPE 'FLOAT UNSIGNED'),
Gender string(1) DEFAULT 'm' OPTIONS (ANNOTATION '', NAMEINSOURCE '`Gender`', CHAR_OCTET_LENGTH 4, NATIVE_TYPE 'ENUM'),
BirthDate date DEFAULT '1980-01-01' OPTIONS (ANNOTATION '', NAMEINSOURCE '`BirthDate`', NATIVE_TYPE 'DATE'),
ActivityLevel string(17) DEFAULT 'strActive' OPTIONS (ANNOTATION '', NAMEINSOURCE '`ActivityLevel`', CHAR_OCTET_LENGTH 68, NATIVE_TYPE 'ENUM'),
CONSTRAINT "PRIMARY" PRIMARY KEY(fkProfile),
CONSTRAINT fkProfile_UNIQUE UNIQUE(fkProfile),
CONSTRAINT fkProfileToAccount FOREIGN KEY(fkProfile) REFERENCES Account (idProfile)
) OPTIONS (ANNOTATION '', NAMEINSOURCE '`Profile`', UPDATABLE TRUE);
> NavigationProperty not working with Teiid odata, results in TEIID16053
> ------------------------------------------------------------------------
>
> Key: TEIID-5589
> URL: https://issues.jboss.org/browse/TEIID-5589
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.2.1
> Reporter: Christoph John
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: AccountRecord.xml, metadata.xml
>
>
> Teiid throws an error in case it tries to follow an odata Navigation property. I tried this by using $expand and also by directly following a path. Two examples are shown below. My $metaddata.xml file is attached, and also a single record from the Account table in which the relevant comparison seems to happen. the uuidUser property you can find here.
> I do not understand the error message. What is not clear to me is the assignment which is mentioned there g1.uuidUser = g0.fkProfile
> Just for your awareness, uuidUser and fkProfile are different columns of different types that should not be compared in anyway. Maybe this is a hint what is going wrong. I would the relevant NavigationProperty expect to be
> <NavigationProperty Name="fkProfileInProfile" Type="my_nutri_diary.Account" Nullable="false">
> <ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
> Here are two example queries which fail with the same error
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)?$expand=fkPro...
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)/fkProfileInPr...
> <error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
> <code>TEIID31172</code>
> <message>
> TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
> </message>
> </error>
> ----------------------
> There might also exist a bug in Teiid Designer, when changing the private key and reimporting the database, the source in Teiid Designer looks as expected. However, a sync of the vdb seems not to work properly. For the workaround described in this ticket, I had to create a new vdb in order to get things to work correctely.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5589) NavigationProperty not working with Teiid odata, results in TEIID16053
by Christoph John (Jira)
[ https://issues.jboss.org/browse/TEIID-5589?page=com.atlassian.jira.plugin... ]
Christoph John commented on TEIID-5589:
---------------------------------------
Hello Ramesh,
if have changed my database in the meantime and do not have the original file anymore. I would need a while to change everything again. is the ddl the vdb file you mean?
> NavigationProperty not working with Teiid odata, results in TEIID16053
> ------------------------------------------------------------------------
>
> Key: TEIID-5589
> URL: https://issues.jboss.org/browse/TEIID-5589
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.2.1
> Reporter: Christoph John
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: AccountRecord.xml, metadata.xml
>
>
> Teiid throws an error in case it tries to follow an odata Navigation property. I tried this by using $expand and also by directly following a path. Two examples are shown below. My $metaddata.xml file is attached, and also a single record from the Account table in which the relevant comparison seems to happen. the uuidUser property you can find here.
> I do not understand the error message. What is not clear to me is the assignment which is mentioned there g1.uuidUser = g0.fkProfile
> Just for your awareness, uuidUser and fkProfile are different columns of different types that should not be compared in anyway. Maybe this is a hint what is going wrong. I would the relevant NavigationProperty expect to be
> <NavigationProperty Name="fkProfileInProfile" Type="my_nutri_diary.Account" Nullable="false">
> <ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
> Here are two example queries which fail with the same error
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)?$expand=fkPro...
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)/fkProfileInPr...
> <error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
> <code>TEIID31172</code>
> <message>
> TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
> </message>
> </error>
> ----------------------
> There might also exist a bug in Teiid Designer, when changing the private key and reimporting the database, the source in Teiid Designer looks as expected. However, a sync of the vdb seems not to work properly. For the workaround described in this ticket, I had to create a new vdb in order to get things to work correctely.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5589) NavigationProperty not working with Teiid odata, results in TEIID16053
by Ramesh Reddy (Jira)
[ https://issues.jboss.org/browse/TEIID-5589?page=com.atlassian.jira.plugin... ]
Ramesh Reddy commented on TEIID-5589:
-------------------------------------
Can you post the DDL between your Account and Profile Table? I think either the association between them is incorrect, or reverse navigation is code in the Teiid is wrong. According to the metadata, the association from Profile and Account should be on "idProfile" property, but it selected a PK property "uuidUser"
If in DDL you have like on Profile table
CONSTRAINT FOREIGN KEY fkProfileInProfile (IdProfile) References Account (IdProfile) --> then is may be wrong as Account's IdProfile is not a Primary Key
whereas if you have this on Account table
CONSTRAINT FOREIGN KEY fkProfileInProfile (IdProfile) References Profile (IdProfile)
then reverse navigation on Teiid side is the culprit IMO.
Also, "Profile_fkProfileInProfile" defined is also deriving similar navigation between two entities, that seems to be at odds with above.
> NavigationProperty not working with Teiid odata, results in TEIID16053
> ------------------------------------------------------------------------
>
> Key: TEIID-5589
> URL: https://issues.jboss.org/browse/TEIID-5589
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.2.1
> Reporter: Christoph John
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: AccountRecord.xml, metadata.xml
>
>
> Teiid throws an error in case it tries to follow an odata Navigation property. I tried this by using $expand and also by directly following a path. Two examples are shown below. My $metaddata.xml file is attached, and also a single record from the Account table in which the relevant comparison seems to happen. the uuidUser property you can find here.
> I do not understand the error message. What is not clear to me is the assignment which is mentioned there g1.uuidUser = g0.fkProfile
> Just for your awareness, uuidUser and fkProfile are different columns of different types that should not be compared in anyway. Maybe this is a hint what is going wrong. I would the relevant NavigationProperty expect to be
> <NavigationProperty Name="fkProfileInProfile" Type="my_nutri_diary.Account" Nullable="false">
> <ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
> Here are two example queries which fail with the same error
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)?$expand=fkPro...
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)/fkProfileInPr...
> <error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
> <code>TEIID31172</code>
> <message>
> TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
> </message>
> </error>
> ----------------------
> There might also exist a bug in Teiid Designer, when changing the private key and reimporting the database, the source in Teiid Designer looks as expected. However, a sync of the vdb seems not to work properly. For the workaround described in this ticket, I had to create a new vdb in order to get things to work correctely.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5584) Add/change resource limitation to be reactive to out of disk
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5584?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5584.
-----------------------------------
Resolution: Done
Added the changes along with tests for the clob and table scenarios. However we cannot yet guarantee that the current operation even with the termination of other sessions will succeed as to prevent deadlocks we can't fully stop the world when killing and retry. If that is a common occurrence, then the user can utilize the single operation or session based memory limits.
> Add/change resource limitation to be reactive to out of disk
> ------------------------------------------------------------
>
> Key: TEIID-5584
> URL: https://issues.jboss.org/browse/TEIID-5584
> Project: Teiid
> Issue Type: Quality Risk
> Components: Query Engine
> Reporter: Steven Hawkins
> Assignee: Steven Hawkins
> Priority: Major
> Fix For: 12.0
>
>
> Even with tweaks to the behavior of setting hard limits for a single buffer and all session memory consumption - they are not a great way of dealing with over consumption of resources. Heap memory usage is already pretty well subdivided based upon reserve limits, the max processing setting, max active plans, etc. It would be best to simply react to the out of disk event by victimizing the session consuming the most resources.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5563) Separate the Teiid WildFly distribution into their own repo or module
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5563?page=com.atlassian.jira.plugin... ]
Steven Hawkins resolved TEIID-5563.
-----------------------------------
Fix Version/s: 12.0
Resolution: Done
Marking the parent issue as resolved with module name changes to add consistency to the stuff under the wildfly module. Also updated the admin guide with the migration notes.
> Separate the Teiid WildFly distribution into their own repo or module
> ---------------------------------------------------------------------
>
> Key: TEIID-5563
> URL: https://issues.jboss.org/browse/TEIID-5563
> Project: Teiid
> Issue Type: Task
> Components: Build/Kits, Integration Tests
> Affects Versions: 12.x
> Reporter: Van Halbert
> Assignee: Van Halbert
> Priority: Major
> Fix For: 12.0
>
>
> With the different types of distributions now being built based on Teiid like
> * WildFly
> * Thorntail
> * SpringBoot
> * Embedded
> Having main `github.com/teiid` repo contain artifacts for WildFly distribution poses an unnecessary dependency burden on other distributions. For example, the resource adapters are mainly for use with WildFly and Thorntail V2. They can still be applicable to embedded and SpringBoot as either non-managed connection factories, or require the user to provide appropriate management / pooling. When they are pulled into environments like SpringBoot they will bring several wildfly dependencies / and JEE constructs that are unnecessary - specifically the dependencies jboss-jaxws-api (teiid-api), javax.activation (teiid-core), jboss-transaction-api (teiid-api), and jboss-connector-api (teiid-api).
> This proposal is to separate "teiid" core modules along with all translators into one repository and move all the resource adapters along with any feature-packs and module building into a sperate repository like "teiid-wildfly". With the goal of providing similar connectivity in SpringBoot using as much common logic from SpringBoot (Spring Data in particular) and even Fuse as possible.
> Basically, when finished, the core Teiid modules only provide Maven artifacts along with their clean pom.xml with for direct and maybe transitive dependencies. None of the WildFly based modules support will be here. At worst this may introduce duplicate dependencies into the WildFly environment as we will need to manage all core / translator dependencies independently from those provided by WildFly. Where possible the teiid-api / core modules will need to use the generic javax dependency - or even remove the dependency if possible.
> The "teiid-wildfly" module on the other hand, will exactly preserve what is in the current repo as far feature packs and module building and overall WildFly distribution building.
> A follow-on task we can task we can look into is, converting the main teiid then to use basepom rather than the jboss-parent pom. However, the recommendation is this should be done after, not simultaneously.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5563) Separate the Teiid WildFly distribution into their own repo or module
by Steven Hawkins (Jira)
[ https://issues.jboss.org/browse/TEIID-5563?page=com.atlassian.jira.plugin... ]
Steven Hawkins commented on TEIID-5563:
---------------------------------------
[~rhn-engineering-vhalbert] on the javax stuff - that was mostly dealt with by the changes to allow for building with java 11. Anything that was no longer part of the runtime jar is referenced via a maven dependency. The only lingering issue for me is that we consolidated on the wildfly dependencies for consistency, but should probably switch to their generic equivalents now. That's called out in the pom as a todo.
> Separate the Teiid WildFly distribution into their own repo or module
> ---------------------------------------------------------------------
>
> Key: TEIID-5563
> URL: https://issues.jboss.org/browse/TEIID-5563
> Project: Teiid
> Issue Type: Task
> Components: Build/Kits, Integration Tests
> Affects Versions: 12.x
> Reporter: Van Halbert
> Assignee: Van Halbert
> Priority: Major
>
> With the different types of distributions now being built based on Teiid like
> * WildFly
> * Thorntail
> * SpringBoot
> * Embedded
> Having main `github.com/teiid` repo contain artifacts for WildFly distribution poses an unnecessary dependency burden on other distributions. For example, the resource adapters are mainly for use with WildFly and Thorntail V2. They can still be applicable to embedded and SpringBoot as either non-managed connection factories, or require the user to provide appropriate management / pooling. When they are pulled into environments like SpringBoot they will bring several wildfly dependencies / and JEE constructs that are unnecessary - specifically the dependencies jboss-jaxws-api (teiid-api), javax.activation (teiid-core), jboss-transaction-api (teiid-api), and jboss-connector-api (teiid-api).
> This proposal is to separate "teiid" core modules along with all translators into one repository and move all the resource adapters along with any feature-packs and module building into a sperate repository like "teiid-wildfly". With the goal of providing similar connectivity in SpringBoot using as much common logic from SpringBoot (Spring Data in particular) and even Fuse as possible.
> Basically, when finished, the core Teiid modules only provide Maven artifacts along with their clean pom.xml with for direct and maybe transitive dependencies. None of the WildFly based modules support will be here. At worst this may introduce duplicate dependencies into the WildFly environment as we will need to manage all core / translator dependencies independently from those provided by WildFly. Where possible the teiid-api / core modules will need to use the generic javax dependency - or even remove the dependency if possible.
> The "teiid-wildfly" module on the other hand, will exactly preserve what is in the current repo as far feature packs and module building and overall WildFly distribution building.
> A follow-on task we can task we can look into is, converting the main teiid then to use basepom rather than the jboss-parent pom. However, the recommendation is this should be done after, not simultaneously.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5591) Update the teiid embedded examples
by Steven Hawkins (Jira)
Steven Hawkins created TEIID-5591:
-------------------------------------
Summary: Update the teiid embedded examples
Key: TEIID-5591
URL: https://issues.jboss.org/browse/TEIID-5591
Project: Teiid
Issue Type: Sub-task
Components: Embedded
Reporter: Steven Hawkins
Assignee: Steven Hawkins
Fix For: 12.0
With the maven coordinate changes the teiid embedded examples should be updated as well.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years
[JBoss JIRA] (TEIID-5589) NavigationProperty not working with Teiid odata, results in TEIID16053
by Christoph John (Jira)
[ https://issues.jboss.org/browse/TEIID-5589?page=com.atlassian.jira.plugin... ]
Christoph John updated TEIID-5589:
----------------------------------
Description:
Teiid throws an error in case it tries to follow an odata Navigation property. I tried this by using $expand and also by directly following a path. Two examples are shown below. My $metaddata.xml file is attached, and also a single record from the Account table in which the relevant comparison seems to happen. the uuidUser property you can find here.
I do not understand the error message. What is not clear to me is the assignment which is mentioned there g1.uuidUser = g0.fkProfile
Just for your awareness, uuidUser and fkProfile are different columns of different types that should not be compared in anyway. Maybe this is a hint what is going wrong. I would the relevant NavigationProperty expect to be
<NavigationProperty Name="fkProfileInProfile" Type="my_nutri_diary.Account" Nullable="false">
<ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
Here are two example queries which fail with the same error
http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)?$expand=fkPro...
http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)/fkProfileInPr...
<error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
<code>TEIID31172</code>
<message>
TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
</message>
</error>
----------------------
There might also exist a bug in Teiid Designer, when changing the private key and reimporting the database, the source in Teiid Designer looks as expected. However, a sync of the vdb seems not to work properly. For the workaround described in this ticket, I had to create a new vdb in order to get things to work correctely.
was:
Teiid throws an error in case it tries to follow an odata Navigation property. I tried this by using $expand and also by directly following a path. Two examples are shown below. My $metaddata.xml file is attached, and also a single record from the Account table in which the relevant comparison seems to happen. the uuidUser property you can find here.
I do not understand the error message. What is not clear to me is the assignment which is mentioned there g1.uuidUser = g0.fkProfile
Just for your awareness, uuidUser and fkProfile are different columns of different types that should not be compared in anyway. Maybe this is a hint what is going wrong. I would the relevant NavigationProperty expect to be
<NavigationProperty Name="fkProfileInProfile" Type="my_nutri_diary.Account" Nullable="false">
<ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
Here are two example queries which fail with the same error
http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)?$expand=fkPro...
http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)/fkProfileInPr...
<error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
<code>TEIID31172</code>
<message>
TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
</message>
</error>
----------------------------
-Update 9.1.19: I need to to add here, that there might be a second bug involved into the observation. It seems, that the error is due to type comparisons. As there was a comparison with Account.uuuiUser in the error message and as my table Account just holds a one to one mapping between uuids and integers which represent database internal IDs, I switched the primary key in the Account table from uuidUser to idProfile in hope to circumvent the bug.
So my new observation is, when I disable row constraints in which I must have a comparison against uuidUser in the form "Profile.fkProfile in (SELECT Account.idProfile FROM Account WHERE Account.uuidUser = LEFT(user(), 36))" and switch hte primary key as mention previously, than I can follow the navigation property. However, as soon as I enable row constraints again I get a similar error message as before:--
<error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
<code>TEIID31172</code>
<message>
TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
</message>
</error>
As I am not sure if the issue derives from the same place in code, I thought I should add this here.-
> NavigationProperty not working with Teiid odata, results in TEIID16053
> ------------------------------------------------------------------------
>
> Key: TEIID-5589
> URL: https://issues.jboss.org/browse/TEIID-5589
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 11.2.1
> Reporter: Christoph John
> Assignee: Steven Hawkins
> Priority: Major
> Attachments: AccountRecord.xml, metadata.xml
>
>
> Teiid throws an error in case it tries to follow an odata Navigation property. I tried this by using $expand and also by directly following a path. Two examples are shown below. My $metaddata.xml file is attached, and also a single record from the Account table in which the relevant comparison seems to happen. the uuidUser property you can find here.
> I do not understand the error message. What is not clear to me is the assignment which is mentioned there g1.uuidUser = g0.fkProfile
> Just for your awareness, uuidUser and fkProfile are different columns of different types that should not be compared in anyway. Maybe this is a hint what is going wrong. I would the relevant NavigationProperty expect to be
> <NavigationProperty Name="fkProfileInProfile" Type="my_nutri_diary.Account" Nullable="false">
> <ReferentialConstraint Property="fkProfile" ReferencedProperty="idProfile"/>
> Here are two example queries which fail with the same error
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)?$expand=fkPro...
> http://localhost:8080/odata4/vdb/my_nutri_diary/Profile(38)/fkProfileInPr...
> <error xmlns="http://docs.oasis-open.org/odata/ns/metadata">
> <code>TEIID31172</code>
> <message>
> TEIID31172 Could not resolve expressions being compared to a common type excluding character conversions: g1.uuidUser = g0.fkProfile
> </message>
> </error>
> ----------------------
> There might also exist a bug in Teiid Designer, when changing the private key and reimporting the database, the source in Teiid Designer looks as expected. However, a sync of the vdb seems not to work properly. For the workaround described in this ticket, I had to create a new vdb in order to get things to work correctely.
--
This message was sent by Atlassian Jira
(v7.12.1#712002)
6 years