diff options
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/base.py')
| -rw-r--r-- | lib/sqlalchemy/dialects/postgresql/base.py | 5 | 
1 files changed, 3 insertions, 2 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py index cbc750066..e8e79b230 100644 --- a/lib/sqlalchemy/dialects/postgresql/base.py +++ b/lib/sqlalchemy/dialects/postgresql/base.py @@ -3485,12 +3485,13 @@ class PGDialect(default.DefaultDialect):              # "CHECK (((a > 1) AND (a < 5)))"              # "CHECK (((a = 1) OR ((a > 2) AND (a < 5))))"              # "CHECK (((a > 1) AND (a < 5))) NOT VALID" -            m = re.match(r"^CHECK *\(\((.+)\)\)( NOT VALID)?$", src) +            # "CHECK (some_boolean_function(a))" +            m = re.match(r"^CHECK *\((.+)\)( NOT VALID)?$", src)              if not m:                  util.warn("Could not parse CHECK constraint text: %r" % src)                  sqltext = ""              else: -                sqltext = m.group(1) +                sqltext = re.sub(r'^\((.+)\)$', r'\1', m.group(1))              entry = {"name": name, "sqltext": sqltext}              if m and m.group(2):                  entry["dialect_options"] = {"not_valid": True}  | 
