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

Lily Wei updated DERBY-4166:
----------------------------

    Attachment: Derby-4166.diff

Change the test to reflect the following points:
1. Take out attach_id column from INBOX table. Add to_delete column to ATTACH 
table. Change the logic for insert into attach table. Right now, it will try to 
insert a attachment for each unique id in INBOX. We will mark rows that will be 
deleted by  DeleteMailByUser(). After all the mails have been deleted from one 
of the thread, SYSCS_UTILS.SYSCS_INPLACE_COMPRESS_TABLE should reclaim space. 
2. Change calculation of database size.
3. Add some queries to Statements.java
4. Change log info to achieve easier to read goal
5. Use user REFRESH instead of BACKUP on backup thread to avoid Derby-4295 issue
6. line: message_id = Rn.nextInt(count - 1) had been changed.

Potential issues:
The number of blob insert does not reflect the rows had been deleted from 
ATTACH table. 
The log to track space has been return to O.S. is not very intuitive from the 
log information.


> improvements to the mailjdbc test
> ---------------------------------
>
>                 Key: DERBY-4166
>                 URL: https://issues.apache.org/jira/browse/DERBY-4166
>             Project: Derby
>          Issue Type: Improvement
>          Components: Test
>    Affects Versions: 10.6.0.0
>            Reporter: Kathey Marsden
>            Priority: Minor
>         Attachments: Derby-4166.diff
>
>
> When recently working with the mailjdbc system test 
> org.apache.derbyTesting.system.mailjdbc on DERBY-4152 I noticed some 
> potential improvements that might be good for the test.  We should probably 
> hold off on these improvements however until the root cause of DERBY-4152 is 
> established, however, so we don't muddy the waters with that issue by 
> changing the test.
> 1) DbTasks.moveToFolders may throw an IllegalArgumentException.
>   There is a line:  message_id = Rn.nextInt(count - 1);
>   if count is 1 the argument to nextInt() might be 0 which is not allowed.  I 
> hit this once but lost the stack trace, but it is apparent that when there is 
> only one row in the table this can occur.
>  
> 2) Allow/implement multiple attachments per message and cleanup 
> DbTasks.insertMail() logic.
>    - Remove the attach_id column from INBOX to allow multiple attachments.
>    -Make the attachment insert part of the message for loop in insertMail.
>    Use getGeneratedKeys() to get the id of the inserted message.
>    When attachments are inserted, insert (1-4) attachments and give them a 
> corresponding attach_id from 1-4.
> This will allow for removal of the select statements used to determine id and 
> attach_id.  I'll file another issue for these improvements if folks agree 
> that they are sensible.
> A detailed description of the current implementation of insertMail is 
> described at 
> https://issues.apache.org/jira/secure/attachment/12405685/insertMailSummary.txt
> 3) DbTasks.databaseSize calculation is wrong. It doesn't match du -sk. The 
> method does not recurse into subdirectories and includes the length() on 
> directory files which is undefined accourding to the file.length() javadoc.

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