From ee8a5e4ab977e24e0ffc93d3e8681f9a426e714a Mon Sep 17 00:00:00 2001 From: Tomek Sobkowiak Date: Sun, 22 Nov 2020 17:31:56 +0100 Subject: [PATCH] [EDG-4346] Load script to init contacts database (#1013) --- image/user/contacts.db | Bin 73728 -> 0 bytes image/user/db/contacts_001.sql | 79 +++ image/user/db/contacts_002.sql | 13 + image/user/db/contacts_003.sql | 512 ++++++++++++++++++++ module-db/Database/DatabaseInitializer.hpp | 2 +- module-db/Databases/ContactsDB.cpp | 24 - module-db/Databases/ContactsDB.hpp | 2 +- module-db/Tables/ContactsAddressTable.cpp | 2 +- module-db/Tables/ContactsAddressTable.hpp | 8 - module-db/Tables/ContactsGroups.cpp | 60 +-- module-db/Tables/ContactsNameTable.cpp | 2 +- module-db/Tables/ContactsNameTable.hpp | 7 - module-db/Tables/ContactsNumberTable.cpp | 2 +- module-db/Tables/ContactsNumberTable.hpp | 8 - module-db/Tables/ContactsRingtonesTable.cpp | 2 +- module-db/Tables/ContactsRingtonesTable.hpp | 6 - module-db/Tables/ContactsTable.cpp | 2 +- module-db/Tables/ContactsTable.hpp | 10 - 18 files changed, 617 insertions(+), 124 deletions(-) delete mode 100644 image/user/contacts.db create mode 100644 image/user/db/contacts_001.sql create mode 100644 image/user/db/contacts_002.sql create mode 100644 image/user/db/contacts_003.sql diff --git a/image/user/contacts.db b/image/user/contacts.db deleted file mode 100644 index cfd57244f11594bfa60b03411e54921b4c4b4457..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 73728 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 vfs::FILE * + [[nodiscard]] vfs::FILE *get() const { return file; } diff --git a/module-db/Databases/ContactsDB.cpp b/module-db/Databases/ContactsDB.cpp index 6d6f2fb74e5e419acf279d6bbf1d0a1b2b9c56b7..f415bed2ea77a9f5d5b899e670128ecdacc61127 100644 --- a/module-db/Databases/ContactsDB.cpp +++ b/module-db/Databases/ContactsDB.cpp @@ -15,25 +15,6 @@ ContactsDB::ContactsDB() : Database(dbName), contacts(this), name(this), number(this), ringtones(this), address(this), groups(this) { - if (contacts.create() == false) { - return; - } - if (name.create() == false) { - return; - } - if (number.create() == false) { - return; - } - if (ringtones.create() == false) { - return; - } - if (address.create() == false) { - return; - } - if (groups.create() == false) { - return; - } - if (favouritesId == 0) { favouritesId = groups.favouritesId(); } @@ -46,9 +27,4 @@ ContactsDB::ContactsDB() if (temporaryId == 0) { temporaryId = groups.temporaryId(); } - - isInitialized_ = true; } - -ContactsDB::~ContactsDB() -{} diff --git a/module-db/Databases/ContactsDB.hpp b/module-db/Databases/ContactsDB.hpp index 2b00c6540b92806c79d6f970923da2df53adc90c..1a5ffdd1ac168b42ae9db20451ee523b8edbb22e 100644 --- a/module-db/Databases/ContactsDB.hpp +++ b/module-db/Databases/ContactsDB.hpp @@ -15,7 +15,7 @@ class ContactsDB : public Database { public: ContactsDB(); - ~ContactsDB(); + ~ContactsDB() = default; static const char *GetDBName() { diff --git a/module-db/Tables/ContactsAddressTable.cpp b/module-db/Tables/ContactsAddressTable.cpp index 27ed028a0b5055fd2086fb9e921803efbaa6e410..af1c4cc2dca85a78b638973c07a228da3d0893d6 100644 --- a/module-db/Tables/ContactsAddressTable.cpp +++ b/module-db/Tables/ContactsAddressTable.cpp @@ -11,7 +11,7 @@ ContactsAddressTable::~ContactsAddressTable() bool ContactsAddressTable::create() { - return db->execute(createTableQuery); + return true; } bool ContactsAddressTable::add(ContactsAddressTableRow entry) diff --git a/module-db/Tables/ContactsAddressTable.hpp b/module-db/Tables/ContactsAddressTable.hpp index 5d12336d5701d898f0f17a9f1b674fc21930a2e9..9f1a121f80566022598a22127f58d715ff274713 100644 --- a/module-db/Tables/ContactsAddressTable.hpp +++ b/module-db/Tables/ContactsAddressTable.hpp @@ -49,12 +49,4 @@ class ContactsAddressTable : public Tableexecute(createTablesQuery)) { - if (db->execute(createIndices)) { - if (db->execute(addSpecialGroups)) { - if (db->execute(createTableGroupsProtected)) { - if (db->execute(protectSpecialGroups)) { - return true; - } - } - } - } - } - return false; + return true; } bool ContactsGroupsTable::add(ContactsGroupsTableRow entry) diff --git a/module-db/Tables/ContactsNameTable.cpp b/module-db/Tables/ContactsNameTable.cpp index ad83c376ba3507d06bcfff78e93983ba3156d23a..089fad17fd0b46643623e219e7f8d37a66c8acef 100644 --- a/module-db/Tables/ContactsNameTable.cpp +++ b/module-db/Tables/ContactsNameTable.cpp @@ -11,7 +11,7 @@ ContactsNameTable::~ContactsNameTable() bool ContactsNameTable::create() { - return db->execute(createTableQuery); + return true; } bool ContactsNameTable::add(ContactsNameTableRow entry) diff --git a/module-db/Tables/ContactsNameTable.hpp b/module-db/Tables/ContactsNameTable.hpp index aba0327ef61f1c3d9d1eb18b2933bcbf48ab935b..5c06c69abc57e23cfecc739d5a2457aa699894ab 100644 --- a/module-db/Tables/ContactsNameTable.hpp +++ b/module-db/Tables/ContactsNameTable.hpp @@ -56,11 +56,4 @@ class ContactsNameTable : public Tableexecute(createTableQuery); + return true; } bool ContactsNumberTable::add(ContactsNumberTableRow entry) diff --git a/module-db/Tables/ContactsNumberTable.hpp b/module-db/Tables/ContactsNumberTable.hpp index 049fb4fd4f09d6b3e0b7a9a0cb33bdab75c112fc..ad7873414ae4bee83f649f7cff8bc439348e8614 100644 --- a/module-db/Tables/ContactsNumberTable.hpp +++ b/module-db/Tables/ContactsNumberTable.hpp @@ -56,12 +56,4 @@ class ContactsNumberTable : public Tableexecute(createTableQuery); + return true; } bool ContactsRingtonesTable::add(ContactsRingtonesTableRow entry) diff --git a/module-db/Tables/ContactsRingtonesTable.hpp b/module-db/Tables/ContactsRingtonesTable.hpp index 199b5212f6b20fc687c54a0d876482ff0440e1a4..e18776b38e11952d1140d3ed29db035b79675252 100644 --- a/module-db/Tables/ContactsRingtonesTable.hpp +++ b/module-db/Tables/ContactsRingtonesTable.hpp @@ -57,10 +57,4 @@ class ContactsRingtonesTable : public Tableexecute(createTableQuery); + return true; } bool ContactsTable::add(ContactsTableRow entry) diff --git a/module-db/Tables/ContactsTable.hpp b/module-db/Tables/ContactsTable.hpp index 618f09564d1a9e3ed1bcc2ff98b436666b94c1a9..c5513196b6a614bdd88cfbf3d00a7e760fc73609 100644 --- a/module-db/Tables/ContactsTable.hpp +++ b/module-db/Tables/ContactsTable.hpp @@ -89,14 +89,4 @@ class ContactsTable : public Table std::string GetSortedByNameQueryString(ContactQuerySection section); private: - const char *createTableQuery = - "CREATE TABLE IF NOT EXISTS contacts(" - "_id INTEGER PRIMARY KEY," - "name_id INTEGER," - "numbers_id TEXT NOT NULL," - "ring_id INTEGER," - "address_id INTEGER," - "speeddial TEXT NOT NULL," - "FOREIGN KEY(name_id) REFERENCES contact_name(_id) FOREIGN KEY(ring_id) REFERENCES contact_ringtones(_id)" - ");"; };