I will review this patch, but probably won't get to it until monday. If anyone else is reviewing, let me know so I can know when/if commit should happen.

Andreas Korneliussen (JIRA) wrote:
     [ http://issues.apache.org/jira/browse/DERBY-1067?page=all ]

Andreas Korneliussen updated DERBY-1067:
----------------------------------------

    Attachment: DERBY-1067v2.diff
                DERBY-1067v2.stat

Attached is an updated patch. This patch includes changes from DERBY-690 to do positioning at row location.
The sequence number has been associated with reusable record id, and is now called 
"reusableRecordIdSequenceNumber"
instead of "compressTimeStamp".

The sequence number is incremented from BaseContainer.compressContainer(..).  I 
noticed that a purge operation
may cause pages with no records to be deallocated, so I have considered also 
incrementing the number when
removing pages. However, some testing indicated to me that when a page is 
reused after being deallocated by a
purge, the recordId is not reused within the page. It seems only truncate will 
cause the recordId to be reused.
(truncate uses BaseContainer.compressContainer(..)).
Yes purge of page is not a problem. Note these purges happen all the time in a db with deletes taking place, they are not specific to truncate.


Another change is that when incrementing the reusable record id sequenence number, the isDirty flag may also be set, to ensure the container header gets written do disk.

Testing:
T_AcessFactory has been extended with a test which checks that a compress
will update the sequence number, so that the positionAtRowLocation(..) returns 
false.

The phaseTester has been extended to test that the version sequence number does not harm a 10.1 Database.

I have currently only run these tests with this patch. I will start derbyall now, and also test this patch along with DERBY-690 and DERBY-1058.



support holdable Scrollable Updatable Resultsets
------------------------------------------------

        Key: DERBY-1067
        URL: http://issues.apache.org/jira/browse/DERBY-1067
    Project: Derby
       Type: Sub-task
   Reporter: Andreas Korneliussen
   Assignee: Andreas Korneliussen
Attachments: DERBY-1067.diff, DERBY-1067.stat, DERBY-1067v2.diff, 
DERBY-1067v2.stat





Reply via email to