Opened 19 years ago
Last modified 18 years ago
#350 closed defect
"offset" keyword does not work on MySQL 3.x — at Version 2
Reported by: | Owned by: | Adrian Holovaty | |
---|---|---|---|
Component: | Database layer (models, ORM) | Version: | |
Severity: | major | Keywords: | mysql database offset |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description (last modified by )
When you use the Django API to query your data using the get_items(offset=X)
style call, the SQL that is generated seems to be in Postgres style that is only recently supported in MySQL (4.x and later, as far as I can tell.) The SQL generated is something like the following:
SELECT ... ORDER BY ... DESC LIMIT 5 OFFSET 4
On MySQL 3.x this gives the following error:
"You have an error in your SQL syntax near 'OFFSET 4 '"
It works fine on my 4.1.
As far as I can tell from the MySQL manual, there is an alternate form of query that should work on all versions of MySQL. Here's the relevant snippet from the SELECT format:
[LIMIT {[offset,] row_count | row_count OFFSET offset}]
Since 3.23 is the default MySQL version for Fedora Core etc, this could affect quite a few people.
Change History (2)
comment:1 by , 19 years ago
Status: | new → assigned |
---|
comment:2 by , 19 years ago
Description: | modified (diff) |
---|
(Fixed formatting in description.)