From bb394bd389c243d3b285f9c434e6b9deb5e8833c Mon Sep 17 00:00:00 2001 From: Oleg Broytman Date: Mon, 28 Mar 2016 00:12:11 +0300 Subject: [PATCH] Add unicode-aware function 'lower()' to SQLite --- m_librarian/db.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/m_librarian/db.py b/m_librarian/db.py index 99a2843..cd2f644 100755 --- a/m_librarian/db.py +++ b/m_librarian/db.py @@ -45,6 +45,18 @@ if not db_uri: sqlhub.processConnection = connection = connectionForURI(db_uri) if connection.dbName == 'sqlite': + def lower(s): + return s.lower() + + sqlite = connection.module + + class MLConnection(sqlite.Connection): + def __init__(self, *args, **kwargs): + super(MLConnection, self).__init__(*args, **kwargs) + self.create_function('lower', 1, lower) + + connection._connOptions['factory'] = MLConnection + # Speedup SQLite connection connection.query("PRAGMA synchronous=OFF") connection.query("PRAGMA count_changes=OFF") -- 2.39.5