diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-10-02 08:15:41 -0400 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2020-10-02 08:15:41 -0400 |
| commit | 1a9618afdd6413fd04ee44b797a15735eaa1a230 (patch) | |
| tree | 35056064f9f590f5168d8861271276b9b640bce0 | |
| parent | 338d1f4dd0418dffa979a66e6471514691f06231 (diff) | |
| download | sqlalchemy-1a9618afdd6413fd04ee44b797a15735eaa1a230.tar.gz | |
accommodate for null in sqlite regex handler
Fixes: #5624
Change-Id: Ic20dcde0a1e96b9981c63cac3cd34c7fdc7bd395
| -rw-r--r-- | lib/sqlalchemy/dialects/sqlite/pysqlite.py | 3 | ||||
| -rw-r--r-- | lib/sqlalchemy/testing/suite/test_select.py | 1 |
2 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqlalchemy/dialects/sqlite/pysqlite.py b/lib/sqlalchemy/dialects/sqlite/pysqlite.py index eb855016e..377411520 100644 --- a/lib/sqlalchemy/dialects/sqlite/pysqlite.py +++ b/lib/sqlalchemy/dialects/sqlite/pysqlite.py @@ -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, diff --git a/lib/sqlalchemy/testing/suite/test_select.py b/lib/sqlalchemy/testing/suite/test_select.py index 224826c25..a2924bfde 100644 --- a/lib/sqlalchemy/testing/suite/test_select.py +++ b/lib/sqlalchemy/testing/suite/test_select.py @@ -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}, ], ) |
