From 33ab2251682e3fd0e1a484877d9a2033fcf45bfc Mon Sep 17 00:00:00 2001 From: romamo Date: Wed, 30 Nov 2022 20:06:49 +0200 Subject: [PATCH] Update utils.py Fixed infinitive loop while parsing Array of strings fields.ArrayField(fields.StringField()) If your string has a single quote(stored as escaped \'), repeated unescape will remove \, making it impossible to decode field using the following parse_array. Note, decode function unescapes the bytes the first time. --- src/infi/clickhouse_orm/utils.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/infi/clickhouse_orm/utils.py b/src/infi/clickhouse_orm/utils.py index c0d0325..6ad72f4 100644 --- a/src/infi/clickhouse_orm/utils.py +++ b/src/infi/clickhouse_orm/utils.py @@ -81,8 +81,9 @@ def parse_tsv(line): line = line.decode() if line and line[-1] == '\n': line = line[:-1] - return [unescape(value) for value in line.split(str('\t'))] - + # Repetitive unescape using undocumented function + # return [unescape(value) for value in line.split(str('\t'))] + return line.split(str('\t')) def parse_array(array_string): """