[xquery-talk] [ANN] BaseX 9.4: The Summer Edition

Christian Grün christian.gruen at gmail.com
Tue Jul 14 04:41:08 PDT 2020

Dear all,

We are glad to give you Version 9.4 of BaseX, our XML framework,
database system and XQuery 3.1 processor:


We have focused on rewriting and optimizing complex XQuery code and
speeding up your RESTXQ apps:

- DBA: support for millions of log entries
- LOGTRACE option: write trace output to logs or STDERR
- rest:init: Full or partial initialization of RESTXQ cache
- basexhttp: register job services

- result view: show number of results and result size
- Shift F4-F7: toggle search options (case, regeex, ..)
- Ctrl-Shift-B: jump to matching bracket

- single lock option for reading and updating queries
- Java bindings: annotation added for updating functions

- convenience functions: json:doc, csv:doc, html:doc
- element names: convert:encode-key, convert:decode-key
- jobs:eval: option added for writing log entries
- session module: only create new sessions if required

- boolean comparisons: flatten nested expressions
- boolean expressions: merge conjunctions
- comparisons: simplify operands with if expression
- database functions: always open at compile time
- databases: propagate to more expressions at compile time
- filters: inline context for single items
- filters: rewrite to simple maps
- FLWOR: inline where clauses into let clauses
- FLWOR: merge last with return clause, rewrite to simple map
- FLWOR: rewrite "return if ..." to "where ... return"
- fn:for-each, fn:filter: rewrite to FLWORs and filters
- if expression, EBV tests: simplify boolean tests
- lists, sets, logical expressions: flatten expressions
- lists: rewrite to union expressions
- logical expressions: apply more boolean algebra rules
- paths: remove redundant predicates
- predicates with name functions: rewrite to name tests
- predicates: merge expressions, discard redundant tests
- predicates: remove of superfluous and redundant tests
- set expressions: merge operands
- simple map: inline cast expressions
- simple maps: faster evaluation
- simple maps: merge operands
- simple maps: rewrite to paths, optimize for index access
- switch: rewrite to if expression
- types: skip redundant checks, promotions  and conversions

For a more comprehensive list of added and updated features, check out
our documentation (docs.basex.org) and check out the GitHub issues

Have fun,
Your BaseX Team

More information about the talk mailing list