Skip table name if physical table is non-existing, use the new tableNames API in migration
ClosedPublic

Authored by staniek on Mar 21 2018, 11:42 AM.

Details

Summary

BUG:392112
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

Build KEXI with this KDb: https://phabricator.kde.org/D11547

Open kdb.git/autotests/data/missingTableTest.kexi, it should not list persons table anymore.

Diff Detail

Repository
R71 Kexi
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.
staniek created this revision.Mar 21 2018, 11:42 AM
Restricted Application added a project: KEXI. · View Herald TranscriptMar 21 2018, 11:42 AM
staniek requested review of this revision.Mar 21 2018, 11:42 AM
staniek edited the test plan for this revision. (Show Details)Mar 21 2018, 11:42 AM
piggz added a comment.Apr 3 2018, 6:22 AM

Should we clean up the internal schema of non existing tables? Options would be automatic or prompt to user. Other consideration is other objects referring to non-existing tables like reports and queries.

piggz accepted this revision.May 16 2018, 6:20 AM
This revision is now accepted and ready to land.May 16 2018, 6:20 AM
Restricted Application added a subscriber: Kexi-Devel-list. · View Herald TranscriptMay 16 2018, 6:20 AM

Should we clean up the internal schema of non existing tables? Options would be automatic or prompt to user.

I think I've been thinking about that. Well, mid-term we will only maintain internal metadata for backward compatibility. Since 3.2 by just ignoring the "ghost" internal metadata items we can ignore their existence, removing them won't change anything. Removing may be impossible (read-only mode can be enabled for example).

Other consideration is other objects referring to non-existing tables like reports and queries.

Yes, this will be always the case even after we no longer require creation of internal metadata. I think the answer at GUI level in KEXI would be feature that shows global relationships between all types of objects and help track and fix errors. Errors can appear less or more likely; more in a multi-developer project. Just like in text-based programming :)

This revision was automatically updated to reflect the committed changes.