You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kathey Marsden (JIRA)" <ji...@apache.org> on 2009/04/16 23:46:14 UTC

[jira] Updated: (DERBY-4166) improvements to the mailjdbc test

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

Kathey Marsden updated DERBY-4166:
----------------------------------

    Description: 
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.


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



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