Opened 19 years ago

Last modified 18 years ago

#350 closed defect

"offset" keyword does not work on MySQL 3.x — at Initial Version

Reported by: ronan@… 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

When you use the Dhango API to query your data using the get_items(offset=X) style call, the SQL that is actually generated seems to be in a Postgres style that is only recently supported in MySQL (4.x and later, as far as I can tell.) To be clear, 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 (0)

Note: See TracTickets for help on using tickets.
Back to Top