add tag cache for user_entries (bump schema)
This commit is contained in:
parent
38edb1510d
commit
490c366d39
|
@ -1199,9 +1199,9 @@
|
||||||
$result = db_query($link,
|
$result = db_query($link,
|
||||||
"INSERT INTO ttrss_user_entries
|
"INSERT INTO ttrss_user_entries
|
||||||
(ref_id, owner_uid, feed_id, unread, last_read, marked,
|
(ref_id, owner_uid, feed_id, unread, last_read, marked,
|
||||||
published, score)
|
published, score, tag_cache)
|
||||||
VALUES ('$ref_id', '$owner_uid', '$feed', $unread,
|
VALUES ('$ref_id', '$owner_uid', '$feed', $unread,
|
||||||
$last_read_qpart, $marked, $published, '$score')");
|
$last_read_qpart, $marked, $published, '$score', '')");
|
||||||
|
|
||||||
$result = db_query($link,
|
$result = db_query($link,
|
||||||
"SELECT int_id FROM ttrss_user_entries WHERE
|
"SELECT int_id FROM ttrss_user_entries WHERE
|
||||||
|
@ -1433,6 +1433,14 @@
|
||||||
(owner_uid,tag_name,post_int_id)
|
(owner_uid,tag_name,post_int_id)
|
||||||
VALUES ('$owner_uid','$tag', '$entry_int_id')");
|
VALUES ('$owner_uid','$tag', '$entry_int_id')");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* update the cache */
|
||||||
|
|
||||||
|
$tags_str = db_escape_string(join(",", $filtered_tags));
|
||||||
|
|
||||||
|
db_query($link, "UPDATE ttrss_user_entries
|
||||||
|
SET tag_cache = '$tags_str' WHERE ref_id = '$entry_ref_id'
|
||||||
|
AND owner_uid = $owner_uid");
|
||||||
}
|
}
|
||||||
|
|
||||||
db_query($link, "COMMIT");
|
db_query($link, "COMMIT");
|
||||||
|
@ -4660,12 +4668,34 @@
|
||||||
if ($memcache && $obj = $memcache->get($obj_id)) {
|
if ($memcache && $obj = $memcache->get($obj_id)) {
|
||||||
$tags = $obj;
|
$tags = $obj;
|
||||||
} else {
|
} else {
|
||||||
|
/* check cache first */
|
||||||
|
|
||||||
|
$result = db_query($link, "SELECT tag_cache FROM ttrss_user_entries
|
||||||
|
WHERE ref_id = '$id' AND owner_uid = " . $_SESSION["uid"]);
|
||||||
|
|
||||||
|
$tag_cache = db_fetch_result($result, 0, "tag_cache");
|
||||||
|
|
||||||
|
if ($tag_cache) {
|
||||||
|
$tags = explode(",", $tag_cache);
|
||||||
|
} else {
|
||||||
|
|
||||||
|
/* do it the hard way */
|
||||||
|
|
||||||
$tmp_result = db_query($link, $query);
|
$tmp_result = db_query($link, $query);
|
||||||
|
|
||||||
while ($tmp_line = db_fetch_assoc($tmp_result)) {
|
while ($tmp_line = db_fetch_assoc($tmp_result)) {
|
||||||
array_push($tags, $tmp_line["tag_name"]);
|
array_push($tags, $tmp_line["tag_name"]);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* update the cache */
|
||||||
|
|
||||||
|
$tags_str = db_escape_string(join(",", $tags));
|
||||||
|
|
||||||
|
db_query($link, "UPDATE ttrss_user_entries
|
||||||
|
SET tag_cache = '$tags_str' WHERE ref_id = '$id'
|
||||||
|
AND owner_uid = " . $_SESSION["uid"]);
|
||||||
|
}
|
||||||
|
|
||||||
if ($memcache) $memcache->add($obj_id, $tags, 0, 3600);
|
if ($memcache) $memcache->add($obj_id, $tags, 0, 3600);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -423,8 +423,8 @@
|
||||||
$id = db_escape_string($_REQUEST["id"]);
|
$id = db_escape_string($_REQUEST["id"]);
|
||||||
|
|
||||||
$tags_str = db_escape_string($_REQUEST["tags_str"]);
|
$tags_str = db_escape_string($_REQUEST["tags_str"]);
|
||||||
|
|
||||||
$tags = array_unique(trim_array(split(",", $tags_str)));
|
$tags = array_unique(trim_array(split(",", $tags_str)));
|
||||||
|
$tags_str = db_escape_string(join(",", $tags));
|
||||||
|
|
||||||
db_query($link, "BEGIN");
|
db_query($link, "BEGIN");
|
||||||
|
|
||||||
|
@ -458,6 +458,10 @@
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
db_query($link, "UPDATE ttrss_user_entries
|
||||||
|
SET tag_cache = '$tags_str' WHERE ref_id = '$id'
|
||||||
|
AND owner_uid = " . $_SESSION["uid"]);
|
||||||
|
|
||||||
db_query($link, "COMMIT");
|
db_query($link, "COMMIT");
|
||||||
|
|
||||||
if ($memcache) {
|
if ($memcache) {
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
require_once "functions.php";
|
require_once "functions.php";
|
||||||
|
|
||||||
define('EXPECTED_CONFIG_VERSION', 19);
|
define('EXPECTED_CONFIG_VERSION', 19);
|
||||||
define('SCHEMA_VERSION', 71);
|
define('SCHEMA_VERSION', 72);
|
||||||
|
|
||||||
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
|
||||||
|
|
|
@ -151,6 +151,7 @@ create table ttrss_user_entries (
|
||||||
owner_uid integer not null,
|
owner_uid integer not null,
|
||||||
marked bool not null default 0,
|
marked bool not null default 0,
|
||||||
published bool not null default 0,
|
published bool not null default 0,
|
||||||
|
tag_cache text not null,
|
||||||
last_read datetime,
|
last_read datetime,
|
||||||
score int not null default 0,
|
score int not null default 0,
|
||||||
note longtext,
|
note longtext,
|
||||||
|
@ -244,7 +245,7 @@ create table ttrss_tags (id integer primary key auto_increment,
|
||||||
|
|
||||||
create table ttrss_version (schema_version int not null) TYPE=InnoDB DEFAULT CHARSET=UTF8;
|
create table ttrss_version (schema_version int not null) TYPE=InnoDB DEFAULT CHARSET=UTF8;
|
||||||
|
|
||||||
insert into ttrss_version values (71);
|
insert into ttrss_version values (72);
|
||||||
|
|
||||||
create table ttrss_enclosures (id integer primary key auto_increment,
|
create table ttrss_enclosures (id integer primary key auto_increment,
|
||||||
content_url text not null,
|
content_url text not null,
|
||||||
|
|
|
@ -137,6 +137,7 @@ create table ttrss_user_entries (
|
||||||
owner_uid integer not null references ttrss_users(id) ON DELETE CASCADE,
|
owner_uid integer not null references ttrss_users(id) ON DELETE CASCADE,
|
||||||
marked boolean not null default false,
|
marked boolean not null default false,
|
||||||
published boolean not null default false,
|
published boolean not null default false,
|
||||||
|
tag_cache text not null,
|
||||||
last_read timestamp,
|
last_read timestamp,
|
||||||
score int not null default 0,
|
score int not null default 0,
|
||||||
note text,
|
note text,
|
||||||
|
@ -216,7 +217,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 (71);
|
insert into ttrss_version values (72);
|
||||||
|
|
||||||
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,
|
||||||
|
|
|
@ -0,0 +1,5 @@
|
||||||
|
alter table ttrss_user_entries add column tag_cache text;
|
||||||
|
update ttrss_user_entries set tag_cache = '';
|
||||||
|
alter table ttrss_user_entries change tag_cache tag_cache text not null;
|
||||||
|
|
||||||
|
update ttrss_version set schema_version = 72;
|
|
@ -0,0 +1,5 @@
|
||||||
|
alter table ttrss_user_entries add column tag_cache text;
|
||||||
|
update ttrss_user_entries set tag_cache = '';
|
||||||
|
alter table ttrss_user_entries alter column tag_cache set not null;
|
||||||
|
|
||||||
|
update ttrss_version set schema_version = 72;
|
Loading…
Reference in New Issue