[ 
https://issues.apache.org/jira/browse/DERBY-4426?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12783076#action_12783076
 ] 

Knut Anders Hatlen commented on DERBY-4426:
-------------------------------------------

The patch and the release note look good to me. (But perhaps change "toes to 
the SQL standard" to "follows the SQL standard"?)

According to the test coverage reports, 
SingleChildResultSetNode.replaceDefaults() is never called by the existing 
tests. I haven't checked if any of your tests exercise that code path, but 
assuming they don't, do you know of a way to devise a test for it to verify 
that the changes are correct?

> With generated columns,  INSERT with DEFAULT inside a VALUES clause inside a 
> UNION fails.
> -----------------------------------------------------------------------------------------
>
>                 Key: DERBY-4426
>                 URL: https://issues.apache.org/jira/browse/DERBY-4426
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.5.1.1, 10.5.2.0, 10.5.3.0
>            Reporter: Dag H. Wanvik
>            Assignee: Dag H. Wanvik
>            Priority: Minor
>         Attachments: derby-4426.diff, derby-4426.stat, releaseNote.html
>
>
> Repro on trunk:
>  create table mytab (i int generated always as (j*2), j int);
> insert into mytab values (default,1) union values (default,2);
> ERROR XJ001: Java exception: 'ASSERT FAILED col[0] is null: 
> org.apache.derby.shared.common.sanity.AssertFailure'.
> java.sql.SQLException: Java exception: 'ASSERT FAILED col[0] is null: 
> org.apache.derby.shared.common.sanity.AssertFailure'.
>       at 
> org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLExceptionFactory40.java:95)
>       at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:142)
>       at org.apache.derby.impl.jdbc.Util.javaException(Util.java:299)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:403)
>       at 
> org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:346)
>       at 
> org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2204)
>       at 
> org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
>       at 
> org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1323)
>       at 
> org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:625)
>       at 
> org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:555)
>       at org.apache.derby.impl.tools.ij.ij.executeImmediate(ij.java:329)
>       at org.apache.derby.impl.tools.ij.utilMain.doCatch(utilMain.java:521)
>       at 
> org.apache.derby.impl.tools.ij.utilMain.runScriptGuts(utilMain.java:363)
>       at org.apache.derby.impl.tools.ij.utilMain.go(utilMain.java:261)
>       at org.apache.derby.impl.tools.ij.Main.go(Main.java:229)
>       at org.apache.derby.impl.tools.ij.Main.mainCore(Main.java:184)
>       at org.apache.derby.impl.tools.ij.Main.main(Main.java:75)
>       at org.apache.derby.tools.ij.main(ij.java:59)
> Caused by: java.sql.SQLException: Java exception: 'ASSERT FAILED col[0] is 
> null: org.apache.derby.shared.common.sanity.AssertFailure'.
>       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)
>       ... 17 more
> Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED 
> col[0] is null
>       at 
> org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
>       at 
> org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
>       at 
> org.apache.derby.impl.store.access.sort.MergeSort.checkColumnTypes(MergeSort.java:474)
>       at 
> org.apache.derby.impl.store.access.sort.MergeInserter.insert(MergeInserter.java:98)
>       at 
> org.apache.derby.impl.sql.execute.SortResultSet.loadSorter(SortResultSet.java:326)
>       at 
> org.apache.derby.impl.sql.execute.SortResultSet.openCore(SortResultSet.java:270)
>       at 
> org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:415)
>       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:1235)

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to