Add IEQ support

This commit is contained in:
Robin Bygrave
2016-07-12 15:22:04 +12:00
parent 3cd7ecaa4a
commit 675c51b8c1
4 changed files with 14 additions and 0 deletions
@@ -46,6 +46,9 @@ class EqlAdapterHelper {
case EQ:
peekExprList().eq(path, bind(value));
break;
case IEQ:
peekExprList().ieq(path, bindString(value));
break;
case NE:
peekExprList().ne(path, bind(value));
break;
@@ -3,6 +3,7 @@ package com.avaje.ebeaninternal.server.grammer;
enum EqlOperator {
EQ,
IEQ,
NE,
LT,
LTE,
@@ -10,6 +10,7 @@ class OperatorMapping {
public OperatorMapping() {
map.put("eq", EqlOperator.EQ);
map.put("=", EqlOperator.EQ);
map.put("ieq", EqlOperator.IEQ);
map.put("ne", EqlOperator.NE);
map.put("<>", EqlOperator.NE);
@@ -18,6 +18,15 @@ public class EqlParserTest {
assertThat(query.getGeneratedSql()).contains("where t0.name = ?");
}
@Test
public void where_ieq() throws Exception {
Query<Customer> query = parse("where name ieq 'Rob'");
query.findList();
assertThat(query.getGeneratedSql()).contains("where lower(t0.name) =?");
}
@Test
public void where_eq2() throws Exception {