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

@@ -27,6 +27,7 @@
#include "sqlitedatabasebackend.h"
#include "sqliteglobal.h"
#include "sqlitetable.h"
#include <utils/smallstring.h>
@@ -34,9 +35,6 @@
namespace Sqlite {
class SqliteTable;
class SqliteDatabaseBackend;
class SQLITE_EXPORT SqliteDatabase
{
friend class SqliteAbstractTransaction;
@@ -45,7 +43,12 @@ class SQLITE_EXPORT SqliteDatabase
public:
SqliteDatabase();
~SqliteDatabase();
SqliteDatabase(const SqliteDatabase &) = delete;
bool operator=(const SqliteDatabase &) = delete;
SqliteDatabase(SqliteDatabase &&) = delete;
bool operator=(SqliteDatabase &&) = delete;
void open();
void open(Utils::PathString &&databaseFilePath);
@@ -53,8 +56,8 @@ public:
bool isOpen() const;
void addTable(SqliteTable *newSqliteTable);
const std::vector<SqliteTable *> &tables() const;
SqliteTable &addTable();
const std::vector<SqliteTable> &tables() const;
void setDatabaseFilePath(Utils::PathString &&databaseFilePath);
const Utils::PathString &databaseFilePath() const;
@@ -75,7 +78,7 @@ private:
private:
SqliteDatabaseBackend m_databaseBackend;
std::vector<SqliteTable*> m_sqliteTables;
std::vector<SqliteTable> m_sqliteTables;
Utils::PathString m_databaseFilePath;
JournalMode m_journalMode;
bool m_isOpen = false;