116 |
116 |
117 struct DavQLRes { |
117 struct DavQLRes { |
118 DavResource *resource; |
118 DavResource *resource; |
119 int depth; |
119 int depth; |
120 }; |
120 }; |
|
121 |
|
122 typedef struct DavCompiledField { |
|
123 char *ns; |
|
124 char *name; |
|
125 UcxBuffer *code; |
|
126 } DavCompiledField; |
121 |
127 |
122 DavResult* dav_statement_exec(DavSession *sn, DavQLStatement *st, ...); |
128 DavResult* dav_statement_exec(DavSession *sn, DavQLStatement *st, ...); |
123 DavResult* dav_statement_execv(DavSession *sn, DavQLStatement *st, va_list ap); |
129 DavResult* dav_statement_execv(DavSession *sn, DavQLStatement *st, va_list ap); |
124 |
130 |
125 UcxBuffer* dav_path_string(sstr_t src, va_list ap, davqlerror_t *error); |
131 UcxBuffer* dav_path_string(sstr_t src, va_list ap, davqlerror_t *error); |
129 |
135 |
130 UcxBuffer* dav_compile_expr(DavContext *ctx, UcxAllocator *a, DavQLExpression *lexpr, va_list ap); |
136 UcxBuffer* dav_compile_expr(DavContext *ctx, UcxAllocator *a, DavQLExpression *lexpr, va_list ap); |
131 |
137 |
132 int dav_exec_expr(UcxBuffer *bcode, DavResource *res, DavQLStackObj *result); |
138 int dav_exec_expr(UcxBuffer *bcode, DavResource *res, DavQLStackObj *result); |
133 |
139 |
134 void print_bytecode(UcxBuffer *bcode); |
140 |
135 |
141 |
136 #ifdef __cplusplus |
142 #ifdef __cplusplus |
137 } |
143 } |
138 #endif |
144 #endif |
139 |
145 |