libidav/davqlparser.h

changeset 127
7072a2b4ae35
parent 121
eea36bf5ffe2
child 130
80d273229f24
equal deleted inserted replaced
126:b156cae29e65 127:7072a2b4ae35
38 #include "ucx/list.h" 38 #include "ucx/list.h"
39 39
40 /** 40 /**
41 * Enumeration of possible statement types. 41 * Enumeration of possible statement types.
42 */ 42 */
43 typedef enum {DAVQL_ERROR, DAVQL_GET, DAVQL_SET} davqltype_t; 43 typedef enum {DAVQL_ERROR, DAVQL_SELECT, DAVQL_SET} davqltype_t;
44 44
45 /** 45 /**
46 * Enumeration of possible token classes. 46 * Enumeration of possible token classes.
47 */ 47 */
48 typedef enum { 48 typedef enum {
133 */ 133 */
134 typedef struct { 134 typedef struct {
135 /** 135 /**
136 * The field name. 136 * The field name.
137 * <ul> 137 * <ul>
138 * <li>GET: the identifier or an alias name</li> 138 * <li>SELECT: the identifier or an alias name</li>
139 * <li>SET: the identifier</li> 139 * <li>SET: the identifier</li>
140 * </ul> 140 * </ul>
141 */ 141 */
142 sstr_t name; 142 sstr_t name;
143 /** 143 /**
144 * The field expression. 144 * The field expression.
145 * <ul> 145 * <ul>
146 * <li>GET: the queried property (identifier) or an expression</li> 146 * <li>SELECT: the queried property (identifier) or an expression</li>
147 * <li>SET: the expression for the value to be set</li> 147 * <li>SET: the expression for the value to be set</li>
148 * </ul> 148 * </ul>
149 */ 149 */
150 DavQLExpression *expr; 150 DavQLExpression *expr;
151 } DavQLField; 151 } DavQLField;
213 * 213 *
214 * Note: mandatory spaces are part of the grammar. But you may also insert an 214 * Note: mandatory spaces are part of the grammar. But you may also insert an
215 * arbitrary amount of optional spaces between two symbols if they are not part 215 * arbitrary amount of optional spaces between two symbols if they are not part
216 * of an literal or identifier. 216 * of an literal or identifier.
217 * 217 *
218 * <b>GET:</b> 218 * <b>SELECT:</b>
219 * <pre> 219 * <pre>
220 * GetStatement = "get ", FieldExpressions, 220 * SelectStatement = "select ", FieldExpressions,
221 * " from ", Path, 221 * " from ", Path,
222 * [" with ", WithClause], 222 * [" with ", WithClause],
223 * [" where ", LogicalExpression], 223 * [" where ", LogicalExpression],
224 * [" order by ", OrderByClause]; 224 * [" order by ", OrderByClause];
225 * </pre> 225 * </pre>

mercurial