From a158445db59d0339c5cb12e3ad8a52e2314badb0 Mon Sep 17 00:00:00 2001 From: Martin Carpenter Date: Thu, 9 Feb 2023 00:05:57 +0100 Subject: [PATCH] Register Table.convert() functions under their own name --- sqlite_utils/db.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/sqlite_utils/db.py b/sqlite_utils/db.py index e819d17..caf3916 100644 --- a/sqlite_utils/db.py +++ b/sqlite_utils/db.py @@ -2664,13 +2664,16 @@ class Table(Queryable): return v return jsonify_if_needed(fn(v)) - self.db.register_function(convert_value) + fn_name = fn.__name__ + if fn_name == '': + fn_name = f'lambda_{hash(fn)}' + self.db.register_function(convert_value, name=fn_name) sql = "update [{table}] set {sets}{where};".format( table=self.name, sets=", ".join( [ - "[{output_column}] = convert_value([{column}])".format( - output_column=output or column, column=column + "[{output_column}] = {fn_name}([{column}])".format( + output_column=output or column, column=column, fn_name=fn_name ) for column in columns ]