Code

sysdb-0.3.0
object 6cadb346d44dd3d9cb88c61121ea5a166b64cedf
authorSebastian Harl <sh@tokkee.org>
Fri, 1 Aug 2014 18:40:37 +0000 (20:40 +0200)
Release 0.3.0 of SysDB.

Version 0.3.0, Release Date: 2014-08-01
---------------------------------------

  This release includes major enhancements and new features in the SysDB store
  which is the core of the database. Most notably, complex expressions are now
  supported when looking up information and filters may be used to preselect
  the information to be returned. Some backward-incompatible changes were
  introduced in the query language to avoid potentially confusing semantics.

   * sysdb: Fixed non-interactive mode when using libedit.
   * core:
     - Fixed weird behavior when collector callbacks were registered without
       any plugin context information (as it would, e.g., happen when using
       LoadPlugin instead of LoadBackend in sysdbd).
   * store:
     - Introduced service attributes -- similar to host attributes but
       assigned to a service object.
     - Don't log “value too old” messages if an updated object uses the same
       timestamp as the old object.
     - Switched from linked-lists to AVL trees for storing all object types to
       reduce lookup times from O(n) to O(log n).
     - Added infrastructure for handling and evaluating arithmetic
       expressions and filters (see also the changes to the query language
       below).
     - Export various fields describing base attributes of all stored object
       types: last_update, age, interval, and backend. These fields may be
       used when querying the store.
   * frontend: Include new service attributes in JSON output.
   * query language:
     - Added support for ‘IS NULL’ attribute checks matching on non-existent
       attributes.
     - Changed ‘LOOKUP ... WHERE’ queries to ‘LOOKUP ... MATCHING’ to avoid
       confusion with SQL semantics.
     - Switched from ‘<obj>.name’ to ‘<obj>’ in MATCHING clauses, thus, no
       longer shadowing attributes called “name”.
     - Added support for arithmetic expressions in places that used simple
       data values before. Arithmetic expressions support addition,
       subtraction, multiplication, division, modulo, and concatenation
       operations. The expressions may be based on constant values or
       queryable fields of the stored objects (specified as ‘:last_update’,
       ‘:age’, ‘:interval’, and ‘:backend’).
     - Added ‘FILTER’ support to ‘LOOKUP’ queries. Filters are conditional
       expressions which may optionally be used to limit the query and the
       result to object (of any type) matching the filter condition.
     - Added support to specify date and time values.
   * utils:
     - avltree: Added an AVL tree (self-balancing binary tree) implementation.
   * documentation: Added documentation for the new query language features.
   * testing: Run all unit tests through valgrind by default (if available).

  Backends:
   * collectd::unixsock:
     - Added support for spaces in identifiers.
     - Store plugin identifier (host, plugin, plugin_instance, type,
       type_instance) as service attributes.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iEYEABECAAYFAlPb30wACgkQEFEKc4UBx/xqjwCZAeuso9xVe3cSkRkU4OOnPsLG
hLsAn3kb/Jtg+rzBWfS9DbD8s/xSnmS4
=0qdU
-----END PGP SIGNATURE-----