1
0
mirror of https://git.tt-rss.org/git/tt-rss.git synced 2026-01-03 12:59:14 +00:00

cache schema version better

This commit is contained in:
Andrew Dolgov
2021-02-25 21:42:05 +03:00
parent 22ae284db4
commit a1ca62af50
9 changed files with 24 additions and 39 deletions

View File

@@ -107,8 +107,9 @@ class Config {
private static $instance;
private $params = [];
private $schema_version = null;
public static function get_instance() {
public static function get_instance() : Config {
if (self::$instance == null)
self::$instance = new self();
@@ -133,6 +134,20 @@ class Config {
}
}
static function get_schema_version(bool $nocache = false) {
return self::get_instance()->_schema_version($nocache);
}
function _schema_version(bool $nocache = false) {
if (empty($this->schema_version) || $nocache) {
$row = Db::pdo()->query("SELECT schema_version FROM ttrss_version")->fetch();
$this->schema_version = (int) $row["schema_version"];
}
return $this->schema_version;
}
static function cast_to(string $value, int $type_hint) {
switch ($type_hint) {
case self::T_BOOL:

View File

@@ -12,8 +12,7 @@ class DbUpdater {
}
function get_schema_version() {
$row = $this->pdo->query("SELECT schema_version FROM ttrss_version")->fetch();
return (int) $row['schema_version'];
return Config::get_schema_version(true);
}
function is_update_required() {

View File

@@ -334,7 +334,7 @@ class Feeds extends Handler_Protected {
/* we don't need those */
foreach (["date_entered", "guid", "last_published", "last_marked", "tag_cache", "favicon_avg_color",
"uuid", "label_cache", "yyiw"] as $k)
"uuid", "label_cache", "yyiw", "num_enclosures"] as $k)
unset($line[$k]);
array_push($reply['content'], $line);

View File

@@ -137,7 +137,7 @@ class Prefs {
/** @var PDO */
private $pdo;
public static function get_instance() {
public static function get_instance() : Prefs {
if (self::$instance == null)
self::$instance = new self();

View File

@@ -53,11 +53,9 @@ class RSSUtils {
}
static function update_daemon_common($limit = null, $options = []) {
$schema_version = get_schema_version();
if (!$limit) $limit = Config::get(Config::DAEMON_FEED_LIMIT);
if ($schema_version != SCHEMA_VERSION) {
if (get_schema_version() != SCHEMA_VERSION) {
die("Schema version is wrong, please upgrade the database.\n");
}