The current implementation of the code creates context.Background in data.Connection.BeginTx. We can have this value come as input parameter to have more control on the operation. This will enable to run this process in go routines where we would want the operation to fail fast or timeout in case of error in other routines.