# Buggy code
def update(self, *args):
    self.cursor.execute(QU.update_artist, args)


# Traceback (sqlite3.OperationalError)
2020-11-20 11:12:04.823 T:29417    INFO <general>: JELLYFIN.database -> ERROR::jellyfin_kodi/database/__init__.py:163 type: <class 'sqlite3.OperationalError'> value: no such column: strFanart
2020-11-20 11:12:04.839 T:29417    INFO <general>: JELLYFIN.database -> ERROR::jellyfin_kodi/database/__init__.py:163 type: <class 'sqlite3.OperationalError'> value: no such column: strFanart
2020-11-20 11:12:04.852 T:29246    INFO <general>: Loading skin file: DialogConfirm.xml, load type: KEEP_IN_MEMORY
2020-11-20 11:12:13.154 T:29417    INFO <general>: JELLYFIN.full_sync -> ERROR::jellyfin_kodi/full_sync.py:257 full sync exited unexpectedly
2020-11-20 11:12:13.190 T:29417    INFO <general>: JELLYFIN.full_sync -> ERROR::jellyfin_kodi/full_sync.py:258 no such column: strFanart
Traceback (most recent call last):
File "jellyfin_kodi/full_sync.py", line 243, in process_library
media[library['CollectionType']](library)
File "jellyfin_kodi/helper/wrapper.py", line 41, in wrapper
result = func(self, dialog=dialog, *args, **kwargs)
File "jellyfin_kodi/full_sync.py", line 436, in music
obj.artist(item)
File "jellyfin_kodi/helper/wrapper.py", line 65, in wrapper
return func(*args, **kwargs)
File "jellyfin_kodi/helper/wrapper.py", line 77, in wrapper
return func(self, item, e_item=e_item, *args, **kwargs)
File "jellyfin_kodi/objects/music.py", line 93, in artist
self.update(obj['Genre'], obj['Bio'], obj['Thumb'], obj['Backdrops'], obj['LastScraped'], obj['ArtistId'])
File "jellyfin_kodi/objects/kodi/music.py", line 91, in update
self.cursor.execute(QU.update_artist, args)
sqlite3.OperationalError: no such column: strFanart

2020-11-20 11:12:13.203 T:29417    INFO <general>: JELLYFIN.full_sync -> INFO::jellyfin_kodi/full_sync.py:586 --<[ fullsync ]
2020-11-20 11:12:13.212 T:29417    INFO <general>: JELLYFIN.library -> ERROR::jellyfin_kodi/library.py:367 no such column: strFanart
Traceback (most recent call last):
File "jellyfin_kodi/library.py", line 324, in startup
sync.libraries()
File "jellyfin_kodi/full_sync.py", line 101, in libraries
self.start()
File "jellyfin_kodi/full_sync.py", line 186, in start
self.process_library(library)
File "jellyfin_kodi/full_sync.py", line 243, in process_library
media[library['CollectionType']](library)
File "jellyfin_kodi/helper/wrapper.py", line 41, in wrapper
result = func(self, dialog=dialog, *args, **kwargs)
File "jellyfin_kodi/full_sync.py", line 436, in music
obj.artist(item)
File "jellyfin_kodi/helper/wrapper.py", line 65, in wrapper
return func(*args, **kwargs)
File "jellyfin_kodi/helper/wrapper.py", line 77, in wrapper
return func(self, item, e_item=e_item, *args, **kwargs)
File "jellyfin_kodi/objects/music.py", line 93, in artist
self.update(obj['Genre'], obj['Bio'], obj['Thumb'], obj['Backdrops'], obj['LastScraped'], obj['ArtistId'])
File "jellyfin_kodi/objects/kodi/music.py", line 91, in update
self.cursor.execute(QU.update_artist, args)
sqlite3.OperationalError: no such column: strFanart

# Fixed code
def update(self, *args):
    if self.version_id < 74:
        self.cursor.execute(QU.update_artist74, args)
    else:
        # No field for backdrops in Kodi 19, so we need to omit that here
        args = args[:3] + args[4:]
        self.cursor.execute(QU.update_artist82, args)