feedbrowser_cache: store title; implement by-title search in feed browser

This commit is contained in:
Andrew Dolgov 2009-01-20 11:01:22 +01:00
parent e51b9cb098
commit 931dcbc137
7 changed files with 38 additions and 12 deletions

View file

@ -5797,11 +5797,11 @@
function update_feedbrowser_cache($link) { function update_feedbrowser_cache($link) {
$result = db_query($link, "SELECT feed_url,COUNT(id) AS subscribers $result = db_query($link, "SELECT feed_url,title, COUNT(id) AS subscribers
FROM ttrss_feeds WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf FROM ttrss_feeds WHERE (SELECT COUNT(id) = 0 FROM ttrss_feeds AS tf
WHERE tf.feed_url = ttrss_feeds.feed_url WHERE tf.feed_url = ttrss_feeds.feed_url
AND (private IS true OR feed_url LIKE '%:%@%/%')) AND (private IS true OR feed_url LIKE '%:%@%/%'))
GROUP BY feed_url ORDER BY subscribers DESC LIMIT 200"); GROUP BY feed_url, title ORDER BY subscribers DESC");
db_query($link, "BEGIN"); db_query($link, "BEGIN");
@ -5812,11 +5812,21 @@
while ($line = db_fetch_assoc($result)) { while ($line = db_fetch_assoc($result)) {
$subscribers = db_escape_string($line["subscribers"]); $subscribers = db_escape_string($line["subscribers"]);
$feed_url = db_escape_string($line["feed_url"]); $feed_url = db_escape_string($line["feed_url"]);
$title = db_escape_string($line["title"]);
$tmp_result = db_query($link, "SELECT subscribers FROM
ttrss_feedbrowser_cache WHERE feed_url = '$feed_url'");
if (db_num_rows($tmp_result) == 0) {
db_query($link, "INSERT INTO ttrss_feedbrowser_cache db_query($link, "INSERT INTO ttrss_feedbrowser_cache
(feed_url, subscribers) VALUES ('$feed_url', '$subscribers')"); (feed_url, title, subscribers) VALUES ('$feed_url',
'$title', '$subscribers')");
++$count; ++$count;
}
} }
db_query($link, "COMMIT"); db_query($link, "COMMIT");

View file

@ -127,14 +127,14 @@
if ($browser_search) { if ($browser_search) {
$search_qpart = " AND ( $search_qpart = " AND (
UPPER(ttrss_feedbrowser_cache.feed_url) LIKE UPPER('%$browser_search%'))"; UPPER(ttrss_feedbrowser_cache.feed_url) LIKE UPPER('%$browser_search%') OR
//UPPER(title) LIKE UPPER('%$browser_search%'))"; UPPER(title) LIKE UPPER('%$browser_search%'))";
} else { } else {
$search_qpart = ""; $search_qpart = "";
} }
$result = db_query($link, "SELECT ttrss_feedbrowser_cache.feed_url, $result = db_query($link, "SELECT ttrss_feedbrowser_cache.feed_url,
subscribers subscribers,title
FROM FROM
ttrss_feedbrowser_cache ttrss_feedbrowser_cache
WHERE WHERE

View file

@ -2,7 +2,7 @@
require_once "functions.php"; require_once "functions.php";
define('EXPECTED_CONFIG_VERSION', 18); define('EXPECTED_CONFIG_VERSION', 18);
define('SCHEMA_VERSION', 51); define('SCHEMA_VERSION', 52);
if (!file_exists("config.php")) { if (!file_exists("config.php")) {
print __("<b>Fatal Error</b>: You forgot to copy print __("<b>Fatal Error</b>: You forgot to copy

View file

@ -224,7 +224,7 @@ create table ttrss_tags (id integer primary key auto_increment,
create table ttrss_version (schema_version int not null) TYPE=InnoDB; create table ttrss_version (schema_version int not null) TYPE=InnoDB;
insert into ttrss_version values (51); insert into ttrss_version values (52);
create table ttrss_enclosures (id serial not null primary key, create table ttrss_enclosures (id serial not null primary key,
content_url text not null, content_url text not null,
@ -379,6 +379,7 @@ create table ttrss_sessions (id varchar(250) unique not null primary key,
create table ttrss_feedbrowser_cache ( create table ttrss_feedbrowser_cache (
feed_url text not null, feed_url text not null,
title text not null,
subscribers integer not null); subscribers integer not null);
create table ttrss_labels2 (id integer not null primary key auto_increment, create table ttrss_labels2 (id integer not null primary key auto_increment,

View file

@ -200,7 +200,7 @@ create index ttrss_tags_owner_uid_index on ttrss_tags(owner_uid);
create table ttrss_version (schema_version int not null); create table ttrss_version (schema_version int not null);
insert into ttrss_version values (51); insert into ttrss_version values (52);
create table ttrss_enclosures (id serial not null primary key, create table ttrss_enclosures (id serial not null primary key,
content_url text not null, content_url text not null,
@ -348,6 +348,7 @@ create function SUBSTRING_FOR_DATE(timestamp, int, int) RETURNS text AS 'SELECT
create table ttrss_feedbrowser_cache ( create table ttrss_feedbrowser_cache (
feed_url text not null primary key, feed_url text not null primary key,
title text not null,
subscribers integer not null); subscribers integer not null);
create table ttrss_labels2 (id serial not null primary key, create table ttrss_labels2 (id serial not null primary key,

View file

@ -0,0 +1,5 @@
alter table ttrss_feedbrowser_cache add column title text;
update ttrss_feedbrowser_cache set title = '';
alter table ttrss_feedbrowser_cache change title title text not null;
update ttrss_version set schema_version = 52;

View file

@ -0,0 +1,9 @@
begin;
alter table ttrss_feedbrowser_cache add column title text;
update ttrss_feedbrowser_cache set title = '';
alter table ttrss_feedbrowser_cache alter column title set not null;
update ttrss_version set schema_version = 52;
commit;