aboutsummaryrefslogtreecommitdiffstats
path: root/src/libs/sqlite/createtablesqlstatementbuilder.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/sqlite/createtablesqlstatementbuilder.h')
-rw-r--r--src/libs/sqlite/createtablesqlstatementbuilder.h13
1 files changed, 9 insertions, 4 deletions
diff --git a/src/libs/sqlite/createtablesqlstatementbuilder.h b/src/libs/sqlite/createtablesqlstatementbuilder.h
index 00c9ebd45a..3e3743e9da 100644
--- a/src/libs/sqlite/createtablesqlstatementbuilder.h
+++ b/src/libs/sqlite/createtablesqlstatementbuilder.h
@@ -27,6 +27,7 @@
#include "sqlitecolumn.h"
#include "sqlstatementbuilder.h"
+#include "tableconstraints.h"
namespace Sqlite {
@@ -36,10 +37,13 @@ public:
CreateTableSqlStatementBuilder();
void setTableName(Utils::SmallString &&tableName);
- void addColumn(Utils::SmallString &&columnName,
+
+ void addColumn(Utils::SmallStringView columnName,
ColumnType columnType,
- Contraint constraint = Contraint::NoConstraint);
- void setColumns(const SqliteColumns &columns);
+ Constraints &&constraints = {});
+ void addConstraint(TableConstraint &&constraint);
+ void setConstraints(TableConstraints constraints);
+ void setColumns(SqliteColumns columns);
void setUseWithoutRowId(bool useWithoutRowId);
void setUseIfNotExists(bool useIfNotExists);
void setUseTemporaryTable(bool useTemporaryTable);
@@ -52,7 +56,7 @@ public:
bool isValid() const;
protected:
- void bindColumnDefinitions() const;
+ void bindColumnDefinitionsAndTableConstraints() const;
void bindAll() const;
void bindWithoutRowId() const;
void bindIfNotExists() const;
@@ -62,6 +66,7 @@ private:
mutable SqlStatementBuilder m_sqlStatementBuilder;
Utils::SmallString m_tableName;
SqliteColumns m_columns;
+ TableConstraints m_tableConstraints;
bool m_useWithoutRowId = false;
bool m_useIfNotExits = false;
bool m_useTemporaryTable = false;