6 years agosysdb: Use a custom output format instead of pretty-printed JSON.
Sebastian Harl [Sun, 18 Dec 2016 13:47:41 +0000 (14:47 +0100)]
sysdb: Use a custom output format instead of pretty-printed JSON.

JSON is really not what users wanna see, even if it's pretty-printed ;-)

Instead, use a simple key/value style output.

6 years agoerror: Actually check for strerror in configure and fix GNU-specific code.
Sebastian Harl [Tue, 13 Dec 2016 22:34:36 +0000 (23:34 +0100)]
error: Actually check for strerror in configure and fix GNU-specific code.


7 years agoInstall libyajl-dev on Travis.
Sebastian Harl [Sun, 11 Dec 2016 17:11:16 +0000 (18:11 +0100)]
Install libyajl-dev on Travis.

7 years agoFix detection of libyajl and fix compilation if it's missing.
Sebastian Harl [Sun, 11 Dec 2016 17:09:19 +0000 (18:09 +0100)]
Fix detection of libyajl and fix compilation if it's missing.

D'oh! :-/

7 years agosysdb/json: Only include YAJL headers if they're actually available.
Sebastian Harl [Sun, 11 Dec 2016 16:56:27 +0000 (17:56 +0100)]
sysdb/json: Only include YAJL headers if they're actually available.

They're not used otherwise ;-)

7 years agoMerged branch 'json'.
Sebastian Harl [Sun, 11 Dec 2016 16:42:18 +0000 (17:42 +0100)]
Merged branch 'json'.

7 years agoAutomatically prefix all log messages with the plugin name (if available).
Sebastian Harl [Tue, 15 Nov 2016 21:10:35 +0000 (22:10 +0100)]
Automatically prefix all log messages with the plugin name (if available).

7 years agoplugin: Reset context on some error conditions.
Sebastian Harl [Tue, 15 Nov 2016 20:30:15 +0000 (21:30 +0100)]
plugin: Reset context on some error conditions.

7 years agoUse sdb_log() in place of sdb_plugin_log().
Sebastian Harl [Thu, 10 Nov 2016 21:46:57 +0000 (22:46 +0100)]
Use sdb_log() in place of sdb_plugin_log().

It's up to the error module to decide how to log. Inside the daemon, both are
basically equivalent.

7 years agosysdb: Don't pretty-print JSON in non-interactive mode.
Sebastian Harl [Mon, 26 Sep 2016 08:07:26 +0000 (10:07 +0200)]
sysdb: Don't pretty-print JSON in non-interactive mode.

This is a work-around to fix integration tests (which expect the entire
output on one line). A better solution will rely on configurable output

Also, disable interactive mode when using -c <cmd> options. It's not
interactive after all :-)

7 years agoMerge branch 'master' of git://
Sebastian Harl [Sun, 25 Sep 2016 18:54:24 +0000 (20:54 +0200)]
Merge branch 'master' of git://

7 years agoOS utils: Use readdir() instead of the now deprecated readdir_r().
Sebastian Harl [Sun, 25 Sep 2016 18:49:43 +0000 (20:49 +0200)]
OS utils: Use readdir() instead of the now deprecated readdir_r().


7 years agodbi_test: Fix tests for libdbi < 0.9.
Sebastian Harl [Tue, 13 Sep 2016 20:31:15 +0000 (22:31 +0200)]
dbi_test: Fix tests for libdbi < 0.9.

7 years agosysdb: If available, use YAJL to pretty-print JSON output.
Sebastian Harl [Sun, 11 Sep 2016 19:30:10 +0000 (15:30 -0400)]
sysdb: If available, use YAJL to pretty-print JSON output.

7 years agoDon't fetch timeseries info when fetching the interval.
Sebastian Harl [Sun, 11 Sep 2016 14:09:12 +0000 (10:09 -0400)]
Don't fetch timeseries info when fetching the interval.

For this purpose, add query options to fine-tune the behavior. These are
passed in to sdb_plugin_query.

