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 "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2009/12/17 12:50:18 UTC

[jira] Updated: (DERBY-4479) after rename table a to b then create table a statement execute cause null point exception

     [ https://issues.apache.org/jira/browse/DERBY-4479?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Knut Anders Hatlen updated DERBY-4479:
--------------------------------------

           Component/s:     (was: JDBC)
                        SQL
      Issue & fix info: [Repro attached]
     Affects Version/s: 10.6.0.0
                        10.0.2.1
                        10.1.1.0
                        10.2.2.0
                        10.3.3.0
                        10.4.2.0
    Bug behavior facts:   (was: [Deviation from standard])

Here's a simplified version of the repro:

ij> create table a (x int not null primary key);
0 rows inserted/updated/deleted
ij> rename table a to b;
0 rows inserted/updated/deleted
ij> create table a (x int not null primary key);
ERROR XJ001: Java exception: ': java.lang.NullPointerException'.

Note that the two CREATE TABLE statements must be identical. Even a simple whitespace change makes the second CREATE TABLE succeed:

ij> create table a (x int not null primary key);
0 rows inserted/updated/deleted
ij> rename table a to b;
0 rows inserted/updated/deleted
ij> create table a (  x int not null primary key);
0 rows inserted/updated/deleted

This may indicate that the CREATE TABLE statement is not properly invalidated in the statement cache when RENAME TABLE is performed.

> 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
>            Priority: Minor
>
> 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.