index a90b00f915f1b302fd03c5e3242f4acc5e9a2cb4..e81bb5841e4fe28f31431367fc068fb5af351067 100644 (file)
# include "config.h"
#endif
# include "config.h"
#endif
+#include "core/memstore.h"
+#include "core/plugin.h"
#include "frontend/connection.h"
#include "frontend/connection.h"
-#include "frontend/parser.h"
#include "frontend/connection-private.h"
#include "testutils.h"
#include "frontend/connection-private.h"
#include "testutils.h"
static void
populate(void)
{
static void
populate(void)
{
+ sdb_memstore_t *store;
sdb_data_t datum;
sdb_data_t datum;
- sdb_store_host("h1", 1);
- sdb_store_host("h2", 3);
+ /* the frontend accesses the store via the plugin API */
+ store = sdb_memstore_create();
+ ck_assert(store != NULL);
+ ck_assert(sdb_plugin_register_writer("test-writer",
+ &sdb_memstore_writer, SDB_OBJ(store)) == 0);
+ ck_assert(sdb_plugin_register_reader("test-reader",
+ &sdb_memstore_reader, SDB_OBJ(store)) == 0);
+ sdb_object_deref(SDB_OBJ(store));
+
+ /* populate the store */
+ sdb_plugin_store_host("h1", 1 * SDB_INTERVAL_SECOND);
+ sdb_plugin_store_host("h2", 3 * SDB_INTERVAL_SECOND);
datum.type = SDB_TYPE_STRING;
datum.data.string = "v1";
datum.type = SDB_TYPE_STRING;
datum.data.string = "v1";
- sdb_store_attribute("h1", "k1", &datum, 1);
+ sdb_plugin_store_attribute("h1", "k1", &datum, 1 * SDB_INTERVAL_SECOND);
datum.data.string = "v2";
datum.data.string = "v2";
- sdb_store_attribute("h1", "k2", &datum, 2);
+ sdb_plugin_store_attribute("h1", "k2", &datum, 2 * SDB_INTERVAL_SECOND);
datum.data.string = "v3";
datum.data.string = "v3";
- sdb_store_attribute("h1", "k3", &datum, 2);
+ sdb_plugin_store_attribute("h1", "k3", &datum, 2 * SDB_INTERVAL_SECOND);
- sdb_store_metric("h1", "m1", /* store */ NULL, 2);
- sdb_store_metric("h1", "m2", /* store */ NULL, 1);
- sdb_store_metric("h2", "m1", /* store */ NULL, 1);
+ 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, 5 * SDB_INTERVAL_SECOND);
+ sdb_plugin_store_metric("h2", "m1", /* store */ NULL, 10 * SDB_INTERVAL_SECOND);
datum.type = SDB_TYPE_INTEGER;
datum.data.integer = 42;
datum.type = SDB_TYPE_INTEGER;
datum.data.integer = 42;
- sdb_store_metric_attr("h1", "m1", "k3", &datum, 2);
+ sdb_plugin_store_metric_attribute("h1", "m1", "k3",
+ &datum, 2 * SDB_INTERVAL_SECOND);
- sdb_store_service("h2", "s1", 1);
- sdb_store_service("h2", "s2", 2);
+ sdb_plugin_store_service("h2", "s1", 1 * SDB_INTERVAL_SECOND);
+ sdb_plugin_store_service("h2", "s2", 2 * SDB_INTERVAL_SECOND);
datum.data.integer = 123;
datum.data.integer = 123;
- sdb_store_service_attr("h2", "s2", "k1", &datum, 2);
+ sdb_plugin_store_service_attribute("h2", "s2", "k1",
+ &datum, 2 * SDB_INTERVAL_SECOND);
datum.data.integer = 4711;
datum.data.integer = 4711;
- sdb_store_service_attr("h2", "s2", "k2", &datum, 1);
+ sdb_plugin_store_service_attribute("h2", "s2", "k2",
+ &datum, 1 * SDB_INTERVAL_SECOND);
} /* populate */
} /* populate */
+static void
+turndown(void)
+{
+ sdb_plugin_unregister_all();
+} /* turndown */
+
#define HOST_H1 \
#define HOST_H1 \
- "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"k1\", \"value\": \"v1\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"k1\", \"value\": \"v1\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k2\", \"value\": \"v2\", " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k2\", \"value\": \"v2\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k3\", \"value\": \"v3\", " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k3\", \"value\": \"v3\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
"\"update_interval\": \"0s\", \"backends\": []}], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h1\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h1\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k3\", \"value\": 42, " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k3\", \"value\": 42, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}]}," \
"{\"name\": \"m2\", \"timeseries\": false, " \
"\"update_interval\": \"0s\", \"backends\": []}]}," \
"{\"name\": \"m2\", \"timeseries\": false, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h1\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h1\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", " \
+ "\"update_interval\": \"0s\", \"backends\": []}]}]}"
+#define HOST_H2 \
+ "{\"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:10 +0000\", " \
+ "\"update_interval\": \"5s\", \"backends\": [], " \
+ "\"attributes\": [" \
+ "{\"name\": \"hostname\", \"value\": \"h2\", " \
+ "\"last_update\": \"1970-01-01 00:00:10 +0000\", " \
+ "\"update_interval\": \"5s\", \"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\", \"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\": []}]}]}"
#define HOST_H1_ARRAY "["HOST_H1"]"
"\"update_interval\": \"0s\", \"backends\": []}]}]}"
#define HOST_H1_ARRAY "["HOST_H1"]"
+#define HOST_H12_ARRAY "["HOST_H1","HOST_H2"]"
#define HOST_H1_LISTING \
#define HOST_H1_LISTING \
- "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}"
#define HOST_H2_LISTING \
"\"update_interval\": \"0s\", \"backends\": []}"
#define HOST_H2_LISTING \
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}"
#define SERVICE_H2_S1 \
"\"update_interval\": \"0s\", \"backends\": []}"
#define SERVICE_H2_S1 \
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"services\": [" \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"services\": [" \
- "{\"name\": \"s1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "{\"name\": \"s1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h2\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h2\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:01 +0000\", " \
+ "\"update_interval\": \"0s\", \"backends\": []}]}]}"
+#define SERVICE_H2_S12 \
+ "{\"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\": [], " \
+ "\"attributes\": [" \
+ "{\"name\": \"hostname\", \"value\": \"h2\", " \
+ "\"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\": [], " \
+ "\"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\": []}]}]}"
#define SERVICE_H2_S1_ARRAY "["SERVICE_H2_S1"]"
#define SERVICE_H2_S12_LISTING \
"\"update_interval\": \"0s\", \"backends\": []}]}]}"
#define SERVICE_H2_S1_ARRAY "["SERVICE_H2_S1"]"
#define SERVICE_H2_S12_LISTING \
- "[{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "[{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"services\": [" \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"services\": [" \
- "{\"name\": \"s1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "{\"name\": \"s1\", \"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:00 +0000\", " \
+ "{\"name\": \"s2\", \"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}]}]"
#define METRIC_H1_M1 \
"\"update_interval\": \"0s\", \"backends\": []}]}]"
#define METRIC_H1_M1 \
- "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h1\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h1\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k3\", \"value\": 42, " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"k3\", \"value\": 42, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}]}]}"
"\"update_interval\": \"0s\", \"backends\": []}]}]}"
-#define METRIC_H12_M1_ARRAY \
- "["METRIC_H1_M1"," \
- "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+#define METRIC_H2_M1 \
+ "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
- "\"update_interval\": \"0s\", \"backends\": [], " \
+ "\"last_update\": \"1970-01-01 00:00:10 +0000\", " \
+ "\"update_interval\": \"5s\", \"backends\": [], " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h2\", " \
"\"attributes\": [" \
"{\"name\": \"hostname\", \"value\": \"h2\", " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
- "\"update_interval\": \"0s\", \"backends\": []}]}]}]"
+ "\"last_update\": \"1970-01-01 00:00:10 +0000\", " \
+ "\"update_interval\": \"5s\", \"backends\": []}]}]}"
+#define METRIC_H12_M1_ARRAY \
+ "["METRIC_H1_M1","METRIC_H2_M1"]"
#define METRIC_H12_M12_LISTING \
#define METRIC_H12_M12_LISTING \
- "[{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "[{\"name\": \"h1\", \"last_update\": \"1970-01-01 00:00:01 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"last_update\": \"1970-01-01 00:00:02 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"m2\", \"timeseries\": false, " \
"\"update_interval\": \"0s\", \"backends\": []}," \
"{\"name\": \"m2\", \"timeseries\": false, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
+ "\"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:00 +0000\", " \
+ "{\"name\": \"h2\", \"last_update\": \"1970-01-01 00:00:03 +0000\", " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
"\"update_interval\": \"0s\", \"backends\": [], " \
"\"metrics\": [" \
"{\"name\": \"m1\", \"timeseries\": false, " \
- "\"last_update\": \"1970-01-01 00:00:00 +0000\", " \
- "\"update_interval\": \"0s\", \"backends\": []}]}]"
+ "\"last_update\": \"1970-01-01 00:00:10 +0000\", " \
+ "\"update_interval\": \"5s\", \"backends\": []}]}]"
typedef struct {
sdb_conn_t conn;
typedef struct {
sdb_conn_t conn;
@@ -283,7 +359,7 @@ fail_if_strneq(const char *got, const char *expected, size_t n, const char *fmt,
* tests
*/
* tests
*/
-#define VALUE "\0\0\0\3""v1"
+#define VALUE "\0\0\0\4""v1"
#define VALUE_LEN 7
static struct {
#define VALUE_LEN 7
static struct {
int query_len;
int expected;
uint32_t code;
int query_len;
int expected;
uint32_t code;
- size_t len;
uint32_t type;
const char *data;
} query_data[] = {
/* hosts */
{
SDB_CONNECTION_QUERY, "LIST hosts", -1,
uint32_t type;
const char *data;
} query_data[] = {
/* hosts */
{
SDB_CONNECTION_QUERY, "LIST hosts", -1,
- 0, SDB_CONNECTION_DATA, 205, SDB_CONNECTION_LIST,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST,
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_LIST, "\0\0\0\1", 4,
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_LIST, "\0\0\0\1", 4,
- 0, SDB_CONNECTION_DATA, 205, SDB_CONNECTION_LIST,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST,
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_LIST, "", 0, /* LIST defaults to hosts */
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_LIST, "", 0, /* LIST defaults to hosts */
- 0, SDB_CONNECTION_DATA, 205, SDB_CONNECTION_LIST,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST,
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_QUERY, "LIST hosts; LIST hosts", -1, /* ignore second (and later) commands */
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_QUERY, "LIST hosts; LIST hosts", -1, /* ignore second (and later) commands */
- 0, SDB_CONNECTION_DATA, 205, SDB_CONNECTION_LIST,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST,
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_QUERY, "LIST hosts FILTER name = 'h1'", -1,
"["HOST_H1_LISTING","HOST_H2_LISTING"]",
},
{
SDB_CONNECTION_QUERY, "LIST hosts FILTER name = 'h1'", -1,
- 0, SDB_CONNECTION_DATA, 105, SDB_CONNECTION_LIST, "["HOST_H1_LISTING"]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, "["HOST_H1_LISTING"]",
},
{
SDB_CONNECTION_QUERY, "LIST hosts FILTER name = 's1'", -1,
},
{
SDB_CONNECTION_QUERY, "LIST hosts FILTER name = 's1'", -1,
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LIST, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, "[]",
},
/* SDB_CONNECTION_LIST doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH host 'h1'", -1,
},
/* SDB_CONNECTION_LIST doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH host 'h1'", -1,
- 0, SDB_CONNECTION_DATA, 1110, SDB_CONNECTION_FETCH, HOST_H1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_FETCH, HOST_H1,
},
{
SDB_CONNECTION_FETCH, "\0\0\0\1""h1", 7,
},
{
SDB_CONNECTION_FETCH, "\0\0\0\1""h1", 7,
- 0, SDB_CONNECTION_DATA, 1110, SDB_CONNECTION_FETCH, HOST_H1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_FETCH, HOST_H1,
},
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'h1'", -1,
},
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'h1'", -1,
- 0, SDB_CONNECTION_DATA, 1112, SDB_CONNECTION_LOOKUP, HOST_H1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, HOST_H1_ARRAY,
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\1""name = 'h1'", 16,
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\1""name = 'h1'", 16,
- 0, SDB_CONNECTION_DATA, 1112, SDB_CONNECTION_LOOKUP, HOST_H1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, HOST_H1_ARRAY,
},
{
SDB_CONNECTION_QUERY, "FETCH host 'h1' FILTER age >= 0s", -1, /* always matches */
},
{
SDB_CONNECTION_QUERY, "FETCH host 'h1' FILTER age >= 0s", -1, /* always matches */
- 0, SDB_CONNECTION_DATA, 1110, SDB_CONNECTION_FETCH, HOST_H1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_FETCH, HOST_H1,
},
/* SDB_CONNECTION_FETCH doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'h1' FILTER age >= 0s", -1, /* always matches */
},
/* SDB_CONNECTION_FETCH doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'h1' FILTER age >= 0s", -1, /* always matches */
- 0, SDB_CONNECTION_DATA, 1112, SDB_CONNECTION_LOOKUP, HOST_H1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, HOST_H1_ARRAY,
+ },
+ {
+ SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING ANY backend = 'b'", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
+ },
+ {
+ SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING ANY backend || 'b' = 'b'", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, HOST_H12_ARRAY,
},
{
SDB_CONNECTION_QUERY, "FETCH host 'h1' FILTER age < 0s", -1, /* never matches */
},
{
SDB_CONNECTION_QUERY, "FETCH host 'h1' FILTER age < 0s", -1, /* never matches */
- -1, UINT32_MAX, 0, 0, NULL, /* FETCH fails if the object doesn't exist */
+ -1, UINT32_MAX, 0, NULL, /* FETCH fails if the object doesn't exist */
},
/* SDB_CONNECTION_FETCH doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'h1' FILTER age < 0s", -1, /* never matches */
},
/* SDB_CONNECTION_FETCH doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'h1' FILTER age < 0s", -1, /* never matches */
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LOOKUP, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
/* SDB_CONNECTION_LOOKUP doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH host 'x1'", -1, /* does not exist */
},
/* SDB_CONNECTION_LOOKUP doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH host 'x1'", -1, /* does not exist */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_FETCH, "\0\0\0\1x1", 7,
},
{
SDB_CONNECTION_FETCH, "\0\0\0\1x1", 7,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'x1'", -1, /* does not exist */
},
{
SDB_CONNECTION_QUERY, "LOOKUP hosts MATCHING name = 'x1'", -1, /* does not exist */
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LOOKUP, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\1""name = 'x1'", 16, /* does not exist */
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\1""name = 'x1'", 16, /* does not exist */
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LOOKUP, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
{
SDB_CONNECTION_QUERY, "FETCH host 'h1'.'s1'", -1, /* invalid args */
},
{
SDB_CONNECTION_QUERY, "FETCH host 'h1'.'s1'", -1, /* invalid args */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_QUERY, "LOOKUP hosts BY name = 'x1'", -1, /* does not exist */
},
{
SDB_CONNECTION_QUERY, "LOOKUP hosts BY name = 'x1'", -1, /* does not exist */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* services */
{
SDB_CONNECTION_QUERY, "LIST services", -1,
},
/* services */
{
SDB_CONNECTION_QUERY, "LIST services", -1,
- 0, SDB_CONNECTION_DATA, 320, SDB_CONNECTION_LIST, SERVICE_H2_S12_LISTING,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, SERVICE_H2_S12_LISTING,
},
{
SDB_CONNECTION_LIST, "\0\0\0\2", 4,
},
{
SDB_CONNECTION_LIST, "\0\0\0\2", 4,
- 0, SDB_CONNECTION_DATA, 320, SDB_CONNECTION_LIST, SERVICE_H2_S12_LISTING,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, SERVICE_H2_S12_LISTING,
},
{
SDB_CONNECTION_QUERY, "LIST services FILTER host.name = 'h2'", -1,
},
{
SDB_CONNECTION_QUERY, "LIST services FILTER host.name = 'h2'", -1,
- 0, SDB_CONNECTION_DATA, 320, SDB_CONNECTION_LIST, SERVICE_H2_S12_LISTING,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, SERVICE_H2_S12_LISTING,
},
{
SDB_CONNECTION_QUERY, "LIST services FILTER host.name = 'h1'", -1,
},
{
SDB_CONNECTION_QUERY, "LIST services FILTER host.name = 'h1'", -1,
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LIST, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, "[]",
},
/* SDB_CONNECTION_LIST doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1'", -1,
},
/* SDB_CONNECTION_LIST doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1'", -1,
- 0, SDB_CONNECTION_DATA, 356, SDB_CONNECTION_FETCH, SERVICE_H2_S1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_FETCH, SERVICE_H2_S1,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1'", -1,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1'", -1,
- 0, SDB_CONNECTION_DATA, 358, SDB_CONNECTION_LOOKUP, SERVICE_H2_S1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, SERVICE_H2_S1_ARRAY,
+ },
+ {
+ SDB_CONNECTION_QUERY, "LOOKUP services MATCHING host.name = 'h2'", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "["SERVICE_H2_S12"]",
+ },
+ {
+ SDB_CONNECTION_QUERY, "LOOKUP services MATCHING ANY host.metric.name = 'm1'", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "["SERVICE_H2_S12"]",
+ },
+ {
+ SDB_CONNECTION_QUERY, "LOOKUP services MATCHING ANY host.metric.last_update = 10s", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "["SERVICE_H2_S12"]",
+ },
+ {
+ /* stupid but valid ;-) */
+ SDB_CONNECTION_QUERY, "LOOKUP services MATCHING ANY host.host.metric.metric.interval = 5s", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "["SERVICE_H2_S12"]",
+ },
+ {
+ SDB_CONNECTION_QUERY, "LOOKUP services MATCHING ANY host.metric.name = 'mX'", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\2""name = 's1'", 16,
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\2""name = 's1'", 16,
- 0, SDB_CONNECTION_DATA, 358, SDB_CONNECTION_LOOKUP, SERVICE_H2_S1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, SERVICE_H2_S1_ARRAY,
},
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1' FILTER age >= 0s", -1, /* always matches */
},
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1' FILTER age >= 0s", -1, /* always matches */
- 0, SDB_CONNECTION_DATA, 356, SDB_CONNECTION_FETCH, SERVICE_H2_S1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_FETCH, SERVICE_H2_S1,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1' FILTER age >= 0s", -1, /* always matches */
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1' FILTER age >= 0s", -1, /* always matches */
- 0, SDB_CONNECTION_DATA, 358, SDB_CONNECTION_LOOKUP, SERVICE_H2_S1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, SERVICE_H2_S1_ARRAY,
},
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1' FILTER age < 0s", -1, /* never matches */
},
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1' FILTER age < 0s", -1, /* never matches */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1' FILTER age < 0s", -1, /* never matches */
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1' FILTER age < 0s", -1, /* never matches */
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LOOKUP, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
/* SDB_CONNECTION_LOOKUP doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1' FILTER name = 'h2'", -1, /* only matches host */
},
/* SDB_CONNECTION_LOOKUP doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'s1' FILTER name = 'h2'", -1, /* only matches host */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1' FILTER name = 'h2'", -1, /* only matches host */
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "LOOKUP services MATCHING name = 's1' FILTER name = 'h2'", -1, /* only matches host */
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LOOKUP, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'x1'", -1, /* does not exist */
},
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'.'x1'", -1, /* does not exist */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'x2'.'s1'", -1, /* does not exist */
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'x2'.'s1'", -1, /* does not exist */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'", -1, /* invalid args */
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
{
SDB_CONNECTION_QUERY, "FETCH service 'h2'", -1, /* invalid args */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
/* metrics */
{
SDB_CONNECTION_QUERY, "LIST metrics", -1,
},
/* SDB_CONNECTION_FETCH doesn't support services yet */
/* metrics */
{
SDB_CONNECTION_QUERY, "LIST metrics", -1,
- 0, SDB_CONNECTION_DATA, 596, SDB_CONNECTION_LIST, METRIC_H12_M12_LISTING,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, METRIC_H12_M12_LISTING,
},
{
SDB_CONNECTION_LIST, "\0\0\0\3", 4,
},
{
SDB_CONNECTION_LIST, "\0\0\0\3", 4,
- 0, SDB_CONNECTION_DATA, 596, SDB_CONNECTION_LIST, METRIC_H12_M12_LISTING,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, METRIC_H12_M12_LISTING,
},
{
SDB_CONNECTION_QUERY, "LIST metrics FILTER age > 0s", -1,
},
{
SDB_CONNECTION_QUERY, "LIST metrics FILTER age > 0s", -1,
- 0, SDB_CONNECTION_DATA, 596, SDB_CONNECTION_LIST, METRIC_H12_M12_LISTING,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, METRIC_H12_M12_LISTING,
},
{
SDB_CONNECTION_QUERY, "LIST metrics FILTER age < 0s", -1,
},
{
SDB_CONNECTION_QUERY, "LIST metrics FILTER age < 0s", -1,
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LIST, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LIST, "[]",
},
/* SDB_CONNECTION_LIST doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1'", -1,
},
/* SDB_CONNECTION_LIST doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1'", -1,
- 0, SDB_CONNECTION_DATA, 489, SDB_CONNECTION_FETCH, METRIC_H1_M1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_FETCH, METRIC_H1_M1,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1'", -1,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1'", -1,
- 0, SDB_CONNECTION_DATA, 864, SDB_CONNECTION_LOOKUP, METRIC_H12_M1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, METRIC_H12_M1_ARRAY,
+ },
+ {
+ /* stupid but valid ;-) */
+ SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING metric.metric.name = 'm1'", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, METRIC_H12_M1_ARRAY,
+ },
+ {
+ /* also stupid but valid ;-) */
+ SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING metric.metric.host.host.last_update = 3s", -1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "["METRIC_H2_M1"]",
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\3""name = 'm1'", 16,
},
{
SDB_CONNECTION_LOOKUP, "\0\0\0\3""name = 'm1'", 16,
- 0, SDB_CONNECTION_DATA, 864, SDB_CONNECTION_LOOKUP, METRIC_H12_M1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, METRIC_H12_M1_ARRAY,
},
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1' FILTER age >= 0s", -1, /* always matches */
},
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1' FILTER age >= 0s", -1, /* always matches */
- 0, SDB_CONNECTION_DATA, 489, SDB_CONNECTION_FETCH, METRIC_H1_M1,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_FETCH, METRIC_H1_M1,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1' FILTER age >= 0s", -1, /* always matches */
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1' FILTER age >= 0s", -1, /* always matches */
- 0, SDB_CONNECTION_DATA, 864, SDB_CONNECTION_LOOKUP, METRIC_H12_M1_ARRAY,
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, METRIC_H12_M1_ARRAY,
},
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1' FILTER age < 0s", -1, /* never matches */
},
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1' FILTER age < 0s", -1, /* never matches */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1' FILTER age < 0s", -1, /* never matches */
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1' FILTER age < 0s", -1, /* never matches */
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LOOKUP, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
/* SDB_CONEECTION_LOOKUP doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1' FILTER name = 'h1'", -1, /* only matches host */
},
/* SDB_CONEECTION_LOOKUP doesn't support filters yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'m1' FILTER name = 'h1'", -1, /* only matches host */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1' FILTER name = 'h1'", -1, /* only matches host */
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "LOOKUP metrics MATCHING name = 'm1' FILTER name = 'h1'", -1, /* only matches host */
- 0, SDB_CONNECTION_DATA, 6, SDB_CONNECTION_LOOKUP, "[]",
+ 0, SDB_CONNECTION_DATA, SDB_CONNECTION_LOOKUP, "[]",
},
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'x1'", -1, /* does not exist */
},
{
SDB_CONNECTION_QUERY, "FETCH metric 'h1'.'x1'", -1, /* does not exist */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'x1'.'m1'", -1, /* does not exist */
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'x1'.'m1'", -1, /* does not exist */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'x1'", -1, /* invalid args */
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
{
SDB_CONNECTION_QUERY, "FETCH metric 'x1'", -1, /* invalid args */
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
/* timeseries */
{
SDB_CONNECTION_QUERY, "TIMESERIES 'h1'.'m1'", -1,
},
/* SDB_CONNECTION_FETCH doesn't support metrics yet */
/* timeseries */
{
SDB_CONNECTION_QUERY, "TIMESERIES 'h1'.'m1'", -1,
- -1, UINT32_MAX, 0, 0, NULL, /* no data-store available */
+ -1, UINT32_MAX, 0, NULL, /* no data-store available */
},
{
SDB_CONNECTION_QUERY, "TIMESERIES 'h1'.'x1'", -1,
},
{
SDB_CONNECTION_QUERY, "TIMESERIES 'h1'.'x1'", -1,
- -1, UINT32_MAX, 0, 0, NULL, /* does not exist */
+ -1, UINT32_MAX, 0, NULL, /* does not exist */
},
{
SDB_CONNECTION_QUERY, "TIMESERIES 'x1'.'m1'", -1,
},
{
SDB_CONNECTION_QUERY, "TIMESERIES 'x1'.'m1'", -1,
- -1, UINT32_MAX, 0, 0, NULL, /* does not exist */
+ -1, UINT32_MAX, 0, NULL, /* does not exist */
},
/* store commands */
{
SDB_CONNECTION_QUERY, "STORE host 'hA' LAST UPDATE 01:00", -1,
},
/* store commands */
{
SDB_CONNECTION_QUERY, "STORE host 'hA' LAST UPDATE 01:00", -1,
- 0, SDB_CONNECTION_OK, 27, 0, "Successfully stored host hA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored host hA",
},
{
SDB_CONNECTION_STORE, "\0\0\0\1""\0\0\0\0\xd6\x93\xa4\0""hA", 15,
},
{
SDB_CONNECTION_STORE, "\0\0\0\1""\0\0\0\0\xd6\x93\xa4\0""hA", 15,
- 0, SDB_CONNECTION_OK, 27, 0, "Successfully stored host hA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored host hA",
},
{
SDB_CONNECTION_QUERY, "STORE host 'hA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE host 'hA'", -1,
- 0, SDB_CONNECTION_OK, 27, 0, "Successfully stored host hA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored host hA",
},
{
SDB_CONNECTION_QUERY, "STORE host attribute 'h1'.'aA' 'vA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE host attribute 'h1'.'aA' 'vA'", -1,
- 0, SDB_CONNECTION_OK, 40, 0, "Successfully stored host attribute h1.aA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored host attribute h1.aA",
},
{
SDB_CONNECTION_STORE, "\0\0\0\x11""\0\0\0\0\xd6\x93\xa4\0""h1\0aA\0"VALUE, 18+VALUE_LEN,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x11""\0\0\0\0\xd6\x93\xa4\0""h1\0aA\0"VALUE, 18+VALUE_LEN,
- 0, SDB_CONNECTION_OK, 40, 0, "Successfully stored host attribute h1.aA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored host attribute h1.aA",
},
{
SDB_CONNECTION_QUERY, "STORE host attribute 'x1'.'aA' 'vA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE host attribute 'x1'.'aA' 'vA'", -1,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x11""\0\0\0\0\xd6\x93\xa4\0""x1\0aA\0"VALUE, 18+VALUE_LEN,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x11""\0\0\0\0\xd6\x93\xa4\0""x1\0aA\0"VALUE, 18+VALUE_LEN,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_QUERY, "STORE service 'h1'.'sA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE service 'h1'.'sA'", -1,
- 0, SDB_CONNECTION_OK, 33, 0, "Successfully stored service h1.sA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored service h1.sA",
},
{
SDB_CONNECTION_STORE, "\0\0\0\2""\0\0\0\0\xd6\x93\xa4\0""h1\0sA", 18,
},
{
SDB_CONNECTION_STORE, "\0\0\0\2""\0\0\0\0\xd6\x93\xa4\0""h1\0sA", 18,
- 0, SDB_CONNECTION_OK, 33, 0, "Successfully stored service h1.sA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored service h1.sA",
},
{
SDB_CONNECTION_QUERY, "STORE service 'x1'.'sA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE service 'x1'.'sA'", -1,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x12""\0\0\0\0\xd6\x93\xa4\0""x1\0sA", 18,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x12""\0\0\0\0\xd6\x93\xa4\0""x1\0sA", 18,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_QUERY, "STORE service attribute 'h2'.'s1'.'aA' 'vA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE service attribute 'h2'.'s1'.'aA' 'vA'", -1,
- 0, SDB_CONNECTION_OK, 46, 0, "Successfully stored service attribute h2.s1.aA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored service attribute h2.s1.aA",
},
{
SDB_CONNECTION_STORE, "\0\0\0\x12""\0\0\0\0\xd6\x93\xa4\0""h2\0s1\0aA\0"VALUE,27+VALUE_LEN,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x12""\0\0\0\0\xd6\x93\xa4\0""h2\0s1\0aA\0"VALUE,27+VALUE_LEN,
- 0, SDB_CONNECTION_OK, 46, 0, "Successfully stored service attribute h2.s1.aA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored service attribute h2.s1.aA",
},
{
SDB_CONNECTION_QUERY, "STORE service attribute 'h2'.'x1'.'aA' 'vA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE service attribute 'h2'.'x1'.'aA' 'vA'", -1,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x12""\0\0\0\0\xd6\x93\xa4\0""h2\0x1\0aA\0"VALUE,27+VALUE_LEN,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x12""\0\0\0\0\xd6\x93\xa4\0""h2\0x1\0aA\0"VALUE,27+VALUE_LEN,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_QUERY, "STORE metric 'h1'.'mA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE metric 'h1'.'mA'", -1,
- 0, SDB_CONNECTION_OK, 32, 0, "Successfully stored metric h1.mA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored metric h1.mA",
},
{
SDB_CONNECTION_STORE, "\0\0\0\3""\0\0\0\0\xd6\x93\xa4\0""h1\0mA", 18,
},
{
SDB_CONNECTION_STORE, "\0\0\0\3""\0\0\0\0\xd6\x93\xa4\0""h1\0mA", 18,
- 0, SDB_CONNECTION_OK, 32, 0, "Successfully stored metric h1.mA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored metric h1.mA",
},
{
SDB_CONNECTION_QUERY, "STORE metric 'x1'.'mA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE metric 'x1'.'mA'", -1,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_STORE, "\0\0\0\3""\0\0\0\0\xd6\x93\xa4\0""x1\0mA", 18,
},
{
SDB_CONNECTION_STORE, "\0\0\0\3""\0\0\0\0\xd6\x93\xa4\0""x1\0mA", 18,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_QUERY, "STORE metric attribute 'h1'.'m1'.'aA' 'vA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE metric attribute 'h1'.'m1'.'aA' 'vA'", -1,
- 0, SDB_CONNECTION_OK, 45, 0, "Successfully stored metric attribute h1.m1.aA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored metric attribute h1.m1.aA",
},
{
SDB_CONNECTION_STORE, "\0\0\0\x13""\0\0\0\0\xd6\x93\xa4\0""h1\0m1\0aA\0"VALUE, 27+VALUE_LEN,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x13""\0\0\0\0\xd6\x93\xa4\0""h1\0m1\0aA\0"VALUE, 27+VALUE_LEN,
- 0, SDB_CONNECTION_OK, 45, 0, "Successfully stored metric attribute h1.m1.aA",
+ 0, SDB_CONNECTION_OK, 0, "Successfully stored metric attribute h1.m1.aA",
},
{
SDB_CONNECTION_QUERY, "STORE metric attribute 'h1'.'x1'.'aA' 'vA'", -1,
},
{
SDB_CONNECTION_QUERY, "STORE metric attribute 'h1'.'x1'.'aA' 'vA'", -1,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x13""\0\0\0\0\xd6\x93\xa4\0""h1\0x1\0aA\0"VALUE, 27+VALUE_LEN,
},
{
SDB_CONNECTION_STORE, "\0\0\0\x13""\0\0\0\0\xd6\x93\xa4\0""h1\0x1\0aA\0"VALUE, 27+VALUE_LEN,
- -1, UINT32_MAX, 0, 0, NULL,
+ -1, UINT32_MAX, 0, NULL,
},
};
},
};
const char *data;
ssize_t tmp;
size_t len;
const char *data;
ssize_t tmp;
size_t len;
- int check;
+ int check = -1;
conn->cmd = query_data[_i].cmd;
if (query_data[_i].query_len < 0)
conn->cmd = query_data[_i].cmd;
if (query_data[_i].query_len < 0)
switch (conn->cmd) {
case SDB_CONNECTION_QUERY:
switch (conn->cmd) {
case SDB_CONNECTION_QUERY:
- check = sdb_fe_query(conn);
+ check = sdb_conn_query(conn);
break;
case SDB_CONNECTION_FETCH:
break;
case SDB_CONNECTION_FETCH:
- check = sdb_fe_fetch(conn);
+ check = sdb_conn_fetch(conn);
break;
case SDB_CONNECTION_LIST:
break;
case SDB_CONNECTION_LIST:
- check = sdb_fe_list(conn);
+ check = sdb_conn_list(conn);
break;
case SDB_CONNECTION_LOOKUP:
break;
case SDB_CONNECTION_LOOKUP:
- check = sdb_fe_lookup(conn);
+ check = sdb_conn_lookup(conn);
break;
/* SDB_CONNECTION_TIMESERIES not supported yet */
case SDB_CONNECTION_STORE:
break;
/* SDB_CONNECTION_TIMESERIES not supported yet */
case SDB_CONNECTION_STORE:
- check = sdb_fe_store(conn);
+ check = sdb_conn_store(conn);
break;
default:
fail("Invalid command %#x", conn->cmd);
}
fail_unless(check == query_data[_i].expected,
break;
default:
fail("Invalid command %#x", conn->cmd);
}
fail_unless(check == query_data[_i].expected,
- "sdb_fe_query(%s) = %d; expected: %d (err: %s)",
+ "sdb_conn_query(%s) = %d; expected: %d (err: %s)",
query_data[_i].query, check, query_data[_i].expected,
sdb_strbuf_string(conn->errbuf));
query_data[_i].query, check, query_data[_i].expected,
sdb_strbuf_string(conn->errbuf));
if (query_data[_i].code == UINT32_MAX) {
fail_unless(len == 0,
if (query_data[_i].code == UINT32_MAX) {
fail_unless(len == 0,
- "sdb_fe_query(%s) returned data on error: '%s'",
+ "sdb_conn_query(%s) returned data on error: '%s'",
query_data[_i].query, data);
mock_conn_destroy(conn);
return;
query_data[_i].query, data);
mock_conn_destroy(conn);
return;
data += tmp;
len -= tmp;
data += tmp;
len -= tmp;
- fail_unless((code == query_data[_i].code)
- && ((size_t)msg_len == query_data[_i].len),
- "sdb_fe_query(%s) returned %u, %u; expected: %u, %zu",
- query_data[_i].query, code, msg_len,
- query_data[_i].code, query_data[_i].len);
+ fail_unless(code == query_data[_i].code,
+ "sdb_conn_query(%s) returned <%u>; expected: <%u>",
+ query_data[_i].query, code, query_data[_i].code);
if (code == SDB_CONNECTION_DATA) {
tmp = sdb_proto_unmarshal_int32(data, len, &code);
fail_unless(code == query_data[_i].type,
if (code == SDB_CONNECTION_DATA) {
tmp = sdb_proto_unmarshal_int32(data, len, &code);
fail_unless(code == query_data[_i].type,
- "sdb_fe_query(%s) returned %s object; expected: %s",
+ "sdb_conn_query(%s) returned %s object; expected: %s",
query_data[_i].query, SDB_CONN_MSGTYPE_TO_STRING((int)code),
SDB_CONN_MSGTYPE_TO_STRING((int)query_data[_i].type));
data += tmp;
query_data[_i].query, SDB_CONN_MSGTYPE_TO_STRING((int)code),
SDB_CONN_MSGTYPE_TO_STRING((int)query_data[_i].type));
data += tmp;
}
fail_if_strneq(data, query_data[_i].data, (size_t)msg_len,
}
fail_if_strneq(data, query_data[_i].data, (size_t)msg_len,
- "sdb_fe_query(%s) returned unexpected data",
+ "sdb_conn_query(%s) returned unexpected data",
query_data[_i].query, data, query_data[_i].data);
mock_conn_destroy(conn);
query_data[_i].query, data, query_data[_i].data);
mock_conn_destroy(conn);
TEST_MAIN("frontend::query")
{
TCase *tc = tcase_create("core");
TEST_MAIN("frontend::query")
{
TCase *tc = tcase_create("core");
- tcase_add_checked_fixture(tc, populate, sdb_store_clear);
+ tcase_add_checked_fixture(tc, populate, turndown);
TC_ADD_LOOP_TEST(tc, query);
ADD_TCASE(tc);
}
TC_ADD_LOOP_TEST(tc, query);
ADD_TCASE(tc);
}