7 years agoplugin: Dynamically populate timeseries information when querying metrics.
Sebastian Harl [Sat, 10 Sep 2016 23:23:33 +0000 (19:23 -0400)]
plugin: Dynamically populate timeseries information when querying metrics.

Do so by wrapping the query output writer into another writer which fetches
and adds these information.

7 years agoLet the JSON formatter include a metric's data_names.
Sebastian Harl [Sat, 10 Sep 2016 23:23:14 +0000 (19:23 -0400)]
Let the JSON formatter include a metric's data_names.

For that purpose, let the metric store provide a reference to the timeseries
information object (to be populated on read). The JSON formatter compiles a
list of unique data_names and outputs that alongside the other metric

7 years agoplugin: Add a helper function to query timeseries information.
Sebastian Harl [Sat, 10 Sep 2016 23:15:35 +0000 (19:15 -0400)]
plugin: Add a helper function to query timeseries information.

This is a wrapper around the registered timeseries fetcher plugin.

7 years agoutils strings: Add stringv_append_if_missing().
Sebastian Harl [Sat, 10 Sep 2016 23:03:00 +0000 (19:03 -0400)]
utils strings: Add stringv_append_if_missing().

7 years agoAdd more string utility functions and unit tests.
Sebastian Harl [Sat, 10 Sep 2016 21:43:57 +0000 (17:43 -0400)]
Add more string utility functions and unit tests.

7 years agodbi_test: Add some more connection tests.
Sebastian Harl [Fri, 9 Sep 2016 03:19:34 +0000 (23:19 -0400)]
dbi_test: Add some more connection tests.

7 years agostrings utilities: Add helper functions for common string operations.
Sebastian Harl [Fri, 9 Sep 2016 02:29:27 +0000 (22:29 -0400)]
strings utilities: Add helper functions for common string operations.

7 years agoplugin: Drop support for the old timeseries fetcher.
Sebastian Harl [Thu, 8 Sep 2016 04:11:12 +0000 (00:11 -0400)]
plugin: Drop support for the old timeseries fetcher.

7 years agotimeseries::rrdtool plugin: Switch to the new timeseries-fetcher.
Sebastian Harl [Thu, 8 Sep 2016 04:10:06 +0000 (00:10 -0400)]
timeseries::rrdtool plugin: Switch to the new timeseries-fetcher.

7 years agot/integration/mock_timeseries: Switch to the new timeseries-fetcher.
Sebastian Harl [Wed, 7 Sep 2016 04:00:08 +0000 (00:00 -0400)]
t/integration/mock_timeseries: Switch to the new timeseries-fetcher.

7 years agoplugin: Add a new type of timeseries-fetcher plugins.
Sebastian Harl [Wed, 7 Sep 2016 03:45:17 +0000 (23:45 -0400)]
plugin: Add a new type of timeseries-fetcher plugins.

The new type (soon to replace the old) bundles a DESCRIBE callback along with
the actual fetch callback. DESCRIBE can be used to retrieve information about
a timeseries.

7 years agotimeseries: Add data-structures and helpers to manage timeseries information.
Sebastian Harl [Wed, 7 Sep 2016 03:32:08 +0000 (23:32 -0400)]
timeseries: Add data-structures and helpers to manage timeseries information.

Currently, timeseries information objects provide the names of data sources.

7 years agot/unit/core/timeseries_test: Add minimalistic test for timeseries.
Sebastian Harl [Wed, 7 Sep 2016 03:27:48 +0000 (23:27 -0400)]
t/unit/core/timeseries_test: Add minimalistic test for timeseries.

7 years agoplugin: Refactor callback registration to avoid code duplication.
Sebastian Harl [Tue, 6 Sep 2016 02:54:58 +0000 (22:54 -0400)]
plugin: Refactor callback registration to avoid code duplication.

7 years agoAdd support for multiple metric data-stores.
Sebastian Harl [Mon, 5 Sep 2016 02:36:56 +0000 (22:36 -0400)]
Add support for multiple metric data-stores.

It did not make sense to only store one and let conflicting values override
each other on each iteration. Instead, track each separately, along with the
respective last_update timestamp. This will allow to read the right data on

At the moment, when requesting a timeseries, the most up to date data store
will be used.

