110 union DavQLStackData { |
111 union DavQLStackData { |
111 int64_t integer; |
112 int64_t integer; |
112 char *string; |
113 char *string; |
113 } data; |
114 } data; |
114 }; |
115 }; |
|
116 |
|
117 struct DavQLRes { |
|
118 DavResource *resource; |
|
119 int depth; |
|
120 }; |
115 |
121 |
116 DavQLResult* dav_statement_exec(DavSession *sn, DavQLStatement *st, ...); |
122 DavResult* dav_statement_exec(DavSession *sn, DavQLStatement *st, ...); |
117 DavQLResult* dav_statement_execv(DavSession *sn, DavQLStatement *st, va_list ap); |
123 DavResult* dav_statement_execv(DavSession *sn, DavQLStatement *st, va_list ap); |
118 |
124 |
119 UcxBuffer* dav_path_string(sstr_t src, va_list ap, davqlerror_t *error); |
125 UcxBuffer* dav_path_string(sstr_t src, va_list ap, davqlerror_t *error); |
120 sstr_t dav_format_string(UcxAllocator *a, sstr_t fstr, va_list ap, davqlerror_t *error); |
126 sstr_t dav_format_string(UcxAllocator *a, sstr_t fstr, va_list ap, davqlerror_t *error); |
121 |
127 |
122 void dav_exec_get(DavSession *sn, DavQLStatement *st, char* path, va_list ap); |
128 DavResult dav_exec_select(DavSession *sn, DavQLStatement *st, char* path, va_list ap); |
123 |
129 |
124 UcxBuffer* dav_compile_expr(UcxAllocator *a, DavQLExpression *lexpr, va_list ap); |
130 UcxBuffer* dav_compile_expr(DavContext *ctx, UcxAllocator *a, DavQLExpression *lexpr, va_list ap); |
125 |
131 |
126 int dav_exec_expr(UcxBuffer *bcode, DavResource *res, DavQLStackObj *result); |
132 int dav_exec_expr(UcxBuffer *bcode, DavResource *res, DavQLStackObj *result); |
127 |
133 |
128 void print_bytecode(UcxBuffer *bcode); |
134 void print_bytecode(UcxBuffer *bcode); |
129 |
135 |