From cf0213cd7e2020619f27f0d79b1e8c84b93b2b1c Mon Sep 17 00:00:00 2001 From: Peinthor Rene Date: Wed, 13 Aug 2014 12:11:03 +0200 Subject: [PATCH] sqlitemodel: fix endless loop if offset is used in LIMIT --- src/sqlitetablemodel.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/sqlitetablemodel.cpp b/src/sqlitetablemodel.cpp index 6bf710d5..a5584169 100644 --- a/src/sqlitetablemodel.cpp +++ b/src/sqlitetablemodel.cpp @@ -356,7 +356,7 @@ void SqliteTableModel::fetchData(unsigned int from, unsigned to) QString queryTemp = rtrimChar(m_sQuery, ';'); // If the query ends with a LIMIT statement take it as it is, if not append our own LIMIT part for lazy population - if(queryTemp.contains(QRegExp("LIMIT\\s+\\d+\\s*(,\\s*\\d+\\s*)?$", Qt::CaseInsensitive))) + if(queryTemp.contains(QRegExp("LIMIT\\s+\\d+\\s*((,|\\b(OFFSET)\\b)\\s*\\d+\\s*)?$", Qt::CaseInsensitive))) sLimitQuery = queryTemp; else sLimitQuery = QString("%1 LIMIT %2, %3;").arg(queryTemp).arg(from).arg(to-from);