code: def select(self, cursor, qstring, vals=()):
      "careful: don't pass cursor (it's from decorator)"
      cursor.execute(qstring, vals) # hmm; do I not want to commit at the end of this?
      return cursor.fetchall(f select(self, cursor, qstring, vals=()):
      "careful: don't pass cursor (it's from decorator)"
      cursor.execute(qstring, vals) # hmm; do I not want to commit at the end of this?
      return cursor.fetchall()
docs: careful: don't pass cursor (it's from decorator)