[ 
https://issues.apache.org/jira/browse/DERBY-4215?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Rick Hillegas updated DERBY-4215:
---------------------------------

    Attachment: derby-4215-01-aa-deleteTuple.diff

Attaching derby-4215-01-aa-deleteTuple.diff. This patch adds 10.6 upgrade logic 
to delete the corrupt permissions tuple when upgrading from 10.2 or later.

I added a new 10.6 upgrade test to make sure that the problem does not creep in 
again. I added some problem trajectories to the UpgradeTrajectoryTest to verify 
that this patch fixes the problem. The problem trajectories live in the method 
makeSampleTrajectories() and you can verify that this patch fixes the problem 
by uncommenting the call to that method.

The direct upgrade from 10.0 to 10.6 appears to have been fixed by the patch 
for DERBY-4127.

Touches the following files:

M      java/engine/org/apache/derby/impl/sql/catalog/DataDictionaryImpl.java

Add new method which deletes the bad permissions tuple.


M      java/engine/org/apache/derby/impl/sql/catalog/DD_Version.java

Call that method during hard-upgrade if the source version is 10.2, 10.3, 10.4, 
or 10.5.


M      
java/testing/org/apache/derbyTesting/functionTests/tests/upgradeTests/Version.java

Make the Version object more capable.



M      
java/testing/org/apache/derbyTesting/functionTests/tests/upgradeTests/Changes10_6.java

Add a regression test case to make sure that the problem does not creep in 
again.


M      
java/testing/org/apache/derbyTesting/functionTests/tests/upgradeTests/UpgradeTrajectoryTest.java

Add a test trajectory to verify that the problem is fixed.


> Extra permissions tuple if you hard-upgrade from 10.0 without doing an 
> intermediate hard-upgrade to 10.1
> --------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-4215
>                 URL: https://issues.apache.org/jira/browse/DERBY-4215
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.2.1.6, 10.2.2.0, 10.3.1.4, 10.3.2.1, 10.3.3.0, 
> 10.4.1.3, 10.4.2.0, 10.5.1.1, 10.5.1.2
>            Reporter: Rick Hillegas
>            Assignee: Rick Hillegas
>         Attachments: derby-4215-01-aa-deleteTuple.diff
>
>
> If you hard-upgrade a 10.0 database to 10.2 or later (without an intermediate 
> hard-upgrade to 10.1), you will see an extra permissions tuple in 
> SYSROUTINEPERMS.
> Running the following query
>   select p.grantee, p.grantor, a.alias, p.grantoption from 
> sys.sysroutineperms p, sys.sysaliases a where a.aliasid = p.aliasid
> returns the following results when run against a 10.0 database which was 
> hard-upgraded to 10.3.3.0:
> PUBLIC | null | SYSCS_INPLACE_COMPRESS_TABLE | N
> PUBLIC | APP | SYSCS_SET_RUNTIMESTATISTICS | N
> PUBLIC | APP | SYSCS_SET_STATISTICS_TIMING | N
> PUBLIC | APP | SYSCS_INPLACE_COMPRESS_TABLE | N
> PUBLIC | APP | SYSCS_COMPRESS_TABLE | N
> PUBLIC | APP | SYSCS_GET_RUNTIMESTATISTICS | N
> versus the following results when the same query is run against a freshly 
> created 10.3 database:
> PUBLIC | APP | SYSCS_COMPRESS_TABLE | N
> PUBLIC | APP | SYSCS_SET_RUNTIMESTATISTICS | N
> PUBLIC | APP | SYSCS_SET_STATISTICS_TIMING | N
> PUBLIC | APP | SYSCS_GET_RUNTIMESTATISTICS | N
> PUBLIC | APP | SYSCS_INPLACE_COMPRESS_TABLE | N

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to