database-rider
database-rider copied to clipboard
isTimescaleDb check causes failures when current transaction is aborted
See #553
When we have a test designed to fail, for example a duplicate key insertion, DB Rider can no longer rollback after the test:
Caused by: org.postgresql.util.PSQLException: ERROR: current transaction is aborted, commands ignored until end of transaction block
at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2713)
at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2401)
at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:368)
at org.postgresql.jdbc.PgStatement.executeInternal(PgStatement.java:498)
at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:415)
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:335)
at org.postgresql.jdbc.PgStatement.executeCachedSql(PgStatement.java:321)
at org.postgresql.jdbc.PgStatement.executeWithFlags(PgStatement.java:297)
at org.postgresql.jdbc.PgStatement.executeQuery(PgStatement.java:246)
at org.postgresql.jdbc.PgDatabaseMetaData.getSchemas(PgDatabaseMetaData.java:1457)
at org.postgresql.jdbc.PgDatabaseMetaData.getSchemas(PgDatabaseMetaData.java:1438)
at com.zaxxer.hikari.pool.ProxyDatabaseMetaData.getSchemas(ProxyDatabaseMetaData.java:78)
at com.zaxxer.hikari.pool.HikariProxyDatabaseMetaData.getSchemas(HikariProxyDatabaseMetaData.java)
at com.github.database.rider.core.connection.RiderDataSource.isTimescaleDb(RiderDataSource.java:193)