Bug at <cleanonupdate>
#1
Hallo,

i use <cleanonupdate>true</cleanonupdate> for a long time and lately i wonder why an db update for shows is much faster than for movies.

Right now i use XBMC 5ef1c7d from 20110810 under W7.

One example with <cleanonupdate>true</cleanonupdate> :
Quote:11:59:47 T:6272 DEBUG: VideoInfoScanner: Skipping dir 'smb://PathTo/Moviefoldername/' due to no change
11:59:47 T:6272 DEBUG: VideoInfoScanner: Skipping dir 'smb://PathTo/Moviefoldername/extrathumbs/' due to no change
11:59:47 T:6272 DEBUG: Mysql execute: insert into path (idPath, strPath, strContent, strScraper) values (NULL,'smb://PathTo/Moviefoldername/extrathumbs/','','')
11:59:47 T:6272 DEBUG: Mysql execute: update path set strHash=fast1313056452' where idPath=6825
When i check mysql while the scanner is activ i can see the entry in the strHash field for this extrathumbs folders in each Moviefolder.(dont know why it handle it extra at all as there is a hash for the Moviefolder and this extathumbs is inside this folder)

After the scanner has finished his work <cleanonupdate>true</cleanonupdate> kicks in and delete all rows with the before added values for the extrathumbs folder from the db.

This happen each time i update my db.

When i set cleanonupdate to "false" all is fine and the hash for the extrathumbs stay inside the db and the scanner skip the folder at the next scan as there are no changes.

As i dont want to disable <cleanonupdate>true</cleanonupdate> i did an small workarround for the moment and added:
Quote: <excludefromscan>
<regexp>extrathumbs</regexp>
</excludefromscan>
to my advancedsettings.xml.

The result is this:
Quote:12:58:44 T:7844 DEBUG: VideoInfoScanner: Skipping dir 'smb://PathTo/Moviefoldername/' due to no change
12:58:44 T:7844 DEBUG: CUtil::ExcludeFileOrFolder: File 'smb://PathTo/Moviefoldername/extrathumbs/' excluded. (Matches exclude rule RegExp:'extrathumbs')

But maybe some dev can check this or explane if there is some reason for this ?
Reply
#2
Me again Smile

It looks for me that the problem is here at VideoDatabase.cpp:

Quote: CLog::Log(LOGDEBUG, "%s: Cleaning path table", __FUNCTION__);
sql = "delete from path where idPath not in (select distinct idPath from files) and idPath not in (select distinct idPath from tvshowlinkpath) and strContent=''";
m_pDS->exec(sql.c_str());

idPath for the extrathumbs folder cant be inside files.idPath as there is already the idPath from the movie folder so i think this funktion simply delete it right after the scanner added it.
Reply
#3
No. idPath for the extrathumbs folder cant be inside files.idPath as there's no video files in that path. How is XBMC supposed to know that? Hint: It doesn't as you've told it to scan recursively, thus we MUST scan every folder and subfolder.

If you want to ignore those folders then add them to the exclusion list via advancedsettings.xml
Always read the XBMC online-manual, FAQ and search the forum before posting.
Do not e-mail XBMC-Team members directly asking for support. Read/follow the forum rules.
For troubleshooting and bug reporting please make sure you read this first.


Image
Reply
#4
With extrathumbs you always have to use "recursively" as the folder/filename is the same for all movies ? (aslong you dont want to add each moviefolder by hand)

So why not exclude it by default or make an option where the user can say how deap his recursive should go ?

Most user will never know that there xbmc scan something each time, add it to the db and del it 2 sec. later again from there.

I only checked this as i found out that scanning from 400 movies takes longer as for 6000 episodes and want to know why this is.
Reply

Logout Mark Read Team Forum Stats Members Help
Bug at <cleanonupdate>0