summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/compiler.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2013-07-05 15:51:24 -0400
committerMike Bayer <mike_mp@zzzcomputing.com>2013-07-05 15:51:24 -0400
commitcec89cae156903c9a77dff29a1213e70fa915b52 (patch)
tree672e7cd1adf0642688251a02f420085cef48ebfe /lib/sqlalchemy/sql/compiler.py
parent29ce6db26dea9d59df9769be51e84fe5a646c555 (diff)
downloadsqlalchemy-cec89cae156903c9a77dff29a1213e70fa915b52.tar.gz
- Added new method to the :func:`.insert` construct
:meth:`.Insert.from_select`. Given a list of columns and a selectable, renders ``INSERT INTO (table) (columns) SELECT ..``. While this feature is highlighted as part of 0.9 it is also backported to 0.8.3. [ticket:722] - The :func:`.update`, :func:`.insert`, and :func:`.delete` constructs will now interpret ORM entities as FROM clauses to be operated upon, in the same way that select() already does. Also in 0.8.3.
Diffstat (limited to 'lib/sqlalchemy/sql/compiler.py')
-rw-r--r--lib/sqlalchemy/sql/compiler.py4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index 7770c7fc7..93dc3fc4d 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -1546,7 +1546,9 @@ class SQLCompiler(engine.Compiled):
if self.returning_precedes_values:
text += " " + returning_clause
- if not colparams and supports_default_values:
+ if insert_stmt.select is not None:
+ text += " %s" % self.process(insert_stmt.select, **kw)
+ elif not colparams and supports_default_values:
text += " DEFAULT VALUES"
elif insert_stmt._has_multi_parameters:
text += " VALUES %s" % (