Author: bpoussin Date: 2012-09-10 08:40:20 +0200 (Mon, 10 Sep 2012) New Revision: 1511 Url: http://nuiton.org/repositories/revision/wikitty/1511 Log: - On permet de pas avoir de clause Where dans ce cas c'est equivalent a WHERE TRUE - gere les requetes null comme les requetes "" Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryParser.java Modified: trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryParser.java =================================================================== --- trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryParser.java 2012-09-10 05:42:27 UTC (rev 1510) +++ trunk/wikitty-api/src/main/java/org/nuiton/wikitty/query/WikittyQueryParser.java 2012-09-10 06:40:20 UTC (rev 1511) @@ -236,6 +236,9 @@ * @return */ static public WikittyQuery parse(String queryString, Map<String, String> alias) { + if (queryString == null) { + queryString = ""; + } if (alias != null) { String queryStringInit = queryString; // on synchronise l'utilisation de la map, pour etre sur qu'il n'y @@ -476,7 +479,8 @@ } Rule select() { Var<Aggregate> aggregate = new Var<Aggregate>(); - return Sequence(icSELECT, space(), Optional(aggregate(aggregate)), space(), field(), push(match()), space(), icWHERE, space(), term(), + return Sequence(icSELECT, space(), Optional(aggregate(aggregate)), space(), field(), push(match()), space(), + FirstOf(Sequence(icWHERE, space(), term()), empty()), push(new Select(toElement(pop(1).toString()), aggregate.get(), (Condition)pop()))); } Rule aggregate(Var<Aggregate> aggregate) {