[
https://issues.apache.org/jira/browse/DERBY-4479?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12828585#action_12828585
]
Knut Anders Hatlen commented on DERBY-4479:
-------------------------------------------
One alternative approach is to stop caching DDL statements that cannot
reasonably be expected to be re-executed. The CREATE TABLE statement, for
example, cannot be successfully re-executed until the table has been dropped or
renamed, in which case the cached statement will have been invalidated anyway.
So in effect it just takes up space in the statement cache for no added benefit.
But the patch looks like an improvement, so +1 from me too.
> after rename table a to b then create table a statement execute cause null
> point exception
> ------------------------------------------------------------------------------------------
>
> Key: DERBY-4479
> URL: https://issues.apache.org/jira/browse/DERBY-4479
> Project: Derby
> Issue Type: Bug
> Components: SQL
> Affects Versions: 10.0.2.1, 10.1.1.0, 10.2.2.0, 10.3.3.0, 10.4.2.0,
> 10.5.3.0, 10.6.0.0
> Environment: Windows XP SP2
> java version "1.5.0_16"
> Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_16-b02)
> Java HotSpot(TM) Client VM (build 1.5.0_16-b02, mixed mode, sharing)
> Reporter: dragon lee
> Assignee: Bryan Pendleton
> Priority: Minor
> Attachments: patch.diff
>
>
> step 1 : create original table
> CREATE TABLE BPEL_ARCHIVE (
> EVENT_TIME CHAR(17) NOT NULL,
> BUSINESS_ID VARCHAR(100) NOT NULL,
> EVENT_TYPE INT,
> EVENT_CONTENT BLOB,
> PRIMARY KEY ( EVENT_TIME )
> )
> step 2 : rename original table to backup table
> RENAME TABLE BPEL_ARCHIVE TO
> BPEL_ARCHIVE_200912171148_200912171148
> step 3 : create original table
> cause error...
> java.sql.SQLException: Java exception: ': java.lang.NullPointerException'.
> at
> org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.newEmbedSQLException(Unknown Source)
> at org.apache.derby.impl.jdbc.Util.javaException(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.EmbedStatement.executeStatement(Unknown
> Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown
> Source)
> at
> world.dragon.service.bpel.event.derby.DerbyArchiveEndpoint.switchTargetTable(DerbyArchiveEndpoint.java:295)
> ...................................
> Caused by: java.lang.NullPointerException
> at
> org.apache.derby.impl.sql.execute.CreateIndexConstantAction.executeConstantAction(Unknown
> Source)
> at
> org.apache.derby.impl.sql.execute.CreateConstraintConstantAction.executeConstantAction(Unknown
> Source)
> at
> org.apache.derby.impl.sql.execute.CreateTableConstantAction.executeConstantAction(Unknown
> Source)
> at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
> at
> org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown
> Source)
> ... 28 more
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.