diff -r b6f2462ee055 -r 9a75b6df3307 libidav/davqlparser.h --- a/libidav/davqlparser.h Mon Jan 01 19:53:36 2018 +0100 +++ b/libidav/davqlparser.h Mon Jan 01 19:54:37 2018 +0100 @@ -200,10 +200,10 @@ * | "*", {",", NamedField} * | FieldExpression, {",", FieldExpression}; * FieldExpression = NamedField | Identifier; - * NamedField = Expression, " as ", Identifier; + * NamedField = Expression, " as ", Identifier; * - * SetExpressions = SetExpression, {",", SetExpression}; - * SetExpression = Identifier, "=", Expression; + * Assignments = Assignment, {",", Assignment}; + * Assignment = Identifier, "=", Expression; * * Path = String * | "/", [PathNode, {"/", PathNode}], ["/"]; @@ -225,13 +225,13 @@ * SelectStatement = "select ", FieldExpressions, * " from ", Path, * [" with ", WithClause], - * [" where ", LogicalExpression], + * [(" where ", LogicalExpression) | " anywhere"], * [" order by ", OrderByClause]; * * * SET: *
- * SetStatement = "set ",SetExpressions,
+ * SetStatement = "set ",Assignments,
  * " at ", Path,
  * [" with ", WithClause],
  * (" where ", LogicalExpression) | " anywhere";
@@ -304,6 +304,9 @@
 /** A closed parenthesis ')' is missing. */
 #define DAVQL_ERROR_MISSING_PAR 13
 
+/** An assignment operator '=' is missing. */
+#define DAVQL_ERROR_MISSING_ASSIGN 14
+
 /** The type of the expression could not be determined. */
 #define DAVQL_ERROR_INVALID_EXPR 21