Removed more code for handling of PostgreSQL versions older than 8.2; use always "INSERT... RETURNING..." rather than "INSERT...; SELECT CURRVAL...". Thanks Christoph Pettus for the report and hints. Fixes #12180. Refs [16423].

git-svn-id: http://code.djangoproject.com/svn/django/trunk@16443 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Ramiro Morales 2011-06-19 19:54:20 +00:00
parent b9ea5e163e
commit 9eb2afddfa
1 changed files with 1 additions and 6 deletions

View File

@ -66,7 +66,7 @@ class CursorWrapper(object):
class DatabaseFeatures(BaseDatabaseFeatures): class DatabaseFeatures(BaseDatabaseFeatures):
needs_datetime_string_cast = False needs_datetime_string_cast = False
can_return_id_from_insert = False can_return_id_from_insert = True
requires_rollback_on_dirty_transaction = True requires_rollback_on_dirty_transaction = True
has_real_datatype = True has_real_datatype = True
can_defer_constraint_checks = True can_defer_constraint_checks = True
@ -147,11 +147,6 @@ class DatabaseWrapper(BaseDatabaseWrapper):
if set_tz: if set_tz:
cursor.execute("SET TIME ZONE %s", [settings_dict['TIME_ZONE']]) cursor.execute("SET TIME ZONE %s", [settings_dict['TIME_ZONE']])
self._get_pg_version() self._get_pg_version()
if self.features.uses_autocommit:
# FIXME: Eventually we'll enable this by default for
# versions that support it, but, right now, that's hard to
# do without breaking other things (#10509).
self.features.can_return_id_from_insert = True
return CursorWrapper(cursor) return CursorWrapper(cursor)
def _enter_transaction_management(self, managed): def _enter_transaction_management(self, managed):