From 58de495c54c203dfa838538fb6ca46187120f4e6 Mon Sep 17 00:00:00 2001
From: Aymeric Augustin <aymeric.augustin@m4x.org>
Date: Sat, 7 Jun 2014 15:10:56 +0200
Subject: [PATCH] Fixed #17427 -- Removed dubious definition of connections
 equality.

---
 django/db/backends/__init__.py | 11 -----------
 docs/releases/1.8.txt          |  3 +++
 tests/db_backends/__init__.py  |  0
 tests/db_backends/tests.py     | 36 ----------------------------------
 4 files changed, 3 insertions(+), 47 deletions(-)
 delete mode 100644 tests/db_backends/__init__.py
 delete mode 100644 tests/db_backends/tests.py

diff --git a/django/db/backends/__init__.py b/django/db/backends/__init__.py
index 587cd874d9..7c00773d42 100644
--- a/django/db/backends/__init__.py
+++ b/django/db/backends/__init__.py
@@ -73,17 +73,6 @@ class BaseDatabaseWrapper(object):
         self.allow_thread_sharing = allow_thread_sharing
         self._thread_ident = thread.get_ident()
 
-    def __eq__(self, other):
-        if isinstance(other, BaseDatabaseWrapper):
-            return self.alias == other.alias
-        return NotImplemented
-
-    def __ne__(self, other):
-        return not self == other
-
-    def __hash__(self):
-        return hash(self.alias)
-
     @property
     def queries(self):
         if len(self.queries_log) == self.queries_log.maxlen:
diff --git a/docs/releases/1.8.txt b/docs/releases/1.8.txt
index 50d27aceb8..ade8f9b7df 100644
--- a/docs/releases/1.8.txt
+++ b/docs/releases/1.8.txt
@@ -270,6 +270,9 @@ Miscellaneous
 
 * ``connections.queries`` is now a read-only attribute.
 
+* Database connections are considered equal only if they're the same object.
+  They aren't hashable any more.
+
 * ``URLField.to_python`` no longer adds a trailing slash to pathless URLs.
 
 * ``django.contrib.gis`` dropped support for GEOS 3.1 and GDAL 1.6.
diff --git a/tests/db_backends/__init__.py b/tests/db_backends/__init__.py
deleted file mode 100644
index e69de29bb2..0000000000
diff --git a/tests/db_backends/tests.py b/tests/db_backends/tests.py
deleted file mode 100644
index 052ee87254..0000000000
--- a/tests/db_backends/tests.py
+++ /dev/null
@@ -1,36 +0,0 @@
-from django.test import TestCase
-from django.db.backends import BaseDatabaseWrapper
-
-
-class DummyDatabaseWrapper(BaseDatabaseWrapper):
-    pass
-
-
-class DummyObject(object):
-    alias = None
-
-
-class DbBackendTests(TestCase):
-    def test_compare_db_wrapper_with_another_object(self):
-        wrapper = BaseDatabaseWrapper({})
-        self.assertFalse(wrapper == 'not-a-db-wrapper')
-
-    def test_compare_db_wrapper_with_another_object_with_alias(self):
-        wrapper = BaseDatabaseWrapper({})
-        obj = DummyObject()
-        obj.alias = wrapper.alias = 'foobar'
-        self.assertFalse(wrapper == obj)
-
-    def test_negate_compare_db_wrapper_with_another_object(self):
-        wrapper = BaseDatabaseWrapper({})
-        self.assertTrue(wrapper != 'not-a-db-wrapper')
-
-    def test_compare_db_wrappers(self):
-        wrapper1 = DummyDatabaseWrapper({})
-        wrapper2 = BaseDatabaseWrapper({})
-
-        wrapper1.alias = wrapper2.alias = 'foo'
-        self.assertTrue(wrapper1 == wrapper2)
-
-        wrapper1.alias = 'bar'
-        self.assertFalse(wrapper1 == wrapper2)