summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/expression.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-01-15 16:42:29 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2011-01-15 16:42:29 -0500
commitdff5a404e489d5215da5aa30870b78aca8423de5 (patch)
tree39f6ae1949762d269f6a73e0315f0fa6910ceacd /lib/sqlalchemy/sql/expression.py
parentfc0ffac24155931c2db10d1a469e1f7898268e45 (diff)
downloadsqlalchemy-dff5a404e489d5215da5aa30870b78aca8423de5.tar.gz
- getting slightly more consistent behavior for the edge case of pk columns
with server default - autoincrement is now false with any server_default, so these all return None, applies consistency to [ticket:2020], [ticket:2021]. if prefetch is desired a "default" should be used instead of server_default.
Diffstat (limited to 'lib/sqlalchemy/sql/expression.py')
-rw-r--r--lib/sqlalchemy/sql/expression.py15
1 files changed, 8 insertions, 7 deletions
diff --git a/lib/sqlalchemy/sql/expression.py b/lib/sqlalchemy/sql/expression.py
index ede194f7c..6a368b8c0 100644
--- a/lib/sqlalchemy/sql/expression.py
+++ b/lib/sqlalchemy/sql/expression.py
@@ -4436,7 +4436,7 @@ class Select(_SelectBase):
self._bind = bind
bind = property(bind, _set_bind)
-class _UpdateBase(Executable, ClauseElement):
+class UpdateBase(Executable, ClauseElement):
"""Form the base for ``INSERT``, ``UPDATE``, and ``DELETE`` statements."""
__visit_name__ = 'update_base'
@@ -4513,7 +4513,8 @@ class _UpdateBase(Executable, ClauseElement):
"""
self._returning = cols
-class _ValuesBase(_UpdateBase):
+class ValuesBase(UpdateBase):
+ """Supplies support for :meth:`.ValuesBase.values` to INSERT and UPDATE constructs."""
__visit_name__ = 'values_base'
@@ -4548,7 +4549,7 @@ class _ValuesBase(_UpdateBase):
self.parameters.update(self._process_colparams(v))
self.parameters.update(kwargs)
-class Insert(_ValuesBase):
+class Insert(ValuesBase):
"""Represent an INSERT construct.
The :class:`Insert` object is created using the :func:`insert()` function.
@@ -4566,7 +4567,7 @@ class Insert(_ValuesBase):
prefixes=None,
returning=None,
**kwargs):
- _ValuesBase.__init__(self, table, values)
+ ValuesBase.__init__(self, table, values)
self._bind = bind
self.select = None
self.inline = inline
@@ -4598,7 +4599,7 @@ class Insert(_ValuesBase):
clause = _literal_as_text(clause)
self._prefixes = self._prefixes + (clause,)
-class Update(_ValuesBase):
+class Update(ValuesBase):
"""Represent an Update construct.
The :class:`Update` object is created using the :func:`update()` function.
@@ -4614,7 +4615,7 @@ class Update(_ValuesBase):
bind=None,
returning=None,
**kwargs):
- _ValuesBase.__init__(self, table, values)
+ ValuesBase.__init__(self, table, values)
self._bind = bind
self._returning = returning
if whereclause is not None:
@@ -4650,7 +4651,7 @@ class Update(_ValuesBase):
self._whereclause = _literal_as_text(whereclause)
-class Delete(_UpdateBase):
+class Delete(UpdateBase):
"""Represent a DELETE construct.
The :class:`Delete` object is created using the :func:`delete()` function.