]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
accommodate for null in sqlite regex handler
authorMike Bayer <mike_mp@zzzcomputing.com>
Fri, 2 Oct 2020 12:15:41 +0000 (08:15 -0400)
committerMike Bayer <mike_mp@zzzcomputing.com>
Fri, 2 Oct 2020 12:15:41 +0000 (08:15 -0400)
Fixes: #5624
Change-Id: Ic20dcde0a1e96b9981c63cac3cd34c7fdc7bd395

lib/sqlalchemy/dialects/sqlite/pysqlite.py
lib/sqlalchemy/testing/suite/test_select.py

index eb855016ecbb74ec0c8f4010dd523f77cf807dc6..377411520a600a6a195843f1883e90cdf8db7c9d 100644 (file)
@@ -506,6 +506,8 @@ class SQLiteDialect_pysqlite(SQLiteDialect):
         connect = super(SQLiteDialect_pysqlite, self).on_connect()
 
         def regexp(a, b):
+            if b is None:
+                return None
             return bool(re.match(a, b))
 
         def set_regexp(connection):
@@ -513,7 +515,6 @@ class SQLiteDialect_pysqlite(SQLiteDialect):
                 dbapi_connection = connection.connection
             else:
                 dbapi_connection = connection
-
             dbapi_connection.create_function(
                 "regexp",
                 2,
index 224826c2571d0336b66280544541b1acbbda549e..a2924bfde1012e4cbd4f7f521956f8510290405e 100644 (file)
@@ -894,6 +894,7 @@ class LikeFunctionsTest(fixtures.TablesTest):
                 {"id": 8, "data": "ab9cdefg"},
                 {"id": 9, "data": "abcde#fg"},
                 {"id": 10, "data": "abcd9fg"},
+                {"id": 11, "data": None},
             ],
         )