From ffc375d1f02205838485dd1e3e181037b2c0a580 Mon Sep 17 00:00:00 2001 From: Mike Bayer Date: Sat, 22 Feb 2020 10:22:18 -0500 Subject: Repair inline flag In 9fca5d827d we attempted to deprecate the "inline=True" flag and add a generative inline() method, however failed to include any tests and the method was implemented incorrectly such that it would get overwritten with the boolean flag immediately. Rename the internal "inline" flag to "_inline" and add test support both for the method as well as deprecated support for the flag, including a fixture addition to assert the expected value of the flag as it generally does not affect the actual compiled SQL string. Change-Id: I0450049f17f1f0d91e22d27f1a973a2b6c0e59f7 --- lib/sqlalchemy/sql/compiler.py | 2 +- lib/sqlalchemy/sql/dml.py | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) (limited to 'lib/sqlalchemy/sql') diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py index 2e1809b07..04ae2532b 100644 --- a/lib/sqlalchemy/sql/compiler.py +++ b/lib/sqlalchemy/sql/compiler.py @@ -682,7 +682,7 @@ class SQLCompiler(Compiled): # compile INSERT/UPDATE defaults/sequences inlined (no pre- # execute) - self.inline = inline or getattr(statement, "inline", False) + self.inline = inline or getattr(statement, "_inline", False) self.linting = linting diff --git a/lib/sqlalchemy/sql/dml.py b/lib/sqlalchemy/sql/dml.py index 6bada51dd..097c513b4 100644 --- a/lib/sqlalchemy/sql/dml.py +++ b/lib/sqlalchemy/sql/dml.py @@ -628,7 +628,7 @@ class Insert(ValuesBase): self._bind = bind self.select = self.select_names = None self.include_insert_from_select_defaults = False - self.inline = inline + self._inline = inline self._returning = returning self._validate_dialect_kwargs(dialect_kw) self._return_defaults = return_defaults @@ -656,7 +656,7 @@ class Insert(ValuesBase): is now superseded by the :meth:`.Insert.inline` method. """ - self.inline = True + self._inline = True @_generative def from_select(self, names, select, include_defaults=True): @@ -715,7 +715,7 @@ class Insert(ValuesBase): ) self.select_names = names - self.inline = True + self._inline = True self.include_insert_from_select_defaults = include_defaults self.select = coercions.expect(roles.DMLSelectRole, select) @@ -869,7 +869,6 @@ class Update(ValuesBase): """ - self._preserve_parameter_order = preserve_parameter_order super(Update, self).__init__(table, values, prefixes) self._bind = bind @@ -880,7 +879,7 @@ class Update(ValuesBase): ) else: self._whereclause = None - self.inline = inline + self._inline = inline self._validate_dialect_kwargs(dialect_kw) self._return_defaults = return_defaults @@ -944,7 +943,7 @@ class Update(ValuesBase): is now superseded by the :meth:`.Update.inline` method. """ - self.inline = True + self._inline = True @_generative def where(self, whereclause): -- cgit v1.2.1