From 5e9cc64d8db7c3700a7f07cc8f3d7b72f1be5890 Mon Sep 17 00:00:00 2001
From: Timm Fitschen <t.fitschen@indiscale.com>
Date: Wed, 26 May 2021 09:33:46 +0200
Subject: [PATCH] fix white space problem in select clause

---
 .../java/org/caosdb/server/query/CQLLexer.g4     |  2 +-
 .../java/org/caosdb/server/query/TestCQL.java    | 16 ++++++++++++++++
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/caosdb/server/query/CQLLexer.g4 b/src/main/java/org/caosdb/server/query/CQLLexer.g4
index 74331e0f..71b41d48 100644
--- a/src/main/java/org/caosdb/server/query/CQLLexer.g4
+++ b/src/main/java/org/caosdb/server/query/CQLLexer.g4
@@ -502,7 +502,7 @@ mode DOUBLE_QUOTE_MODE;
 mode SELECT_MODE;
 
     FROM:
-         [Ff][Rr][Oo][Mm]([ \t\n\r])? -> mode(DEFAULT_MODE)
+         [Ff][Rr][Oo][Mm]([ \t\n\r])* -> mode(DEFAULT_MODE)
     ;
 
     SELECT_DOT:
diff --git a/src/test/java/org/caosdb/server/query/TestCQL.java b/src/test/java/org/caosdb/server/query/TestCQL.java
index 92e82902..62aeb5ed 100644
--- a/src/test/java/org/caosdb/server/query/TestCQL.java
+++ b/src/test/java/org/caosdb/server/query/TestCQL.java
@@ -239,6 +239,7 @@ public class TestCQL {
   String queryIssue116 = "FIND *";
   String queryIssue132a = "FIND ENTITY WHICH HAS BEEN INSERTED AFTER TODAY";
   String queryIssue132b = "FIND ENTITY WHICH HAS BEEN CREATED TODAY BY ME";
+  String queryIssue134 = "SELECT pname FROM  ename";
 
   // File paths ///////////////////////////////////////////////////////////////
   String filepath_verb01 = "/foo/";
@@ -6718,4 +6719,19 @@ public class TestCQL {
 
     assertEquals("TRANS(Insert,(,Today,Transactor(null,=))", sfq.filter.toString());
   }
+
+  /*
+   * String queryIssue134 = "SELECT pname FROM  ename";
+   */
+  @Test
+  public void testIssue134() {
+    CQLLexer lexer;
+    lexer = new CQLLexer(CharStreams.fromString(this.queryIssue134));
+    final CommonTokenStream tokens = new CommonTokenStream(lexer);
+
+    final CQLParser parser = new CQLParser(tokens);
+    final CqContext sfq = parser.cq();
+    Query q = new Query(this.queryIssue134);
+    q.parse();
+  }
 }
-- 
GitLab