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

Rick Hillegas updated DERBY-6672:
---------------------------------

    Attachment: derby-6672-01-ab-addTests.diff

Attaching derby-6672-01-ab-addTests.diff. This patch adds some tests.

I would now like to understand why this functionality was disabled in the first 
place.


Touches the following files:

-------------

M       
java/engine/org/apache/derby/iapi/sql/dictionary/ConstraintDescriptor.java

Enable this functionality.

-------------

M       
java/testing/org/apache/derbyTesting/functionTests/tests/lang/AlterTableTest.java

Remove test case which explicitly verifies that you can't rename a referenced 
table.

-------------

M       
java/testing/org/apache/derbyTesting/functionTests/tests/lang/RenameTableTest.java

Add some tests for the new functionality, including tests for deferred foreign 
keys.


> Allow Derby to rename tables referenced by foreign keys
> -------------------------------------------------------
>
>                 Key: DERBY-6672
>                 URL: https://issues.apache.org/jira/browse/DERBY-6672
>             Project: Derby
>          Issue Type: Improvement
>          Components: SQL
>    Affects Versions: 10.10.2.0
>            Reporter: Glen Mazza
>         Attachments: derby-6672-01-aa-allowRenameWithConstraints.diff, 
> derby-6672-01-ab-addTests.diff, docpatch2.patch
>
>
> Hi, I'm on the Apache Roller team and we use database migration scripts to 
> update databases between Roller releases.  (We have a common template 
> (http://svn.apache.org/viewvc/roller/trunk/app/src/main/resources/sql/500-to-510-migration.vm?view=co)
>   that is run through Velocity to create specific scripts for the several 
> databases that we support.)  One handicap with Derby that we're not seeing 
> with other databases is its inability to rename tables that have FK's on 
> them.  Renaming one of our tables returns this error from Derby:
> rename table website to weblog;
> Error: Operation 'RENAME' cannot be performed on object 'SQL140718163851800' 
> because CONSTRAINT 'WP_WEBSITEID_FK' is dependent on that object.
> SQLState:  X0Y25
> ErrorCode: 30000
> Error: Operation 'RENAME' cannot be performed on object 'SQL140718163851800' 
> because CONSTRAINT 'WE_WEBSITEID_FK' is dependent on that object.
> SQLState:  X0Y25
> ErrorCode: 99999
> Error: Operation 'RENAME' cannot be performed on object 'SQL140718163851800' 
> because CONSTRAINT 'WC_WEBSITEID_FK' is dependent on that object.
> SQLState:  X0Y25
> ErrorCode: 99999
> Error: Operation 'RENAME' cannot be performed on object 'SQL140718163851800' 
> because CONSTRAINT 'FO_WEBSITEID_FK' is dependent on that object.
> SQLState:  X0Y25
> ErrorCode: 99999
> Error: Operation 'RENAME' cannot be performed on object 'SQL140718163851800' 
> because CONSTRAINT 'MF_WEBSITEID_FK' is dependent on that object.
> SQLState:  X0Y25
> ErrorCode: 99999
> Error: Operation 'RENAME' cannot be performed on object 'SQL140718163851800' 
> because CONSTRAINT 'NF_WEBSITEID_FK' is dependent on that object.
> SQLState:  X0Y25
> ErrorCode: 99999
> Error: Operation 'RENAME' cannot be performed on object 'SQL140718163851800' 
> because CONSTRAINT 'AP_WEBSITEID_FK' is dependent on that object.
> SQLState:  X0Y25
> ErrorCode: 99999
> This results in the migration scripts needing to be messy, first dropping all 
> constraints before recreating them, for the one RDBMS that requires it.  It 
> would be great if a future release of Derby could be coded to support table 
> renames regardless of the constraints defined on it.  Thanks!



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Reply via email to