mirror of
https://github.com/Readarr/Readarr
synced 2026-05-08 21:13:58 +02:00
Fixed: Restore old Sqlite version compatibility
This commit is contained in:
parent
f448481460
commit
2bde9d13dd
1 changed files with 8 additions and 3 deletions
|
|
@ -45,13 +45,17 @@ private List<BookStatistics> Query(SqlBuilder builder)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private SqlBuilder Builder() => new SqlBuilder(_database.DatabaseType)
|
private SqlBuilder Builder()
|
||||||
.Select(@"""Authors"".""Id"" AS ""AuthorId"",
|
{
|
||||||
|
var trueIndicator = _database.DatabaseType == DatabaseType.PostgreSQL ? "true" : "1";
|
||||||
|
|
||||||
|
return new SqlBuilder(_database.DatabaseType)
|
||||||
|
.Select($@"""Authors"".""Id"" AS ""AuthorId"",
|
||||||
""Books"".""Id"" AS ""BookId"",
|
""Books"".""Id"" AS ""BookId"",
|
||||||
SUM(COALESCE(""BookFiles"".""Size"", 0)) AS ""SizeOnDisk"",
|
SUM(COALESCE(""BookFiles"".""Size"", 0)) AS ""SizeOnDisk"",
|
||||||
1 AS ""TotalBookCount"",
|
1 AS ""TotalBookCount"",
|
||||||
CASE WHEN MIN(""BookFiles"".""Id"") IS NULL THEN 0 ELSE 1 END AS ""AvailableBookCount"",
|
CASE WHEN MIN(""BookFiles"".""Id"") IS NULL THEN 0 ELSE 1 END AS ""AvailableBookCount"",
|
||||||
CASE WHEN (""Books"".""Monitored"" = true AND (""Books"".""ReleaseDate"" < @currentDate) OR ""Books"".""ReleaseDate"" IS NULL) OR MIN(""BookFiles"".""Id"") IS NOT NULL THEN 1 ELSE 0 END AS ""BookCount"",
|
CASE WHEN (""Books"".""Monitored"" = {trueIndicator} AND (""Books"".""ReleaseDate"" < @currentDate) OR ""Books"".""ReleaseDate"" IS NULL) OR MIN(""BookFiles"".""Id"") IS NOT NULL THEN 1 ELSE 0 END AS ""BookCount"",
|
||||||
CASE WHEN MIN(""BookFiles"".""Id"") IS NULL THEN 0 ELSE COUNT(""BookFiles"".""Id"") END AS ""BookFileCount""")
|
CASE WHEN MIN(""BookFiles"".""Id"") IS NULL THEN 0 ELSE COUNT(""BookFiles"".""Id"") END AS ""BookFileCount""")
|
||||||
.Join<Edition, Book>((e, b) => e.BookId == b.Id)
|
.Join<Edition, Book>((e, b) => e.BookId == b.Id)
|
||||||
.Join<Book, Author>((book, author) => book.AuthorMetadataId == author.AuthorMetadataId)
|
.Join<Book, Author>((book, author) => book.AuthorMetadataId == author.AuthorMetadataId)
|
||||||
|
|
@ -60,5 +64,6 @@ CASE WHEN MIN(""BookFiles"".""Id"") IS NULL THEN 0 ELSE COUNT(""BookFiles"".""Id
|
||||||
.GroupBy<Author>(x => x.Id)
|
.GroupBy<Author>(x => x.Id)
|
||||||
.GroupBy<Book>(x => x.Id)
|
.GroupBy<Book>(x => x.Id)
|
||||||
.AddParameters(new Dictionary<string, object> { { "currentDate", DateTime.UtcNow } });
|
.AddParameters(new Dictionary<string, object> { { "currentDate", DateTime.UtcNow } });
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue