6 Replies Latest reply on Apr 14, 2013 8:52 PM by kchen007

    Teiid 8.3 metadata getPrimaryKeys problem

    kchen007

      We have one dynamic vdb that will fail to getPrimaryKeys(vdbName, modelName, tableName) for 2 tables. The exception is :

      Caused by: java.lang.IllegalArgumentException: fromKey > toKey

           at java.util.TreeMap$NavigableSubMap.<init>(TreeMap.java:1240)

           at java.util.TreeMap$AscendingSubMap.<init>(TreeMap.java:1677)

           at java.util.TreeMap.subMap(TreeMap.java:862)

           at org.teiid.dqp.internal.process.RecordTable.processQuery(RecordTable.java:189)

           at org.teiid.dqp.internal.process.SchemaChildRecordTable$1.getChildIterator(SchemaRecordTable.java:81)

           at org.teiid.dqp.internal.process.SchemaChildRecordTable$1.getChildIterator(SchemaRecordTable.java:77)

           at org.teiid.dqp.internal.process.RecordTable$ExpandingSimpleIterator.next(RecordTable.java:111)

           at org.teiid.dqp.internal.process.RecordTable$ExpandingSimpleIterator.next(RecordTable.java:107)

       

       

      the fromKey value is "EZ", the toKey value is "E[". But the TreeMap is created with case insensitive string comparator, so it will compare "ez" and "e[" instead, since '[' has a lower value than 'z' in ASCII table, the TreeMap will throw the above exception.

       

      The same vdb and code works fine with Teiid 8.1.  It is very important for us.

       

      thanks

      Kevin