code: def add(self, uri, c):
          
  
          if c.get("parent") is not None:
              ref = self.get(c["parent"])
              if ref.get("parent") is not None:
                  c["parent"] = ref["parent"]
  
          self.db.execute([
              'INSERT INTO comments (',
              '    tid, parent,'
              '    created, modified, mode, remote_addr,',
              '    text, author, email, website, voters, notification)',
              'SELECT',
              '    threads.id, ?,',
              '    ?, ?, ?, ?,',
              '    ?, ?, ?, ?, ?, ?',
              'FROM threads WHERE threads.uri = ?;'], (
              c.get('parent'),
              c.get('created') or time.time(), None, c["mode"], c['remote_addr'],
              c['text'], c.get('author'), c.get('email'), c.get('website'), buffer(
                  Bloomfilter(iterable=[c['remote_addr']]).array), c.get('notification'),
              uri)
          )
  
          return dict(zip(Comments.fields, self.db.execute(
              'SELECT *, MAX(c.id) FROM comments AS c INNER JOIN threads ON threads.uri = ?',
              (uri, )).fetchone()))
docs: Add new comment to DB and return a mapping of :attribute:`fields` and
          database values.