View Single Post
Old 09-03-2013, 08:08 PM   #35
davidfor
Grand Sorcerer
davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.davidfor ought to be getting tired of karma fortunes by now.
 
Posts: 24,905
Karma: 47303824
Join Date: Jul 2011
Location: Sydney, Australia
Device: Kobo:Touch,Glo, AuraH2O, GloHD,AuraONE, ClaraHD, Libra H2O; tolinoepos
Quote:
Originally Posted by mahal48 View Post
Ok here we go, a couple of observations and questions.

In the solution to the duplicate shelves problem, "davidfor" suggested editing the SQLite database on the Kobo. I followed this advice (by changing "_IsDeleted" to "true" for each record in the Shelf table) and was successful in deleting the duplicate shelves on my Glo. At the moment I have no shelves on my Glo and am holding off to putting them on again until Kobo sorts out the synch problem on its' servers.

I have two questions relating to this now and it is all about the database structure and editing entries.

Firtsly, the "Shelf" table still contains data for each record of the duplicate shelves. Why is this when there are no shelves showing on my Glo? Why wasn't the data for each record of the duplicate shelf deleted in the database? Or is this the data that is still being held on the Kobo server?
The next time you do a sync, the device will tell the Kobo server which shelves have been marked with "_IsDeleted=true" and then the rows will be deleted. The server now knows you don't want the shelves and if you use another Kobo device or app, it will delete the shelves from the device/app at the next sync. The column "_IsSynced" records if the Kobo server knows about the shelf. If this is "false", you can safely delete the row.

So, to get rid of the rows permanently, you need to do a sync. This seems to be working correctly. I suggest you do it now, recreate the shelves and then hold off the next sync until you feel the problem is solved. From my point of view it is. I had one occurrence, fixed it and the duplicates haven't come back.

Another thing you can do is to add "SyncShelves=false" to the "ApplicationPreferences" section of the "Kobo eReader.conf" file. This tells the device not to sync the shelves at all.
Quote:
Secondly, the next table below "Shelf" is "ShelfContent" This holds no records, plus, the column titles are not the same in number, some are missing. I thought there would have been a correlation between the two. So, what is the difference between these two tables and why does the "ShelfContent" contain no data?
The table "Shelf" contains the list of shelves and their status. The table "ShelfContent" contains the list of books that are on each shelf. Each row in this table contains the name of the shelf, the ContentId of the book (used to link to table "content") and status info. If there are no rows, there are no books on any shelf.
davidfor is offline   Reply With Quote