From abeed75c9aeeffd2ed0ad259af28498dc26bf4ef Mon Sep 17 00:00:00 2001 From: Yangruipis Date: Wed, 2 Nov 2022 13:25:11 +0000 Subject: [PATCH] fix(rdbms): check number regex Regex for checking number will miss floats with 2+ precision like 0.01, and treat str with multi dot as number like 0.1.1.1. --- server/store/adapters/rdbms/drivers/cast.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/server/store/adapters/rdbms/drivers/cast.go b/server/store/adapters/rdbms/drivers/cast.go index 45c8d9f57..c7e6813b1 100644 --- a/server/store/adapters/rdbms/drivers/cast.go +++ b/server/store/adapters/rdbms/drivers/cast.go @@ -7,7 +7,7 @@ import ( var ( CheckID = exp.NewLiteralExpression(`'^[0-9]+$'`) - CheckNumber = exp.NewLiteralExpression(`'^[0-9]+(\.[0-9])*$'`) + CheckNumber = exp.NewLiteralExpression(`'^[0-9]+(\.[0-9]+)?$'`) CheckFullISO8061 = exp.NewLiteralExpression(`'^([0-9]{4})-([0-9]{2})-([0-9]{2})T([0-9]{2}):([0-9]{2}):([0-9]{2}(\.[0-9]*)?)((-([0-9]{2}):([0-9]{2})|Z)?)$'`) CheckDateISO8061 = exp.NewLiteralExpression(`'^([0-9]{4})-([0-9]{2})-([0-9]{2})(T([0-9]{2}):([0-9]{2}):([0-9]{2}(\.[0-9]*)?)((-([0-9]{2}):([0-9]{2})|Z)?))?$'`) CheckTimeISO8061 = exp.NewLiteralExpression(`'^(([0-9]{4})-([0-9]{2})-([0-9]{2}))?T?([0-9]{2}):([0-9]{2}):([0-9]{2}(\.[0-9]*)?)((-([0-9]{2}):([0-9]{2})|Z)?)$'`)