diff options
| author | Russell Keith-Magee <russell@keith-magee.com> | 2009-05-10 09:22:53 +0000 |
|---|---|---|
| committer | Russell Keith-Magee <russell@keith-magee.com> | 2009-05-10 09:22:53 +0000 |
| commit | 8c2db4ab0f87643765b6bffac7c524f5e2e54d65 (patch) | |
| tree | 66cb0eeaad734f7b2add43a292fb3ceddce40a45 /tests/regressiontests | |
| parent | b97178f7ec311da7c885a122a2ccc1036bacf0d3 (diff) | |
Fixed #10906 -- Added a check for PostgreSQL pre 8.2 when using StdDev/Variance aggregates. Thanks to Richard Davies for the report and patch.
git-svn-id: http://code.djangoproject.com/svn/django/trunk@10731 bcc190cf-cafb-0310-a4f2-bffc1f526a37
Diffstat (limited to 'tests/regressiontests')
| -rw-r--r-- | tests/regressiontests/aggregation_regress/models.py | 24 |
1 files changed, 20 insertions, 4 deletions
diff --git a/tests/regressiontests/aggregation_regress/models.py b/tests/regressiontests/aggregation_regress/models.py index 2a23b922b4..4476b86d64 100644 --- a/tests/regressiontests/aggregation_regress/models.py +++ b/tests/regressiontests/aggregation_regress/models.py @@ -1,7 +1,7 @@ # coding: utf-8 import pickle -from django.db import models +from django.db import connection, models from django.conf import settings try: @@ -321,10 +321,26 @@ FieldError: Cannot compute Avg('mean_age'): 'mean_age' is an aggregate """ } -if settings.DATABASE_ENGINE != 'sqlite3': - __test__['API_TESTS'] += """ -# Stddev and Variance are not guaranteed to be available for SQLite. +def run_stddev_tests(): + """Check to see if StdDev/Variance tests should be run. + + Stddev and Variance are not guaranteed to be available for SQLite, and + are not available for PostgreSQL before 8.2. + """ + if settings.DATABASE_ENGINE == 'sqlite3': + return False + + class StdDevPop(object): + sql_function = 'STDDEV_POP' + try: + connection.ops.check_aggregate_support(StdDevPop()) + except: + return False + return True + +if run_stddev_tests(): + __test__['API_TESTS'] += """ >>> Book.objects.aggregate(StdDev('pages')) {'pages__stddev': 311.46...} |
