summaryrefslogtreecommitdiff
path: root/lib/sqlalchemy/dialects/postgresql/base.py
diff options
context:
space:
mode:
authorMike Bayer <mike_mp@zzzcomputing.com>2011-01-15 11:53:37 -0500
committerMike Bayer <mike_mp@zzzcomputing.com>2011-01-15 11:53:37 -0500
commit75b5236e69b4607d549d466bd34d409f3cc9ed45 (patch)
tree5a6a325f03cd1d2180583324a2982e9ff6f343b3 /lib/sqlalchemy/dialects/postgresql/base.py
parent56e59be4e7476d7d5a10760c84b8d5ee471a6d94 (diff)
downloadsqlalchemy-75b5236e69b4607d549d466bd34d409f3cc9ed45.tar.gz
- the _pk_processors/_prefetch_processors approach relied upon calling RPs without a cursor.description
result, also generates procs that are not used in most cases. simplify the approach by passing type to _exec_default() to be used if needed by _execute_scalar(), looking for the proc on just t._autoincrement_column in post_insert().
Diffstat (limited to 'lib/sqlalchemy/dialects/postgresql/base.py')
-rw-r--r--lib/sqlalchemy/dialects/postgresql/base.py12
1 files changed, 6 insertions, 6 deletions
diff --git a/lib/sqlalchemy/dialects/postgresql/base.py b/lib/sqlalchemy/dialects/postgresql/base.py
index 84fd96edd..7c712e8aa 100644
--- a/lib/sqlalchemy/dialects/postgresql/base.py
+++ b/lib/sqlalchemy/dialects/postgresql/base.py
@@ -681,21 +681,21 @@ class DropEnumType(schema._CreateDropBase):
__visit_name__ = "drop_enum_type"
class PGExecutionContext(default.DefaultExecutionContext):
- def fire_sequence(self, seq, proc):
+ def fire_sequence(self, seq, type_):
if not seq.optional:
return self._execute_scalar(("select nextval('%s')" % \
- self.dialect.identifier_preparer.format_sequence(seq)), proc)
+ self.dialect.identifier_preparer.format_sequence(seq)), type_)
else:
return None
- def get_insert_default(self, column, proc):
+ def get_insert_default(self, column):
if column.primary_key:
if (isinstance(column.server_default, schema.DefaultClause) and
column.server_default.arg is not None):
# pre-execute passive defaults on primary key columns
return self._execute_scalar("select %s" %
- column.server_default.arg, proc)
+ column.server_default.arg, column.type)
elif column is column.table._autoincrement_column \
and (column.default is None or
@@ -714,9 +714,9 @@ class PGExecutionContext(default.DefaultExecutionContext):
exc = "select nextval('\"%s_%s_seq\"')" % \
(column.table.name, column.name)
- return self._execute_scalar(exc, proc)
+ return self._execute_scalar(exc, column.type)
- return super(PGExecutionContext, self).get_insert_default(column, proc)
+ return super(PGExecutionContext, self).get_insert_default(column)
class PGDialect(default.DefaultDialect):
name = 'postgresql'