Loading...
Error

Библиотека Либрусек (lib.rus.ec) + MyHomeLib. [FB2] (Новый формат)

Страницы:   Пред.  1, 2, 3 ... 101, 102, 103 ... 210, 211, 212  След.

Ответить на тему

 | 

Как вы считаете - какая должна быть периодичность выхода обновлений?

по мере выхода очередного архива-тысячника   2%  2%  [ 2 ]
два раза в месяц   5%  5%  [ 4 ]
раз в месяц (как было ранее)   91%  91%  [ 67 ]

Всего проголосовало : 73

 
Автор Сообщение

Drunkenmunky

SlalomJohn писал(а):

Вся проблема в том, что когда-то книги под этими номерами БЫЛИ и их благополучно слили в ZIP архивы. Потом эти записи были изменены или удалены - две записи 06/03/2017 и одна 01/04/2017. Причем сознательно кто-то это сделал. Из-за расхождения данных в дампе и в файле происходят глюки...
Одним словом - я бы тому криворукому, который ЭТО сделал руки бы в *опу засунул и сказал бы, что так и было, т.к. из-за одного идиота мне пришлось убить ну просто много времени, чтобы сделать правки. Видать кого-то стремает, что "циферки" в базе пустые, такое ощущение, что жалко нарастающих номеров и надо ну просто обязательно задействовать древние номера книг. Идиотизм в полной мере - по другому сказать нельзя, потому как логика сего действия лично у меня не вызывает никакого понимания, совсем никакого понимания.

P.S. Сравнения делал с дампами SQL от 2015 года и текущими. Да-да, есть у меня почти ежедневные срезы дампов...
Несколько замечаний к комментарию.
Такие "проблемные" записи появились не вчера. Судя по датам в базе "карточки" появились в 2011 году. И уже тогда они занимали ID исключенных из базы книг. То, что они раньше не конфликтовали при создании коллекций чистая случайность.
Запущенная недавно "очистка" базы высвободила новые ID книг которые, со временем, также будут заняты новыми "карточками".
Вы столкнулись пока только с первыми тремя.
Карточки, это особый тип записи в базе, помечаемый "2" в колонке `Deleted`.
И хочется особо отметить, что выгрузка данных не является приоритетной для администрации сайта. Не нужно её оскорблять, портя с ней отношения.

Bfink

Мне в данном объяснении непонятны две вещи -
во-первых из указанных записей 161636, 183401, 219261 в zip архивах прошлых лет есть все три книги - Спарта, Бунин и Гоголь. Причем карточки созданы именно в марте-апреле,
во-вторых lib2inpx рушился при обработке только sql дампов, еще не обработав zip архивы, то есть не могло расхождение с архивами привести к этому. Противоречие внутри самого дампа базы данных.

EgorD

Drunkenmunky, вообще нормальный принцип для базы данных - это уникальность ID и их одноразовость как следствие.

Выдавать новому чему-то бывший в употреблении идентификатор - моветон.

Drunkenmunky

Bfink писал(а):

во-первых из указанных записей 161636, 183401, 219261 в zip архивах прошлых лет есть все три книги - Спарта, Бунин и Гоголь. Причем карточки созданы именно в марте-апреле,
И?
Раньше они там были. Их удалили. Их место заняли карточки.

Цитата:

во-вторых lib2inpx рушился при обработке только sql дампов, еще не обработав zip архивы, то есть не могло расхождение с архивами привести к этому. Противоречие внутри самого дампа базы данных.
После восстановления Либрусека, вероятно были установлены новые сервера, свежее ПО.
Вероятно же, что версия mysql на Либрусеке более свежая, чем у lib2inpx. Вполне возможно, что они не в полной мере совместимы.
Файл sql это не таблица. Это исполняемый файл содержащий команду.

Drunkenmunky

EgorD писал(а):

Drunkenmunky, вообще нормальный принцип для базы данных - это уникальность ID и их одноразовость как следствие.

Выдавать новому чему-то бывший в употреблении идентификатор - моветон.
Очень может быть.
Но это уже случилось, причем давно.
Только сейчас мы с этим столкнулись. Вот и всё.
Всё образуется в рабочем порядке. И без истерик.

Bfink

карточка 161636 посвящена то же книге, которая под этим номером в архиве, Это невероятное совпадение.
Уважаемый balbert писал, что у него в архивах только два файла из трех. У меня все три и это тоже не может быть, так как файлы старые лежат несколько лет и проверились очередной раз при хэшировании раздачи.
Да, sql - это не таблица. Да, версии СУБД разные - на librusec MariaDB 10.1.21 у меня MYSQL 5.7.17

Drunkenmunky

Bfink писал(а):

карточка 161636 посвящена то же книге, которая под этим номером в архиве, Это невероятное совпадение.
Это не так.
Во вчерашней базе другое наименование.
Видимо восстановили как было.
Смотрите скрин

Bfink

В базе ничего не меняли, судя по сегодняшней выгрузке. Но по адресу http://lib.rus.ec/b/161636 открывается другая карточка
Что бы это значило?

Drunkenmunky

Bfink писал(а):

