public Guid[] Get(ReservedIdsSource input)
 => _db.RetryOnTransientError(
     db => db.WithSql(
         q => q.From <ReservedIdRow>()
         .Where(d => d.Id == ReservedIdRow.GetId(input))
         .Select(d => d.Data)
         ).GetValue()
     ?.Split(',').Select(Guid.Parse).ToArray()
     ?? Array.Empty <Guid>());
 public void Add(ReservedIdsSource id, Guid[] ids)
 {
     _db.RetryOnTransientError(db =>
     {
         try
         {
             db.Connection.Insert(new ReservedIdRow()
             {
                 Id   = ReservedIdRow.GetId(id),
                 Data = ids.Select(d => d.ToString()).StringJoin()
             });
         }
         catch (DbException ex) when(db.Connection.IsUniqueViolation(ex))
         {
             //ignore duplicates
         }
     });
 }