Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -49,6 +49,11 @@ jobs:
use_psycopg2: psycopg2
- crdb-version: v25.1.2
use_server_side_binding: server_side_binding
- crdb-version: v25.2.2
- crdb-version: v25.2.2
use_psycopg2: psycopg2
- crdb-version: v25.2.2
use_server_side_binding: server_side_binding
# Uncomment to enable testing of CockroachDB nightly.
#- crdb-version: LATEST
#- crdb-version: LATEST
Expand Down
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,9 @@
# Changelog

## 5.2.1 - Unreleased

- Confirmed support for CockroachDB 25.2.x (no code changes required).

## 5.2 - 2025-04-07

Initial release for Django 5.2.x and CockroachDB 23.2.x, 24.1.x, 24.3.x, and
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ By default, CockroachDB sends the version of django-cockroachdb that you're
using back to Cockroach Labs. To disable this, set
`DISABLE_COCKROACHDB_TELEMETRY = True` in your Django settings.

## Known issues and limitations in CockroachDB 25.1.x and earlier
## Known issues and limitations in CockroachDB 25.2.x and earlier

- CockroachDB [can't disable constraint checking](https://github.com/cockroachdb/cockroach/issues/19444),
which means certain things in Django like forward references in fixtures
Expand Down
16 changes: 16 additions & 0 deletions django_cockroachdb/features.py
Original file line number Diff line number Diff line change
Expand Up @@ -87,6 +87,10 @@ def is_cockroachdb_24_3(self):
def is_cockroachdb_25_1(self):
return self.connection.cockroachdb_version >= (25, 1)

@cached_property
def is_cockroachdb_25_2(self):
return self.connection.cockroachdb_version >= (25, 2)

@cached_property
def django_test_expected_failures(self):
expected_failures = super().django_test_expected_failures
Expand Down Expand Up @@ -287,6 +291,18 @@ def django_test_expected_failures(self):
# data type of placeholder $1
'expressions_case.tests.CaseExpressionTests.test_filter_with_expression_as_condition',
})
if self.is_cockroachdb_25_2:
expected_failures.update({
# concat(): error type checking resolved expression::
# could not determine data type of placeholder $1
'aggregation_regress.tests.AggregationTests.test_aggregate_group_by_unseen_columns_unmanaged',
'db_functions.text.test_concat.ConcatTests.test_many',
'db_functions.text.test_concat.ConcatTests.test_mixed_char_text',
'db_functions.text.test_replace.ReplaceTests.test_replace_expression',
'expressions.tests.BasicExpressionsTests.test_slicing_of_f_expression_with_annotated_expression',
'filtered_relation.tests.FilteredRelationTests.test_condition_with_func_and_lookup_outside_relation_name', # noqa
'select_for_update.tests.SelectForUpdateTests.test_for_update_of_values_list',
})
else:
expected_failures.update({
# Unsupported query: unsupported binary operator: <int> / <int>:
Expand Down