В базе ничего не меняли, судя по сегодняшней выгрузке.
Вот я скачал сегодняшний sql. Открыл его в текстовом редакторе.
Вот что выдал поиск по нему:
(161636,0,'2017-03-06 04:30:19','История Спарты (период архаики и классики)','','ru','ru','',2001,0,'2','0','robot',NULL,'','161636','','2017-04-08 11:09:32',1,0)

Bfink

Вы правы. В файле от 09.04.2017 именно то, что Вы указали.
Это еще более странно - именно та запись, которая приводила к ошибкам вчера, вчера же и была переписана, причем на книгу, с которой по названию совпадает!

Drunkenmunky

Bfink писал(а):

Это еще более странно - именно та запись, которая приводила к ошибкам вчера, вчера же и была переписана, причем на книгу, с которой по названию совпадает!
Hmm Запутанная история.

Alex_61

От меня замеченная фигня с inpx'ом (причем на сайте всё пучком):
1. Многие серии слились, несмотря на разные названия. Например, "Киты по штирборту" и "Киты по штирборту (СИ)" у Демченко. Теперь в наличии только первая, т.е. еще и можно исчезновение серий констатировать.
2. Кое-где потеряны номера в сериях. Например, "Дипломат, значит коллега" хоть и следует после первой книги "Немой, или хламу место на свалке", но теперь без цифры 2 (тоже Демченко).
3. Раньше было две серии, стало три: "Хольмгардская история" (одна книжка № 3), "Хольмгардские истории" и "Хольмгардские истории (СИ)" (тоже у Демченко). Причем тут еще частично работает п. 1, т.к. часть книг непонятно почему из последней серии переехала во вторую по счету; а в ней осталась опять же одна книжка № 1 "Серый экспресс".
4. Возникновение серий, например, "Унесенный ветром" у Метельского с книжками 2 и 3. № 1 осталась там, где и была - "Маски [= Унесенный ветром] (СИ)".

Такая ситуация как с приложенным к раздаче inpx'ом, так и с созданием новой коллекции через Майхоумлиб из интернета (я так понимаю, с их сайта). Дата от 8 апреля вроде у последней (я удалил, к сожалению, уже, не запомнил точно). Старый inpx месячной давности - все нормально.

В общем, использовать текущий вариант с оговорками возможно, но очень надеемся на исправление ошибок.

balbert

Alex_61

Вот переписка с Лариным:

Здравствуйте!
До 27.09.2016 одна из строк libseq.sql выглядела так: `sn` int(11) NOT NULL,
Теперь она такая: `sn` decimal(12,2) NOT NULL,
По этой причине MyHomeLib не отображает номера серийных книг.
Можно эту ситуацию как-нибудь поправить?

Аватар пользователя larin
larin 29 янв Удалить Блок
По многочисленным просьбам библиотекарей введены дробные серии.
Этот факт отразился в базе.
Поправить это никак не возможно.

Я не выкладываю базу для MyHomeLib, я вообще к MyHomeLib никакого отношения не имею, извините.
Я выкладыаю дамп живой базы, вот как оно есть, так и выкладывается. Бэкап.

Нужно или пинать авторов MyHomeLib, или редактировать libseq.sql несложным скриптом, там всех дел заменить decimal на int и в данных (\d+)\.\d\d на $1.

balbert

Bfink писал(а):

Мне в данном объяснении непонятны две вещи -
во-первых из указанных записей 161636, 183401, 219261 в zip архивах прошлых лет есть все три книги - Спарта, Бунин и Гоголь. Причем карточки созданы именно в марте-апреле,
во-вторых lib2inpx рушился при обработке только sql дампов, еще не обработав zip архивы, то есть не могло расхождение с архивами привести к этому. Противоречие внутри самого дампа базы данных.
Замените в файле libbook.sql 43 строку:
`Modified` timestamp NULL DEFAULT NULL ON UPDATE CURRENT_TIMESTAMP,
на
`Modified` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00',
и всё перестанет рушится.

Drunkenmunky

Кстати о переписке с larin.

Drunkenmunky писал(а):

Крайне неудачной была идея присваивать новым "карточкам" bid ранее исключенных из базы книг.
Это вступает в конфликт с ранее скачанными книгами в "ежемесячных обновлениях" при создании коллекций в некоторых каталогизаторах.
Пока таких записей замечено три: 161636, 183401, 219261.
Может стоило бы пересмотреть это решение?

larin писал(а):

Cогласен, решение неудачное. Но причины на то были.
Пересматривать не буду.
Все карточки без книг отмечены в базе как Deleted и имеют нулевой размер файла. И началось это много лет назад, не новость.
Если какая-то программа пытается что-то сделать с удалённой книгой и у неё не получается, то это не моя проблема.
Как видите, такой ответ однозначно стал следствием опрометчивых комментариев SlalomJohn.
Теперь надо думать как эту проблему обойти чисто технически имеющимися средствами.
Предлагаю в конец файла libbook.sql дописывать следующую команду
DELETE FROM `libbook` WHERE `FileSize` = 0;
Это удалит(по идее) из только что созданной таблицы все записи с нулевым размером файла. Та есть т.н. карточки.
Впрочем полной гарантии это не дает.
Существует вероятность, небольшая, что карточку таки "заполнят", и она превратится в полноценную запись, окончательно заменяя собой ранее исключенную. Что породит неотлавливаемую подмену в коллекции.
Показать сообщения:    
Ответить на тему