summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/ext/compiler.py
diff options
context:
space:
mode:
Diffstat (limited to 'lib/sqlalchemy/ext/compiler.py')
-rw-r--r--lib/sqlalchemy/ext/compiler.py50
1 files changed, 0 insertions, 50 deletions
diff --git a/lib/sqlalchemy/ext/compiler.py b/lib/sqlalchemy/ext/compiler.py
index c7eb7cc32..354b0ca4a 100644
--- a/lib/sqlalchemy/ext/compiler.py
+++ b/lib/sqlalchemy/ext/compiler.py
@@ -103,10 +103,6 @@ Produces::
functionality is already available using the
:meth:`_expression.Insert.from_select` method.
-.. note::
-
- The above ``InsertFromSelect`` construct probably wants to have "autocommit"
- enabled. See :ref:`enabling_compiled_autocommit` for this step.
Cross Compiling between SQL and DDL compilers
---------------------------------------------
@@ -135,52 +131,6 @@ a bound parameter; when emitting DDL, bound parameters are typically not
supported.
-.. _enabling_compiled_autocommit:
-
-Enabling Autocommit on a Construct
-==================================
-
-Recall from the section :ref:`autocommit` that the :class:`_engine.Engine`,
-when
-asked to execute a construct in the absence of a user-defined transaction,
-detects if the given construct represents DML or DDL, that is, a data
-modification or data definition statement, which requires (or may require,
-in the case of DDL) that the transaction generated by the DBAPI be committed
-(recall that DBAPI always has a transaction going on regardless of what
-SQLAlchemy does). Checking for this is actually accomplished by checking for
-the "autocommit" execution option on the construct. When building a
-construct like an INSERT derivation, a new DDL type, or perhaps a stored
-procedure that alters data, the "autocommit" option needs to be set in order
-for the statement to function with "connectionless" execution
-(as described in :ref:`dbengine_implicit`).
-
-Currently a quick way to do this is to subclass :class:`.Executable`, then
-add the "autocommit" flag to the ``_execution_options`` dictionary (note this
-is a "frozen" dictionary which supplies a generative ``union()`` method)::
-
- from sqlalchemy.sql.expression import Executable, ClauseElement
-
- class MyInsertThing(Executable, ClauseElement):
- _execution_options = \
- Executable._execution_options.union({'autocommit': True})
-
-More succinctly, if the construct is truly similar to an INSERT, UPDATE, or
-DELETE, :class:`.UpdateBase` can be used, which already is a subclass
-of :class:`.Executable`, :class:`_expression.ClauseElement` and includes the
-``autocommit`` flag::
-
- from sqlalchemy.sql.expression import UpdateBase
-
- class MyInsertThing(UpdateBase):
- def __init__(self, ...):
- ...
-
-
-
-
-DDL elements that subclass :class:`.DDLElement` already have the
-"autocommit" flag turned on.
-