Changes between Initial Version and Version 1 of Ticket #20846, comment 25


Ignore:
Timestamp:
Nov 7, 2015, 9:38:51 AM (8 years ago)
Author:
Adam Johnson

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #20846, comment 25

    initial v1  
    1 This patch breaks on MySQL installations using the {{{utf8mb4}}} charset, because it breaks the index length limit - it comes out at a maximum of 254 * 4 = 1016 bytes whilst by default InnoDB can only index 767 bytes. I found this because I am using utf8mb4 in django-mysql.
     1This patch breaks on MySQL installations using the {{{utf8mb4}}} charset, because it breaks the index length limit - it comes out at a maximum of 254 * 4 = 1016 bytes whilst by default InnoDB can only index 767 bytes. I found this because I am using utf8mb4 in django-mysql's tests.
    22
    3 Django encourages using the utf8 charset (3 bytes per character - cannot store emojis), although there has been some discussion for moving to utf8mb4 in #18392. One can index 254 character utf8mb4 fields in MySQL by using a couple settings as described in that ticket, Django could enforce those, or the field coudl be changed to just 191 characters instead which is the maximum indexable (767 // 4).
     3Django encourages using the utf8 charset (3 bytes per character - cannot store emojis), although there has been some discussion for moving to utf8mb4 in #18392. One can index 254 character utf8mb4 fields in MySQL by using a couple settings as described in that ticket, Django could enforce those, or the field could be changed to just 191 characters instead which is the maximum indexable ({{{767 // 4}}}).
Back to Top