From: Mike Bayer Date: Tue, 5 Mar 2019 16:34:03 +0000 (-0500) Subject: - repair param inject to work around code examples to some degree X-Git-Tag: rel_1_3_1~14 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=837d9640049be78473e2afa360cf9bfbfee91a5c;p=thirdparty%2Fsqlalchemy%2Fsqlalchemy.git - repair param inject to work around code examples to some degree - link to correct text() construct for CheckConstraint Change-Id: Ic46d1f79670a532f33bd9feb7f568dc3d1d6e38a --- diff --git a/lib/sqlalchemy/sql/schema.py b/lib/sqlalchemy/sql/schema.py index 0d3e96d8ff..b045e006e7 100644 --- a/lib/sqlalchemy/sql/schema.py +++ b/lib/sqlalchemy/sql/schema.py @@ -2935,12 +2935,12 @@ class CheckConstraint(ColumnCollectionConstraint): r"""Construct a CHECK constraint. :param sqltext: - A string containing the constraint definition, which will be used - verbatim, or a SQL expression construct. If given as a string, - the object is converted to a :class:`.Text` object. If the textual - string includes a colon character, escape this using a backslash:: + A string containing the constraint definition, which will be used + verbatim, or a SQL expression construct. If given as a string, + the object is converted to a :func:`.text` object. If the textual + string includes a colon character, escape this using a backslash:: - CheckConstraint(r"foo ~ E'a(?\:b|c)d") + CheckConstraint(r"foo ~ E'a(?\:b|c)d") :param name: Optional, the in-database name of the constraint. diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py index 198a23a593..efc950f1da 100644 --- a/lib/sqlalchemy/util/langhelpers.py +++ b/lib/sqlalchemy/util/langhelpers.py @@ -1649,6 +1649,12 @@ def inject_param_text(doctext, inject_params): lines.append(to_inject) lines.append("\n") to_inject = None + elif line.endswith("::"): + # TODO: this still wont cover if the code example itself has blank + # lines in it, need to detect those via indentation. + lines.append(line) + lines.append(doclines.pop(0)) # the blank line following a code example + continue lines.append(line) return "\n".join(lines)