Here is a simple example meant to show how a row level lock can conflict wiht a `gap lock` and cause unexpected locking behavour
For this we will use a very basic schema a simple table with a timestmp and condition.
BEGIN;
CREATE TYPE ProcessStep AS ENUM('submitted','completed');