You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Rick Hillegas (JIRA)" <ji...@apache.org> on 2008/10/29 18:28:44 UTC

[jira] Commented: (DERBY-3922) Enable the adding of generated columns via ALTER TABLE

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

Rick Hillegas commented on DERBY-3922:
--------------------------------------

Tests ran cleanly for me except for a failure in org.apache.derbyTesting.functionTests.tests.multi.StressMultiTest. I re-ran the test standalone and the error did not recur. I believe the error is a heisenbug in that test unrelated to this change:

There was 1 failure:
1) testStressMulti(org.apache.derbyTesting.functionTests.tests.multi.StressMultiTest)junit.framework.AssertionFailedError: Caused by: 
java.sql.SQLException: Java exception: 'ASSERT FAILED transaction table has null entry: org.apache.derby.shared.common.sanity.AssertFailure'.
	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:45)
	at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Util.java:87)
	at org.apache.derby.impl.jdbc.Util.javaException(Util.java:244)
	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:2201)
	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:81)
	at org.apache.derby.impl.jdbc.EmbedResultSet.closeOnTransactionError(EmbedResultSet.java:4321)
	at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:463)
	at org.apache.derby.impl.jdbc.EmbedResultSet.next(EmbedResultSet.java:367)
	at org.apache.derbyTesting.junit.JDBC.assertDrainResults(JDBC.java:627)
	at org.apache.derbyTesting.junit.JDBC.assertDrainResults(JDBC.java:604)
	at org.apache.derbyTesting.functionTests.tests.multi.StressMultiTest$StressMultiRunnable.select(StressMultiTest.java:536)
	at org.apache.derbyTesting.functionTests.tests.multi.StressMultiTest$StressMultiRunnable.run(StressMultiTest.java:409)
	at java.lang.Thread.run(Thread.java:613)
Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED transaction table has null entry
	at org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:120)
	at org.apache.derby.impl.store.raw.xact.TransactionTable.getTransactionInfo(TransactionTable.java:968)
	at org.apache.derby.impl.store.raw.xact.XactFactory.getTransactionInfo(XactFactory.java:991)
	at org.apache.derby.impl.store.raw.RawStore.getTransactionInfo(RawStore.java:1158)
	at org.apache.derby.impl.store.access.RAMAccessManager.getTransactionInfo(RAMAccessManager.java:912)
	at org.apache.derby.impl.services.locks.Deadlock.buildException(Deadlock.java:266)
	at org.apache.derby.impl.services.locks.ConcurrentLockSet.lockObject(ConcurrentLockSet.java:613)
	at org.apache.derby.impl.services.locks.ConcurrentLockSet.zeroDurationLockObject(ConcurrentLockSet.java:855)
	at org.apache.derby.impl.services.locks.AbstractPool.zeroDurationlockObject(AbstractPool.java:297)
	at org.apache.derby.impl.store.raw.xact.RowLocking2nohold.lockRecordForRead(RowLocking2nohold.java:89)
	at org.apache.derby.impl.store.access.conglomerate.OpenConglomerate.lockPositionForRead(OpenConglomerate.java:436)
	at org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java:683)
	at org.apache.derby.impl.store.access.heap.HeapScan.fetchNextGroup(HeapScan.java:324)
	at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.reloadArray(BulkTableScanResultSet.java:327)
	at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.getNextRowCore(BulkTableScanResultSet.java:282)
	at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(BasicNoPutResultSetImpl.java:460)
	at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(EmbedResultSet.java:423)
	... 6 more

	at org.apache.derbyTesting.functionTests.tests.multi.StressMultiTest.handleException(StressMultiTest.java:331)
	at org.apache.derbyTesting.functionTests.tests.multi.StressMultiTest.access$200(StressMultiTest.java:70)
	at org.apache.derbyTesting.functionTests.tests.multi.StressMultiTest$StressMultiRunnable.run(StressMultiTest.java:425)
	at java.lang.Thread.run(Thread.java:613)

FAILURES!!!
Tests run: 8875,  Failures: 1,  Errors: 0


> Enable the adding of generated columns via ALTER TABLE
> ------------------------------------------------------
>
>                 Key: DERBY-3922
>                 URL: https://issues.apache.org/jira/browse/DERBY-3922
>             Project: Derby
>          Issue Type: Task
>          Components: SQL
>    Affects Versions: 10.5.0.0
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>         Attachments: derby-3922-01-aa-repopulate.diff
>
>
> The initial grammar patch for generated columns did not include ALTER TABLE support. This support cannot be added until we check in the UPDATE logic for generated columns. Adding a generated column to an existing table is supposed to calculate the generated column's values for all rows currently in the table.

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