1. Michael Bayer
  2. sqlalchemy
  3. Issues

Issues

Issue #2278 resolved

offset limit doesn't work with sybase dialect

Anonymous created an issue

Going thru the ORM tutorial, the following code:

for u in session.query(User).order_by(User.id)1:3: ... print u

gives: sqlalchemy.exc.DatabaseError: (DatabaseError) Msg 102, Level 15, State 1, Line 1 Incorrect syntax near '2'. 'SELECT TOP 2 START AT 2 ....ommitted...

Probably to do with using SQL Anywhere syntax which is not supported in ASE

Comments (3)

  1. Michael Bayer repo owner

    The dialect was ported from SQL Anywhere to ASE. "TOP N" is the correct syntax. The "START AT" part probably isn't - to my knowledge Sybase ASE supports no "START AT" feature. Here's a document which suggests using "set cursor rowcount" - not something SQLAlchemy is really prepared to do here automatically:

    http://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc36272.1550/html/commands/X35229.htm

    so I'd propose just having OFFSET raise a NotImplementedError. It's not really an option with ASE.

  2. Log in to comment