Description
Currently, structural changes to tables and views created by plugins are not properly tracked in Firebird. Meaning that when upgrading from one version to another, those tables or views might be outdated from the version that the plugin would create if it were initialized anew.
Firebird should provide a way for a plugin to record its current metadata version in a system table (shared by all plugins), and when a plugin is loaded, a plugin should check the metadata version and upgrade if needed (and maybe produce an error if its own metadata version is lower).
For example, between Firebird 3.0 and Firebird 4.0 the PLG$SRP_VIEW
was changed, but this was not recorded in the release notes, nor was an upgrade script included, meaning that people who upgraded their security3.fdb by backup and restore have the wrong definition of that view.