2014-07-22, 13:09
(2014-07-22, 11:17)gargamon Wrote: I was thinking about this again. It seems to me that when you're doing the "C" option, you really want to overwrite whatever is there, whether it's nothing, a corrupted file, or who knows what. Wouldn't that imply that you no longer trust the database and want to rewrite that row anyway? I know it would be slower than now, but the added functionality of being able to do "C tvshows some_show_name" is much more versatile than doing "Xd"on a particular row when you may want to do 20 or more rows. Maybe a new command could handle this.
"C" will remove the row if it's there, whether it has an associated thumbnail file or not. Removing the row will also remove the thumbnail file (if it exists). If the row doesn't exist (but the thumbnail file does) then the "C" option will simply overwrite the thumbnail file when creating the new database row (as, indeed, would "c") So either way, the current "C" functionality should correct rows with missing thumbnail files, or thumbnail files that are no longer referenced by database rows. No extra functionality required.
"Xd" will by default scan the entire Textures13.db database, rather than individual rows, and will remove those rows with missing files. Same for "R".
I don't really know why "Xd" worked for you when "C" didn't, my guess would be that you didn't reboot (restart XBMC) which may have resulted in some lingering cache issues (OS file system cache, etc.).