clustered indexes for mssql

Hello Nathan,

Using liquibase 2 successfully for some time now there are some changes in the database for which we run into a limitation of liquibase. Support for clustered indexes on MSSQL. By default MSSQL assigns the primary key as clustered when in the table create statement no cluster attributes are provided and no other index is created as clustered. However, until now liquibase doesn’t have an attribute to define the primary key or index as clustered.

Looking the properties currently in the constraint-element it should be possible to add a clustered option. The constraint element is already filled with mix functionality (foreign key and primary key properties). A clustered property should then also be added to the AddPrimaryKey and CreateIndex change. But would this be the right approach? Also some attributes may be different things on different databases, clustered on mssql is other then cluster on oracle.

Perhaps with the upcoming changes some flexibility can be added here to add database specific tags to other tags? As in

<createIndex indexName=“IDX_POST_TYPE” …>
    <mssql:properties clustered=“true” />
    <oracle:properties bitmap=“true” />

Any thoughts from your side?