fix(query-builders): never skip writes when partitioning (#5468)
The partitioning logic had a bug: if any write query contained more
parameters than than `max_bind_values`, the entire write was skipped.
It's rather unlikely for this to happen in practice, but it was easily
possible in our tests, because we set `QUERY_BATCH_SIZE` to 10 in tests
in order to test partitioning and chunking.
This change ensures that we never skip writes when partitioning and put
the writes which are too large into their own separate batches (and let
them fail on the database level if they genuinely exceed the real
parameter limit of the database). An alternative would've been to panic
or return an error ourselves (and raise the `QUERY_BATCH_SIZE` in tests
and update the tests which depend on it) but this seems preferable to
me.