mirror of
https://github.com/martinrotter/rssguard.git
synced 2025-02-02 18:36:49 +01:00
usa thread safe db where makes sense
This commit is contained in:
parent
15e4f8e31f
commit
b0cc456087
@ -60,7 +60,7 @@
|
||||
<content_rating type="oars-1.0" />
|
||||
<content_rating type="oars-1.1" />
|
||||
<releases>
|
||||
<release version="4.2.7" date="2023-01-05" />
|
||||
<release version="4.2.7" date="2023-01-06" />
|
||||
</releases>
|
||||
<provides>
|
||||
<binary>@APP_LOW_NAME@</binary>
|
||||
|
@ -223,9 +223,7 @@ void FeedDownloader::updateOneFeed(ServiceRoot* acc,
|
||||
tmr.start();
|
||||
|
||||
try {
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd_%1").arg(thread_id));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
QList<Message> msgs = feed->getParentServiceRoot()->obtainNewMessages(feed, stated_messages, tagged_messages);
|
||||
|
||||
qDebugNN << LOGSEC_FEEDDOWNLOADER << "Downloaded" << NONQUOTE_W_SPACE(msgs.size()) << "messages for feed ID"
|
||||
|
@ -196,11 +196,7 @@ void Feed::appendMessageFilter(MessageFilter* filter) {
|
||||
}
|
||||
|
||||
void Feed::updateCounts(bool including_total_count) {
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
qlonglong thread_id = qlonglong(QThread::currentThreadId());
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd_%1").arg(thread_id));
|
||||
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
int account_id = getParentServiceRoot()->accountId();
|
||||
|
||||
if (including_total_count) {
|
||||
|
@ -25,10 +25,7 @@ QList<Message> ImportantNode::undeletedMessages() const {
|
||||
}
|
||||
|
||||
void ImportantNode::updateCounts(bool including_total_count) {
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
qlonglong thread_id = qlonglong(QThread::currentThreadId());
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd_%1").arg(thread_id));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
int account_id = getParentServiceRoot()->accountId();
|
||||
|
||||
if (including_total_count) {
|
||||
|
@ -76,10 +76,7 @@ bool Label::deleteViaGui() {
|
||||
}
|
||||
|
||||
void Label::updateCounts(bool including_total_count) {
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
qlonglong thread_id = qlonglong(QThread::currentThreadId());
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd_%1").arg(thread_id));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
int account_id = getParentServiceRoot()->accountId();
|
||||
|
||||
if (including_total_count) {
|
||||
@ -110,9 +107,7 @@ QIcon Label::generateIcon(const QColor& color) {
|
||||
}
|
||||
|
||||
void Label::assignToMessage(const Message& msg) {
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd"));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
|
||||
if (getParentServiceRoot()->onBeforeLabelMessageAssignmentChanged({this}, {msg}, true)) {
|
||||
DatabaseQueries::assignLabelToMessage(database, this, msg);
|
||||
@ -122,9 +117,7 @@ void Label::assignToMessage(const Message& msg) {
|
||||
}
|
||||
|
||||
void Label::deassignFromMessage(const Message& msg) {
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd"));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
|
||||
if (getParentServiceRoot()->onBeforeLabelMessageAssignmentChanged({this}, {msg}, false)) {
|
||||
DatabaseQueries::deassignLabelFromMessage(database, this, msg);
|
||||
|
@ -32,10 +32,7 @@ int RecycleBin::countOfAllMessages() const {
|
||||
}
|
||||
|
||||
void RecycleBin::updateCounts(bool update_total_count) {
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
qlonglong thread_id = qlonglong(QThread::currentThreadId());
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd_%1").arg(thread_id));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
|
||||
m_unreadCount = DatabaseQueries::getMessageCountsForBin(database, getParentServiceRoot()->accountId(), false);
|
||||
|
||||
|
@ -954,14 +954,10 @@ QPair<int, int> ServiceRoot::updateMessages(QList<Message>& messages, Feed* feed
|
||||
}
|
||||
|
||||
QList<RootItem*> items_to_update;
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
|
||||
qDebugNN << LOGSEC_CORE << "Updating messages in DB. Main thread:" << QUOTE_W_SPACE_DOT(is_main_thread);
|
||||
|
||||
bool ok = false;
|
||||
qlonglong thread_id = qlonglong(QThread::currentThreadId());
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd_%1").arg(thread_id));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
|
||||
qDebugNN << LOGSEC_CORE << "Updating messages in DB.";
|
||||
|
||||
updated_messages = DatabaseQueries::updateMessages(database, messages, feed, force_update, &ok);
|
||||
|
||||
|
@ -25,10 +25,7 @@ QList<Message> UnreadNode::undeletedMessages() const {
|
||||
void UnreadNode::updateCounts(bool including_total_count) {
|
||||
Q_UNUSED(including_total_count)
|
||||
|
||||
bool is_main_thread = QThread::currentThread() == qApp->thread();
|
||||
qlonglong thread_id = qlonglong(QThread::currentThreadId());
|
||||
QSqlDatabase database = is_main_thread ? qApp->database()->driver()->connection(metaObject()->className())
|
||||
: qApp->database()->driver()->connection(QSL("feed_upd_%1").arg(thread_id));
|
||||
QSqlDatabase database = qApp->database()->driver()->threadSafeConnection(metaObject()->className());
|
||||
int account_id = getParentServiceRoot()->accountId();
|
||||
|
||||
m_totalCount = m_unreadCount = DatabaseQueries::getUnreadMessageCounts(database, account_id);
|
||||
|
Loading…
x
Reference in New Issue
Block a user