Bug 896305

Summary: Maximum length of string data type is not 4000
Product: [JBoss] JBoss Data Virtualization 6 Reporter: Eiichi Nagai <enagai>
Component: TeiidAssignee: Van Halbert <vhalbert>
Status: CLOSED CURRENTRELEASE QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.0.0CC: fnguyen, hokuda, ldimaggi, soa-p-jira, vhalbert
Target Milestone: ER1Keywords: Reopened
Target Release: 6.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Known Issue
Doc Text:
Users noticed that the default MAX String size was set to 4000, but that larger values were sometimes required and worked without any trouble. The solution was to increase the default MAX String size to 16k and to allow it to be adjusted for larger sizes. JBoss Data Virtualization will try to truncate in-memory strings to the MAX size; however, it will remain as a recommended maximum rather than a strict one, enabling some simple pass-through scenarios for sources that do not compare direct string values against the maximum.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-03-10 20:42:13 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Eiichi Nagai 2013-01-17 01:18:59 UTC
Description of problem:
EDS Reference Guide is explaining that maximum length of string data type is 4000. However, teiid engine is not checking the maximum length. In teiid, the length does not have limited. 

[1]
variable length character string with a maximum length of 4000.
https://access.redhat.com/knowledge/docs/en-US/JBoss_Enterprise_Data_Services/5/html-single/Data_Services_Reference_Guide/index.html#id539903

Comment 2 belong 2013-01-18 06:01:34 UTC
Van,

Is this an error with the docs or the code? Should the teiid string datatype be restricted to a maximum length of 4000?

Also, it seems from Red Hat Customer Portal ID: 00775969 (see External Trackers) that the phrase "Note that the length cannot be explicitly set with the type literal, e.g. Varchar(100)." may need more explanation. (refer to https://access.redhat.com/knowledge/docs/en-US/JBoss_Enterprise_Data_Services/5/html-single/Data_Services_Reference_Guide/index.html#id539903)

Your help with this would be appreciated.

Cheers,
Ben

Comment 3 belong 2013-01-21 23:52:48 UTC
Eiichi,

Since this is a potential issue with the code, please report via JIRA - https://issues.jboss.org/browse/TEIID.

Regards,
Ben

Comment 4 Eiichi Nagai 2013-01-22 00:33:59 UTC
Thank you for your update.

I might not understand the procedure of the EDS issue report. 

> Since this is a potential issue with the code, please report via JIRA

Does this mean that it is issue of teiid engine? If yes, can I change "Component" in this bug into 'EDS' or create new EDS *Bugzilla*?

However, if the maximum size is limited by 4000, doesn't anything become a problem for customers? 
For example, teiid designer can treat text data as base64 type. Since base64 type is treated by string runtime type in teiid, is the size of text data also limited?

Comment 5 Van Halbert 2013-01-24 14:19:29 UTC
The reason for the 4000 limit is that the SQL limit (table definition) is (or was at the time) 4000 bytes (which may be less than 4000 characters if you are using a multi-byte character set).  As for the code reference to AnyToStringTransform.java, its one of the many classes that extend Transform and form the basis for the internal datatype transformations.   The DataTypeManager is the keeper of types and the mappings used to determine which transformer to use at runtime.

Comment 13 JBoss JIRA Server 2013-06-11 14:46:50 UTC
Steven Hawkins <shawkins> updated the status of jira TEIID-2361 to Closed

Comment 18 belong 2013-11-19 23:24:42 UTC
Fixed before GA - setting to requires_doc_text- accordingly