Changes between Initial Version and Version 1 of Ticket #20846, comment 25
- Timestamp:
- Nov 7, 2015, 9:38:51 AM (9 years ago)
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 .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's tests. 2 2 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 cou dl be changed to just 191 characters instead which is the maximum indexable (767 // 4).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 could be changed to just 191 characters instead which is the maximum indexable ({{{767 // 4}}}).