Since the procedure of adding new items involves deleting all of the previously loaded ones, I wonder why aren't we using transactions here ?
It may happen that something fails after delete and before insert, and we are left with naught.

Is it done so for compatibility with other database drivers ?