Integer with range limitations handled incorrectly on Oracle

Description

When I create a table using an integer as datatpye and specifying a precision fails on Oracle.

<createTable tableName="TEST_TABLE">
<column name="TEST_TABLE_PK" type="INTEGER(9)" autoIncrement="true">
<constraints primaryKey="true" primaryKeyName="PK_TEST_TABLE"/>
</column>
</createTable>

Works fine on MySql database but gives problems for oracle.
I thought of using a numeric(9,0) or a decimal(9,0) but there is no support for auto-increment on MySql for those datatypes..

On oracle it generates the following sql:

CREATE TABLE TEST_TABLE (
TEST_TABLE_PK INTEGER(9) NOT NULL,
CONSTRAINT PK_TEST_TABLE PRIMARY KEY (TEST_TABLE_PK)
)

When executed on Oracle I get the following error:

ORA-00907: missing right parenthesis
SQLState: 42000
ErrorCode: 907

Can you update liquibase to remove any precision on an INTEGER when running on Oracle so the statement that would be generated is:

CREATE TABLE TEST_TABLE (
TEST_TABLE_PK INTEGER NOT NULL,
CONSTRAINT PK_TEST_TABLE PRIMARY KEY (TEST_TABLE_PK)
)

Alternatively maybe translate an INTEGER(9) into a Oracle NUMERIC(9,0) which would result in:

CREATE TABLE TEST_TABLE (
TEST_TABLE_PK NUMERIC(9,0) NOT NULL,
CONSTRAINT PK_TEST_TABLE PRIMARY KEY (TEST_TABLE_PK)
)

Environment

Version used is 2.0-rc2-SNAPSHOT

Reporter

Pas Filip

Components

Fix versions

Affects versions

Priority

Minor
Configure