H2 Oracle Compatibility for RENAME COLUMN Statement

I am using Oracle for production and H2 as my in-memory benchmarks database. I am having Oracle compatibility issues for the "rename column" statement.

Specifically, the Oracle statement:

change the table "SOME_TABLE" rename the column "COLUMN_A" to "COLUMN_B";

I am using Spring and Liquibase to set up a test environment and believe I have used Oracle compatibility mode correctly, but this statement is rejected by H2 like this:

Caused by: org.h2.jdbc.JdbcSQLException: Syntax error in SQL statement

"ALTER TABLE ""SOME_TABLE"" RENAME COLUMN[*] ""COLUMN_A"" TO ""COLUMN_B"" "; expected "TO"; SQL statement:
alter table "SOME_TABLE" rename column "COLUMN_A" to "COLUMN_B" [42001-174]
    at org.h2.message.DbException.getJdbcSQLException(DbException.java:332)
    at org.h2.message.DbException.getSyntaxError(DbException.java:197)
    at org.h2.command.Parser.getSyntaxError(Parser.java:504)
    at org.h2.command.Parser.read(Parser.java:2867)
    at org.h2.command.Parser.parseAlterTable(Parser.java:4971)
    at org.h2.command.Parser.parseAlter(Parser.java:4412)
    at org.h2.command.Parser.parsePrepared(Parser.java:316)
    at org.h2.command.Parser.parse(Parser.java:289)
    at org.h2.command.Parser.parse(Parser.java:265)
    at org.h2.command.Parser.prepareCommand(Parser.java:226)
    at org.h2.engine.Session.prepareLocal(Session.java:437)
    at org.h2.engine.Session.prepareCommand(Session.java:380)
    at org.h2.jdbc.JdbcConnection.prepareCommand(JdbcConnection.java:1138)
    at org.h2.jdbc.JdbcStatement.executeInternal(JdbcStatement.java:168)
    at org.h2.jdbc.JdbcStatement.execute(JdbcStatement.java:156)
    at   liquibase.executor.jvm.JdbcExecutor$ExecuteStatementCallback.doInStatement(JdbcExecutor.java:294)

      

I find researching that this compatibility level cannot currently be implemented by H2. Are there any extensions I can write, or any other actions I can take to rename the column in both Oracle and H2.

Thank! Steve Nester

+3


source to share





All Articles