[ https://issues.apache.org/jira/browse/DDLUTILS-251?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Stefan Huber updated DDLUTILS-251: ---------------------------------- Description: If you add a column to an existing primary key, database updates fails with NullPointerException: java.lang.NullPointerException at org.apache.ddlutils.alteration.AddPrimaryKeyChange.apply(AddPrimaryKeyChange.java) at org.apache.ddlutils.platform.SqlBuilder.processChange(SqlBuilder.java) at org.apache.ddlutils.platform.mssql.MSSqlBuilder.processTableStructureChanges(MSSqlBuilder.java) at org.apache.ddlutils.platform.SqlBuilder.processTableStructureChanges(SqlBuilder.java) at org.apache.ddlutils.platform.SqlBuilder.processTableStructureChanges(SqlBuilder.java) at org.apache.ddlutils.platform.SqlBuilder.processChanges(SqlBuilder.java) at org.apache.ddlutils.platform.mssql.MSSqlBuilder.processChanges(MSSqlBuilder.java) at org.apache.ddlutils.platform.SqlBuilder.alterDatabase(SqlBuilder.java) Orignial table definition: <table name="DISPLAYNAMES"> <column name="CLASSNAME" primaryKey="true" required="true" type="VARCHAR" size="200" autoIncrement="false"/> <column name="FIRMWAREID" primaryKey="true" required="true" type="INTEGER" size="10" autoIncrement="false"/> <column name="LANGUAGE" primaryKey="true" required="true" type="CHAR" size="5" autoIncrement="false"/> <column name="DISPLAYNAME" primaryKey="false" required="true" type="VARCHAR" size="200" autoIncrement="false"/> </table> New table definition with additional primary key column INSTANCENR: <table name="DISPLAYNAMES"> <column name="CLASSNAME" primaryKey="true" required="true" type="VARCHAR" size="200" autoIncrement="false"/> <column name="FIRMWAREID" primaryKey="true" required="true" type="INTEGER" size="10" autoIncrement="false"/> <column name="LANGUAGE" primaryKey="true" required="true" type="CHAR" size="5" autoIncrement="false"/> <column name="INSTANCENR" primaryKey="true" required="true" type="INTEGER" size="10" autoIncrement="false" default="-1"/> <column name="DISPLAYNAME" primaryKey="false" required="true" type="VARCHAR" size="1000" autoIncrement="false"/> </table> It's a problem similar to bug DDLUTILS-159 (already resolved for Oracle, SAP DB and MySQL) was: Primary key changes don't work with SQLServer database. It's the same problem described in DDLUTILS-159 and already resolved for Oracle, SAP DB and MySQL. > primary key column change causes exception (#2) > ----------------------------------------------- > > Key: DDLUTILS-251 > URL: https://issues.apache.org/jira/browse/DDLUTILS-251 > Project: DdlUtils > Issue Type: Bug > Components: Core - SqlServer > Affects Versions: 1.0 > Environment: Windows XP > Reporter: Stefan Huber > Assignee: Thomas Dudziak > > If you add a column to an existing primary key, database updates fails with > NullPointerException: > java.lang.NullPointerException > at > org.apache.ddlutils.alteration.AddPrimaryKeyChange.apply(AddPrimaryKeyChange.java) > at > org.apache.ddlutils.platform.SqlBuilder.processChange(SqlBuilder.java) > at > org.apache.ddlutils.platform.mssql.MSSqlBuilder.processTableStructureChanges(MSSqlBuilder.java) > at > org.apache.ddlutils.platform.SqlBuilder.processTableStructureChanges(SqlBuilder.java) > at > org.apache.ddlutils.platform.SqlBuilder.processTableStructureChanges(SqlBuilder.java) > at > org.apache.ddlutils.platform.SqlBuilder.processChanges(SqlBuilder.java) > at > org.apache.ddlutils.platform.mssql.MSSqlBuilder.processChanges(MSSqlBuilder.java) > at > org.apache.ddlutils.platform.SqlBuilder.alterDatabase(SqlBuilder.java) > Orignial table definition: > <table name="DISPLAYNAMES"> > <column name="CLASSNAME" primaryKey="true" required="true" > type="VARCHAR" size="200" > autoIncrement="false"/> > <column name="FIRMWAREID" primaryKey="true" required="true" > type="INTEGER" size="10" > autoIncrement="false"/> > <column name="LANGUAGE" primaryKey="true" required="true" type="CHAR" > size="5" > autoIncrement="false"/> > <column name="DISPLAYNAME" primaryKey="false" required="true" > type="VARCHAR" size="200" > autoIncrement="false"/> > </table> > New table definition with additional primary key column INSTANCENR: > <table name="DISPLAYNAMES"> > <column name="CLASSNAME" primaryKey="true" required="true" > type="VARCHAR" size="200" > autoIncrement="false"/> > <column name="FIRMWAREID" primaryKey="true" required="true" > type="INTEGER" size="10" > autoIncrement="false"/> > <column name="LANGUAGE" primaryKey="true" required="true" type="CHAR" > size="5" > autoIncrement="false"/> > <column name="INSTANCENR" primaryKey="true" required="true" > type="INTEGER" size="10" > autoIncrement="false" default="-1"/> > <column name="DISPLAYNAME" primaryKey="false" required="true" > type="VARCHAR" size="1000" > autoIncrement="false"/> > </table> > It's a problem similar to bug DDLUTILS-159 (already resolved for Oracle, SAP > DB and MySQL) -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.