X-Git-Url: https://git.tokkee.org/?a=blobdiff_plain;f=src%2Fcore%2Fstore_lookup.c;h=06151a81d4fdb04bb49143dd794ee60c30a00618;hb=316907e799c4587cdc6d619be3eb59f10dab2b89;hp=82bb3d6d6cf1e50f9cc0b3c748a797e37bbb0fb6;hpb=6db7512abe1b80d81cac84e73c84f571e4eb194b;p=sysdb.git diff --git a/src/core/store_lookup.c b/src/core/store_lookup.c index 82bb3d6..06151a8 100644 --- a/src/core/store_lookup.c +++ b/src/core/store_lookup.c @@ -196,8 +196,10 @@ match_iter(sdb_store_matcher_t *m, sdb_store_obj_t *obj, assert((! CMP_M(ITER_M(m)->m)->left) && CMP_M(ITER_M(m)->m)->right); iter = sdb_store_expr_iter(ITER_M(m)->iter, obj, filter); - if (! iter) + if (! iter) { + sdb_log(SDB_LOG_WARNING, "store: Invalid iterator"); return 0; + } status = all; while (sdb_store_expr_iter_has_next(iter)) { @@ -649,74 +651,6 @@ sdb_store_isfalse_matcher(sdb_store_expr_t *expr) MATCHER_ISFALSE, expr)); } /* sdb_store_isfalse_matcher */ -sdb_store_matcher_op_cb -sdb_store_parse_matcher_op(const char *op) -{ - if (! strcasecmp(op, "<")) - return sdb_store_lt_matcher; - else if (! strcasecmp(op, "<=")) - return sdb_store_le_matcher; - else if (! strcasecmp(op, "=")) - return sdb_store_eq_matcher; - else if (! strcasecmp(op, "!=")) - return sdb_store_ne_matcher; - else if (! strcasecmp(op, ">=")) - return sdb_store_ge_matcher; - else if (! strcasecmp(op, ">")) - return sdb_store_gt_matcher; - else if (! strcasecmp(op, "=~")) - return sdb_store_regex_matcher; - else if (! strcasecmp(op, "!~")) - return sdb_store_nregex_matcher; - return NULL; -} /* sdb_store_parse_matcher_op */ - -int -sdb_store_parse_object_type(const char *name) -{ - if (! strcasecmp(name, "host")) - return SDB_HOST; - else if (! strcasecmp(name, "service")) - return SDB_SERVICE; - else if (! strcasecmp(name, "metric")) - return SDB_METRIC; - else if (! strcasecmp(name, "attribute")) - return SDB_ATTRIBUTE; - return -1; -} /* sdb_store_parse_object_type */ - -int -sdb_store_parse_object_type_plural(const char *name) -{ - if (! strcasecmp(name, "hosts")) - return SDB_HOST; - else if (! strcasecmp(name, "services")) - return SDB_SERVICE; - else if (! strcasecmp(name, "metrics")) - return SDB_METRIC; - else if (! strcasecmp(name, "attributes")) - return SDB_ATTRIBUTE; - return -1; -} /* sdb_store_parse_object_type_plural */ - -int -sdb_store_parse_field_name(const char *name) -{ - if (! strcasecmp(name, "name")) - return SDB_FIELD_NAME; - else if (! strcasecmp(name, "last_update")) - return SDB_FIELD_LAST_UPDATE; - else if (! strcasecmp(name, "age")) - return SDB_FIELD_AGE; - else if (! strcasecmp(name, "interval")) - return SDB_FIELD_INTERVAL; - else if (! strcasecmp(name, "backend")) - return SDB_FIELD_BACKEND; - else if (! strcasecmp(name, "value")) - return SDB_FIELD_VALUE; - return -1; -} /* sdb_store_parse_field_name */ - sdb_store_matcher_t * sdb_store_dis_matcher(sdb_store_matcher_t *left, sdb_store_matcher_t *right) {