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:
@@ -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:
|
||||
|
||||
@@ -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() {
|
||||
|
||||
@@ -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);
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
@@ -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");
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user