From 30529dca4329d32ecc70a50eedccd0ba4e0038ab Mon Sep 17 00:00:00 2001 From: Iain Benson Date: Sat, 24 Nov 2018 10:27:09 +0000 Subject: [PATCH] Some small tidy ups --- YACReaderLibrary/db/comic_model.cpp | 10 +++++----- YACReaderLibrary/db/folder_model.cpp | 28 +++++++++++++--------------- YACReaderLibrary/db/query_parser.cpp | 10 ---------- 3 files changed, 18 insertions(+), 30 deletions(-) diff --git a/YACReaderLibrary/db/comic_model.cpp b/YACReaderLibrary/db/comic_model.cpp index 5f795e6a..d41b7806 100644 --- a/YACReaderLibrary/db/comic_model.cpp +++ b/YACReaderLibrary/db/comic_model.cpp @@ -618,23 +618,23 @@ void ComicModel::setupModelData(const SearchModifiers modifier, const QString &f switch (modifier) { case YACReader::NoModifiers: - queryString += "LIMIT :limit"; + queryString += " LIMIT :limit"; break; case YACReader::OnlyRead: - queryString += "AND ci.read = 1 LIMIT :limit"; + queryString += " AND ci.read = 1 LIMIT :limit"; break; case YACReader::OnlyUnread: - queryString += "AND ci.read = 0 LIMIT :limit"; + queryString += " AND ci.read = 0 LIMIT :limit"; break; default: - queryString += "LIMIT :limit"; + queryString += " LIMIT :limit"; QLOG_ERROR() << "not implemented"; break; } - selectQuery.prepare(QString(queryString.c_str())); + selectQuery.prepare(queryString.c_str()); selectQuery.bindValue(":limit", 500); //TODO, load this value from settings result.bindValues(selectQuery); } catch (const std::exception &e) { diff --git a/YACReaderLibrary/db/folder_model.cpp b/YACReaderLibrary/db/folder_model.cpp index 902ada19..76a82ec2 100644 --- a/YACReaderLibrary/db/folder_model.cpp +++ b/YACReaderLibrary/db/folder_model.cpp @@ -701,39 +701,37 @@ void FolderModelProxy::setupFilteredModelData() switch (modifier) { case YACReader::NoModifiers: - queryString += "AND f.id <> 1 ORDER BY f.parentId,f.name"; + queryString += " AND f.id <> 1 ORDER BY f.parentId,f.name"; break; case YACReader::OnlyRead: - queryString += "AND f.id <> 1 AND ci.read = 1 ORDER BY f.parentId,f.name"; + queryString += " AND f.id <> 1 AND ci.read = 1 ORDER BY f.parentId,f.name"; break; case YACReader::OnlyUnread: - queryString += "AND f.id <> 1 AND ci.read = 0 ORDER BY f.parentId,f.name"; + queryString += " AND f.id <> 1 AND ci.read = 0 ORDER BY f.parentId,f.name"; break; default: - queryString += "AND f.id <> 1 ORDER BY f.parentId,f.name"; + queryString += " AND f.id <> 1 ORDER BY f.parentId,f.name"; QLOG_ERROR() << "not implemented"; break; + + selectQuery.prepare(queryString.c_str()); + result.bindValues(selectQuery); } - - selectQuery.prepare(QString(queryString.c_str())); - result.bindValues(selectQuery); - } catch (const std::exception &e) { QLOG_ERROR() << "Unable to parse query: " << e.what(); } + selectQuery.exec(); + QLOG_DEBUG() << selectQuery.lastError() << "--"; + + setupFilteredModelData(selectQuery, rootItem); } - selectQuery.exec(); - QLOG_DEBUG() << selectQuery.lastError() << "--"; + QSqlDatabase::removeDatabase(db.connectionName()); - setupFilteredModelData(selectQuery, rootItem); - connectionName = db.connectionName(); + endResetModel(); } - QSqlDatabase::removeDatabase(connectionName); - - endResetModel(); } void FolderModelProxy::clear() diff --git a/YACReaderLibrary/db/query_parser.cpp b/YACReaderLibrary/db/query_parser.cpp index e69c8b81..7cd57897 100644 --- a/YACReaderLibrary/db/query_parser.cpp +++ b/YACReaderLibrary/db/query_parser.cpp @@ -148,17 +148,7 @@ QueryParser::FieldType QueryParser::fieldType(const std::string& str) { } void QueryParser::tokenize (const std::string& expr) { - // TODO: Strip out escaped backslashes, quotes and parens so that the - // lex scanner doesn't get confused. We put them back later. - iter = lexertl::siterator(expr.begin(), expr.end(), sm); - - /* for (; !isEof() ; advance()) - { - std::cout << "Id: " << iter->id << ", Token: '" << token() << "'\n"; - } - iter = lexertl::siterator(expr.begin(), expr.end(), sm); - */ } std::string QueryParser::join(const std::vector& strings, const std::string& delim) {