This week's book giveaway is in the OO, Patterns, UML and Refactoring forum. We're giving away four copies of Refactoring for Software Design Smells: Managing Technical Debt and have Girish Suryanarayana, Ganesh Samarthyam & Tushar Sharma on-line! See this thread for details.
For my create method.. - I am not looping through my current records to find delete records, to insert this new record. I just create a new record. - I also assume that data [input] array for createRecord and updateRecord method does not contain delete flag..when I create record, i add delete flag = 00.and for update method, i just leave delete field alone.
specs says.. // Creates a new record in the database (possibly reusing a // deleted entry). Inserts the given data, and returns the record // number of the new record. public long createRecord(String  data) throws DuplicateKeyException;
it says "possibly reusing "..am I gona loose points if i do not reuse the delete field. I did not reuse the delete record b/c what if in the future they want reuse that record..??
Now delete specs says reuse..I do not see "possibly reusing ".. // Deletes a record, making the record number and associated disk // storage available for reuse. // Throws SecurityException if the record is locked with a cookie // other than lockCookie. public void deleteRecord(long recNo, long lockCookie) throws RecordNotFoundException, SecurityException;
Hi Payal, Don't worry about reusing a deleted record. It's not a requirement, just a hint. For the delete method, it is just said that the record is now available and not it must be used for a new record. It's my interpretation ... However, implementing that functionality could improve your score (may be !). Anyway, explain your choice in your choices.txt
Also depends on what you do in your delete method. You can simply mark the delete flag to 1 and leave the data intact, or change delete flag and write a empty array to make the row empty. Also you will need to take into consideration of these deleted rows when calculating the number of records. If delete flag=1, is it a record or not?