I test Hibernate with the following DBs mostly: - H2 - Oracle - SQL Server - PostgreSQL - MySQL and MariaDb
For other databases, it's not guaranteed that all tests will run. Related to that function, we could other add a change, but it must work on the DBs above too. Or, you could just mark the test with @SkipForDialect. Thanks, Vlad On Fri, Sep 8, 2017 at 7:41 PM, Mark Rotteveel <m...@lawinegevaar.nl> wrote: > Are the tests in the documentation module expected to run on MySQL / > MariaDB only? Or are they expected to run on all databases? > > The test org.hibernate.userguide.mapping.basic.SubselectTest is failing > on Firebird, because it has the following subselect: > > @Subselect( > "select " + > " a.id as id, " + > " concat(concat(c.first_name, ' '), c.last_name) as clientName, " + > " sum(at.cents) as balance " + > "from account a " + > "join client c on c.id = a.client_id " + > "join account_transaction at on a.id = at.account_id " + > "group by a.id, concat(concat(c.first_name, ' '), c.last_name)" > ) > > Firebird doesn't have a concat function. According to the version > history, this test previously used the SQL standard concat operator > '||', but this was changed in May with the commit comment "Fix test > failing on MariaDB". > > I am surprised that this change wouldn't be failing on other databases > either (unless most of them define a concat function next to supporting > the || operator). > > To fix this database independently, it would need to be changed to use > the JDBC concat function escape: > > @Subselect( > "select " + > " a.id as id, " + > " {fn concat({fn concat(c.first_name, ' ')}, c.last_name)} as > clientName, " + > " sum(atr.cents) as balance " + > "from account a " + > "join client c on c.id = a.client_id " + > "join account_transaction atr on a.id = atr.account_id " + > "group by a.id, {fn concat({fn concat(c.first_name, ' ')}, > c.last_name)}" > ) > > However, JDBC function escape are (almost) never used in Hibernate > tests, so I wonder if this would need to be handled elsewhere. > > What to do? Do I ignore the documentation tests, add an exception for > Firebird or create a pull request with the above change, or something else? > -- > Mark Rotteveel > _______________________________________________ > hibernate-dev mailing list > hibernate-dev@lists.jboss.org > https://lists.jboss.org/mailman/listinfo/hibernate-dev > _______________________________________________ hibernate-dev mailing list hibernate-dev@lists.jboss.org https://lists.jboss.org/mailman/listinfo/hibernate-dev