The network plugin does not support sending multiple data stores at the
moment. It will only send the first.

7 years agoLet the network protocol and SysQL support last_update for metric stores.
Sebastian Harl [Mon, 5 Sep 2016 01:18:00 +0000 (21:18 -0400)]
Let the network protocol and SysQL support last_update for metric stores.

7 years agoStore a separate last_update timestamp for metric stores.
Sebastian Harl [Sun, 4 Sep 2016 16:53:29 +0000 (12:53 -0400)]
Store a separate last_update timestamp for metric stores.

Currently, it is (at least) the same as the metric's last_update timestamp.
We'll need this later when supporting multiple metric stores.

7 years agostore.h: Reuse the sdb_metric_store_t type for a metric's store field.
Sebastian Harl [Sun, 4 Sep 2016 13:22:35 +0000 (09:22 -0400)]
store.h: Reuse the sdb_metric_store_t type for a metric's store field.

7 years agounixsock_test: Fix a potential uninitialized memory access in mock_write.
Sebastian Harl [Wed, 17 Aug 2016 21:16:47 +0000 (23:16 +0200)]
unixsock_test: Fix a potential uninitialized memory access in mock_write.

7 years agoSSL utils: Fixed a memory leak in a couple of error conditions.
Sebastian Harl [Wed, 17 Aug 2016 21:01:34 +0000 (23:01 +0200)]
SSL utils: Fixed a memory leak in a couple of error conditions.

7 years agot/valgrind.suppress: Fix deduplication of cond jump.
Sebastian Harl [Wed, 17 Aug 2016 20:54:44 +0000 (22:54 +0200)]
t/valgrind.suppress: Fix deduplication of cond jump.

This was introduced in 7645df5e8ef. The actual call traces differed a bit.

7 years agot/valgrind.suppress: Remove duplicate.
Sebastian Harl [Wed, 10 Aug 2016 07:56:02 +0000 (09:56 +0200)]
t/valgrind.suppress: Remove duplicate.

Also, catch further errors in gcov_exit. Depending on the version, the call
traces are different.

7 years Added .git suffix to default version again.
Sebastian Harl [Thu, 25 Feb 2016 21:50:28 +0000 (22:50 +0100)] Added .git suffix to default version again.

7 years agoRelease SysDB 0.8.0. sysdb-0.8.0
Sebastian Harl [Thu, 25 Feb 2016 20:52:00 +0000 (21:52 +0100)]
Release SysDB 0.8.0.

7 years agoReleaseNotes: Added 0.8.0 release.
Sebastian Harl [Thu, 25 Feb 2016 20:51:24 +0000 (21:51 +0100)]
ReleaseNotes: Added 0.8.0 release.

7 years agoFix compilation with GCC when _GNU_SOURCE isn't defined.
Sebastian Harl [Thu, 25 Feb 2016 20:37:55 +0000 (21:37 +0100)]
Fix compilation with GCC when _GNU_SOURCE isn't defined.

That is, add some missing headers and bump POSIX compliance to POSIX:2008
which will ensure that 'struct timespec' is defined without funny tricks.

7 years agoInclude strings.h instead of defining _BSD_SOURCE to get strcasecmp.
Sebastian Harl [Thu, 25 Feb 2016 20:35:53 +0000 (21:35 +0100)]
Include strings.h instead of defining _BSD_SOURCE to get strcasecmp.

_BSD_SOURCE is deprecated in favor of _DEFAULT_SOURCE but also it's not
needed for strcasecmp() when including strings.h in addition to string.h.

7 years agofrontend/query: Add the DATA type to TIMESERIES replies.
Sebastian Harl [Tue, 26 Jan 2016 23:16:41 +0000 (00:16 +0100)]
frontend/query: Add the DATA type to TIMESERIES replies.

This was lost in 9a96acd759c31211aa512e174339a9c178c4eb83.

7 years agofrontend/query: Simplified code a little.
Sebastian Harl [Tue, 26 Jan 2016 22:32:33 +0000 (23:32 +0100)]
frontend/query: Simplified code a little.

