From e4fe5a9f137d03940696a75c42b9934d8ff9605c Mon Sep 17 00:00:00 2001 From: Martin Rotter Date: Fri, 11 Dec 2015 13:56:05 +0100 Subject: [PATCH] Some changes to DB schema. --- resources/misc/db_init_mysql.sql | 4 ++-- resources/misc/db_init_sqlite.sql | 4 ++-- resources/misc/db_update_mysql_3_4.sql | 5 ++++- resources/misc/db_update_sqlite_3_4.sql | 4 ++-- src/services/standard/standardserviceentrypoint.cpp | 6 +++--- src/services/tt-rss/network/ttrssnetworkfactory.cpp | 2 +- src/services/tt-rss/ttrssfeed.cpp | 4 ++++ src/services/tt-rss/ttrssserviceentrypoint.cpp | 1 + src/services/tt-rss/ttrssserviceroot.cpp | 9 +++++---- 9 files changed, 24 insertions(+), 15 deletions(-) diff --git a/resources/misc/db_init_mysql.sql b/resources/misc/db_init_mysql.sql index d1bbd370d..c882d52af 100644 --- a/resources/misc/db_init_mysql.sql +++ b/resources/misc/db_init_mysql.sql @@ -74,10 +74,10 @@ CREATE TABLE IF NOT EXISTS Messages ( is_read INTEGER(1) NOT NULL DEFAULT 0 CHECK (is_read >= 0 AND is_read <= 1), is_deleted INTEGER(1) NOT NULL DEFAULT 0 CHECK (is_deleted >= 0 AND is_deleted <= 1), is_important INTEGER(1) NOT NULL DEFAULT 0 CHECK (is_important >= 0 AND is_important <= 1), - feed TEXT, + feed TEXT NOT NULL, title TEXT NOT NULL CHECK (title != ''), url TEXT NOT NULL, - author TEXT NOT NULL, + author TEXT, date_created BIGINT NOT NULL CHECK (date_created != 0), contents TEXT, is_pdeleted INTEGER(1) NOT NULL DEFAULT 0 CHECK (is_pdeleted >= 0 AND is_pdeleted <= 1), diff --git a/resources/misc/db_init_sqlite.sql b/resources/misc/db_init_sqlite.sql index a0e357296..01f7e09ab 100644 --- a/resources/misc/db_init_sqlite.sql +++ b/resources/misc/db_init_sqlite.sql @@ -69,10 +69,10 @@ CREATE TABLE IF NOT EXISTS Messages ( is_read INTEGER(1) NOT NULL CHECK (is_read >= 0 AND is_read <= 1) DEFAULT (0), is_deleted INTEGER(1) NOT NULL CHECK (is_deleted >= 0 AND is_deleted <= 1) DEFAULT (0), is_important INTEGER(1) NOT NULL CHECK (is_important >= 0 AND is_important <= 1) DEFAULT (0), - feed TEXT, + feed TEXT NOT NULL, title TEXT NOT NULL CHECK (title != ''), url TEXT NOT NULL, - author TEXT NOT NULL, + author TEXT, date_created INTEGER NOT NULL CHECK (date_created != 0), contents TEXT, is_pdeleted INTEGER(1) NOT NULL DEFAULT 0 CHECK (is_pdeleted >= 0 AND is_pdeleted <= 1), diff --git a/resources/misc/db_update_mysql_3_4.sql b/resources/misc/db_update_mysql_3_4.sql index 25038fd1e..289eec2f2 100644 --- a/resources/misc/db_update_mysql_3_4.sql +++ b/resources/misc/db_update_mysql_3_4.sql @@ -38,7 +38,7 @@ ALTER TABLE Messages DROP FOREIGN KEY feed; -- ! ALTER TABLE Messages -MODIFY Feeds TEXT; +MODIFY feed TEXT NOT NULL; -- ! ALTER TABLE Feeds MODIFY date_created BIGINT; @@ -55,4 +55,7 @@ MODIFY type INTEGER; ALTER TABLE Categories MODIFY date_created BIGINT; -- ! +ALTER TABLE Messages +MODIFY author TEXT; +-- ! UPDATE Information SET inf_value = '4' WHERE inf_key = 'schema_version'; \ No newline at end of file diff --git a/resources/misc/db_update_sqlite_3_4.sql b/resources/misc/db_update_sqlite_3_4.sql index 6765c6491..1763e54d9 100644 --- a/resources/misc/db_update_sqlite_3_4.sql +++ b/resources/misc/db_update_sqlite_3_4.sql @@ -43,10 +43,10 @@ CREATE TABLE Messages ( is_read INTEGER(1) NOT NULL CHECK (is_read >= 0 AND is_read <= 1) DEFAULT (0), is_deleted INTEGER(1) NOT NULL CHECK (is_deleted >= 0 AND is_deleted <= 1) DEFAULT (0), is_important INTEGER(1) NOT NULL CHECK (is_important >= 0 AND is_important <= 1) DEFAULT (0), - feed TEXT, + feed TEXT NOT NULL, title TEXT NOT NULL CHECK (title != ''), url TEXT NOT NULL, - author TEXT NOT NULL, + author TEXT, date_created INTEGER NOT NULL CHECK (date_created != 0), contents TEXT, is_pdeleted INTEGER(1) NOT NULL DEFAULT 0 CHECK (is_pdeleted >= 0 AND is_pdeleted <= 1), diff --git a/src/services/standard/standardserviceentrypoint.cpp b/src/services/standard/standardserviceentrypoint.cpp index f852f6bb5..74a4bfee4 100755 --- a/src/services/standard/standardserviceentrypoint.cpp +++ b/src/services/standard/standardserviceentrypoint.cpp @@ -69,12 +69,12 @@ ServiceRoot *StandardServiceEntryPoint::createNewRoot() { return NULL; } - int id_to_assing = query.value(0).toInt() + 1; + int id_to_assign = query.value(0).toInt() + 1; - if (query.exec(QString("INSERT INTO Accounts (id, type) VALUES (%1, '%2');").arg(QString::number(id_to_assing), + if (query.exec(QString("INSERT INTO Accounts (id, type) VALUES (%1, '%2');").arg(QString::number(id_to_assign), SERVICE_CODE_STD_RSS))) { StandardServiceRoot *root = new StandardServiceRoot(); - root->setAccountId(id_to_assing); + root->setAccountId(id_to_assign); return root; } else { diff --git a/src/services/tt-rss/network/ttrssnetworkfactory.cpp b/src/services/tt-rss/network/ttrssnetworkfactory.cpp index f3d1986f9..5ba9927bd 100755 --- a/src/services/tt-rss/network/ttrssnetworkfactory.cpp +++ b/src/services/tt-rss/network/ttrssnetworkfactory.cpp @@ -376,7 +376,7 @@ QList TtRssGetHeadlinesResponse::messages() const { QMap mapped = item.toMap(); Message message; - message.m_author = mapped["author"].toString(); + message.m_author = mapped["author"].toString(); message.m_isRead = !mapped["unread"].toBool(); message.m_isImportant = mapped["marked"].toBool(); message.m_contents = mapped["content"].toString(); diff --git a/src/services/tt-rss/ttrssfeed.cpp b/src/services/tt-rss/ttrssfeed.cpp index bc1c5a3df..76a4b1ea8 100755 --- a/src/services/tt-rss/ttrssfeed.cpp +++ b/src/services/tt-rss/ttrssfeed.cpp @@ -27,6 +27,7 @@ #include "services/tt-rss/network/ttrssnetworkfactory.h" #include +#include TtRssFeed::TtRssFeed(RootItem *parent) @@ -251,6 +252,9 @@ int TtRssFeed::updateMessages(const QList &messages) { if (query_insert.exec() && query_insert.numRowsAffected() == 1) { updated_messages++; } + else { + QString str = query_insert.lastError().text(); + } query_insert.finish(); diff --git a/src/services/tt-rss/ttrssserviceentrypoint.cpp b/src/services/tt-rss/ttrssserviceentrypoint.cpp index 6af16e2a8..c0b2565ed 100755 --- a/src/services/tt-rss/ttrssserviceentrypoint.cpp +++ b/src/services/tt-rss/ttrssserviceentrypoint.cpp @@ -82,6 +82,7 @@ QList TtRssServiceEntryPoint::initializeSubtree() { if (query.exec("SELECT id, username, password, url FROM TtRssAccounts;")) { while (query.next()) { TtRssServiceRoot *root = new TtRssServiceRoot(); + root->setId(query.value(0).toInt()); root->setAccountId(query.value(0).toInt()); root->network()->setUsername(query.value(1).toString()); root->network()->setPassword(query.value(2).toString()); diff --git a/src/services/tt-rss/ttrssserviceroot.cpp b/src/services/tt-rss/ttrssserviceroot.cpp index 0f2714c47..ea9f22036 100755 --- a/src/services/tt-rss/ttrssserviceroot.cpp +++ b/src/services/tt-rss/ttrssserviceroot.cpp @@ -251,17 +251,18 @@ void TtRssServiceRoot::saveAccountDataToDatabase() { return; } - int id_to_assing = query.value(0).toInt() + 1; + int id_to_assign = query.value(0).toInt() + 1; - bool saved = query.exec(QString("INSERT INTO Accounts (id, type) VALUES (%1, '%2');").arg(QString::number(id_to_assing), + bool saved = query.exec(QString("INSERT INTO Accounts (id, type) VALUES (%1, '%2');").arg(QString::number(id_to_assign), SERVICE_CODE_TT_RSS)) && - query.exec(QString("INSERT INTO TtRssAccounts (id, username, password, url) VALUES (%1, '%2', '%3', '%4');").arg(QString::number(id_to_assing), + query.exec(QString("INSERT INTO TtRssAccounts (id, username, password, url) VALUES (%1, '%2', '%3', '%4');").arg(QString::number(id_to_assign), network()->username(), network()->password(), network()->url())); if (saved) { - setAccountId(id_to_assing); + setId(id_to_assign); + setAccountId(id_to_assign); updateTitle(); } }