Summary: | Deleted physical tables still visible in project navigator | ||
---|---|---|---|
Product: | [Applications] KEXI | Reporter: | Jarosław Staniek <staniek> |
Component: | Tables | Assignee: | Jarosław Staniek <staniek> |
Status: | CLOSED FIXED | ||
Severity: | normal | CC: | adam, inksi |
Priority: | NOR | ||
Version: | 3.1.0 | ||
Target Milestone: | 3.2 | ||
Platform: | Other | ||
OS: | Linux | ||
Latest Commit: | https://commits.kde.org/kexi/bcebf0787f0e75de019ba92e7730fc57c2b23a30 | Version Fixed In: | 3.2.0 |
Sentry Crash Report: |
Description
Jarosław Staniek
2018-03-20 21:20:38 UTC
Possible solution at KDb level: on first call to KDbConnection::tableNames() obtain list of physical tables and compare with tables from kexi__objects metadata. Update: additional fix is needed in KEXI itself in the code loading part items because it's for some reasons separate from KDb. Git commit 26203c294764c5a388d61836e9baf2fd3b68876f by Jaroslaw Staniek. Committed on 26/03/2018 at 22:22. Pushed by staniek into branch 'master'. Add KDbConnection::drv_getTableNames for low level list of table names, make tableNames() skip names with non-existing physical tables This change is backward compatible since metadata without physical table is not usable anyway. FIXED-IN:3.2.0 M +44 -2 src/KDbConnection.cpp M +20 -1 src/KDbConnection.h M +5 -0 src/KDbConnectionProxy.cpp M +5 -0 src/KDbConnectionProxy.h M +10 -1 src/KDbDriverBehavior.h M +4 -3 src/drivers/mysql/MysqlDriver.cpp M +3 -0 src/drivers/postgresql/PostgresqlDriver.cpp M +2 -0 src/drivers/sqlite/SqliteDriver.cpp https://commits.kde.org/kdb/26203c294764c5a388d61836e9baf2fd3b68876f Git commit 219c02d1bb58fde744e9150c35914cc594ad3138 by Jaroslaw Staniek. Committed on 26/03/2018 at 22:22. Pushed by staniek into branch 'master'. Add KDbConnection::drv_getTableNames for low level list of table names, make tableNames() skip names with non-existing physical tables Summary: - KDbTestUtils: add convenience APIs for connecting and using db, support connection options, use it in parser test - Add KDbConnection::drv_getTableNames for low level list of table names, make tableNames() skip names with non-existing physical tables - This change is backward compatible since metadata without physical table is not usable anyway. FIXED-IN:3.2.0 + Add autotest for handling missing physical tables Test Plan: Run ctest Reviewers: piggz Tags: #kdb Differential Revision: https://phabricator.kde.org/D11547 M +3 -0 autotests/CMakeLists.txt A +84 -0 autotests/MissingTableTest.cpp [License: LGPL (v2+)] A +- -- autotests/data/missingTableTest.kexi https://commits.kde.org/kdb/219c02d1bb58fde744e9150c35914cc594ad3138 Git commit 83a672c348ca9d263e9739bb3ee5566ca8d5d702 by Jaroslaw Staniek. Committed on 05/06/2018 at 22:32. Pushed by staniek into branch 'master'. Skip table name if physical table is non-existing, use the new tableNames API in migration Summary: FIXED-IN:3.2.0 Note: functionality of migration is not affected, it's just the code cleanup thanks to the new API. Test Plan: Open kdb.git/autotests/data/missingTableTest.kexi, it should not list persons table anymore. Reviewers: piggz Tags: #kexi Differential Revision: https://phabricator.kde.org/D11549 M +1 -1 CMakeLists.txt M +37 -11 src/core/kexiproject.cpp M +3 -15 src/migration/KexiSqlMigrate.cpp M +0 -3 src/migration/KexiSqlMigrate.h M +0 -1 src/migration/mysql/mysqlmigrate.cpp M +0 -1 src/migration/postgresql/PostgresqlMigrate.cpp https://commits.kde.org/kexi/83a672c348ca9d263e9739bb3ee5566ca8d5d702 Git commit 9978d76a494ca4dc6760158ef742660e2b4989cb by Jaroslaw Staniek. Committed on 06/01/2019 at 21:14. Pushed by staniek into branch '3.2'. Add KDbConnection::drv_getTableNames for low level list of table names, make tableNames() skip names with non-existing physical tables Summary: - KDbTestUtils: add convenience APIs for connecting and using db, support connection options, use it in parser test - Add KDbConnection::drv_getTableNames for low level list of table names, make tableNames() skip names with non-existing physical tables - This change is backward compatible since metadata without physical table is not usable anyway. FIXED-IN:3.2.0 + Add autotest for handling missing physical tables Test Plan: Run ctest Reviewers: piggz Tags: #kdb Differential Revision: https://phabricator.kde.org/D11547 M +3 -0 autotests/CMakeLists.txt A +84 -0 autotests/MissingTableTest.cpp [License: LGPL (v2+)] A +- -- autotests/data/missingTableTest.kexi https://commits.kde.org/kdb/9978d76a494ca4dc6760158ef742660e2b4989cb Git commit e5c3a99d939e9176da8a3d8809a6f48c8186bed8 by Jaroslaw Staniek. Committed on 06/01/2019 at 21:14. Pushed by staniek into branch '3.2'. Add KDbConnection::drv_getTableNames for low level list of table names, make tableNames() skip names with non-existing physical tables This change is backward compatible since metadata without physical table is not usable anyway. FIXED-IN:3.2.0 M +44 -2 src/KDbConnection.cpp M +20 -1 src/KDbConnection.h M +5 -0 src/KDbConnectionProxy.cpp M +5 -0 src/KDbConnectionProxy.h M +10 -1 src/KDbDriverBehavior.h M +4 -3 src/drivers/mysql/MysqlDriver.cpp M +3 -0 src/drivers/postgresql/PostgresqlDriver.cpp M +2 -0 src/drivers/sqlite/SqliteDriver.cpp https://commits.kde.org/kdb/e5c3a99d939e9176da8a3d8809a6f48c8186bed8 Git commit bcebf0787f0e75de019ba92e7730fc57c2b23a30 by Jaroslaw Staniek. Committed on 06/01/2019 at 21:41. Pushed by staniek into branch '3.2'. Skip table name if physical table is non-existing, use the new tableNames API in migration Summary: FIXED-IN:3.2.0 Note: functionality of migration is not affected, it's just the code cleanup thanks to the new API. Test Plan: Open kdb.git/autotests/data/missingTableTest.kexi, it should not list persons table anymore. Reviewers: piggz Tags: #kexi Differential Revision: https://phabricator.kde.org/D11549 # Conflicts: # CMakeLists.txt M +37 -11 src/core/kexiproject.cpp M +3 -15 src/migration/KexiSqlMigrate.cpp M +0 -3 src/migration/KexiSqlMigrate.h M +0 -1 src/migration/mysql/mysqlmigrate.cpp M +0 -1 src/migration/postgresql/PostgresqlMigrate.cpp https://commits.kde.org/kexi/bcebf0787f0e75de019ba92e7730fc57c2b23a30 |