summaryrefslogtreecommitdiff
path: root/tests/postgres_tests
diff options
context:
space:
mode:
authorSimon Charette <charette.s@gmail.com>2018-07-20 21:23:05 -0400
committerSimon Charette <charette.s@gmail.com>2018-07-21 21:32:21 -0400
commit1a28dc3887e8d66d5e3ff08cf7fb0a6212b873e5 (patch)
tree24f4707d1237abd34bd4eeee2005868c70f7134c /tests/postgres_tests
parent71a739f3d752015504d455bf6f01e63a04d1a383 (diff)
Fixed #29582 -- Fixed a crash when using SearchVector with non text-fields.
The PostgreSQL concat() function handles nulls and non-text values better than the || operator.
Diffstat (limited to 'tests/postgres_tests')
-rw-r--r--tests/postgres_tests/test_search.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/tests/postgres_tests/test_search.py b/tests/postgres_tests/test_search.py
index 944690692a..405de8cf0e 100644
--- a/tests/postgres_tests/test_search.py
+++ b/tests/postgres_tests/test_search.py
@@ -155,6 +155,12 @@ class MultipleFieldsTest(GrailTestData, PostgreSQLTestCase):
).filter(search='bedemir')
self.assertEqual(set(searched), {self.bedemir0, self.bedemir1, self.crowd, self.witch, self.duck})
+ def test_search_with_non_text(self):
+ searched = Line.objects.annotate(
+ search=SearchVector('id'),
+ ).filter(search=str(self.crowd.id))
+ self.assertSequenceEqual(searched, [self.crowd])
+
def test_config_query_explicit(self):
searched = Line.objects.annotate(
search=SearchVector('scene__setting', 'dialogue', config='french'),