fixed many davql exec memory leaks

added password based keys and fixed crash when keys are missing

hidden password input

improved dav-sync data-loss prevention

dav-sync detects broken uploads

fixed get command and davql exec

startup doesn't override broken config.xml anymore

fixed href comparison bug

fixed order by

implemented davql order by

-a option wasn't working correctly in recursive mode

fixed horrible bugs, davql hopefully just works now (without order by yet)

empty field results will no longer be added

replaced old davql (still buggy)

implemented execution of field list expressions

implemented some davql integer operations

secured ucx_list_append calls against OOM

added missing keywords + fixed missing source text for boolean primaries

fixed grammar for path + added missing string quote escaping (still not perfect: escape sequence is in syntax tree)

fixed path parser not writing length for a single slash as path

implemented minimal executor features and added missing ucx files

renamed GET to SELECT in davql syntax

added expression executor prototype

fixed: comparison operator info has been incorrectly written to type field

expression compiler generates byte code

added where clause compiler prototype

secured malloc / calloc calls

fixed statement type for logical expressions without operator + prepared OOM handling

implemented order by parser

added initial code for config commands

fixed paranthsis ambiguity for logical and normal expressions

fixed null pointer access on end of token stream by adding a special END token to the stream

fixed logical expression parser

completed logical expression parser - NEED TO TEST A LOT!

added function call parser + fixed some memory management mistakes

completed field list parser + error messages do now provide more context information based on the source string

minimized ucx subset

parser for ParExpression

update ucx

added syntax tree display to debugger + expression parser saves source text in every node

fixed parsing of binary expressions did not yield the correct type

added format specifier parser

started refactoring davqlparser

fixed control flow in int_cmd + committed testcase (enable with #define DO_THE_TEST)

added davqlexec source

added clang config + fixed control flow in two parser functions

reworked expression grammar (removed left recursion) + added field names to debugger + fixed bug when WITH-clause was the last clause in a statement

merge

improved error messages

fieldlist parser can now parse fields with alias

minor grammar fix (alias name is now identifier and not string) + completed debugger (so far) + separated field list parser (currently unable to parse alias names) + new structure for fields

fixed static variable fail

special path parser + typed literals + order by parser + grammar changes

simplified with clause parsing + added order by to data structure and debugger (TODO: implement)

removed ultrabreak gotos

added special symbol list to tokenizer

added order by clause to grammar + moved with clause right after the from clause

parser verifies that path is an identifier

parser for with-clause ready to parse more attributes, but marks duplicated attributes as error

parser for with clause + unexpected token message, if something is beyond the with clause

tokenizer now correctly handles quoted tokens

removed DavQLExpression type for path (since it always is an identifier)

davql: error handling + minor grammar changes

improved grammar + changed depth default, type and added infinity

(0) -100 -64 +64 +100 +300 tip

mercurial