index 8c626606c3c2d1900aa580a6f721a180fd66c382..4b9b6728d00ebb7bece003f7dc47de1f4ad3c236 100644 (file)
"attribute.foo = "
"-12e+3", -1, 1, CONNECTION_LOOKUP },
+ /* NULL */
+ { "LOOKUP hosts WHERE "
+ "attribute.foo "
+ "IS NULL", -1, 1, CONNECTION_LOOKUP },
+ { "LOOKUP hosts WHERE "
+ "attribute.foo "
+ "IS NOT NULL", -1, 1, CONNECTION_LOOKUP },
+ { "LOOKUP hosts WHERE "
+ "NOT attribute.foo "
+ "IS NULL", -1, 1, CONNECTION_LOOKUP },
+ { "LOOKUP hosts WHERE "
+ "host.name IS NULL", -1, -1, 0 },
+ { "LOOKUP hosts WHERE "
+ "service.name "
+ "IS NULL", -1, -1, 0 },
+
/* invalid numeric constants */
{ "LOOKUP hosts WHERE "
"attribute.foo = "
{ "host.name =~ 'pattern' OR "
"service.name =~ 'pattern'", -1, MATCHER_OR },
{ "NOT host.name = 'host'", -1, MATCHER_NOT },
+ /* numeric expressions */
+ { "attribute.foo < 123", -1, MATCHER_LT },
+ { "attribute.foo <= 123", -1, MATCHER_LE },
+ { "attribute.foo = 123", -1, MATCHER_EQ },
+ { "attribute.foo >= 123", -1, MATCHER_GE },
+ { "attribute.foo > 123", -1, MATCHER_GT },
+ /* NULL; while this is an implementation detail,
+ * IS NULL currently maps to an equality matcher */
+ { "attribute.foo IS NULL", -1, MATCHER_ISNULL },
+ { "attribute.foo IS NOT NULL", -1, MATCHER_NOT },
/* check operator precedence */
{ "host.name = 'name' OR "