Sidekiq is not database aware. So Sidekiq will do whatever it asked to do. Sidekiq does it efficiently. Sidekiq is super fast.
So sometimes you’ll hit "Sidekiq is too fast" problem, one of them being a job got executed but the transaction is not committed yet. As described in details at Delay job push within DB transaction #5239.
You can implement yourself now by doing some ActiveRecord Transaction business.