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