object | f79fd1cff2b831e685e865adb060485ead711f65 | commit |
author | Sebastian Harl <sh@tokkee.org> | |
Mon, 17 Nov 2014 20:04:14 +0000 (21:04 +0100) |
Release 0.6.0 of SysDB.
Version 0.6.0, Release Date: 2014-11-17
---------------------------------------
This release focuses on a clearer query language. The underlying
architecture has been refactored to allow for more powerful and generic
expressions.
* core:
- Added support for arrays. Elements may be of any other supported
data-type but only integers, decimals, and strings are fully supported.
* store:
- Refactored matchers: all matchers now operate on one or two expressions
or other matchers, replacing the old and less flexible conditional
matchers.
- Attribute values may now be used anywhere in an expression.
- On data-type mismatch when comparing attribute values, the values will
be cast to string (previously only done for regex matches).
- Added support for querying an object's backends (array of strings).
- Added support for iterating child objects and array values.
- All matchers now return false if any operand is NULL (except for IS
NULL).
- All operations now return NULL if any operand is NULL.
- Fixed behavior of not-operators (!=, !~) and let them not match if any
of the operands is NULL.
- Add support for looking up all object types (hosts, services, metrics).
- Refactored the JSON formatter to be more flexible and powerful.
- Record parent objects for each stored object.
* frontend:
- Added a separate parser mode for expressions.
- Added a new queryable field 'name' to be used in place of the rather
magical keyword 'host' when looking up hosts.
- Improved error reporting in the parser and the (newly introduced)
analyzer.
- Apply filters to hosts in the FETCH command.
* query language:
- All operators may now be used in all places if the involved data-types
support the respective operation. For example, regular expressions may
be used to match any value. Non-string values are cast to strings for
that purpose. IS NULL / IS NOT NULL may be applied to arbitrary
expressions.
- Introduced the 'IN' operator to check if a value or an array of values
is included in an array.
- Added support for arrays: [<elem1>,<elem2>,...]
- Added support for string and array concatenation using the '||'
operator.
- Attribute names have to be strings instead of identifiers now.
- Access object fields using '<field>' rather than '.<field>'.
- Let the LOOKUP and FETCH commands support services and metrics.
- Introduced 'FETCH service|metric <host>.<name' for fetching services
and metrics.
- Added support for 'ANY' and 'ALL' operators which apply a matcher to
each value emitted by an iterator (a host's services and metrics or
arrays). 'MATCHING ANY service|metric|attribute <cmp> <expr>' replaces
'MATCHING service|metric|attribute <cmp> <value>' expressions.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iEYEABECAAYFAlRqVNUACgkQEFEKc4UBx/w0NACglEjW7l2wPPjCEonaBKWeJhlO
ttgAn1uMX+P5jlSAiuqFf3vONwI1hxsF
=a083
-----END PGP SIGNATURE-----
Version 0.6.0, Release Date: 2014-11-17
---------------------------------------
This release focuses on a clearer query language. The underlying
architecture has been refactored to allow for more powerful and generic
expressions.
* core:
- Added support for arrays. Elements may be of any other supported
data-type but only integers, decimals, and strings are fully supported.
* store:
- Refactored matchers: all matchers now operate on one or two expressions
or other matchers, replacing the old and less flexible conditional
matchers.
- Attribute values may now be used anywhere in an expression.
- On data-type mismatch when comparing attribute values, the values will
be cast to string (previously only done for regex matches).
- Added support for querying an object's backends (array of strings).
- Added support for iterating child objects and array values.
- All matchers now return false if any operand is NULL (except for IS
NULL).
- All operations now return NULL if any operand is NULL.
- Fixed behavior of not-operators (!=, !~) and let them not match if any
of the operands is NULL.
- Add support for looking up all object types (hosts, services, metrics).
- Refactored the JSON formatter to be more flexible and powerful.
- Record parent objects for each stored object.
* frontend:
- Added a separate parser mode for expressions.
- Added a new queryable field 'name' to be used in place of the rather
magical keyword 'host' when looking up hosts.
- Improved error reporting in the parser and the (newly introduced)
analyzer.
- Apply filters to hosts in the FETCH command.
* query language:
- All operators may now be used in all places if the involved data-types
support the respective operation. For example, regular expressions may
be used to match any value. Non-string values are cast to strings for
that purpose. IS NULL / IS NOT NULL may be applied to arbitrary
expressions.
- Introduced the 'IN' operator to check if a value or an array of values
is included in an array.
- Added support for arrays: [<elem1>,<elem2>,...]
- Added support for string and array concatenation using the '||'
operator.
- Attribute names have to be strings instead of identifiers now.
- Access object fields using '<field>' rather than '.<field>'.
- Let the LOOKUP and FETCH commands support services and metrics.
- Introduced 'FETCH service|metric <host>.<name' for fetching services
and metrics.
- Added support for 'ANY' and 'ALL' operators which apply a matcher to
each value emitted by an iterator (a host's services and metrics or
arrays). 'MATCHING ANY service|metric|attribute <cmp> <expr>' replaces
'MATCHING service|metric|attribute <cmp> <value>' expressions.
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)
iEYEABECAAYFAlRqVNUACgkQEFEKc4UBx/w0NACglEjW7l2wPPjCEonaBKWeJhlO
ttgAn1uMX+P5jlSAiuqFf3vONwI1hxsF
=a083
-----END PGP SIGNATURE-----