From c5a9b16eac7bf0ac07655d5b76690393e2000228 Mon Sep 17 00:00:00 2001 From: Itai Shirav Date: Wed, 5 Apr 2017 18:19:12 +0300 Subject: [PATCH] Performance improvement: skip utils.escape for numeric fields --- src/infi/clickhouse_orm/fields.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/infi/clickhouse_orm/fields.py b/src/infi/clickhouse_orm/fields.py index 915ebee..f7d3992 100644 --- a/src/infi/clickhouse_orm/fields.py +++ b/src/infi/clickhouse_orm/fields.py @@ -154,6 +154,11 @@ class BaseIntField(Field): except: raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value)) + def to_db_string(self, value, quote=True): + # There's no need to call escape since numbers do not contain + # special characters, and never need quoting + return text_type(value) + def validate(self, value): self._range_check(value, self.min_value, self.max_value) @@ -222,6 +227,11 @@ class BaseFloatField(Field): except: raise ValueError('Invalid value for %s - %r' % (self.__class__.__name__, value)) + def to_db_string(self, value, quote=True): + # There's no need to call escape since numbers do not contain + # special characters, and never need quoting + return text_type(value) + class Float32Field(BaseFloatField):