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 "Suran Jayathilaka (JIRA)" <ji...@apache.org> on 2009/03/30 19:30:50 UTC
[jira] Commented: (DERBY-1062) Change the internal implemetation of
SYSCS_INPLACE_COMPRESS_TABLE to share existing alter table
[ https://issues.apache.org/jira/browse/DERBY-1062?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12693853#action_12693853 ]
Suran Jayathilaka commented on DERBY-1062:
------------------------------------------
When runnig the test
org.apache.derbyTesting.functionTests.tests.lang.SysDiagVTIMappingTest
in soft upgrade mode with 10.4.2.0 -> 10.5.1.0 (RC1) I came across these failures. The failures occur when the the test is run alone, as well as as part of suites.All.
29) testSpaceTable(org.apache.derbyTesting.functionTests.tests.lang.SysDiagVTIMappingTest)junit.framework.ComparisonFailure: Unexpected SQL state. expected:<42[X0]5> but was:<42[Y5]5>
at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:752)
at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:787)
at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertSQLState(BaseJDBCTestCase.java:801)
at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertStatementError(BaseJDBCTestCase.java:1050)
at org.apache.derbyTesting.functionTests.tests.lang.SysDiagVTIMappingTest.checkIllegalUses(SysDiagVTIMappingTest.java:753)
at org.apache.derbyTesting.functionTests.tests.lang.SysDiagVTIMappingTest.testSpaceTable(SysDiagVTIMappingTest.java:364)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:102)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
at junit.extensions.TestSetup.run(TestSetup.java:25)
Caused by: java.sql.SQLSyntaxErrorException: 'ALTER TABLE' cannot be performed on 'SYSCS_DIAG.SPACE_TABLE' because it does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement40.<init>(Unknown Source)
at org.apache.derby.jdbc.Driver40.newEmbedPreparedStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(Unknown Source)
at org.apache.derby.catalog.SystemProcedures.SYSCS_INPLACE_COMPRESS_TABLE(Unknown Source)
at org.apache.derby.exe.acc736ed92x0120x437exc69cx0000579eff6817.g0(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at org.apache.derby.impl.services.reflect.ReflectMethod.invoke(Unknown Source)
at org.apache.derby.impl.sql.execute.CallStatementResultSet.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedCallableStatement.executeStatement(Unknown Source)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(Unknown Source)
at org.apache.derbyTesting.junit.BaseJDBCTestCase.assertStatementError(BaseJDBCTestCase.java:1045)
... 41 more
Caused by: java.sql.SQLException: 'ALTER TABLE' cannot be performed on 'SYSCS_DIAG.SPACE_TABLE' because it does not exist.
at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransportAcrossDRDA(Unknown Source)
... 69 more
Caused by: ERROR 42Y55: 'ALTER TABLE' cannot be performed on 'SYSCS_DIAG.SPACE_TABLE' because it does not exist.
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.sql.compile.DDLStatementNode.justGetDescriptor(Unknown Source)
at org.apache.derby.impl.sql.compile.DDLStatementNode.getTableDescriptor(Unknown Source)
at org.apache.derby.impl.sql.compile.AlterTableNode.bindStatement(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepMinion(Unknown Source)
at org.apache.derby.impl.sql.GenericStatement.prepare(Unknown Source)
at org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(Unknown Source)
... 63 more
And similar failures in
testStatementDuration
testErrorLogReader
testSpaceTable.
If the message change was intentional as a fix of this issue, should a release note be made regarding it?
Thanks!
Suran
> Change the internal implemetation of SYSCS_INPLACE_COMPRESS_TABLE to share existing alter table
> -----------------------------------------------------------------------------------------------
>
> Key: DERBY-1062
> URL: https://issues.apache.org/jira/browse/DERBY-1062
> Project: Derby
> Issue Type: Improvement
> Components: Newcomer, SQL, Store
> Affects Versions: 10.1.3.1
> Reporter: Mike Matrigali
> Assignee: Mamta A. Satoor
> Priority: Minor
> Fix For: 10.5.0.0
>
> Attachments: d1062-escape.diff, d1062-escape.diff
>
>
> Change the internal implemetation of SYSCS_INPLACE_COMPRESS_TABLE to share existing alter table
> code. One suggested approach is to use the same mechanism as SYSCS_COMPRESS_TABLE. Such
> an implementation would involve:
> o change the parser for alter table to accecpt some internal only syntax for SYSCS_INPLACE_COMPRESS_TABLE
> o change the alter table constant action to get the required information for inplace compress
> o move most of the inplace compress driving code to a routine in alter table execution, following the same
> coding pattern as existing alter table compress.
> I believe doing this will have multiple benefits:
> 1) shares existing alter table code, so things like error checking, security management, ... is all done by one piece of code
> 2) by sharing the code I believe the following outstanding JIRA issues will be addressed: DERBY-719, DERBY-720 -
> 3) future changes addressing ddl like grant/revoke will automatically work.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.