From 2ee1bcdbd890d3144fa2c8fdf305e8597ccb3032 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Fri, 18 Oct 2013 22:57:16 +0300 Subject: [PATCH] Fix Oracle issues --- .../src/test/java/com/mysema/query/AbstractJPATest.java | 1 + .../src/main/java/com/mysema/query/sql/OracleTemplates.java | 2 ++ querydsl-sql/src/test/java/com/mysema/query/SelectBase.java | 2 +- 3 files changed, 4 insertions(+), 1 deletion(-) diff --git a/querydsl-jpa/src/test/java/com/mysema/query/AbstractJPATest.java b/querydsl-jpa/src/test/java/com/mysema/query/AbstractJPATest.java index f31d46dd8..090b88bff 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/AbstractJPATest.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/AbstractJPATest.java @@ -1141,6 +1141,7 @@ public abstract class AbstractJPATest { @Test @NoBatooJPA + @ExcludeIn(ORACLE) public void Substring2() { QCompany company = QCompany.company; StringExpression name = company.name; diff --git a/querydsl-sql/src/main/java/com/mysema/query/sql/OracleTemplates.java b/querydsl-sql/src/main/java/com/mysema/query/sql/OracleTemplates.java index 0e0d851b3..6369a0905 100644 --- a/querydsl-sql/src/main/java/com/mysema/query/sql/OracleTemplates.java +++ b/querydsl-sql/src/main/java/com/mysema/query/sql/OracleTemplates.java @@ -81,6 +81,8 @@ public class OracleTemplates extends SQLTemplates { add(Ops.MATCHES, "regexp_like({0},{1})"); add(Ops.StringOps.LOCATE, "instr({1},{0})"); add(Ops.StringOps.LOCATE2, "instr({1},{0},{2s})"); + add(Ops.StringOps.LEFT, "substr({0},1,{1})"); + add(Ops.StringOps.RIGHT, "substr({0},-{1s},length({0}))"); // Number add(Ops.MathOps.CEIL, "ceil({0})"); diff --git a/querydsl-sql/src/test/java/com/mysema/query/SelectBase.java b/querydsl-sql/src/test/java/com/mysema/query/SelectBase.java index 28f7df7f1..5cb573816 100644 --- a/querydsl-sql/src/test/java/com/mysema/query/SelectBase.java +++ b/querydsl-sql/src/test/java/com/mysema/query/SelectBase.java @@ -748,7 +748,7 @@ public class SelectBase extends AbstractBaseTest{ query().from(employee).offset(3).list(employee.id); // limit offset - expectedQuery = "select * from ( select a.*, rownum rn from ( select e.ID from EMPLOYEE e ) a) where rn > 3 and rn <= 7"; + expectedQuery = "select * from ( select a.*, rownum rn from ( select e.ID from EMPLOYEE e ) a) where rn > 3 and rownum <= 4"; query().from(employee).limit(4).offset(3).list(employee.id); }