From f4a36fe47e59a35544e0b3b137cd3e0dccee01cc Mon Sep 17 00:00:00 2001 From: hxy7yx <1595670487@qq.com> Date: Tue, 18 Mar 2025 20:24:19 -0700 Subject: [PATCH] fix(allow float-tag to write integers) --- src/adapter/driver/driver.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/adapter/driver/driver.c b/src/adapter/driver/driver.c index fffa1093..1d1fd2fc 100644 --- a/src/adapter/driver/driver.c +++ b/src/adapter/driver/driver.c @@ -917,12 +917,18 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d, return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; } case NEU_TYPE_FLOAT: + if (write_type != NEU_TYPE_DOUBLE && write_type != NEU_TYPE_INT64) { + return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; + } if (result < (int64_t) -FLT_MAX || result > (int64_t) FLT_MAX) { return NEU_ERR_PLUGIN_TAG_VALUE_OUT_OF_RANGE; } else { return NEU_ERR_SUCCESS; } case NEU_TYPE_DOUBLE: + if (write_type != NEU_TYPE_DOUBLE && write_type != NEU_TYPE_INT64) { + return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; + } return NEU_ERR_SUCCESS; case NEU_TYPE_STRING: case NEU_TYPE_BOOL: @@ -967,12 +973,18 @@ int is_value_in_range(neu_type_e tag_type, int64_t value, double value_d, return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; } case NEU_TYPE_FLOAT: + if (write_type != NEU_TYPE_DOUBLE && write_type != NEU_TYPE_INT64) { + return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; + } if (value < (int64_t) -FLT_MAX || value > (int64_t) FLT_MAX) { return NEU_ERR_PLUGIN_TAG_VALUE_OUT_OF_RANGE; } else { return NEU_ERR_SUCCESS; } case NEU_TYPE_DOUBLE: + if (write_type != NEU_TYPE_DOUBLE && write_type != NEU_TYPE_INT64) { + return NEU_ERR_PLUGIN_TAG_TYPE_MISMATCH; + } return NEU_ERR_SUCCESS; case NEU_TYPE_STRING: if (write_type != NEU_TYPE_STRING) {