Полезная информация

Заказывай стафф с атрибутикой Mozilla и... пусть все вокруг завидуют тебе! Быть уникальным - быть с Mozilla!

№105-08-2015 12:10:15

mrgreyzer
Участник
 
Группа: Members
Зарегистрирован: 05-08-2015
Сообщений: 3
UA: Firefox 39.0

Сортировка закладок в places.sqlite своими силами

Всем доброго времени суток!
До недавнего времени использовал расширение FVD Speed Dial и их же EverSync, потом включил встроенную синхронизацию закладок и обнаружил, что закладок теперь over9000. Т.е. стало появляться много копий одной и той же закладки.
Решил это дело исправить: написал маленький скрипт на Python'е (да я знаю, что есть готовые расширения), который ходит в сабжевую базу, убирает дублируещееся и возвращает все на место.
Открываю SQLite Manager'ом - с виду вроде бы все нормально.
В браузере жму "Показать все закладки" - библиотека пустая, да плюс еще и адресная строка теперь не работает (прочитал где-то здесь же на форуме, что вроде как это взаимосвязано)...
В общем подскажите, пожалуйста, ЧЯДНТ?
Если нужен код или сама places.sqlite в студию, то выложу (просто мб уже кто-нибудь сталкивался)

Отредактировано mrgreyzer (05-08-2015 12:28:14)

Отсутствует

 

№209-08-2015 11:55:05

VitaR
Участник
 
Группа: Members
Зарегистрирован: 05-03-2005
Сообщений: 277
UA: Palemoon 25.0

Re: Сортировка закладок в places.sqlite своими силами

Апщета независимо от того, питон там, ассемблер или уж, в итоге всё должно свестись к выполнению чего-то SQL-ного типа

Выделить код

Код:

DELETE FROM Table1 WHERE ROWID NOT IN (
  SELECT MIN(ROWID) FROM Table1 GROUP BY SomeDateStamp
);
DELETE FROM Table2 WHERE ROWID NOT IN (
  SELECT MIN(ROWID) FROM Table2 GROUP BY SomeOtherKey
);
VACUUM; REINDEX Table1; REINDEX Table2;

и т.д. и т.п.
В зависимости от задачи вместо MIN(ROWID) можно использовать MAX;
GROUP BY делается по любому полю, которое в итоге должно остаться уникальным.

Отредактировано VitaR (09-08-2015 11:55:49)

Отсутствует

 

№312-08-2015 11:22:51

mrgreyzer
Участник
 
Группа: Members
Зарегистрирован: 05-08-2015
Сообщений: 3
UA: Firefox 39.0

Re: Сортировка закладок в places.sqlite своими силами

VitaR, огромное спасибо!
Таки додумался до DELETE'ов, но забыл написать сюда, звините...
А вот последняя строчка видимо имеет сакральное значение, т.к. после запиливания файла с базой обратно в папку профиля, библиотека опять таки пустая, хотя и появились закладки в меню закладок. После избиений бубна и клавиатуры библиотека заполнилась. Просто интересно понять структуру базы и как оно ваще там устроено. А то кругом обрывки инфы или плохо искал... Скорее всего последнее :D
В общем поделитесь ссылочкой пожалуйста! :blush:

Отсутствует

 

№414-08-2015 12:27:04

mrgreyzer
Участник
 
Группа: Members
Зарегистрирован: 05-08-2015
Сообщений: 3
UA: Firefox 40.0

Re: Сортировка закладок в places.sqlite своими силами

Ну собственно здесь кусок:
http://kb.mozillazine.org/Places.sqlite
И здесь:
http://people.mozilla.org/~dietrich/places-erd.png
Вроде как этого достаточно, чтобы разобраться, но почему библиотека таки пустая после выполненных запросов?!

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]