--- 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]; * </pre> * * <b>SET:</b> * <pre> - * 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