db-derby-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <wikidi...@apache.org>
Subject [Db-derby Wiki] Update of "MetadataUpgrade" by KnutAndersHatlen
Date Fri, 07 Apr 2006 13:22:51 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Db-derby Wiki" for change notification.

The following page has been changed by KnutAndersHatlen:

  = Metadata and Upgrade =
+ /!\ Under construction /!\
  See [http://db.apache.org/derby/papers/versionupgrade.html] for a
  description of Derby's versioning scheme and upgrade mechanisms.
@@ -26, +28 @@

  == Soft Upgrade ==
- ...
+ Starting with Derby 10.2, !EmbedDatabaseMetaData will read the queries
+ directly from metadata.properties (or metadata_net.properties) instead
+ of using an SPS in soft upgrade mode. This approach has a small
+ performance penalty, but it ensures that the new query is available
+ even though the database is not upgraded.
+ There is however one case which needs extra care in soft upgrade
+ mode. If a new/modified query depends on new system tables, new system
+ table columns or new system procedures, it will not work, since new
+ tables and procedures are not created until a full upgrade is
+ performed. This case has been solved by keeping two versions of the
+ queries in metadata.properties; one which is supposed to be used in
+ soft upgrade mode, and one for full upgrade.
+ For instance, the queries used by getColumnPrivileges() and
+ getTablePrivileges() were updated in Derby 10.2 in such a way that
+ they did not work in soft upgrade mode. To prevent the queries from
+ failing in soft upgrade mode, two extra queries were added to
+ metadata.properties; getColumnPrivileges_10_1 and
+ getTablePrivileges_10_1. The extra queries return empty result sets
+ and do not depend on any new features in Derby 10.2. Additionally,
+ !EmbedDatabaseMetaData.getQueryFromDescription() had to be equipped
+ with some logic to decide which version of the queries to choose.
  == Full Upgrade ==

View raw message