[
https://issues.apache.org/jira/browse/DERBY-4772?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12927355#action_12927355
]
Knut Anders Hatlen commented on DERBY-4772:
-------------------------------------------
Apart from the potentially odd formatting in ij with the maximum length (would
that be much different with 128 characters, though?), I don't see any negative
sides with allowing the maximum length. But, of course, if a field is known
never to be longer than one character (or some specific number of characters),
there wouldn't be any point in increasing the limit.
> Data truncation error with XPLAIN-functionality enabled
> -------------------------------------------------------
>
> Key: DERBY-4772
> URL: https://issues.apache.org/jira/browse/DERBY-4772
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.6.2.1, 10.7.1.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Attachments: derby-4772-1a-increase_max_len.diff
>
>
> When running a modified version of lang.OrderByAndSortAvoidance I get the
> following error:
> java.sql.SQLDataException: A truncation error was encountered trying to
> shrink CHAR 'Thread[DRDAConnThread_3,5,derby.daemons]' to length 32.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:79)
> at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:256)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:391)
> at
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
> at
> org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2269)
> at
> org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
> at
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1321)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1673)
> at
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:303)
> at
> org.apache.derby.impl.sql.execute.xplain.XPLAINSystemTableVisitor.addStmtDescriptorsToSystemCatalog(XPLAINSystemTableVisitor.java:390)
> at
> org.apache.derby.impl.sql.execute.xplain.XPLAINSystemTableVisitor.doXPLAIN(XPLAINSystemTableVisitor.java:317)
> at
> org.apache.derby.impl.sql.execute.NoPutResultSetImpl.close(NoPutResultSetImpl.java:179)
> at
> org.apache.derby.impl.sql.execute.SortResultSet.close(SortResultSet.java:467)
> at
> org.apache.derby.impl.jdbc.EmbedResultSet.close(EmbedResultSet.java:575)
> at
> org.apache.derby.impl.drda.DRDAResultSet.close(DRDAResultSet.java:338)
> at
> org.apache.derby.impl.drda.DRDAStatement.rsClose(DRDAStatement.java:995)
> at
> org.apache.derby.impl.drda.DRDAConnThread.doneData(DRDAConnThread.java:7446)
> at
> org.apache.derby.impl.drda.DRDAConnThread.writeFDODTA(DRDAConnThread.java:7026)
> at
> org.apache.derby.impl.drda.DRDAConnThread.writeQRYDTA(DRDAConnThread.java:6910)
> at
> org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:870)
> at
> org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:294)
> Caused by: java.sql.SQLException: A truncation error was encountered trying
> to shrink CHAR 'Thread[DRDAConnThread_3,5,derby.daemons]' to length 32.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory40.java:119)
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:70)
> ... 20 more
> Caused by: ERROR 22001: A truncation error was encountered trying to shrink
> CHAR 'Thread[DRDAConnThread_3,5,derby.daemons]' to length 32.
> at
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:343)
> at
> org.apache.derby.iapi.types.SQLChar.hasNonBlankChars(SQLChar.java:1767)
> at org.apache.derby.iapi.types.SQLChar.normalize(SQLChar.java:1743)
> at org.apache.derby.iapi.types.SQLChar.normalize(SQLChar.java:1695)
> at
> org.apache.derby.iapi.types.DataTypeDescriptor.normalize(DataTypeDescriptor.java:648)
> at
> org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeColumn(NormalizeResultSet.java:329)
> at
> org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(NormalizeResultSet.java:373)
> at
> org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(NormalizeResultSet.java:188)
> at
> org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127)
> at
> org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:504)
> at
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436)
> at
> org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)
> at
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1232)
> ... 14 more
> I suspect the error can be triggered easily in client/server, but for
> convenience I'll attach the patch for the test where I see the issue.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.