search: fixed: order by after group by in content search

This commit is contained in:
Albert S. 2019-04-27 21:23:06 +02:00
parent 3858dadc4a
commit 233c30b66b

View File

@ -107,7 +107,7 @@ QString SqliteSearch::createSortSql(const SqliteSearch::Token &token)
//sort:(mtime desc, page asc)
if(token.key == "sort")
{
QString sortsql = " ORDER BY ";
QString sortsql;
QStringList splitted_inner = token.value.split(",");
for(int i = 0; i < splitted_inner.length(); i++)
{
@ -231,7 +231,7 @@ QSqlQuery SqliteSearch::makeSqlQuery(const QVector<SqliteSearch::Token> &tokens)
{
sortSql = "ORDER BY file.mtime DESC, content.page ASC";
}
prepSql = "SELECT file.path AS path, group_concat(content.page) AS pages, file.mtime AS mtime, file.size AS size, file.filetype AS filetype FROM file INNER JOIN content ON file.id = content.fileid WHERE 1=1 AND " + whereSql + " " + sortSql + " GROUP BY file.path";
prepSql = "SELECT file.path AS path, group_concat(content.page) AS pages, file.mtime AS mtime, file.size AS size, file.filetype AS filetype FROM file INNER JOIN content ON file.id = content.fileid WHERE 1=1 AND " + whereSql + " GROUP BY file.path " + sortSql;
}
else
{
@ -266,6 +266,7 @@ QVector<SearchResult> SqliteSearch::search(const QString &query)
{
qDebug() << dbQuery.lastError();
qDebug() << dbQuery.executedQuery();
throw QSSGeneralException("SQL Error: " + dbQuery.lastError().text());
}