diff --git a/src/main/java/org/caosdb/server/query/CQLParser.g4 b/src/main/java/org/caosdb/server/query/CQLParser.g4 index 4eaace91520e6059a1043f9905d1db9141ad76cc..6c6aa748c1c5196936b0581031ecaa0aa5605d66 100644 --- a/src/main/java/org/caosdb/server/query/CQLParser.g4 +++ b/src/main/java/org/caosdb/server/query/CQLParser.g4 @@ -216,8 +216,8 @@ transaction_time returns [String tqp, String op] ) )? ( - value {$tqp = $value.text;} - | TODAY {$tqp = TransactionFilter.TODAY;} + TODAY {$tqp = TransactionFilter.TODAY;} + | value {$tqp = $value.text;} ) ; diff --git a/src/test/java/org/caosdb/server/query/TestCQL.java b/src/test/java/org/caosdb/server/query/TestCQL.java index 7391012cec9bfe6ed4a4d48b8003077d5f942344..92e82902215d5e127ef67941ba70a14d535bba82 100644 --- a/src/test/java/org/caosdb/server/query/TestCQL.java +++ b/src/test/java/org/caosdb/server/query/TestCQL.java @@ -237,7 +237,8 @@ public class TestCQL { String queryIssue31 = "FIND FILE WHICH IS STORED AT /data/in0.foo"; String queryIssue116 = "FIND *"; - String queryIssue132 = "FIND ENTITY WHICH HAS BEEN INSERTED AFTER TODAY"; + String queryIssue132a = "FIND ENTITY WHICH HAS BEEN INSERTED AFTER TODAY"; + String queryIssue132b = "FIND ENTITY WHICH HAS BEEN CREATED TODAY BY ME"; // File paths /////////////////////////////////////////////////////////////// String filepath_verb01 = "/foo/"; @@ -6689,10 +6690,10 @@ public class TestCQL { } @Test - /** String queryIssue132 = "FIND ENTITY WHICH HAS BEEN INSERTED AFTER TODAY"; */ - public void testIssue132() { + /** String queryIssue132a = "FIND ENTITY WHICH HAS BEEN INSERTED AFTER TODAY"; */ + public void testIssue132a() { CQLLexer lexer; - lexer = new CQLLexer(CharStreams.fromString(this.queryIssue132)); + lexer = new CQLLexer(CharStreams.fromString(this.queryIssue132a)); final CommonTokenStream tokens = new CommonTokenStream(lexer); final CQLParser parser = new CQLParser(tokens); @@ -6700,6 +6701,21 @@ public class TestCQL { System.out.println(sfq.toStringTree(parser)); - assertEquals("TRANS(Insert,>,TODAY,null)", sfq.filter.toString()); + assertEquals("TRANS(Insert,>,Today,null)", sfq.filter.toString()); + } + + @Test + /** String queryIssue132b = "FIND ENTITY WHICH HAS BEEN CREATED TODAY BY ME"; */ + public void testIssue132b() { + CQLLexer lexer; + lexer = new CQLLexer(CharStreams.fromString(this.queryIssue132b)); + final CommonTokenStream tokens = new CommonTokenStream(lexer); + + final CQLParser parser = new CQLParser(tokens); + final CqContext sfq = parser.cq(); + + System.out.println(sfq.toStringTree(parser)); + + assertEquals("TRANS(Insert,(,Today,Transactor(null,=))", sfq.filter.toString()); } }