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> |