summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/sql/compiler.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/compiler.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/compiler.py')
-rw-r--r--lib/sqlalchemy/sql/compiler.py14
1 files changed, 6 insertions, 8 deletions
diff --git a/lib/sqlalchemy/sql/compiler.py b/lib/sqlalchemy/sql/compiler.py
index ce98dfb83..d906bf5d4 100644
--- a/lib/sqlalchemy/sql/compiler.py
+++ b/lib/sqlalchemy/sql/compiler.py
@@ -1102,18 +1102,16 @@ class SQLCompiler(engine.Compiled):
else:
self.returning.append(c)
else:
- if (
- c.default is not None and \
- (
- self.dialect.supports_sequences or
- not c.default.is_sequence
- )
- ) or \
- self.dialect.preexecute_autoincrement_sequences:
+ if c.default is not None or \
+ c is stmt.table._autoincrement_column and (
+ self.dialect.supports_sequences or
+ self.dialect.preexecute_autoincrement_sequences
+ ):
values.append(
(c, self._create_crud_bind_param(c, None))
)
+
self.prefetch.append(c)
elif c.default is not None: