I am adding support for template-based functions as part of the EJBQL
issue. I.e. functions that have a strict syntax in HQL but different
syntaxes in different SQL dialects.

E.g. in HQL we write concat(p1, p2) which will be converted to (p1 ||
p2) for Oracle, concat(p1, p2) for MySql, (?1 + ?2) for MSSQL.

I am done but there is an issue:

package org.hibernate.test.hql;
org.hibernate.test.hql.HQLTest
public class HQLTest extends QueryTranslatorTestCase {
        public void testExpressionInFunction() throws Exception {
                assertTranslation( "from Animal an where an.description
= concat('fat'||'skinny')" );

concat is recognized as a template function and the template is applied.
The template is concat(?1, ?2) as defined in the EJBQL. Of course, the
test fails.

Should we still support the old fat skinny one?


-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://productguide.itmanagersjournal.com/
_______________________________________________
hibernate-devel mailing list
hibernate-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/hibernate-devel

Reply via email to