def insert(self, name, entry_type, filename):
        '''Insert an entry into the Zeal database.

        Args:
            name: A string representing the name of the entry.
            entry_type: A string representing the entry type.
            filename: A string representing the filename of the documentation
                for the entry.

        Raises:
            RuntimeError: a database connection was not established before
                calling insert()
        '''
        if self.cursor is None:
            raise RuntimeError(
                'Open DB connection before attempting to call insert!')

        db_entry = (name, entry_type, filename)

        if self.verbose:
            print('Inserting %s "%s" -> %s' % db_entry, file=sys.stderr)

        self.cursor.execute(
            '''INSERT OR IGNORE INTO searchIndex(name, type, path)
               VALUES (?, ?, ?)''', db_entry)