8 years agoEnable flex verbose output only in verbose build mode.
Sebastian Harl [Mon, 30 Nov 2015 11:10:11 +0000 (12:10 +0100)]
Enable flex verbose output only in verbose build mode.

8 years agofrontend/query: Fixed an uninitialized value.
Sebastian Harl [Mon, 30 Nov 2015 10:53:25 +0000 (11:53 +0100)]
frontend/query: Fixed an uninitialized value.

8 years agoClean up after checking compiler flags and fix C++ tests.
Sebastian Harl [Wed, 28 Oct 2015 22:19:52 +0000 (23:19 +0100)]
Clean up after checking compiler flags and fix C++ tests.

They just happened to work fine when done right after C tests.

8 years agoEnable silent automake rules by default (if available).
Sebastian Harl [Tue, 13 Oct 2015 21:44:15 +0000 (23:44 +0200)]
Enable silent automake rules by default (if available).

8 years agoMerged branch 'master' of git://
Sebastian Harl [Tue, 13 Oct 2015 19:30:13 +0000 (21:30 +0200)]
Merged branch 'master' of git://

8 years agoHandle last_update/interval in the core rather than in memstore.
Sebastian Harl [Tue, 13 Oct 2015 19:24:17 +0000 (21:24 +0200)]
Handle last_update/interval in the core rather than in memstore.

For this purpose, let the sdb_plugin_store_* functions fetch the latest
revision of the object to determine the last update interval and last
recorded interval. The memstore now expects both values to be passed in
whenever storing/updating an object.

8 years agomemstore: Let get_child() support arbitrary parent and child elements.
Sebastian Harl [Tue, 13 Oct 2015 19:13:05 +0000 (21:13 +0200)]
memstore: Let get_child() support arbitrary parent and child elements.

8 years agoAdd support for fetching arbitrary objects, including attributes.
Sebastian Harl [Tue, 13 Oct 2015 18:27:24 +0000 (20:27 +0200)]
Add support for fetching arbitrary objects, including attributes.

That is, the backend now supports this. The functionality is not yet exposed
via SysQL.

8 years agofrontend/query_test: Simplified result checks.
Sebastian Harl [Tue, 13 Oct 2015 17:09:41 +0000 (19:09 +0200)]
frontend/query_test: Simplified result checks.

Don't track the expected length since it always matches strlen() anyway. The
additional check would hide the diff if it failed, adding an unnecessary step
for debugging failures.

8 years agoInclude strings.h which is required for strcasecmp().
Sebastian Harl [Fri, 9 Oct 2015 21:37:21 +0000 (23:37 +0200)]
Include strings.h which is required for strcasecmp().

8 years agoFETCH: Add parameter for fetching the main object without children.
Sebastian Harl [Fri, 9 Oct 2015 16:56:12 +0000 (18:56 +0200)]
FETCH: Add parameter for fetching the main object without children.

That is, exclude any attributes or child objects.

Use this to simplify the TIMESERIES fetcher which no longer requires an
attribute callback.

8 years agoSplit the memstore module from the store module.
Sebastian Harl [Wed, 7 Oct 2015 21:45:51 +0000 (23:45 +0200)]
Split the memstore module from the store module.

8 years agoRenamed in-memory store types and functions to sdb_memstore*.
Sebastian Harl [Wed, 7 Oct 2015 20:25:29 +0000 (22:25 +0200)]
Renamed in-memory store types and functions to sdb_memstore*.

8 years agoconnection: Drop old and unused conn_node* types.
Sebastian Harl [Wed, 7 Oct 2015 20:23:18 +0000 (22:23 +0200)]
connection: Drop old and unused conn_node* types.

This was part of the old parser implementation.

8 years agoRemoved sdb_store_fetch_timeseries from headers; it's gone.
Sebastian Harl [Wed, 7 Oct 2015 07:31:14 +0000 (09:31 +0200)]
Removed sdb_store_fetch_timeseries from headers; it's gone.

8 years agostore: Use full initializers for store objects.
Sebastian Harl [Tue, 6 Oct 2015 20:17:29 +0000 (22:17 +0200)]
store: Use full initializers for store objects.

