index 6be3c144e37f3cc2466f1ffa840a408c4e12a0ce..461c583396583d87793809875659cac6ff02a941 100644 (file)
# include "config.h"
#endif
# include "config.h"
#endif
-#include "core/plugin.h"
+#include "core/memstore.h"
#include "core/store.h"
#include "testutils.h"
#include "core/store.h"
#include "testutils.h"
#undef SDB_INTERVAL_SECOND
#define SDB_INTERVAL_SECOND 1000000000L
#undef SDB_INTERVAL_SECOND
#define SDB_INTERVAL_SECOND 1000000000L
+static sdb_memstore_t *store;
+
static void
populate(void)
{
sdb_data_t datum;
static void
populate(void)
{
sdb_data_t datum;
- sdb_store_init();
+ store = sdb_memstore_create();
+ ck_assert(store != NULL);
- sdb_plugin_store_host("h1", 1 * SDB_INTERVAL_SECOND);
- sdb_plugin_store_host("h2", 3 * SDB_INTERVAL_SECOND);
+ sdb_memstore_host(store, "h1", 1 * SDB_INTERVAL_SECOND);
+ sdb_memstore_host(store, "h2", 3 * SDB_INTERVAL_SECOND);
datum.type = SDB_TYPE_STRING;
datum.data.string = "v1";
datum.type = SDB_TYPE_STRING;
datum.data.string = "v1";
- sdb_plugin_store_attribute("h1", "k1", &datum, 1 * SDB_INTERVAL_SECOND);
+ sdb_memstore_attribute(store, "h1", "k1", &datum, 1 * SDB_INTERVAL_SECOND);
datum.data.string = "v2";
datum.data.string = "v2";
- sdb_plugin_store_attribute("h1", "k2", &datum, 2 * SDB_INTERVAL_SECOND);
+ sdb_memstore_attribute(store, "h1", "k2", &datum, 2 * SDB_INTERVAL_SECOND);
datum.data.string = "v3";
datum.data.string = "v3";
- sdb_plugin_store_attribute("h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND);
+ sdb_memstore_attribute(store, "h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND);
/* make sure that older updates don't overwrite existing values */
datum.data.string = "fail";
/* make sure that older updates don't overwrite existing values */
datum.data.string = "fail";
- sdb_plugin_store_attribute("h1", "k2", &datum, 1 * SDB_INTERVAL_SECOND);
- sdb_plugin_store_attribute("h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND);
+ sdb_memstore_attribute(store, "h1", "k2", &datum, 1 * SDB_INTERVAL_SECOND);
+ sdb_memstore_attribute(store, "h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND);
- sdb_plugin_store_metric("h1", "m1", /* store */ NULL, 2 * SDB_INTERVAL_SECOND);
- sdb_plugin_store_metric("h1", "m2", /* store */ NULL, 1 * SDB_INTERVAL_SECOND);
- sdb_plugin_store_metric("h2", "m1", /* store */ NULL, 1 * SDB_INTERVAL_SECOND);
+ sdb_memstore_metric(store, "h1", "m1", /* store */ NULL, 2 * SDB_INTERVAL_SECOND);
+ sdb_memstore_metric(store, "h1", "m2", /* store */ NULL, 1 * SDB_INTERVAL_SECOND);
+ sdb_memstore_metric(store, "h2", "m1", /* store */ NULL, 1 * SDB_INTERVAL_SECOND);
- sdb_plugin_store_service("h2", "s1", 1 * SDB_INTERVAL_SECOND);
- sdb_plugin_store_service("h2", "s2", 2 * SDB_INTERVAL_SECOND);
+ sdb_memstore_service(store, "h2", "s1", 1 * SDB_INTERVAL_SECOND);
+ sdb_memstore_service(store, "h2", "s2", 2 * SDB_INTERVAL_SECOND);
datum.type = SDB_TYPE_INTEGER;
datum.data.integer = 42;
datum.type = SDB_TYPE_INTEGER;
datum.data.integer = 42;
- sdb_plugin_store_metric_attribute("h1", "m1", "k3",
+ sdb_memstore_metric_attr(store, "h1", "m1", "k3",
&datum, 2 * SDB_INTERVAL_SECOND);
datum.data.integer = 123;
&datum, 2 * SDB_INTERVAL_SECOND);
datum.data.integer = 123;
- sdb_plugin_store_service_attribute("h2", "s2", "k1",
+ sdb_memstore_service_attr(store, "h2", "s2", "k1",
&datum, 2 * SDB_INTERVAL_SECOND);
datum.data.integer = 4711;
&datum, 2 * SDB_INTERVAL_SECOND);
datum.data.integer = 4711;
- sdb_plugin_store_service_attribute("h2", "s2", "k2",
+ sdb_memstore_service_attr(store, "h2", "s2", "k2",
&datum, 1 * SDB_INTERVAL_SECOND);
/* don't overwrite k1 */
datum.data.integer = 666;
&datum, 1 * SDB_INTERVAL_SECOND);
/* don't overwrite k1 */
datum.data.integer = 666;
- sdb_plugin_store_service_attribute("h2", "s2", "k1",
+ sdb_memstore_service_attr(store, "h2", "s2", "k1",
&datum, 2 * SDB_INTERVAL_SECOND);
} /* populate */
&datum, 2 * SDB_INTERVAL_SECOND);
} /* populate */
+static void
+turndown(void)
+{
+ sdb_object_deref(SDB_OBJ(store));
+ store = NULL;
+} /* turndown */
+
static int
static int
-scan_tojson(sdb_store_obj_t *obj,
- sdb_store_matcher_t __attribute__((unused)) *filter,
+scan_tojson(sdb_memstore_obj_t *obj,
+ sdb_memstore_matcher_t __attribute__((unused)) *filter,
void *user_data)
{
void *user_data)
{
- sdb_store_json_formatter_t *f = user_data;
- return sdb_store_json_emit(f, obj);
+ return sdb_memstore_emit(obj, &sdb_store_json_writer, user_data);
} /* scan_tojson */
static int
} /* scan_tojson */
static int
-scan_tojson_full(sdb_store_obj_t *obj, sdb_store_matcher_t *filter,
+scan_tojson_full(sdb_memstore_obj_t *obj, sdb_memstore_matcher_t *filter,
void *user_data)
{
void *user_data)
{
- sdb_store_json_formatter_t *f = user_data;
- return sdb_store_json_emit_full(f, obj, filter);
+ return sdb_memstore_emit_full(obj, filter, &sdb_store_json_writer, user_data);
} /* scan_tojson_full */
static void
} /* scan_tojson_full */
static void
struct {
struct {
struct {
struct {
- sdb_store_matcher_t *(*m)(sdb_store_expr_t *, sdb_store_expr_t *);
+ sdb_memstore_matcher_t *(*m)(sdb_memstore_expr_t *, sdb_memstore_expr_t *);
int field;
sdb_data_t value;
} filter;
int type;
int field;
sdb_data_t value;
} filter;
int type;
- int (*f)(sdb_store_obj_t *, sdb_store_matcher_t *, void *);
+ int (*f)(sdb_memstore_obj_t *, sdb_memstore_matcher_t *, void *);
const char *expected;
} store_tojson_data[] = {
{ { NULL, 0, SDB_DATA_INIT },
const char *expected;
} store_tojson_data[] = {
{ { NULL, 0, SDB_DATA_INIT },
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h1\", "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
"{\"name\": \"k3\", \"value\": 42, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"{\"name\": \"k3\", \"value\": 42, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"{\"name\": \"m2\", "
"\"timeseries\": false, "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
"{\"name\": \"m2\", "
"\"timeseries\": false, "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h1\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]},"
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"]},"
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"{\"name\": \"m1\", "
"\"timeseries\": false, "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
"{\"name\": \"m1\", "
"\"timeseries\": false, "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "\"update_interval\": \"0s\", \"backends\": []}"
"], "
"\"services\": ["
"{\"name\": \"s1\", "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
"], "
"\"services\": ["
"{\"name\": \"s1\", "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]},"
+ "\"update_interval\": \"0s\", \"backends\": []},"
"{\"name\": \"s2\", "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
"{\"name\": \"s2\", "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
"{\"name\": \"k1\", \"value\": 123, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []},"
"{\"name\": \"k1\", \"value\": 123, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []},"
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]" },
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]" },
- { { sdb_store_eq_matcher, SDB_FIELD_NAME,
+ { { sdb_memstore_eq_matcher, SDB_FIELD_NAME,
{ SDB_TYPE_STRING, { .string = "h1" } } },
SDB_HOST, scan_tojson_full,
"["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]" },
{ SDB_TYPE_STRING, { .string = "h1" } } },
SDB_HOST, scan_tojson_full,
"["
"{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]" },
- { { sdb_store_gt_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_gt_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_HOST, scan_tojson_full,
"["
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_HOST, scan_tojson_full,
"["
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
"{\"name\": \"k1\", \"value\": 123, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]}"
"]}"
"]" },
"{\"name\": \"k1\", \"value\": 123, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]}"
"]}"
"]" },
- { { sdb_store_le_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_le_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_HOST, scan_tojson_full,
"["
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_HOST, scan_tojson_full,
"["
"{\"name\": \"m2\", "
"\"timeseries\": false, "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
"{\"name\": \"m2\", "
"\"timeseries\": false, "
"\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h1\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]}"
"]" },
"]}"
"]" },
- { { sdb_store_ge_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_ge_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 3 * SDB_INTERVAL_SECOND } } },
SDB_HOST, scan_tojson_full,
"["
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]" },
{ SDB_TYPE_DATETIME, { .datetime = 3 * SDB_INTERVAL_SECOND } } },
SDB_HOST, scan_tojson_full,
"["
"{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
"\"update_interval\": \"0s\", \"backends\": []}"
"]" },
- { { sdb_store_lt_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_lt_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 0 } } },
SDB_HOST, scan_tojson_full,
"[]" },
{ SDB_TYPE_DATETIME, { .datetime = 0 } } },
SDB_HOST, scan_tojson_full,
"[]" },
{ { NULL, 0, SDB_DATA_INIT },
SDB_SERVICE, scan_tojson_full,
"["
{ { NULL, 0, SDB_DATA_INIT },
SDB_SERVICE, scan_tojson_full,
"["
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
+ "{\"name\": \"s1\", "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []},"
+ "{\"name\": \"s2\", "
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"update_interval\": \"0s\", \"backends\": [], "
- "\"services\": ["
- "{\"name\": \"s1\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]},"
- "{\"name\": \"s2\", "
+ "\"attributes\": ["
+ "{\"name\": \"k1\", \"value\": 123, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
- "{\"name\": \"k1\", \"value\": 123, "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
- "{\"name\": \"k2\", \"value\": 4711, "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "\"update_interval\": \"0s\", \"backends\": []},"
+ "{\"name\": \"k2\", \"value\": 4711, "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]}"
"]" },
{ { NULL, 0, SDB_DATA_INIT },
SDB_SERVICE, scan_tojson,
"["
"]}"
"]" },
{ { NULL, 0, SDB_DATA_INIT },
SDB_SERVICE, scan_tojson,
"["
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"services\": ["
- "{\"name\": \"s1\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
- "{\"name\": \"s2\", "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "{\"name\": \"s1\", "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []},"
+ "{\"name\": \"s2\", "
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]" },
"]" },
- { { sdb_store_gt_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_gt_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_SERVICE, scan_tojson_full,
"["
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_SERVICE, scan_tojson_full,
"["
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
+ "{\"name\": \"s2\", "
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"update_interval\": \"0s\", \"backends\": [], "
- "\"services\": ["
- "{\"name\": \"s2\", "
+ "\"attributes\": ["
+ "{\"name\": \"k1\", \"value\": 123, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
- "{\"name\": \"k1\", \"value\": 123, "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]}"
"]" },
"]}"
"]" },
- { { sdb_store_lt_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_lt_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 0 } } },
SDB_SERVICE, scan_tojson_full,
"[]" },
{ { NULL, 0, SDB_DATA_INIT },
SDB_METRIC, scan_tojson_full,
"["
{ SDB_TYPE_DATETIME, { .datetime = 0 } } },
SDB_SERVICE, scan_tojson_full,
"[]" },
{ { NULL, 0, SDB_DATA_INIT },
SDB_METRIC, scan_tojson_full,
"["
- "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "{\"name\": \"m1\", "
+ "\"timeseries\": false, "
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"update_interval\": \"0s\", \"backends\": [], "
"\"update_interval\": \"0s\", \"backends\": [], "
- "\"metrics\": ["
- "{\"name\": \"m1\", "
- "\"timeseries\": false, "
+ "\"attributes\": ["
+ "{\"name\": \"k3\", \"value\": 42, "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
"\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h1\", "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
- "{\"name\": \"k3\", \"value\": 42, "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]},"
- "{\"name\": \"m2\", "
- "\"timeseries\": false, "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h1\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]},"
"]},"
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"metrics\": ["
- "{\"name\": \"m1\", "
- "\"timeseries\": false, "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h2\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
- "]}"
+ "{\"name\": \"m2\", "
+ "\"timeseries\": false, "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []},"
+ "{\"name\": \"m1\", "
+ "\"timeseries\": false, "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]" },
{ { NULL, 0, SDB_DATA_INIT },
SDB_METRIC, scan_tojson,
"["
"]" },
{ { NULL, 0, SDB_DATA_INIT },
SDB_METRIC, scan_tojson,
"["
- "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"metrics\": ["
- "{\"name\": \"m1\", "
- "\"timeseries\": false, "
- "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []},"
- "{\"name\": \"m2\", "
- "\"timeseries\": false, "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]},"
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"metrics\": ["
- "{\"name\": \"m1\", "
- "\"timeseries\": false, "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
+ "{\"name\": \"m1\", "
+ "\"timeseries\": false, "
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []},"
+ "{\"name\": \"m2\", "
+ "\"timeseries\": false, "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []},"
+ "{\"name\": \"m1\", "
+ "\"timeseries\": false, "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]" },
"]" },
- { { sdb_store_le_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_le_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_METRIC, scan_tojson_full,
"["
{ SDB_TYPE_DATETIME, { .datetime = 1 * SDB_INTERVAL_SECOND } } },
SDB_METRIC, scan_tojson_full,
"["
- "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"metrics\": ["
- "{\"name\": \"m2\", "
- "\"timeseries\": false, "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": [], "
- "\"attributes\": ["
- "{\"name\": \"hostname\", \"value\": \"h1\", "
- "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
- "\"update_interval\": \"0s\", \"backends\": []}"
- "]}"
- "]}"
+ "{\"name\": \"m2\", "
+ "\"timeseries\": false, "
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", "
+ "\"update_interval\": \"0s\", \"backends\": []}"
"]" },
"]" },
- { { sdb_store_lt_matcher, SDB_FIELD_LAST_UPDATE,
+ { { sdb_memstore_lt_matcher, SDB_FIELD_LAST_UPDATE,
{ SDB_TYPE_DATETIME, { .datetime = 0 } } },
SDB_METRIC, scan_tojson_full,
"[]" },
{ SDB_TYPE_DATETIME, { .datetime = 0 } } },
SDB_METRIC, scan_tojson_full,
"[]" },
START_TEST(test_store_tojson)
{
sdb_strbuf_t *buf = sdb_strbuf_create(0);
START_TEST(test_store_tojson)
{
sdb_strbuf_t *buf = sdb_strbuf_create(0);
- sdb_store_matcher_t *filter = NULL;
+ sdb_memstore_matcher_t *filter = NULL;
sdb_store_json_formatter_t *f;
int status;
if (store_tojson_data[_i].filter.m) {
sdb_store_json_formatter_t *f;
int status;
if (store_tojson_data[_i].filter.m) {
- sdb_store_expr_t *field;
- sdb_store_expr_t *value;
+ sdb_memstore_expr_t *field;
+ sdb_memstore_expr_t *value;
- field = sdb_store_expr_fieldvalue(store_tojson_data[_i].filter.field);
+ field = sdb_memstore_expr_fieldvalue(store_tojson_data[_i].filter.field);
fail_unless(field != NULL,
fail_unless(field != NULL,
- "INTERNAL ERROR: sdb_store_expr_fieldvalue() = NULL");
- value = sdb_store_expr_constvalue(&store_tojson_data[_i].filter.value);
+ "INTERNAL ERROR: sdb_memstore_expr_fieldvalue() = NULL");
+ value = sdb_memstore_expr_constvalue(&store_tojson_data[_i].filter.value);
fail_unless(value != NULL,
fail_unless(value != NULL,
- "INTERNAL ERROR: sdb_store_expr_constvalue() = NULL");
+ "INTERNAL ERROR: sdb_memstore_expr_constvalue() = NULL");
filter = store_tojson_data[_i].filter.m(field, value);
fail_unless(filter != NULL,
filter = store_tojson_data[_i].filter.m(field, value);
fail_unless(filter != NULL,
- "INTERNAL ERROR: sdb_store_*_matcher() = NULL");
+ "INTERNAL ERROR: sdb_memstore_*_matcher() = NULL");
sdb_object_deref(SDB_OBJ(field));
sdb_object_deref(SDB_OBJ(value));
}
sdb_strbuf_clear(buf);
sdb_object_deref(SDB_OBJ(field));
sdb_object_deref(SDB_OBJ(value));
}
sdb_strbuf_clear(buf);
- f = sdb_store_json_formatter(buf,
- store_tojson_data[_i].type, SDB_WANT_ARRAY);
+ f = sdb_store_json_formatter(buf, store_tojson_data[_i].type, SDB_WANT_ARRAY);
ck_assert(f != NULL);
ck_assert(f != NULL);
- status = sdb_store_scan(store_tojson_data[_i].type,
+ status = sdb_memstore_scan(store, store_tojson_data[_i].type,
/* m = */ NULL, filter, store_tojson_data[_i].f, f);
fail_unless(status == 0,
/* m = */ NULL, filter, store_tojson_data[_i].f, f);
fail_unless(status == 0,
- "sdb_store_scan(HOST, ..., tojson) = %d; expected: 0",
+ "sdb_memstore_scan(HOST, ..., tojson) = %d; expected: 0",
status);
sdb_store_json_finish(f);
status);
sdb_store_json_finish(f);
TEST_MAIN("core::store_json")
{
TCase *tc = tcase_create("core");
TEST_MAIN("core::store_json")
{
TCase *tc = tcase_create("core");
+ tcase_add_unchecked_fixture(tc, populate, turndown);
TC_ADD_LOOP_TEST(tc, store_tojson);
TC_ADD_LOOP_TEST(tc, store_tojson);
- tcase_add_unchecked_fixture(tc, populate, sdb_store_clear);
ADD_TCASE(tc);
}
TEST_MAIN_END
ADD_TCASE(tc);
}
TEST_MAIN_END