diff options
Diffstat (limited to 'src/libs/sqlite/createtablesqlstatementbuilder.h')
-rw-r--r-- | src/libs/sqlite/createtablesqlstatementbuilder.h | 13 |
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; |