From 6294fc7179011847d8a9f906cf4939ebf9852265 Mon Sep 17 00:00:00 2001 From: Malcolm Tredinnick Date: Tue, 12 Aug 2008 07:52:33 +0000 Subject: Changed "exact" matches in MySQL to use the database's native collation. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This effectively reverses the change in [7798]. It was proving too difficult to successfully manage all the side effects here and provide a satisfactory solution for everybody. Many thanks to arne, Martin von Löwis and, particular, Karen Tracey, for doing a lot of research and proto-patches here to establish what was possible and practical. This is backwards incompatible if you were relying on the behaviour after [7798]. The docs have been updated to indicate the solution. Refs #2170, #7789, #8102. git-svn-id: http://code.djangoproject.com/svn/django/trunk@8319 bcc190cf-cafb-0310-a4f2-bffc1f526a37 --- docs/db-api.txt | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'docs') diff --git a/docs/db-api.txt b/docs/db-api.txt index b014a70b1e..ca7d47f8fa 100644 --- a/docs/db-api.txt +++ b/docs/db-api.txt @@ -1327,6 +1327,19 @@ changed in the development version. Previously, it was (intentionally) converted to ``WHERE id = NULL`` at the SQL level, which would never match anything. It has now been changed to behave the same as ``id__isnull=True``. +.. admonition:: MySQL comparisons + + In MySQL, whether or not ``exact`` comparisons are case-sensitive depends + upon the collation setting of the table involved. The default is usually + ``latin1_swedish_ci`` or ``utf8_swedish_ci``, which results in + case-insensitive comparisons. Change the collation to + ``latin1_swedish_cs`` or ``utf8_bin`` for case sensitive comparisons. + + For more details, refer to the MySQL manual section about `character sets + and collations`_. + +.. _character sets and collations: http://dev.mysql.com/doc/refman/5.0/en/charset.html + iexact ~~~~~~ -- cgit v1.3