Kathey,
This sounds exactly like what I'm seeing. I don't get an error message
either, though I haven't yet turned up the logging. From your examples
here it looks like I could issue a shutdown connection before the
upgrade connection to get the database to actually upgrade. So for my
scenario does it sound like this would work:
1. startup application
2. use softupgrade connection to determine database schema version
3. user confirms upgrade via UI
4. issue db shutdown connection
5. issue db upgrade connection
6. continue on using the application with the upgraded database
This would all be in one JVM instance, without ever restarting the
JVM. Anyone know of a reason this won't work?
Evan
On Jun 2, 2009, at 9:37 AM, Kathey Marsden wrote:
Evan Leonard wrote:
Kristian, Myrna,
Thank you for the replies.
Before I try some of your suggestions, can you tell me more about
this:
Or perhaps your 'upgrade=true' connection was not the first
connection to
the db with 10.5 jars?
I'm sure that right now I'm connecting in a soft upgrade mode first
in our application. I've added the derby upgrade to the schema
upgrade workflow when upgrading the application. As part of this
workflow I first connect to the db to check the current schema
version. If I understand what you're saying Myrna this won't work
as the "upgrade=true" connection must be the very first one made in
the JMV session to the derby db?
I think Myrna is right that the upgrade=true has to be the
connection that boots the database, so you can't expect upgrade to
work if you have already connected in soft upgrade. I don't see
the error Myrna describes though. For me it just seems to silently
connect but leaves the database in 10.1 format as you described. Of
course if I shutdown the database and reconnect with upgrade=true it
upgrades properly. Below are some ij experiments. I do think it
would be good to make this clearer in the documentation and perhaps
issue a warning when upgrade=true is specified but no upgrade can be
performed.
ij version 10.5
ij> connect 'jdbc:derby:wombat';
ij> values
syscs_util.syscs_get_database_property( 'DataDictionaryVersion' ) ;
1
--------------------------------------------------------------------------------------------------------------
--------
10.1
1 row selected
ij> connect 'jdbc:derby:wombat;upgrade=true';
ij(CONNECTION1)> values
syscs_util.syscs_get_database_property( 'DataDictionaryVersion' ) ;
1
--------------------------------------------------------------------------------------------------------------
--------
10.1
1 row selected
ij(CONNECTION1)> connect 'jdbc:derby:wombat;shutdown=true';
ERROR 08006: Database 'wombat' shutdown.
ij(CONNECTION1)> connect 'jdbc:derby:wombat;upgrade=true';
ij(CONNECTION2)> values
syscs_util.syscs_get_database_property( 'DataDictionaryVersion' ) ;
1
--------------------------------------------------------------------------------------------------------------
--------
10.5
1 row selected
ij(CONNECTION2)>