From ea467fccbe4337929b91e0daec12b8672fa7907c Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Mon, 4 Jan 2021 17:05:46 -0500 Subject: Check for column expr in Oracle RETURNING check Fixed regression in Oracle dialect introduced by :ticket:`4894` in SQLAlchemy 1.3.11 where use of a SQL expression in RETURNING for an UPDATE would fail to compile, due to a check for "server_default" when an arbitrary SQL expression is not a column. Fixes: #5813 Change-Id: I1977bb49bc971399195015ae45e761f774f4008d --- lib/sqlalchemy/dialects/oracle/base.py | 1 + 1 file changed, 1 insertion(+) (limited to 'lib/sqlalchemy') diff --git a/lib/sqlalchemy/dialects/oracle/base.py b/lib/sqlalchemy/dialects/oracle/base.py index 2b4b268c2..1cc8b7aef 100644 --- a/lib/sqlalchemy/dialects/oracle/base.py +++ b/lib/sqlalchemy/dialects/oracle/base.py @@ -1017,6 +1017,7 @@ class OracleCompiler(compiler.SQLCompiler): ): if ( self.isupdate + and isinstance(column, sa_schema.Column) and isinstance(column.server_default, Computed) and not self.dialect._supports_update_returning_computed_cols ): -- cgit v1.2.1