[JBoss JIRA] (TEIIDDES-2061) char[n+] field is truncated by importer
by Debbie Steigner (JIRA)
[ https://issues.jboss.org/browse/TEIIDDES-2061?page=com.atlassian.jira.plu... ]
Debbie Steigner commented on TEIIDDES-2061:
-------------------------------------------
Pasting comments from the customer on the case regarding setting it to string:
For an experiment I changed the physical datatype to string and reconciled the view model. I then execuated a query against view model then set plan debug. the following is from the console log:
============================================================================
EXECUTING PlanSorts
AFTER:
Access(groups=[PCURAM.CONCERNROLEALTERNATEID])
TupleLimit(groups=[])
Project(groups=[PCURAM.CONCERNROLEALTERNATEID])
Source(groups=[PCURAM.CONCERNROLEALTERNATEID])
============================================================================
EXECUTING CollapseSource
AFTER:
Access(groups=[PCURAM.CONCERNROLEALTERNATEID], props={MODEL_ID=Schema name=PCURAM, nameInSource=null, uuid=mmuuid:809a2833-6057-4f6b-b676-e2be8d8ff9a0, OUTPUT_COLS=[PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEID, convert(PCURAM.CONCERNROLEALTERNATEID.ALTERNATEID, string), convert(PCURAM.CONCERNROLEALTE
RNATEID.TYPECODE, string), PCURAM.CONCERNROLEALTERNATEID.STARTDATE, PCURAM.CONCERNROLEALTERNATEID.ENDDATE, convert(PCURAM.CONCERNROLEALTERNATEID.STATUSCODE, string), PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEALTERNATEID, PCURAM.CONCERNROLEALTERNATEID.COMMENTS, PCURAM.CONCERNROLEALTERNATEID.VERSIONNO,
PCURAM.CONCERNROLEALTERNATEID.LASTWRITTEN], EST_CARDINALITY=100.0, EST_COL_STATS={PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEID=[-1.0, -1.0], convert(PCURAM.CONCERNROLEALTERNATEID.ALTERNATEID, string)=[-1.0, -1.0], convert(PCURAM.CONCERNROLEALTERNATEID.TYPECODE, string)=[-1.0, -1.0], PCURAM.CONCERNRO
LEALTERNATEID.STARTDATE=[-1.0, -1.0], ...}, ATOMIC_REQUEST=SELECT PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEID, convert(PCURAM.CONCERNROLEALTERNATEID.ALTERNATEID, string), convert(PCURAM.CONCERNROLEALTERNATEID.TYPECODE, string), PCURAM.CONCERNROLEALTERNATEID.STARTDATE, PCURAM.CONCERNROLEALTERNATEID.E
NDDATE, convert(PCURAM.CONCERNROLEALTERNATEID.STATUSCODE, string), PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEALTERNATEID, PCURAM.CONCERNROLEALTERNATEID.COMMENTS, PCURAM.CONCERNROLEALTERNATEID.VERSIONNO, PCURAM.CONCERNROLEALTERNATEID.LASTWRITTEN FROM PCURAM.CONCERNROLEALTERNATEID LIMIT 100})
============================================================================
CONVERTING PLAN TREE TO PROCESS TREE
PROCESS PLAN =
AccessNode(0) output=[PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEID, convert(PCURAM.CONCERNROLEALTERNATEID.ALTERNATEID, string), convert(PCURAM.CONCERNROLEALTERNATEID.TYPECODE, string), PCURAM.CONCERNROLEALTERNATEID.STARTDATE, PCURAM.CONCERNROLEALTERNATEID.ENDDATE, convert(PCURAM.CONCERNROLEALTERNATEI
D.STATUSCODE, string), PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEALTERNATEID, PCURAM.CONCERNROLEALTERNATEID.COMMENTS, PCURAM.CONCERNROLEALTERNATEID.VERSIONNO, PCURAM.CONCERNROLEALTERNATEID.LASTWRITTEN] SELECT g_0.CONCERNROLEID AS c_0, convert(g_0.ALTERNATEID, string) AS c_1, convert(g_0.TYPECODE, str
ing) AS c_2, g_0.STARTDATE AS c_3, g_0.ENDDATE AS c_4, convert(g_0.STATUSCODE, string) AS c_5, g_0.CONCERNROLEALTERNATEID AS c_6, g_0.COMMENTS AS c_7, g_0.VERSIONNO AS c_8, g_0.LASTWRITTEN AS c_9 FROM PCURAM.CONCERNROLEALTERNATEID AS g_0 LIMIT 100
============================================================================
----------------------------------------------------------------------------
OPTIMIZATION COMPLETE:
PROCESSOR PLAN:
AccessNode(0) output=[PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEID, convert(PCURAM.CONCERNROLEALTERNATEID.ALTERNATEID, string), convert(PCURAM.CONCERNROLEALTERNATEID.TYPECODE, string), PCURAM.CONCERNROLEALTERNATEID.STARTDATE, PCURAM.CONCERNROLEALTERNATEID.ENDDATE, convert(PCURAM.CONCERNROLEALTERNATEI
D.STATUSCODE, string), PCURAM.CONCERNROLEALTERNATEID.CONCERNROLEALTERNATEID, PCURAM.CONCERNROLEALTERNATEID.COMMENTS, PCURAM.CONCERNROLEALTERNATEID.VERSIONNO, PCURAM.CONCERNROLEALTERNATEID.LASTWRITTEN] SELECT g_0.CONCERNROLEID AS c_0, convert(g_0.ALTERNATEID, string) AS c_1, convert(g_0.TYPECODE, str
ing) AS c_2, g_0.STARTDATE AS c_3, g_0.ENDDATE AS c_4, convert(g_0.STATUSCODE, string) AS c_5, g_0.CONCERNROLEALTERNATEID AS c_6, g_0.COMMENTS AS c_7, g_0.VERSIONNO AS c_8, g_0.LASTWRITTEN AS c_9 FROM PCURAM.CONCERNROLEALTERNATEID AS g_0 LIMIT 100
============================================================================
As you can see it rewrote the char fields with convert(xx,string) so if any of these fields are indexed the index would NOT get used...
> char[n+] field is truncated by importer
> ---------------------------------------
>
> Key: TEIIDDES-2061
> URL: https://issues.jboss.org/browse/TEIIDDES-2061
> Project: Teiid Designer
> Issue Type: Bug
> Components: Import/Export
> Affects Versions: 8.3.1
> Reporter: Johnathon Lee
> Assignee: Barry LaFond
> Fix For: 8.4, 8.3.2
>
> Attachments: testErrors.vdb
>
>
> truncation of Char[>1] fields to one character.
> reproduction with simple VDB (to be attached):
> SELECT asChar,asVarChar,asInt FROM "TestErrors"."TruncateCHAR";
> the "asChar" field only returns a "C" and the asVarChar returns the complete value.
> That is the expected behavior, per the Data Virtualization Reference Manual, char datatype is a single Unicode character (java.lang.Character). However, the importer may need to check for the occurrence of char[n+] and not assume char[1].
--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira