--- sql/odbc/parser3odbc.C 2008/07/04 16:20:02 1.34 +++ sql/odbc/parser3odbc.C 2008/07/08 10:53:32 1.36 @@ -5,7 +5,7 @@ Author: Alexandr Petrosian (http://paf.design.ru) */ -static const char *RCSId="$Id: parser3odbc.C,v 1.34 2008/07/04 16:20:02 misha Exp $"; +static const char *RCSId="$Id: parser3odbc.C,v 1.36 2008/07/08 10:53:32 misha Exp $"; #ifndef _MSC_VER # error compile ISAPI module with MSVC [no urge for now to make it autoconf-ed (PAF)] @@ -350,7 +350,7 @@ public: CHECK(handlers.before_rows(sql_error)); // skip offset rows - if(offset && !mstatement.offset){ + if(offset && limit!=0 && !mstatement.offset){ unsigned long row=offset; while(!rs.IsEOF() && row--) rs.MoveNext(); @@ -511,10 +511,10 @@ private: +1/*terminator*/ ); - result.limit=true; // with TOP we can't skip offset records easily + result.limit=true; result.statement=statement_limited; - snprintf(statement_limited, MAX_NUMBER+11, "SELECT TOP %u", (limit)?limit+offset:0/*no reasons to skip something if we need 0 rows*/); + snprintf(statement_limited, MAX_NUMBER+11, "SELECT TOP %u", (limit)?limit+offset:0/*no point to skip anything if we need 0 rows*/); astatement+=6;/*skip 'select'*/ strcat(statement_limited, astatement);