Raise more accurate and :pep:`249` compatible exceptions in :mod:`sqlite3`. * Raise :exc:`~sqlite3.InterfaceError` instead of :exc:`~sqlite3.ProgrammingError` for ``SQLITE_MISUSE`` errors. * Don't overwrite :exc:`BufferError` with :exc:`ValueError` when conversion to BLOB fails. * Raise :exc:`~sqlite3.ProgrammingError` instead of :exc:`~sqlite3.Warning` if user tries to :meth:`~sqlite3.Cursor.execute()` more than one SQL statement. * Raise :exc:`~sqlite3.ProgrammingError` instead of :exc:`ValueError` if an SQL query contains null characters.