[ 
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.

Reply via email to