[Django] #21196: Warning when running the test suite under MySQL

9 views
Skip to first unread message

Django

unread,
Sep 30, 2013, 4:16:09 AM9/30/13
to django-...@googlegroups.com
#21196: Warning when running the test suite under MySQL
-----------------------------------------+------------------------
Reporter: aaugustin | Owner: nobody
Type: Bug | Status: new
Component: contrib.admin | Version: master
Severity: Normal | Keywords:
Triage Stage: Accepted | Has patch: 0
Needs documentation: 0 | Needs tests: 0
Patch needs improvement: 0 | Easy pickings: 0
UI/UX: 0 |
-----------------------------------------+------------------------
{{{
Failed to install index for admin_views.PrePopulatedPostLargeSlug model:
Specified key was too long; max key length is 767 bytes
}}}

Unfortunately, `python -Werror runtests.py` doesn't display a traceback.

--
Ticket URL: <https://code.djangoproject.com/ticket/21196>
Django <https://code.djangoproject.com/>
The Web framework for perfectionists with deadlines.

Django

unread,
Feb 27, 2014, 4:36:57 AM2/27/14
to django-...@googlegroups.com
#21196: Warning when running the test suite under MySQL
-------------------------------+------------------------------------

Reporter: aaugustin | Owner: nobody
Type: Bug | Status: new
Component: contrib.admin | Version: master
Severity: Normal | Resolution:

Keywords: | Triage Stage: Accepted
Has patch: 0 | Needs documentation: 0
Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+------------------------------------

Comment (by afuna):

`python -Walways ./runtests.py` gives me
`django/db/backends/mysql/base.py:128: Warning: Specified key was too
long; max key length is 767 bytes`

I'd be happy to dig into this more, but I'm not sure what desired behavior
is. Is it to silence the warning, turn it into an exception, adjust the
test, or something else? :)

--
Ticket URL: <https://code.djangoproject.com/ticket/21196#comment:1>

Django

unread,
Oct 18, 2014, 8:32:26 PM10/18/14
to django-...@googlegroups.com
#21196: Warning when running the test suite under MySQL
-------------------------------+-------------------------------------
Reporter: aaugustin | Owner: tchaumeny
Type: Bug | Status: assigned
Component: contrib.admin | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+-------------------------------------
Changes (by tchaumeny):

* owner: nobody => tchaumeny
* cc: t.chaumeny@… (added)
* has_patch: 0 => 1
* status: new => assigned


Comment:

I encountered the same problem when trying to run the test suite under
MySQL. It looks like MySQL doesn't support indexing VARCHAR fields with a
length of 767+ on InnoDB tables (see
http://dev.mysql.com/doc/refman/5.1/en/create-index.html). #15938
introduced a `SlugField` on a field with `max_length = 1000` for a test.

https://github.com/django/django/pull/3388 sets `db_index=False`, which
solves the problem.

--
Ticket URL: <https://code.djangoproject.com/ticket/21196#comment:2>

Django

unread,
Oct 19, 2014, 1:57:31 AM10/19/14
to django-...@googlegroups.com
#21196: Warning when running the test suite under MySQL
-------------------------------+-------------------------------------
Reporter: aaugustin | Owner: tchaumeny
Type: Bug | Status: assigned
Component: contrib.admin | Version: master
Severity: Normal | Resolution:
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+-------------------------------------

Comment (by loic):

Indeed:
Prefix support and lengths of prefixes (where supported) are storage
engine dependent. For example, a prefix can be up to 1000 bytes long for
MyISAM tables, and 767 bytes for InnoDB tables.

--
Ticket URL: <https://code.djangoproject.com/ticket/21196#comment:3>

Django

unread,
Oct 19, 2014, 2:48:12 AM10/19/14
to django-...@googlegroups.com
#21196: Warning when running the test suite under MySQL
-------------------------------+-------------------------------------
Reporter: aaugustin | Owner: tchaumeny
Type: Bug | Status: closed
Component: contrib.admin | Version: master
Severity: Normal | Resolution: fixed
Keywords: | Triage Stage: Accepted
Has patch: 1 | Needs documentation: 0

Needs tests: 0 | Patch needs improvement: 0
Easy pickings: 0 | UI/UX: 0
-------------------------------+-------------------------------------
Changes (by Loic Bistuer <loic.bistuer@…>):

* status: assigned => closed
* resolution: => fixed


Comment:

In [changeset:"825ea8385857a98a36b3dc67c427b0000b5d9112"]:
{{{
#!CommitTicketReference repository=""
revision="825ea8385857a98a36b3dc67c427b0000b5d9112"
Fixed #21196 -- Removed index on test field causing MySQL specific
warning.
}}}

--
Ticket URL: <https://code.djangoproject.com/ticket/21196#comment:4>

Reply all
Reply to author
Forward
0 new messages