Don't stub synchronization on MRI
Don't stub synchronization on MRI

Having a GIL does not mean you don't have to perform any synchronization
at all. While most Ruby code won't be able to run in parallel native
extensions _can_ run in parallel by calling functions such as
rb_thread_check_ints() (which basically pauses the current thread when
needed).

Depending on the Ruby environment to figure out if you need
synchronization or not is _extremely_ dangerous. While this can work
most of the time, once in a while you'll get weird NoMethodErrors or
worse: segmentation faults, depending on the database adapter being
used. In particular the PostgreSQL adapter (which uses the "pg" Gem)
suffers from this as connection objects created by the "pg" Gem (or
really any other object it provedes) are not thread-safe.

While synchronizing access on MRI will have a slight performance impact,
it's either that or errors/segmentation faults.

uhoh-itsmaciek/sequel,uhoh-itsmaciek/sequel