libidav/davqlparser.h

changeset 85
0ab1cf261a44
parent 83
7d20ce5d235b
child 86
ecba8bdf9741
--- a/libidav/davqlparser.h	Fri Apr 03 14:53:28 2015 +0200
+++ b/libidav/davqlparser.h	Sat Apr 04 17:44:33 2015 +0200
@@ -114,7 +114,8 @@
  * Identifier      = IdentifierChar - ?Digit?, {IdentifierChar}
  *                 | "`", ?Character?, {?Character?}, "`";
  * IdentifierChar  = ?Character - (" "|",")?;
- * Literal         = ?Digit?, {?Digit?} | String;
+ * Literal         = Number | String;
+ * Number          = ?Digit?, {?Digit?} | "%d";
  * String          = "'", {?Character - "'"? | "'''"} , "'";
  * 
  * LogicalExpression = LogicalExpression, LogicalOperator, LogicalExpression
@@ -135,7 +136,7 @@
  * SetExpressions   = SetExpression, {",", {SetExpressions};
  * SetExpression    = Identifier, "=", Expression;
  * 
- * WithClause = "depth", "=", Expression;
+ * WithClause = "depth", "=", (Number | "infinity");
  * 
  * </pre>
  * 
@@ -189,11 +190,16 @@
     DavQLExpression* where;
     /**
      * The recursion depth for the statement.
-     * Defaults to SIZE_MAX (unbound recursion).
+     * Defaults to 1.
      */
-    size_t depth;
+    int depth;
 } DavQLStatement;
 
+/**
+ * Infinity recursion depth for a DavQLStatement.
+ */
+#define DAV_DEPTH_INFINITY -1
+
 
 /**
  * Starts an interactive debugger for a DavQLStatement.

mercurial