Liquibase 3.2.1 is no longer compatible with Oracle 9

Description

This commit broke Oracle 9 compatibility. This version of Oracle database doesn't provide any HISTOGRAM column on ALL_TAB_COLUMNS.
Thus, I get the following exception :

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 java.sql.SQLSyntaxErrorException: ORA-00904: "HISTOGRAM" : identificateur non valide at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:440) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:396) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.T4C8Oall.processError(T4C8Oall.java:837) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:445) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:191) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:523) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.T4CStatement.doOall8(T4CStatement.java:193) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.T4CStatement.executeForDescribe(T4CStatement.java:852) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.OracleStatement.executeMaybeDescribe(OracleStatement.java:1153) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1275) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.OracleStatement.executeQuery(OracleStatement.java:1477) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at oracle.jdbc.driver.OracleStatementWrapper.executeQuery(OracleStatementWrapper.java:392) ~[ojdbc6-11.2.0.2.0.jar:11.2.0.2.0] at liquibase.snapshot.ResultSetCache$ResultSetExtractor.executeAndExtract(ResultSetCache.java:185) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.JdbcDatabaseSnapshot$CachingDatabaseMetaData$3.oracleQuery(JdbcDatabaseSnapshot.java:333) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.JdbcDatabaseSnapshot$CachingDatabaseMetaData$3.fastFetchQuery(JdbcDatabaseSnapshot.java:267) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.ResultSetCache$SingleResultSetExtractor.fastFetch(ResultSetCache.java:262) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.ResultSetCache.get(ResultSetCache.java:55) ~[liquibase-core-3.2.2.jar:na] ... 21 common frames omitted Wrapped by: liquibase.exception.DatabaseException: java.sql.SQLSyntaxErrorException: ORA-00904: "HISTOGRAM" : identificateur non valide at liquibase.snapshot.ResultSetCache.get(ResultSetCache.java:77) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.JdbcDatabaseSnapshot$CachingDatabaseMetaData.getColumns(JdbcDatabaseSnapshot.java:236) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.jvm.ColumnSnapshotGenerator.addTo(ColumnSnapshotGenerator.java:76) ~[liquibase-core-3.2.2.jar:na] ... 19 common frames omitted Wrapped by: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: java.sql.SQLSyntaxErrorException: ORA-00904: "HISTOGRAM" : identificateur non valide at liquibase.snapshot.jvm.ColumnSnapshotGenerator.addTo(ColumnSnapshotGenerator.java:83) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.jvm.JdbcSnapshotGenerator.snapshot(JdbcSnapshotGenerator.java:72) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.SnapshotGeneratorChain.snapshot(SnapshotGeneratorChain.java:50) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.DatabaseSnapshot.include(DatabaseSnapshot.java:153) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.DatabaseSnapshot.init(DatabaseSnapshot.java:56) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.DatabaseSnapshot.<init>(DatabaseSnapshot.java:33) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.JdbcDatabaseSnapshot.<init>(JdbcDatabaseSnapshot.java:22) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:126) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.SnapshotGeneratorFactory.createSnapshot(SnapshotGeneratorFactory.java:134) ~[liquibase-core-3.2.2.jar:na] at liquibase.snapshot.SnapshotGeneratorFactory.getDatabaseChangeLogTable(SnapshotGeneratorFactory.java:141) ~[liquibase-core-3.2.2.jar:na] at liquibase.changelog.StandardChangeLogHistoryService.init(StandardChangeLogHistoryService.java:81) ~[liquibase-core-3.2.2.jar:na] ... 9 common frames omitted Wrapped by: liquibase.exception.UnexpectedLiquibaseException: liquibase.exception.DatabaseException: liquibase.exception.DatabaseException: java.sql.SQLSyntaxErrorException: ORA-00904: "HISTOGRAM" : identificateur non valide at liquibase.changelog.StandardChangeLogHistoryService.init(StandardChangeLogHistoryService.java:83) ~[liquibase-core-3.2.2.jar:na] at liquibase.Liquibase.checkLiquibaseTables(Liquibase.java:716) ~[liquibase-core-3.2.2.jar:na] at liquibase.Liquibase.update(Liquibase.java:189) ~[liquibase-core-3.2.2.jar:na] at liquibase.Liquibase.update(Liquibase.java:174) ~[liquibase-core-3.2.2.jar:na] at fr.harvest.big.database.BigBaseUpgrader.runChangeLog(BigBaseUpgrader.java:192) [big-core-2015.1.062.jar:2015.1.062] at fr.harvest.big.database.BigBaseUpgrader.doVersion(BigBaseUpgrader.java:172) [big-core-2015.1.062.jar:2015.1.062] at fr.harvest.big.database.BigBaseUpgrader.doUpgrade(BigBaseUpgrader.java:135) [big-core-2015.1.062.jar:2015.1.062] at fr.harvest.big.database.BigBaseUpgrader.upgrade(BigBaseUpgrader.java:104) [big-core-2015.1.062.jar:2015.1.062] at fr.harvest.big.database.BigBaseUpgrader.upgrade(BigBaseUpgrader.java:78) [big-core-2015.1.062.jar:2015.1.062] at fr.harvest.big.admin.BaseUpgrader$UpgraderThread.run(BaseUpgrader.java:52) [big-backend-2015.1.062.jar:2015.1.062]

Is there any workaround (unfortunately, some of our clients still have Oracle 9.02 databases) ?

Environment

Oracle 9

Status

Assignee

Unassigned

Reporter

Laurent RICHARD

Labels

None

Fix versions

Affects versions

3.2.2

Priority

Major