Older versions of GCC/CLANG don't handle "missing" field initializers well.

8 years agoconfigure: Include rrd.h when checking for rrd_client.h.
Sebastian Harl [Tue, 6 Oct 2015 20:06:39 +0000 (22:06 +0200)]
configure: Include rrd.h when checking for rrd_client.h.

Apparently, this is needed for RRDtool 1.5.

8 years agoBuild a more generic/powerful query API which writes to a store-writer.
Sebastian Harl [Tue, 6 Oct 2015 19:47:34 +0000 (21:47 +0200)]
Build a more generic/powerful query API which writes to a store-writer.

Instead of letting the query implementation write JSON directly, let them emit
objects to a store-writer. This allows for more powerful and centralized
post-processing of the data and avoids code-duplication by moving all logic of
how to write out the data to the core. Also, this had a couple of nice side
effects and allowed for further simplication:

 - The TIMESERIES command is now handled by the front-end (based on a FETCH of
   the respective metric data); query plugin no longer have to implement this.

 - All protocol specific information is now handled by the frontend; query
   plugins no longer have to handle this (response-type).

 - Further separation of the memory-store and generic store code.

8 years agoMove the timeseries serialize to the timeseries module.
Sebastian Harl [Tue, 6 Oct 2015 19:34:25 +0000 (21:34 +0200)]
Move the timeseries serialize to the timeseries module.

8 years agostore: Don't report an error if a missing writer callback isn't used.
Sebastian Harl [Tue, 6 Oct 2015 18:01:27 +0000 (20:01 +0200)]
store: Don't report an error if a missing writer callback isn't used.

That is, allow to emit store objects to an incomplete writer as long as all
required callbacks are present.

8 years agostore: Use the JSON writer when querying the in-memory store.
Sebastian Harl [Wed, 30 Sep 2015 20:10:25 +0000 (22:10 +0200)]
store: Use the JSON writer when querying the in-memory store.

That is, instead of writing to a JSON formatter directly, access it through
it's writer API. This will allow for more flexible store access.

8 years agostore_json: Base the memstore emitter on the store-writer API.
Sebastian Harl [Wed, 30 Sep 2015 09:18:22 +0000 (11:18 +0200)]
store_json: Base the memstore emitter on the store-writer API.

8 years agostore_json: Let the formatter implement the store-writer interface.
Sebastian Harl [Wed, 30 Sep 2015 09:17:07 +0000 (11:17 +0200)]
store_json: Let the formatter implement the store-writer interface.

8 years agoRead-only store types: const char ** → const char * const *.
Sebastian Harl [Wed, 30 Sep 2015 09:14:46 +0000 (11:14 +0200)]
Read-only store types: const char ** → const char * const *.

This makes it truely read-only.

8 years agostore_json: Remove any memstore-specific code.
Sebastian Harl [Mon, 28 Sep 2015 20:15:41 +0000 (22:15 +0200)]
store_json: Remove any memstore-specific code.

This will allow to further separate the JSON code from the memstore

8 years agostore_json: Fix parent/child detection.
Sebastian Harl [Mon, 28 Sep 2015 20:07:08 +0000 (22:07 +0200)]
store_json: Fix parent/child detection.

Rewinding the formatter state has to happen any time we see a parent object of
the current object. This happens every time the current context isn't HOST
(hosts don't have any parents) or the new object is an ATTRIBUTE (which are
always children of whatever other object type).

This broke in 3603db13105aefac4d6ceb356bcfd118a92fa654.

8 years agostore_json: Split sdb_store_json_emit into private functions.
Sebastian Harl [Mon, 28 Sep 2015 08:06:33 +0000 (10:06 +0200)]
store_json: Split sdb_store_json_emit into private functions.

The public function will only handle memstore specific logic.

8 years agostore_json: Moved special casing of parent objects into the caller.
Sebastian Harl [Mon, 28 Sep 2015 07:54:15 +0000 (09:54 +0200)]
store_json: Moved special casing of parent objects into the caller.

