From 7e0adabd6afec4ac32e3a9ef90ac1ea63c652fde Mon Sep 17 00:00:00 2001 From: Martin Kleusberg Date: Fri, 27 May 2016 22:32:53 +0200 Subject: [PATCH] Fix primary key names not being escaped See issue #613. --- src/sqlitetypes.cpp | 2 +- src/tests/testsqlobjects.cpp | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/sqlitetypes.cpp b/src/sqlitetypes.cpp index 02725dff..1aed29e7 100644 --- a/src/sqlitetypes.cpp +++ b/src/sqlitetypes.cpp @@ -222,7 +222,7 @@ QString Table::sql() const { if(f->primaryKey()) { - pk += f->name() + ","; + pk += escapeIdentifier(f->name()) + ","; pks_found = true; } } diff --git a/src/tests/testsqlobjects.cpp b/src/tests/testsqlobjects.cpp index 9d828764..c895ccaf 100644 --- a/src/tests/testsqlobjects.cpp +++ b/src/tests/testsqlobjects.cpp @@ -22,7 +22,7 @@ void TestTable::sqlOutput() "\t`id`\tinteger,\n" "\t`car`\ttext,\n" "\t`km`\tinteger CHECK(km > 1000),\n" - "\tPRIMARY KEY(id,km)\n" + "\tPRIMARY KEY(`id`,`km`)\n" ");")); } @@ -156,7 +156,7 @@ void TestTable::parseSQLMultiPk() "\tid1 integer,\n" "\tid2 integer,\n" "\tnonpkfield blob,\n" - "PRIMARY KEY(id1,id2)\n" + "PRIMARY KEY(`id1`,`id2`)\n" ");"; Table tab = Table::parseSQL(sSQL).first; @@ -219,7 +219,7 @@ void TestTable::parseNonASCIIChars() { QString sSQL = "CREATE TABLE `lösung` (" "`Fieldöäüß` INTEGER," - "PRIMARY KEY(Fieldöäüß)" + "PRIMARY KEY(`Fieldöäüß`)" ");"; Table tab = Table::parseSQL(sSQL).first;