diff options
| author | Tim Graham <timograham@gmail.com> | 2017-02-15 13:33:55 -0500 |
|---|---|---|
| committer | Tim Graham <timograham@gmail.com> | 2017-02-15 21:07:53 -0500 |
| commit | 2f6cdc09c4db46ad13ff736b93a975bcd587abf4 (patch) | |
| tree | 8cb9e6062f938e45a12dbc55c4b33271fa05356d /django | |
| parent | 197a2cd4871769919dd69434439c3e7f4356728c (diff) | |
[1.11.x] Fixed #27135 -- Made index introspection return Index.suffix.
Backport of b008f7cc5655d01817a8825e6317877b43c92181 from master
Diffstat (limited to 'django')
| -rw-r--r-- | django/db/backends/mysql/introspection.py | 3 | ||||
| -rw-r--r-- | django/db/backends/oracle/introspection.py | 2 | ||||
| -rw-r--r-- | django/db/backends/postgresql/introspection.py | 3 | ||||
| -rw-r--r-- | django/db/backends/sqlite3/introspection.py | 3 |
4 files changed, 7 insertions, 4 deletions
diff --git a/django/db/backends/mysql/introspection.py b/django/db/backends/mysql/introspection.py index 457c8b7f48..b429e6a3cf 100644 --- a/django/db/backends/mysql/introspection.py +++ b/django/db/backends/mysql/introspection.py @@ -6,6 +6,7 @@ from MySQLdb.constants import FIELD_TYPE from django.db.backends.base.introspection import ( BaseDatabaseIntrospection, FieldInfo, TableInfo, ) +from django.db.models.indexes import Index from django.utils.datastructures import OrderedSet from django.utils.deprecation import RemovedInDjango21Warning from django.utils.encoding import force_text @@ -217,7 +218,7 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): 'foreign_key': None, } constraints[index]['index'] = True - constraints[index]['type'] = type_.lower() + constraints[index]['type'] = Index.suffix if type_ == 'BTREE' else type_.lower() constraints[index]['columns'].add(column) # Convert the sorted sets to lists for constraint in constraints.values(): diff --git a/django/db/backends/oracle/introspection.py b/django/db/backends/oracle/introspection.py index 7af2a18a8d..2d04fdac56 100644 --- a/django/db/backends/oracle/introspection.py +++ b/django/db/backends/oracle/introspection.py @@ -281,7 +281,7 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): "foreign_key": None, "check": False, "index": True, - "type": 'btree' if type_ == 'normal' else type_, + "type": 'idx' if type_ == 'normal' else type_, } # Record the details constraints[constraint]['columns'].append(column) diff --git a/django/db/backends/postgresql/introspection.py b/django/db/backends/postgresql/introspection.py index e9d7d0225f..c75f06f873 100644 --- a/django/db/backends/postgresql/introspection.py +++ b/django/db/backends/postgresql/introspection.py @@ -5,6 +5,7 @@ import warnings from django.db.backends.base.introspection import ( BaseDatabaseIntrospection, FieldInfo, TableInfo, ) +from django.db.models.indexes import Index from django.utils.deprecation import RemovedInDjango21Warning from django.utils.encoding import force_text @@ -236,7 +237,7 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): "foreign_key": None, "check": False, "index": True, - "type": type_, + "type": Index.suffix if type_ == 'btree' else type_, "definition": definition, "options": options, } diff --git a/django/db/backends/sqlite3/introspection.py b/django/db/backends/sqlite3/introspection.py index 7d24ca6f26..637a6a5332 100644 --- a/django/db/backends/sqlite3/introspection.py +++ b/django/db/backends/sqlite3/introspection.py @@ -4,6 +4,7 @@ import warnings from django.db.backends.base.introspection import ( BaseDatabaseIntrospection, FieldInfo, TableInfo, ) +from django.db.models.indexes import Index from django.utils.deprecation import RemovedInDjango21Warning field_size_re = re.compile(r'^\s*(?:var)?char\s*\(\s*(\d+)\s*\)\s*$') @@ -262,7 +263,7 @@ class DatabaseIntrospection(BaseDatabaseIntrospection): # Add type and column orders for indexes if constraints[index]['index'] and not constraints[index]['unique']: # SQLite doesn't support any index type other than b-tree - constraints[index]['type'] = 'btree' + constraints[index]['type'] = Index.suffix cursor.execute( "SELECT sql FROM sqlite_master " "WHERE type='index' AND name=%s" % self.connection.ops.quote_name(index) |
