ORACLE: Check for existing tables is case sensitive

Description

We use custom databaseChangeLogTableName(s) which are specified as a lower case string. This worked fine with Liquibase 2.0.3, but after upgrading to Liquibase 3.0.2 fails for ORACLE.
I debugged the issue and found that the TableSnapshotGenerator.snapshotObject does not handle the case insensitivity of ORACLEs table names and therefore fails to detect the already existing table. This leads to the following exception:

liquibase.exception.DatabaseException: Error executing SQL CREATE TABLE MYSCHEMA.myprefix_changelog ( [ ...] ): ORA-00955: name is already used by an existing object
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:56)
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:98)
at liquibase.executor.jvm.JdbcExecutor.execute(JdbcExecutor.java:64)
at liquibase.database.AbstractJdbcDatabase.checkDatabaseChangeLogTable(AbstractJdbcDatabase.java:694)
at liquibase.Liquibase.checkDatabaseChangeLogTable(Liquibase.java:602)
at liquibase.Liquibase.update(Liquibase.java:130)

Might this be an issue for other use cases, too?

Environment

Oracle 11g

Reporter

Thomas Weinlein

Components

Fix versions

Affects versions

Priority

Major
Configure