Invalid SQL when firstRow set but not maxRows

Having a query with e.g. `maxRows` set to 0 and `firstRow` set to 3 will generate SQL like

```
select t0.foo c0 from sometable t0 where (t0.foo = ? )   
limit  offset 3
```

Resulting in SQL throwing `Undeclared variable: offset`

Now the notion of a query with `limit 0` is rather absurd as it will actually affect zero rows no matter what, but running query with invalid SQL is a bit unforgiving.

So either run it with `limit 0` if offset is set? Or just skip the limit/offset clause altogether?