diff --git a/src/libs/sqlite/createtablesqlstatementbuilder.h b/src/libs/sqlite/createtablesqlstatementbuilder.h index 1f8160d10b8..588da02d86d 100644 --- a/src/libs/sqlite/createtablesqlstatementbuilder.h +++ b/src/libs/sqlite/createtablesqlstatementbuilder.h @@ -323,10 +323,14 @@ private: void bindWithoutRowId() const { - if (m_useWithoutRowId) - m_sqlStatementBuilder.bind("$withoutRowId", " WITHOUT ROWID"); - else + if (m_useWithoutRowId) { + if constexpr (std::is_same_v) + m_sqlStatementBuilder.bind("$withoutRowId", " WITHOUT ROWID"); + else + m_sqlStatementBuilder.bind("$withoutRowId", " WITHOUT ROWID,"); + } else { m_sqlStatementBuilder.bindEmptyText("$withoutRowId"); + } } void bindIfNotExists() const diff --git a/src/libs/sqlite/sqlitetable.h b/src/libs/sqlite/sqlitetable.h index d0bb850656f..2df39f4342c 100644 --- a/src/libs/sqlite/sqlitetable.h +++ b/src/libs/sqlite/sqlitetable.h @@ -103,7 +103,7 @@ public: } Column &addForeignKeyColumn(Utils::SmallStringView name, - const Column &referencedColumn, + const BasicColumn &referencedColumn, ForeignKeyAction foreignKeyupdateAction = {}, ForeignKeyAction foreignKeyDeleteAction = {}, Enforment foreignKeyEnforcement = {}, diff --git a/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp b/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp index 130a2e30427..596e89f3b95 100644 --- a/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp +++ b/tests/unit/unittest/createtablesqlstatementbuilder-test.cpp @@ -690,7 +690,7 @@ TEST_F(CreateStrictTableSqlStatementBuilder, SetWitoutRowId) ASSERT_THAT( builder.sqlStatement(), - "CREATE TABLE test(id INTEGER PRIMARY KEY, name TEXT, number ANY) WITHOUT ROWID STRICT"); + "CREATE TABLE test(id INTEGER PRIMARY KEY, name TEXT, number ANY) WITHOUT ROWID, STRICT"); } TEST_F(CreateStrictTableSqlStatementBuilder, SetColumnDefinitions) diff --git a/tests/unit/unittest/sqlitetable-test.cpp b/tests/unit/unittest/sqlitetable-test.cpp index 24be87cca41..5abaf95df81 100644 --- a/tests/unit/unittest/sqlitetable-test.cpp +++ b/tests/unit/unittest/sqlitetable-test.cpp @@ -386,7 +386,7 @@ TEST_F(StrictSqliteTable, InitializeTable) EXPECT_CALL(databaseMock, execute(Eq("CREATE TEMPORARY TABLE IF NOT EXISTS testTable(name ANY, value ANY) " - "WITHOUT ROWID STRICT"))); + "WITHOUT ROWID, STRICT"))); table.initialize(databaseMock); }