Sqlite: Cleanup table and column handling

Using values instead of pointers makes the handling much easier. We can
remove ColumnDefinition too, and use SqliteColumn instead.

Change-Id: I224db9cc569c4dfb6e2746179b02096904bfbccb
Reviewed-by: Tim Jenssen <tim.jenssen@qt.io>
This commit is contained in:
Marco Bubke
2017-08-01 14:02:57 +02:00
parent a41183f6c7
commit 52a911b972
16 changed files with 183 additions and 354 deletions

View File

@@ -25,11 +25,9 @@
#pragma once
#include "columndefinition.h"
#include "sqlitecolumn.h"
#include "sqlstatementbuilder.h"
#include <vector>
namespace Sqlite {
class SQLITE_EXPORT CreateTableSqlStatementBuilder
@@ -38,8 +36,10 @@ public:
CreateTableSqlStatementBuilder();
void setTable(Utils::SmallString &&tableName);
void addColumnDefinition(Utils::SmallString &&columnName, ColumnType columnType, bool isPrimaryKey = false);
void setColumnDefinitions(ColumnDefinitions &&columnDefinitions);
void addColumn(Utils::SmallString &&columnName,
ColumnType columnType,
IsPrimaryKey isPrimaryKey = IsPrimaryKey::No);
void setColumns(const SqliteColumns &columns);
void setUseWithoutRowId(bool useWithoutRowId);
void clear();
@@ -56,7 +56,7 @@ protected:
private:
mutable SqlStatementBuilder m_sqlStatementBuilder;
Utils::SmallString m_tableName;
ColumnDefinitions m_columnDefinitions;
SqliteColumns m_columns;
bool m_useWithoutRowId;
};