[teiid-issues] [JBoss JIRA] (TEIID-4703) The Oracle translator did not limit the number of values in "IN" clause, which were required by Oracle database.
Steven Hawkins (JIRA)
issues at jboss.org
Sat Jan 21 08:48:00 EST 2017
[ https://issues.jboss.org/browse/TEIID-4703?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13351912#comment-13351912 ]
Steven Hawkins commented on TEIID-4703:
---------------------------------------
Ideally you could provide something that is sanitized. Starting with a representative user query and the translator configuration from the VDB would be a good start. For whole logs if it's not appropriate to post here, you can reach out through jboss.org - https://developer.jboss.org/people/shawkins
> The Oracle translator did not limit the number of values in "IN" clause, which were required by Oracle database.
> ----------------------------------------------------------------------------------------------------------------
>
> Key: TEIID-4703
> URL: https://issues.jboss.org/browse/TEIID-4703
> Project: Teiid
> Issue Type: Bug
> Affects Versions: 8.13.4
> Reporter: SHI HONG CHIN
> Assignee: Steven Hawkins
>
> Database: Oracle + Firebird + Microsoft SQL Server.
> Oracle limit the maximum number of values in "IN" clause to 1000.
> In teiid, I am using the built-in Oracle translator.
> When running some SQL queries, Oracle database reported an error "No more data to read from socket". I had set the log level of Teiid to "ALL". According to the WildFly log files, Teiid executed a query with more than 10000 values in the "IN" clause.
> I tried to copy the whole SQL from WildFly log file into Oracle SQL Developer and execute it, the same error occurred. Then, I tried to edit the query by delete many values from the "IN" clause and then run the query again, and the query success.
> For teiid, as a workaround, I overrided the oracle translator and set the property of "MaxInCriteriaSize" to 50. After that, all SQL queries run success without any issue.
> I suggest that, by default, the built-in Oracle translator limit the number of values in "IN" clause to maximum 1000 values, and this behavior can be changed through properties.
--
This message was sent by Atlassian JIRA
(v7.2.3#72005)
More information about the teiid-issues
mailing list