[
https://issues.apache.org/jira/browse/DDLUTILS-208?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12644922#action_12644922
]
Rijk van Haaften commented on DDLUTILS-208:
-------------------------------------------
Dropping works fine indeed. My autoincrement column is also primary key. Lets
say it contains 5 items: 0,1,2,3,4 Now due to a RecreateTableChange, the
sequence and the table are dropped, then newly created and the data of the
table is restored. But the sequence is not restored. The new sequence starts at
0 (again). Now creation of a new row fails because primary key 0 already
exists. The sequence needs to be restored to 4 (last_value = 4) so creation of
new rows goes on from 5 up.
> PostgreSQL: RecreateTableChange loses autoIncrement
> ---------------------------------------------------
>
> Key: DDLUTILS-208
> URL: https://issues.apache.org/jira/browse/DDLUTILS-208
> Project: DdlUtils
> Issue Type: Bug
> Components: Core (No specific database), Core - PostgreSql
> Environment: PostgreSQL 8.3.1
> Reporter: Rijk van Haaften
> Assignee: Thomas Dudziak
> Fix For: 1.1
>
>
> PlatformImplBase.processChange(RecreateTableChange) does not migrate
> (autoincrement) sequences, but does call SqlBuilder.dropTables.
> PostgreSqlBuilder.dropTables explicitly drops the sequences:
> for (int idx = 0; idx < columns.length; idx++)
> {
> dropAutoIncrementSequence(table, columns[idx]);
> }
> (On the other hand, HsqlDbBuilder does not drop the sequence for instance.)
> The sequence is created again, but that causes 'duplicate' errors on the
> column using the sequence.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.