This makes the JSON module more generic by removing a special case of the
memory store. The caller may now emit arbitrary objects and the formatter will
do the right thing as long as parent-child relationships are right.

8 years agostore, plugin: Let the plugin module determine an objects backends.
Sebastian Harl [Thu, 24 Sep 2015 18:49:55 +0000 (20:49 +0200)]
store, plugin: Let the plugin module determine an objects backends.

The store writer plugins are only expected to record the provided backend
(after merging it with existing entries).

8 years agostore: Further abstract internal handling of new objects.
Sebastian Harl [Thu, 24 Sep 2015 07:38:26 +0000 (09:38 +0200)]
store: Further abstract internal handling of new objects.

Add a new type representing a to-be-stored object to simplify storing new

8 years agostore: Simplified store-attribute callback.
Sebastian Harl [Wed, 23 Sep 2015 19:49:38 +0000 (21:49 +0200)]
store: Simplified store-attribute callback.

There's no need anymore to split this across multiple functions. It's easier
to follow if the code is in one place.

8 years agostore: Add separate store-object types for the store writer API.
Sebastian Harl [Tue, 22 Sep 2015 08:09:24 +0000 (10:09 +0200)]
store: Add separate store-object types for the store writer API.

The argument list of some of the callbacks has already gotten kinda long and
we'll want to add more (backends, etc.). Introduce new types which provide all
meta-data of the respective store types.

Also, only use a single callback to store all kinds of attributes, similar to
how it was already done in the "proto" module.

8 years agostore: Dropped sdb_ prefix from private store types.
Sebastian Harl [Thu, 17 Sep 2015 07:20:15 +0000 (09:20 +0200)]
store: Dropped sdb_ prefix from private store types.

8 years agostore.h: Updated some documentation comments.
Sebastian Harl [Wed, 16 Sep 2015 19:46:18 +0000 (21:46 +0200)]
store.h: Updated some documentation comments.

A store instance isn't synonym to "the database" anymore.

8 years agoplugin, store: Add service/metric "hostname" attributes centrally.
Sebastian Harl [Wed, 16 Sep 2015 19:33:05 +0000 (21:33 +0200)]
plugin, store: Add service/metric "hostname" attributes centrally.

That is, let the respective sdb_plugin_store* functions do that instead of
requiring each store implementation to do so.

8 years agofrontend/query_test: Test some weird, special cases.
Sebastian Harl [Thu, 3 Sep 2015 08:05:38 +0000 (10:05 +0200)]
frontend/query_test: Test some weird, special cases.

8 years agostore: Fix execution of more complex iterators.
Sebastian Harl [Wed, 2 Sep 2015 22:40:39 +0000 (00:40 +0200)]
store: Fix execution of more complex iterators.

That is, follow "indirections" of typed expressions if the iterator is not on
the top-most level.

8 years agoRemove unused sdb_store_expr_iterable().
Sebastian Harl [Wed, 2 Sep 2015 22:13:25 +0000 (00:13 +0200)]
Remove unused sdb_store_expr_iterable().

8 years agoAllow and implement iterating arbitrary (non-constant) array values.
Sebastian Harl [Wed, 2 Sep 2015 21:49:20 +0000 (23:49 +0200)]
Allow and implement iterating arbitrary (non-constant) array values.

That is, iterators may now work with arithmetic expressions that evaluate to
an array.

8 years agoanalyzer: Support more flexible iterator expressions.
Sebastian Harl [Mon, 31 Aug 2015 20:50:20 +0000 (22:50 +0200)]
analyzer: Support more flexible iterator expressions.

In particular, more complex typed expressions may now include an iterator on a
lower level, like `LOOKUP services MATCHING ANY host.backend =~ 'foo'`. This
is done by adding more information to the analyzer context and pushing it down
to child nodes in the AST if necessary.

As a nice side-effect, the iterator analyzer does not longer have to know
about the specific type of its child node.

8 years agoanalyzer: Fixed some error messages.
Sebastian Harl [Mon, 31 Aug 2015 20:28:28 +0000 (22:28 +0200)]
analyzer: Fixed some error messages.

