Commit 256249a4 authored by mitshel's avatar mitshel
Browse files

Добавлена возможная опция DUBLICATES_FIND=clear для случая, если понадобится...

Добавлена возможная опция DUBLICATES_FIND=clear для случая, если понадобится перейти со значения DUBLICATES_FIND = yes на strong
В логи выводится отдельное время сканирования и время маркировки дубликатов
parent 2fdb9ccf
Loading
Loading
Loading
Loading
+3 −2
Original line number Diff line number Diff line
@@ -25,10 +25,11 @@ wsgi_path=/opds/py/sopds.wsgi
maxitems   = 60

# dublicates_find - управляет способом поиска дубликатов книг в базе данных
# dublicates_find = no     - поиск дкбликатов не производится
# dublicates_find = no     - поиск дубликатов не производится (ранее найденные дубликаты так и остаются с пометкой дубликата в базе данных)
# dublicates_find = yes    - производится поиск дубликатов на основании спсика авторов и названия произведения
# dublicates_find = strong - производится поиск дубликатов на основании полей title, format и filesize
# при этом дубликат помещается в базу, но помечается как дубликат и может исключаться из выдачи
# dublicates_find = clear  - производится очистка данных о дубликатах в БД (необходимо выполнить если осуществлен переход со значения  yes на strong)
# при этом дубликат всегда помещается в базу, но помечается как дубликат и может исключаться из выдачи
# при поиске по наименованиям и по авторам. В случае поиска по каталогам, книги, помеченные как дубликаты все равно будут показываться
dublicates_find = yes

+4 −2
Original line number Diff line number Diff line
@@ -154,7 +154,7 @@ BEGIN
  DECLARE cur CURSOR for select GROUP_CONCAT(DISTINCT book_id order by filesize DESC SEPARATOR ':') as ids 
                      from books where avail<>0 group by BOOK_CMPSTR(book_id,cmp_type) having count(*)>1 and SUM(CASE WHEN (doublicat=0) THEN 1 ELSE 0 END)<>1;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  IF cmp_type!=0 THEN
  IF cmp_type=1 or cmp_type=2 THEN
     OPEN cur;

     WHILE done=0 DO
@@ -176,7 +176,9 @@ BEGIN
       END IF;
     END WHILE;  
     CLOSE cur;
   ELSE
   END IF;

   IF cmp_type=3 THEN
     UPDATE books SET doublicat=0;
   END IF;
END //
+4 −2
Original line number Diff line number Diff line
@@ -42,7 +42,7 @@ BEGIN
  DECLARE cur CURSOR for select GROUP_CONCAT(DISTINCT book_id order by filesize DESC SEPARATOR ':') as ids 
                      from books where avail<>0 group by BOOK_CMPSTR(book_id,cmp_type) having count(*)>1 and SUM(CASE WHEN (doublicat=0) THEN 1 ELSE 0 END)<>1;
  DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1;
  IF cmp_type!=0 THEN
  IF cmp_type=1 or cmp_type=2 THEN
     OPEN cur;

     WHILE done=0 DO
@@ -64,7 +64,9 @@ BEGIN
       END IF;
     END WHILE;  
     CLOSE cur;
   ELSE
   END IF;

   IF cmp_type=3 THEN
     UPDATE books SET doublicat=0;
   END IF;
END //
Loading