diff options
| author | Andrew Godwin <andrew@aeracode.org> | 2012-09-17 23:45:00 +0100 |
|---|---|---|
| committer | Andrew Godwin <andrew@aeracode.org> | 2012-09-17 23:45:00 +0100 |
| commit | c5e2ecae6949d4e89530610d768bbbd563ddc19b (patch) | |
| tree | 322a3e2a7f1abd32313f84d1c42ed470497b9405 /django/db/backends | |
| parent | d0b353696478a05937377dd5c8289e69a95f059a (diff) | |
Fix bug in get_indexes affecting the tests
Diffstat (limited to 'django/db/backends')
| -rw-r--r-- | django/db/backends/mysql/introspection.py | 1 | ||||
| -rw-r--r-- | django/db/backends/postgresql_psycopg2/introspection.py | 8 |
2 files changed, 8 insertions, 1 deletions
diff --git a/django/db/backends/mysql/introspection.py b/django/db/backends/mysql/introspection.py index 93e89c1263..477478ca9d 100644 --- a/django/db/backends/mysql/introspection.py +++ b/django/db/backends/mysql/introspection.py @@ -103,6 +103,7 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): continue if row[4] not in indexes: indexes[row[4]] = {'primary_key': False, 'unique': False} + # It's possible to have the unique and PK constraints in separate indexes. if row[2] == 'PRIMARY': indexes[row[4]]['primary_key'] = True if not bool(row[1]): diff --git a/django/db/backends/postgresql_psycopg2/introspection.py b/django/db/backends/postgresql_psycopg2/introspection.py index 5a29932859..d43b95406c 100644 --- a/django/db/backends/postgresql_psycopg2/introspection.py +++ b/django/db/backends/postgresql_psycopg2/introspection.py @@ -86,7 +86,13 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): # Here, we skip any indexes across multiple fields. if ' ' in row[1]: continue - indexes[row[0]] = {'primary_key': row[3], 'unique': row[2]} + if row[0] not in indexes: + indexes[row[0]] = {'primary_key': False, 'unique': False} + # It's possible to have the unique and PK constraints in separate indexes. + if row[3]: + indexes[row[0]]['primary_key'] = True + if row[2]: + indexes[row[0]]['unique'] = True return indexes def get_constraints(self, cursor, table_name): |
