diff options
| author | mike bayer <mike_mp@zzzcomputing.com> | 2021-11-25 18:22:59 +0000 |
|---|---|---|
| committer | Gerrit Code Review <gerrit@ci3.zzzcomputing.com> | 2021-11-25 18:22:59 +0000 |
| commit | 8ddb3ef165d0c2d6d7167bb861bb349e68b5e8df (patch) | |
| tree | 1f61463f9888eedbd156b35858af266135f7d6e7 /lib/sqlalchemy/testing | |
| parent | 3619f084bfb5208ae45686a0993d620b2711adf2 (diff) | |
| parent | 939de240d31a5441ad7380738d410a976d4ecc3a (diff) | |
| download | sqlalchemy-8ddb3ef165d0c2d6d7167bb861bb349e68b5e8df.tar.gz | |
Merge "propose emulated setinputsizes embedded in the compiler" into main
Diffstat (limited to 'lib/sqlalchemy/testing')
| -rw-r--r-- | lib/sqlalchemy/testing/assertsql.py | 8 | ||||
| -rw-r--r-- | lib/sqlalchemy/testing/suite/test_types.py | 6 |
2 files changed, 9 insertions, 5 deletions
diff --git a/lib/sqlalchemy/testing/assertsql.py b/lib/sqlalchemy/testing/assertsql.py index 46fdf6b9b..d9aa3e256 100644 --- a/lib/sqlalchemy/testing/assertsql.py +++ b/lib/sqlalchemy/testing/assertsql.py @@ -266,6 +266,10 @@ class DialectSQL(CompiledSQL): def _dialect_adjusted_statement(self, paramstyle): stmt = re.sub(r"[\n\t]", "", self.statement) + + # temporarily escape out PG double colons + stmt = stmt.replace("::", "!!") + if paramstyle == "pyformat": stmt = re.sub(r":([\w_]+)", r"%(\1)s", stmt) else: @@ -278,6 +282,10 @@ class DialectSQL(CompiledSQL): elif paramstyle == "numeric": repl = None stmt = re.sub(r":([\w_]+)", repl, stmt) + + # put them back + stmt = stmt.replace("!!", "::") + return stmt def _compare_sql(self, execute_observed, received_statement): diff --git a/lib/sqlalchemy/testing/suite/test_types.py b/lib/sqlalchemy/testing/suite/test_types.py index 7989b1e39..82e6fa238 100644 --- a/lib/sqlalchemy/testing/suite/test_types.py +++ b/lib/sqlalchemy/testing/suite/test_types.py @@ -480,19 +480,15 @@ class CastTypeDecoratorTest(_LiteralRoundTripFixture, fixtures.TestBase): impl = String(50) cache_ok = True - def get_dbapi_type(self, dbapi): - return dbapi.NUMBER - def column_expression(self, col): return cast(col, Integer) def bind_expression(self, col): - return cast(col, String(50)) + return cast(type_coerce(col, Integer), String(50)) return StringAsInt() def test_special_type(self, metadata, connection, string_as_int): - type_ = string_as_int t = Table("t", metadata, Column("x", type_)) |
