docs: def insert(self, schema, fields, **kwargs):
          """
          Persist d into the db
  
          schema -- Schema()
          fields -- dict -- the values to persist
  
          return -- int -- the primary key of the row just inserted
          """
          r = 0
  
          with self.connection(**kwargs) as connection:
              kwargs['connection'] = connection
              try:
                  with self.transaction(**kwargs):
                      r = self._insert(schema, fields, **kwargs)
  
              except Exception as e:
                  exc_info = sys.exc_info()
                  if self.handle_error(schema, e, **kwargs):
                      r = self._insert(schema, fields, **kwargs)
                  else:
                      self.raise_error(e, exc_info)
  
          return r