summaryrefslogtreecommitdiff
path: root/tests/postgres_tests/test_indexes.py
diff options
context:
space:
mode:
authorMads Jensen <mje@inducks.org>2017-03-17 19:01:25 +0100
committerTim Graham <timograham@gmail.com>2017-03-18 08:12:10 -0400
commit82bb4e684f9d0e5939cb0596c249954df0888e2d (patch)
tree52c5efbb4bd23a159134b3bda654dfcefc6e5098 /tests/postgres_tests/test_indexes.py
parent93eca976c15dceaf445ab4739bb2f635a2021db0 (diff)
Fixed #27935 -- Fixed crash with BrinIndex name > 30 characters.
Diffstat (limited to 'tests/postgres_tests/test_indexes.py')
-rw-r--r--tests/postgres_tests/test_indexes.py13
1 files changed, 12 insertions, 1 deletions
diff --git a/tests/postgres_tests/test_indexes.py b/tests/postgres_tests/test_indexes.py
index db61561200..e26d96f003 100644
--- a/tests/postgres_tests/test_indexes.py
+++ b/tests/postgres_tests/test_indexes.py
@@ -3,7 +3,7 @@ from django.db import connection
from django.test import skipUnlessDBFeature
from . import PostgreSQLTestCase
-from .models import CharFieldModel, IntegerArrayModel
+from .models import CharFieldModel, DateTimeArrayModel, IntegerArrayModel
@skipUnlessDBFeature('has_brin_index_support')
@@ -23,6 +23,17 @@ class BrinIndexTests(PostgreSQLTestCase):
index_with_page_range = BrinIndex(fields=['title'], pages_per_range=16)
self.assertNotEqual(index, index_with_page_range)
+ def test_name_auto_generation(self):
+ """
+ A name longer than 30 characters (since len(BrinIndex.suffix) is 4
+ rather than usual limit of 3) is okay for PostgreSQL. For this test,
+ the name of the field ('datetimes') must be at least 7 characters to
+ generate a name longer than 30 characters.
+ """
+ index = BrinIndex(fields=['datetimes'])
+ index.set_name_with_model(DateTimeArrayModel)
+ self.assertEqual(index.name, 'postgres_te_datetim_abf104_brin')
+
def test_deconstruction(self):
index = BrinIndex(fields=['title'], name='test_title_brin')
path, args, kwargs = index.deconstruct()