8 years agoparser: Require a context for each parser operation.
Sebastian Harl [Mon, 31 Aug 2015 20:08:45 +0000 (22:08 +0200)]
parser: Require a context for each parser operation.

That is, let the caller provide the execution context (object type) when
parsing incomplete commands (conditionals / arithmetic expressions). This
removes the need to call the analyzer again and avoids some special code in
the analyzer.

8 years agoLet the front-end handle STORE commands.
Sebastian Harl [Mon, 24 Aug 2015 19:16:06 +0000 (21:16 +0200)]
Let the front-end handle STORE commands.

… rather than requiring each reader plugin to do so which doesn't make any
sense at all.

8 years agot/integration/ Add integration tests for the STORE command.
Sebastian Harl [Mon, 24 Aug 2015 19:15:28 +0000 (21:15 +0200)]
t/integration/ Add integration tests for the STORE command.

8 years agostore: Do not canonicalize the hostname when fetching a timeseries.
Sebastian Harl [Thu, 13 Aug 2015 17:02:14 +0000 (19:02 +0200)]
store: Do not canonicalize the hostname when fetching a timeseries.

This decision should be made on a higher level.

8 years agofrontend: Connection-specific functions now use the sdb_conn_ prefix.
Sebastian Harl [Thu, 13 Aug 2015 16:55:34 +0000 (18:55 +0200)]
frontend: Connection-specific functions now use the sdb_conn_ prefix.

… instead of sdb_fe_.

8 years agofrontend/connection.h: Removed sdb_fe_parse, it has been dropped.
Sebastian Harl [Thu, 13 Aug 2015 07:04:51 +0000 (09:04 +0200)]
frontend/connection.h: Removed sdb_fe_parse, it has been dropped.

8 years agostore: Removed obsolete TODO note.
Sebastian Harl [Thu, 13 Aug 2015 06:52:34 +0000 (08:52 +0200)]
store: Removed obsolete TODO note.

8 years agoplugin, store: Handle hostname canonicalization in the plugin module.
Sebastian Harl [Wed, 12 Aug 2015 19:55:41 +0000 (21:55 +0200)]
plugin, store: Handle hostname canonicalization in the plugin module.

This is a high-level functionality. Each store implementation should not have
to worry about it.

8 years agosysdb(7): Briefly mention the object store.
Sebastian Harl [Mon, 10 Aug 2015 07:44:23 +0000 (09:44 +0200)]
sysdb(7): Briefly mention the object store.

8 years agosysdbd-store-memory(5): Added a manpage for store::memory.
Sebastian Harl [Mon, 10 Aug 2015 07:36:50 +0000 (09:36 +0200)]
sysdbd-store-memory(5): Added a manpage for store::memory.

8 years agostore::memory: Add a plugin providing an in-memory store.
Sebastian Harl [Sun, 9 Aug 2015 22:19:28 +0000 (00:19 +0200)]
store::memory: Add a plugin providing an in-memory store.

This plugin replaces the default, built-in store. It is a simple wrapper
around the built-in store implementation and, thus, provides exactly the same
functionality but wrapped into a plugin.

8 years agot/Makefile: Drop unused, old frontend/parser_test.
Sebastian Harl [Sun, 9 Aug 2015 21:55:23 +0000 (23:55 +0200)]
t/Makefile: Drop unused, old frontend/parser_test.

8 years agoplugin: Report an error when writing to the store with no writers.
Sebastian Harl [Sat, 8 Aug 2015 07:57:48 +0000 (09:57 +0200)]
plugin: Report an error when writing to the store with no writers.

8 years agostore: Drop the global (default) store.
Sebastian Harl [Sat, 8 Aug 2015 07:34:56 +0000 (09:34 +0200)]
store: Drop the global (default) store.

Instead, register a store from sysdbd and make sure to re-register it on
reconfigure. Previously, the store plugin would have been dropped in that

8 years agostore: All store functions now accept a store object.
Sebastian Harl [Fri, 7 Aug 2015 16:26:51 +0000 (18:26 +0200)]
store: All store functions now accept a store object.

That is, instead of operating on a global, shared instance.