code: def get_keywords(self, pattern="*"):
          
  
          sql = """SELECT collection.collection_id, collection.name,
                          keyword.name, keyword.doc, keyword.args
                   FROM collection_table as collection
                   JOIN keyword_table as keyword
                   WHERE collection.collection_id == keyword.collection_id
                   AND keyword.name like ?
                   ORDER by collection.name, keyword.name
               """
          pattern = self._glob_to_sql(pattern)
          cursor = self._execute(sql, (pattern,))
          result = [(row[0], row[1], row[2], row[3], row[4])
                    for row in cursor.fetchall()]
          return list(set(result))
docs: Returns all keywords that match a glob-style pattern
  
          The pattern matching is insensitive to case. The function
          returns a list of (library_name, keyword_name,
          keyword_synopsis tuples) sorted by keyword name