From a8c2fc2ed500bf59fac9a2d0a4cb6f4875883d6c Mon Sep 17 00:00:00 2001 From: Robin Bygrave Date: Wed, 13 Jul 2016 13:55:56 +1200 Subject: [PATCH] EQL - parsing select clause --- .../avaje/ebeaninternal/server/grammer/EqlAdapter.java | 7 +++++++ .../ebeaninternal/server/grammer/EqlParserTest.java | 9 +++++++++ 2 files changed, 16 insertions(+) diff --git a/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java b/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java index 482581bbc..a677d05d4 100644 --- a/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java +++ b/src/main/java/com/avaje/ebeaninternal/server/grammer/EqlAdapter.java @@ -89,6 +89,13 @@ class EqlAdapter extends EQLBaseListener { } } + @Override + public void enterSelect_clause(EQLParser.Select_clauseContext ctx) { + checkChildren(ctx, 4); + String selectProperties = child(ctx, 2); + query.select(selectProperties); + } + @Override public void enterFetch_path(EQLParser.Fetch_pathContext ctx) { diff --git a/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java b/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java index afed006a1..fd07c6168 100644 --- a/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java +++ b/src/test/java/com/avaje/ebeaninternal/server/grammer/EqlParserTest.java @@ -282,7 +282,16 @@ public class EqlParserTest { Customer customer = list.get(0); customer.getBillingAddress().getCity(); + } + + @Test + public void select() throws Exception { + + ResetBasicData.reset(); + + Query query = parse("select (name)"); + assertThat(query.getGeneratedSql()).contains("select t0.id c0, t0.name c1 from o_customer t0"); } private Query parse(String raw) {