]> git.ipfire.org Git - thirdparty/sqlalchemy/sqlalchemy.git/commitdiff
Adjusted SQLiteDialect's check constraint reflection pattern to account for mix of...
authorJeff Horemans <jeff.horemans@vortex-financials.be>
Thu, 8 Aug 2024 07:57:26 +0000 (09:57 +0200)
committerJeff Horemans <jeff.horemans@vortex-financials.be>
Thu, 8 Aug 2024 07:57:26 +0000 (09:57 +0200)
lib/sqlalchemy/dialects/sqlite/base.py

index a093065aee26ae5f81a1b36a0223fab8a94f9900..61d6f8d8faf5d72dde50f3a7cb3e03d8d1e7f567 100644 (file)
@@ -2631,9 +2631,9 @@ class SQLiteDialect(default.DefaultDialect):
         #   the pattern matches any character untill either the beginning of the next CONSTRAINT
         #   statement using a non-capturing non-consuming group (allowing the next one to match),
         #   or the end of the table definition e.g. newline and closing ')'.
-        CHECK_PATTERN = r"(?:CONSTRAINT ([^\t\n]+) )?CHECK \((.+?)\)(?:, *\n\t?(?=CONSTRAINT)|\n\))"
+        CHECK_PATTERN = r"(?:CONSTRAINT ([^\t\n]+) )?CHECK \((.+?)\)(?:, *\n\t?(?=CONSTRAINT|CHECK)|\n\))"
         cks = []
-
+        print(table_data)
         for match in re.finditer(CHECK_PATTERN, table_data or "", re.I|re.S):
             name = match.group(1)