Sqlite: Cleanup Sqlite

We don't need the threading anymore, so we removed it. The indexer
will be run in its thread anyway, so an extra thread makes the code
only more complicated. And we added namespaces.

Change-Id: Ibcba306324763285cf653c28bb08122345e5f8da
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2017-07-26 16:02:24 +02:00
parent 94ba1b8b5d
commit 3dcce060b2
50 changed files with 461 additions and 1196 deletions

View File

@@ -27,79 +27,79 @@
#include "utf8stringvector.h"
namespace Internal {
namespace Sqlite {
CreateTableSqlStatementBuilder::CreateTableSqlStatementBuilder()
: sqlStatementBuilder(Utf8StringLiteral("CREATE TABLE IF NOT EXISTS $table($columnDefinitions)$withoutRowId")),
useWithoutRowId(false)
: m_sqlStatementBuilder(Utf8StringLiteral("CREATE TABLE IF NOT EXISTS $table($columnDefinitions)$withoutRowId")),
m_useWithoutRowId(false)
{
}
void CreateTableSqlStatementBuilder::setTable(const Utf8String &tableName)
{
sqlStatementBuilder.clear();
m_sqlStatementBuilder.clear();
this->tableName = tableName;
this->m_tableName = tableName;
}
void CreateTableSqlStatementBuilder::addColumnDefinition(const Utf8String &columnName,
ColumnType columnType,
bool isPrimaryKey)
{
sqlStatementBuilder.clear();
m_sqlStatementBuilder.clear();
ColumnDefinition columnDefinition;
columnDefinition.setName(columnName);
columnDefinition.setType(columnType);
columnDefinition.setIsPrimaryKey(isPrimaryKey);
columnDefinitions.append(columnDefinition);
m_columnDefinitions.append(columnDefinition);
}
void CreateTableSqlStatementBuilder::setColumnDefinitions(const QVector<ColumnDefinition> &columnDefinitions)
{
sqlStatementBuilder.clear();
m_sqlStatementBuilder.clear();
this->columnDefinitions = columnDefinitions;
this->m_columnDefinitions = columnDefinitions;
}
void CreateTableSqlStatementBuilder::setUseWithoutRowId(bool useWithoutRowId)
{
this->useWithoutRowId = useWithoutRowId;
this->m_useWithoutRowId = useWithoutRowId;
}
void CreateTableSqlStatementBuilder::clear()
{
sqlStatementBuilder.clear();
columnDefinitions.clear();
tableName.clear();
useWithoutRowId = false;
m_sqlStatementBuilder.clear();
m_columnDefinitions.clear();
m_tableName.clear();
m_useWithoutRowId = false;
}
void CreateTableSqlStatementBuilder::clearColumns()
{
sqlStatementBuilder.clear();
columnDefinitions.clear();
m_sqlStatementBuilder.clear();
m_columnDefinitions.clear();
}
Utf8String CreateTableSqlStatementBuilder::sqlStatement() const
{
if (!sqlStatementBuilder.isBuild())
if (!m_sqlStatementBuilder.isBuild())
bindAll();
return sqlStatementBuilder.sqlStatement();
return m_sqlStatementBuilder.sqlStatement();
}
bool CreateTableSqlStatementBuilder::isValid() const
{
return tableName.hasContent() && !columnDefinitions.isEmpty();
return m_tableName.hasContent() && !m_columnDefinitions.isEmpty();
}
void CreateTableSqlStatementBuilder::bindColumnDefinitions() const
{
Utf8StringVector columnDefinitionStrings;
foreach (const ColumnDefinition &columnDefinition, columnDefinitions) {
foreach (const ColumnDefinition &columnDefinition, m_columnDefinitions) {
Utf8String columnDefinitionString = columnDefinition.name() + Utf8StringLiteral(" ") + columnDefinition.typeString();
if (columnDefinition.isPrimaryKey())
@@ -108,19 +108,19 @@ void CreateTableSqlStatementBuilder::bindColumnDefinitions() const
columnDefinitionStrings.append(columnDefinitionString);
}
sqlStatementBuilder.bind(Utf8StringLiteral("$columnDefinitions"), columnDefinitionStrings);
m_sqlStatementBuilder.bind(Utf8StringLiteral("$columnDefinitions"), columnDefinitionStrings);
}
void CreateTableSqlStatementBuilder::bindAll() const
{
sqlStatementBuilder.bind(Utf8StringLiteral("$table"), tableName);
m_sqlStatementBuilder.bind(Utf8StringLiteral("$table"), m_tableName);
bindColumnDefinitions();
if (useWithoutRowId)
sqlStatementBuilder.bind(Utf8StringLiteral("$withoutRowId"), Utf8StringLiteral(" WITHOUT ROWID"));
if (m_useWithoutRowId)
m_sqlStatementBuilder.bind(Utf8StringLiteral("$withoutRowId"), Utf8StringLiteral(" WITHOUT ROWID"));
else
sqlStatementBuilder.bindEmptyText(Utf8StringLiteral("$withoutRowId"));
m_sqlStatementBuilder.bindEmptyText(Utf8StringLiteral("$withoutRowId"));
}
}
} // namespace Sqlite