diff options
| author | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-01-18 19:26:56 -0500 |
|---|---|---|
| committer | Mike Bayer <mike_mp@zzzcomputing.com> | 2014-01-18 19:26:56 -0500 |
| commit | 1af8e2491dcbed723d2cdafd44fd37f1a6908e91 (patch) | |
| tree | e8da1423783c09d480905bb9fe84dc86b8bd0a0a /lib/sqlalchemy/sql/dml.py | |
| parent | 4dfc7fb08716c6f4995dd656a24f092ad0cc91f4 (diff) | |
| download | sqlalchemy-1af8e2491dcbed723d2cdafd44fd37f1a6908e91.tar.gz | |
- implement kwarg validation and type system for dialect-specific
arguments; [ticket:2866]
- add dialect specific kwarg functionality to ForeignKeyConstraint, ForeignKey
Diffstat (limited to 'lib/sqlalchemy/sql/dml.py')
| -rw-r--r-- | lib/sqlalchemy/sql/dml.py | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/lib/sqlalchemy/sql/dml.py b/lib/sqlalchemy/sql/dml.py index 22694348b..854b894ee 100644 --- a/lib/sqlalchemy/sql/dml.py +++ b/lib/sqlalchemy/sql/dml.py @@ -8,13 +8,13 @@ Provide :class:`.Insert`, :class:`.Update` and :class:`.Delete`. """ -from .base import Executable, _generative, _from_objects +from .base import Executable, _generative, _from_objects, DialectKWArgs from .elements import ClauseElement, _literal_as_text, Null, and_, _clone from .selectable import _interpret_as_from, _interpret_as_select, HasPrefixes from .. import util from .. import exc -class UpdateBase(HasPrefixes, Executable, ClauseElement): +class UpdateBase(DialectKWArgs, HasPrefixes, Executable, ClauseElement): """Form the base for ``INSERT``, ``UPDATE``, and ``DELETE`` statements. """ @@ -23,7 +23,6 @@ class UpdateBase(HasPrefixes, Executable, ClauseElement): _execution_options = \ Executable._execution_options.union({'autocommit': True}) - kwargs = util.immutabledict() _hints = util.immutabledict() _prefixes = () @@ -417,7 +416,7 @@ class Insert(ValuesBase): prefixes=None, returning=None, return_defaults=False, - **kwargs): + **dialect_kw): """Construct an :class:`.Insert` object. Similar functionality is available via the @@ -462,7 +461,7 @@ class Insert(ValuesBase): self.select = self.select_names = None self.inline = inline self._returning = returning - self.kwargs = kwargs + self._validate_dialect_kwargs(dialect_kw) self._return_defaults = return_defaults def get_children(self, **kwargs): @@ -547,7 +546,7 @@ class Update(ValuesBase): prefixes=None, returning=None, return_defaults=False, - **kwargs): + **dialect_kw): """Construct an :class:`.Update` object. E.g.:: @@ -658,7 +657,7 @@ class Update(ValuesBase): else: self._whereclause = None self.inline = inline - self.kwargs = kwargs + self._validate_dialect_kwargs(dialect_kw) self._return_defaults = return_defaults @@ -716,7 +715,7 @@ class Delete(UpdateBase): bind=None, returning=None, prefixes=None, - **kwargs): + **dialect_kw): """Construct :class:`.Delete` object. Similar functionality is available via the @@ -746,7 +745,7 @@ class Delete(UpdateBase): else: self._whereclause = None - self.kwargs = kwargs + self._validate_dialect_kwargs(dialect_kw) def get_children(self, **kwargs): if self._whereclause is not None: |
