Hi Satheesh,
Thanks for reviewing the patch.
I think your concern is well founded. A new column in a system table referenced by metadata.properties would cause a problem in soft upgrade mode. I am not sure if we have run into this in the past and how we handled it. One way would be in soft upgrade mode, we should catch exceptions thrown by
metadata.properties queries and nest it inside a more generic exception which will say that the metadata query may not be suitable to run in soft upgrade mode. I realize this is not very graceful, just a thought from top of my head. Any other suggestions from anyone?
Mamta
On 12/8/05, Satheesh Bandaram <[EMAIL PROTECTED]> wrote:
I will review this change and hope to commit it, if everything looks
good. Let me know if anyone else is also planning on review or already
have review comments. Thanks for the good write up too and researching
soft/hard upgrades.
I have one question about the following... What happens if 10.2
metadata.properties change in a way that is not compatible with a 10.1
database? For example, I may have to add a column to SYSALIAS system
table. If I use this column (I may not actually need to) in 10.2
metadata.properties, wouldn't that cause problem with soft upgrade and
10.1 database?
Satheesh
Mamta Satoor wrote:
> Following is a brief description of upgrade code
> 1)If a 10.1 db is getting run in soft upgrade mode with 10.2, the
> system tables would still have the old 10.1 optimizer overrides syntax
> which is not recognized by 10.2 The system tables of the 10.1 db can't
> be modified in soft upgrade mode to store the new 10.2 optimizer
> overrides syntax for metadata queries because in soft upgrade, system
> tables can't be modified in a backward incompatible way. To get around
> this, I have changed the code in EmbedDatabaseMetaData.java to see if
> db is getting run in soft upgrade mode. If yes, then it should read
> the metadata queries from metadata.properties rather than system
> tables. This will work because metadata.properties for 10.2 release
> has been modified to use the new optimizer overrides syntax.
>
