mirror of
https://github.com/FreshRSS/FreshRSS.git
synced 2026-03-27 02:32:49 -04:00
Implement filter on last modified date by server (#8131)
* Implement filter on last modified date by server Especially relevant for API, to get the modified changes: the API will now return the articles that are new or which content has been modified since `ot`: fix https://github.com/FreshRSS/FreshRSS/issues/7304 fix https://github.com/FreshRSS/FreshRSS/issues/2566 https://github.com/jocmp/capyreader/discussions/533#discussioncomment-11341808 New corresponding search operator `mdate:` and new UI: <img width="650" height="627" alt="image" src="https://github.com/user-attachments/assets/8ba02937-abc7-44bf-b718-cf269cc37caf" /> * Migration from existing id column * Fix auto-update * Index after update for performance * Minor comment * Minor whitespace * Fix regex * Minor .gitignore * Changelog and warning * Update app/i18n/pl/gen.php Co-authored-by: Inverle <inverle@proton.me> * make fix-all * Optimise SQL auto-update For speed and resilience * Minor SQLite change of sequence * Changelog * Speed optimisation: No DEFAULT 0 * Better migration * Revert small bug * Prepare filtering on multiple dates for API * make fix-all * Update tests * Remaining manual merge * Update versions * Remove warnings no longer relevant in changelog * Implement in API, and COALESCE * No lastModified when adding new article * Rework logic * Sort IS NOT NULL * Remove forgotten lastModified --------- Co-authored-by: Inverle <inverle@proton.me>
This commit is contained in:
committed by
GitHub
parent
9f0a8deb6f
commit
cf631b6f87
@@ -44,7 +44,8 @@ CREATE TABLE IF NOT EXISTS `_entry` (
|
||||
"link" VARCHAR(16383) NOT NULL,
|
||||
"date" BIGINT,
|
||||
"lastSeen" BIGINT DEFAULT 0,
|
||||
"lastUserModified" BIGINT DEFAULT 0,
|
||||
"lastModified" BIGINT, -- v1.29.0
|
||||
"lastUserModified" BIGINT, -- v1.28.0
|
||||
"hash" BYTEA,
|
||||
"is_read" SMALLINT NOT NULL DEFAULT 0,
|
||||
"is_favorite" SMALLINT NOT NULL DEFAULT 0,
|
||||
@@ -57,8 +58,9 @@ CREATE TABLE IF NOT EXISTS `_entry` (
|
||||
CREATE INDEX IF NOT EXISTS `_is_favorite_index` ON `_entry` ("is_favorite");
|
||||
CREATE INDEX IF NOT EXISTS `_is_read_index` ON `_entry` ("is_read");
|
||||
CREATE INDEX IF NOT EXISTS `_entry_lastSeen_index` ON `_entry` ("lastSeen");
|
||||
CREATE INDEX IF NOT EXISTS `_entry_last_modified_index` ON `_entry` ("lastModified");
|
||||
CREATE INDEX IF NOT EXISTS `_entry_last_user_modified_index` ON `_entry` ("lastUserModified");
|
||||
CREATE INDEX IF NOT EXISTS `_entry_feed_read_index` ON `_entry` ("id_feed","is_read"); -- v1.7
|
||||
CREATE INDEX IF NOT EXISTS `_entry_last_user_modified_index` ON `_entry` ("lastUserModified"); -- v1.28.0
|
||||
|
||||
INSERT INTO `_category` (id, name)
|
||||
SELECT 1, 'Uncategorized'
|
||||
@@ -101,10 +103,15 @@ CREATE INDEX IF NOT EXISTS `_entrytag_id_entry_index` ON `_entrytag` ("id_entry"
|
||||
SQL;
|
||||
|
||||
$GLOBALS['ALTER_TABLE_ENTRY_LAST_USER_MODIFIED'] = <<<'SQL'
|
||||
ALTER TABLE `_entry` ADD `lastUserModified` BIGINT DEFAULT 0; -- 1.28.0
|
||||
ALTER TABLE `_entry` ADD COLUMN IF NOT EXISTS `lastUserModified` BIGINT; -- 1.28.0
|
||||
CREATE INDEX IF NOT EXISTS `_entry_last_user_modified_index` ON `_entry` (`lastUserModified`);
|
||||
SQL;
|
||||
|
||||
$GLOBALS['ALTER_TABLE_ENTRY_LAST_MODIFIED'] = <<<'SQL'
|
||||
ALTER TABLE `_entry` ADD COLUMN IF NOT EXISTS `lastModified` BIGINT; -- 1.29.0
|
||||
CREATE INDEX IF NOT EXISTS `_entry_last_modified_index` ON `_entry` (`lastModified`);
|
||||
SQL;
|
||||
|
||||
$GLOBALS['SQL_DROP_TABLES'] = <<<'SQL'
|
||||
DROP TABLE IF EXISTS `_entrytag`, `_tag`, `_entrytmp`, `_entry`, `_feed`, `_category`;
|
||||
SQL;
|
||||
|
||||
Reference in New Issue
Block a user