Clixon 4.4 three compile-time options: MOVE_TRANS_END for changing transaction-end callbacks; STATE_ORDERED_BY_SYSTEM to make state data system ordered; XML_MERGE_TWO_ROUNDS to improve xml_merge performance.

This commit is contained in:
Olof hagsand 2020-04-02 14:28:58 +02:00
parent 5535239363
commit 662d6b0a3f
19 changed files with 483 additions and 61 deletions

View file

@ -88,3 +88,28 @@
*/
#define XMLDB_CONFIG_HACK
/*! Ensure target tree is complete when transaction end is called.
* This may mean that the call to plugin_transaction_end is done later
* and/or that cleaning of transaction src/target trees are made later
* clixon-4.4
* note: a test in test_transaction.sh does not work
*/
#define MOVE_TRANS_END
/*! Let state data be ordered-by system
* RFC 7950 is cryptic about this
* It says in 7.7.7:
* This statement (red:The "ordered-by" Statement) is ignored if the list represents
* state data,...
* but it is not clear it is ignored because it should always be ordered-by system?
* clixon-4.4
*/
#define STATE_ORDERED_BY_SYSTEM
/*! Separate list merge into two separate rounds,
* First round search for duplicates where objects are saved, and a second round where
* actual merge is done. If in same round, in extreme cases that later
* searches are among earlier objects already added
* clixon-4.4
*/
#define XML_MERGE_TWO_ROUNDS