Finally figured out limit statement
diff --git a/system/database/drivers/interbase/interbase_driver.php b/system/database/drivers/interbase/interbase_driver.php
index b49d1fa..e55a476 100644
--- a/system/database/drivers/interbase/interbase_driver.php
+++ b/system/database/drivers/interbase/interbase_driver.php
@@ -601,7 +601,31 @@
 	 */
 	protected function _limit($sql, $limit, $offset)
 	{
-		//There doesn't seem to be a limit clause?
+		// Keep the current sql string safe for a moment
+		$orig_sql = $sql;
+	
+		// Limit clause depends on if Interbase or Firebird
+		if (stripos($this->_version(), 'firebird') !== FALSE)
+		{
+			$sql = 'FIRST '. (int) $limit;
+			
+			if ($offset > 0)
+			{
+				$sql .= ' SKIP'. (int) $offset;
+			}
+		}
+		else
+		{
+			$sql = 'ROWS ' . (int) $limit;
+			
+			if ($offset > 0)
+			{
+				$sql = 'ROWS '. (int) $offset . ' TO ' . ($limit + $offset);
+			}
+		}
+		
+		$sql = preg_replace("`SELECT`i", "SELECT {$sql}", $orig_sql);
+		
 		return $sql;
 	}