From eeac7060c5468eb913f3f8b974d37f7958ddc7fb Mon Sep 17 00:00:00 2001 From: TheGreatDoc <32565115+TheGreatDoc@users.noreply.github.com> Date: Wed, 5 Dec 2018 13:13:46 +0100 Subject: [PATCH] Fixed integers fields in alert rules to be string (#9496) DO NOT DELETE THIS TEXT #### Please note > Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting. - [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/) #### Testers If you would like to test this pull request then please run: `./scripts/github-apply `, i.e `./scripts/github-apply 5926` After you are done testing, you can remove the changes with `./scripts/github-remove`. If there are schema changes, you can ask on discord how to revert. --- LibreNMS/Alerting/QueryBuilderFilter.php | 3 ++- tests/data/misc/querybuilder.json | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/LibreNMS/Alerting/QueryBuilderFilter.php b/LibreNMS/Alerting/QueryBuilderFilter.php index d3186296b7..66914fc30e 100644 --- a/LibreNMS/Alerting/QueryBuilderFilter.php +++ b/LibreNMS/Alerting/QueryBuilderFilter.php @@ -144,7 +144,8 @@ class QueryBuilderFilter implements \JsonSerializable if (starts_with($type, ['varchar', 'text', 'double', 'float'])) { return 'string'; } elseif (starts_with($type, ['int', 'tinyint', 'smallint', 'mediumint', 'bigint'])) { - return 'integer'; + //TODO implement field selection and change back to integer + return 'string'; } elseif (starts_with($type, ['timestamp', 'datetime'])) { return 'datetime'; } elseif (starts_with($type, 'enum')) { diff --git a/tests/data/misc/querybuilder.json b/tests/data/misc/querybuilder.json index 5f8f8daa96..c93215a442 100644 --- a/tests/data/misc/querybuilder.json +++ b/tests/data/misc/querybuilder.json @@ -109,7 +109,7 @@ ], [ "%ports.ifOutErrors_rate >= \"100\" || %ports.ifInErrors_rate >= \"100\"", - {"condition":"OR","rules":[{"id":"ports.ifOutErrors_rate","field":"ports.ifOutErrors_rate","type":"integer","input":"text","operator":"greater_or_equal","value":"100"},{"id":"ports.ifInErrors_rate","field":"ports.ifInErrors_rate","type":"integer","input":"text","operator":"greater_or_equal","value":"100"}],"valid":true}, + {"condition":"OR","rules":[{"id":"ports.ifOutErrors_rate","field":"ports.ifOutErrors_rate","type":"string","input":"text","operator":"greater_or_equal","value":"100"},{"id":"ports.ifInErrors_rate","field":"ports.ifInErrors_rate","type":"string","input":"text","operator":"greater_or_equal","value":"100"}],"valid":true}, "ports.ifOutErrors_rate >= 100 OR ports.ifInErrors_rate >= 100", "SELECT * FROM devices,ports WHERE (devices.device_id = ? AND devices.device_id = ports.device_id) AND (ports.ifOutErrors_rate >= 100 OR ports.ifInErrors_rate >= 100)" ]