I would try creating a stored procedure in Interbase to do the limit for you. I cant remember where I found this one but it works wonders.
--- begin paste ---
DECLARE VARIABLE counter INTEGER;
BEGIN
counter = 0;
FOR SELECT / your columns here / FROM / your table name here / INTO / your columns here again but this time put a : in front of the name/
DO
BEGIN
IF (counter = :start + :num) THEN EXIT;
ELSE
IF (counter >= :start) THEN SUSPEND;
counter = counter +1;
END
END
--- end paste ---
then you would select from the procedure like you would a view or a normal table. So say for example you called your procedure contact_limit your query would look like this.
"select from contact_limit(start, num);" where start is which record you want to start with and num is how many after that you want. If you wanted 10 records returned starting at 51 it would be
"select from contact_limit(51,10);"
The only issue is that this particular method "hard codes" so to speak, your query. But its the closest thing i could find to the limit functionality of MySQL and PostGreSQL. Like I said I can't remember where I saw this but Im using it and it works!
Perhaps someone out there will write a better one that can be used no matter what the columns or table.
-injunjoel