SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE  does not reclaim space lost from an 
aborted insert
-------------------------------------------------------------------------------------------

                 Key: DERBY-4182
                 URL: https://issues.apache.org/jira/browse/DERBY-4182
             Project: Derby
          Issue Type: Bug
          Components: Tools
    Affects Versions: 10.4.2.0, 10.5.1.1, 10.6.0.0
            Reporter: Kathey Marsden
         Attachments: TestInPlaceCompressWithPKViolation.java

Because of DERBY-691 an aborted insert (for example due to a constraint 
violation or rollback) can cause space to not be reclaimed.  
SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE  should reclaim this space. Even if it 
cannot return the space to the operating system it should show up as free pages 
after calling the procedure, but it currently does not.   
SYSCS_UTIL.SYSCS_COMPRESS_TABLE works properly and returns the space to the 
operating system.

See the attached program TestInPlaceCompressWithPKViolation.java to reproduce 
this problem.  The program attempts 10 3MB inserts. One is successful and 9 
fail.   SpaceTable queries show only 18 pages are  marked as free after inplace 
compress and none returned to the os.


The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
The statement was aborted because it would have caused a duplicate key value in 
a unique or primary key constraint or un
ique index identified by 'SQL090422155557650' defined on 'TAB'.
*****spaceTable before 
SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('APP','TAB',1,1,1)
CONGLOMERATENAME
        |ISIND&|NUMALLOCATEDPAGES   |NUMFREEPAGES        |NUMUNFILLEDPAGES    
|PAGESIZE   |ESTIMSPACESAVING
------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
TAB
        |0     |931                 |0                   |2                   
|32768      |0
*****spaceTable after SYSCS_UTIL.SYSCS_INPLACE_COMPRESS_TABLE('APP','TAB',1,1,1)
CONGLOMERATENAME
        |ISIND&|NUMALLOCATEDPAGES   |NUMFREEPAGES        |NUMUNFILLEDPAGES    
|PAGESIZE   |ESTIMSPACESAVING
------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
TAB
        |0     |913                 |18                  |1                   
|32768      |589824
*****spaceTable after SYSCS_UTIL.SYSCS_COMPRESS_TABLE('APP','TAB',1)
CONGLOMERATENAME
        |ISIND&|NUMALLOCATEDPAGES   |NUMFREEPAGES        |NUMUNFILLEDPAGES    
|PAGESIZE   |ESTIMSPACESAVING
------------------------------------------------------------------------------------------------------------------------
---------------------------------------------------------------------------------------------------------------
TAB
        |0     |95                  |0                   |1                   
|32768      |0






-- 
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