Loading conf/sopds.conf +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ maxitems = 60 # dublicates_find = no - поиск дубликатов не производится (ранее найденные дубликаты так и остаются с пометкой дубликата в базе данных) # dublicates_find = yes - производится поиск дубликатов на основании спсика авторов и названия произведения # dublicates_find = strong - производится поиск дубликатов на основании полей title, format и filesize # dublicates_find = clear - производится очистка данных о дубликатах в БД (необходимо выполнить если осуществлен переход со значения yes на strong) # dublicates_find = clear - производится очистка данных о дубликатах в БД # при этом дубликат всегда помещается в базу, но помечается как дубликат и может исключаться из выдачи # при поиске по наименованиям и по авторам. В случае поиска по каталогам, книги, помеченные как дубликаты все равно будут показываться dublicates_find = yes Loading db/tables.sql +6 −4 Original line number Diff line number Diff line Loading @@ -152,8 +152,9 @@ BEGIN DECLARE idx,prev,current,orig_id INT; DECLARE ids VARCHAR(512); 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; from books where avail<>0 group by BOOK_CMPSTR(book_id,cmp_type) having SUM(IF(doublicat=0,1,0))<>1; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; IF cmp_type=1 or cmp_type=2 THEN OPEN cur; Loading Loading @@ -181,6 +182,7 @@ BEGIN IF cmp_type=3 THEN UPDATE books SET doublicat=0; END IF; END // CREATE PROCEDURE sp_newinfo(period INT) Loading db/updates/update020-021.sql +6 −4 Original line number Diff line number Diff line Loading @@ -40,8 +40,9 @@ BEGIN DECLARE idx,prev,current,orig_id INT; DECLARE ids VARCHAR(512); 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; from books where avail<>0 group by BOOK_CMPSTR(book_id,cmp_type) having SUM(IF(doublicat=0,1,0))<>1; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; IF cmp_type=1 or cmp_type=2 THEN OPEN cur; Loading Loading @@ -69,6 +70,7 @@ BEGIN IF cmp_type=3 THEN UPDATE books SET doublicat=0; END IF; END // DELIMITER ; Loading Loading
conf/sopds.conf +1 −1 Original line number Diff line number Diff line Loading @@ -28,7 +28,7 @@ maxitems = 60 # dublicates_find = no - поиск дубликатов не производится (ранее найденные дубликаты так и остаются с пометкой дубликата в базе данных) # dublicates_find = yes - производится поиск дубликатов на основании спсика авторов и названия произведения # dublicates_find = strong - производится поиск дубликатов на основании полей title, format и filesize # dublicates_find = clear - производится очистка данных о дубликатах в БД (необходимо выполнить если осуществлен переход со значения yes на strong) # dublicates_find = clear - производится очистка данных о дубликатах в БД # при этом дубликат всегда помещается в базу, но помечается как дубликат и может исключаться из выдачи # при поиске по наименованиям и по авторам. В случае поиска по каталогам, книги, помеченные как дубликаты все равно будут показываться dublicates_find = yes Loading
db/tables.sql +6 −4 Original line number Diff line number Diff line Loading @@ -152,8 +152,9 @@ BEGIN DECLARE idx,prev,current,orig_id INT; DECLARE ids VARCHAR(512); 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; from books where avail<>0 group by BOOK_CMPSTR(book_id,cmp_type) having SUM(IF(doublicat=0,1,0))<>1; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; IF cmp_type=1 or cmp_type=2 THEN OPEN cur; Loading Loading @@ -181,6 +182,7 @@ BEGIN IF cmp_type=3 THEN UPDATE books SET doublicat=0; END IF; END // CREATE PROCEDURE sp_newinfo(period INT) Loading
db/updates/update020-021.sql +6 −4 Original line number Diff line number Diff line Loading @@ -40,8 +40,9 @@ BEGIN DECLARE idx,prev,current,orig_id INT; DECLARE ids VARCHAR(512); 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; from books where avail<>0 group by BOOK_CMPSTR(book_id,cmp_type) having SUM(IF(doublicat=0,1,0))<>1; DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; IF cmp_type=1 or cmp_type=2 THEN OPEN cur; Loading Loading @@ -69,6 +70,7 @@ BEGIN IF cmp_type=3 THEN UPDATE books SET doublicat=0; END IF; END // DELIMITER ; Loading