directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Kiran Ayyagari <>
Subject interface changes in Table and MasterTable
Date Fri, 30 May 2008 21:00:20 GMT
hi All,

     Below is the summary which lead to the modification of put() and 
remove()/delete() method signatures in
     Table and MasterTable.

Changed Interfaces :- The put() and remove() methods in Table and put() 
and delete() methods in MasterTable.

The context :- Implementation of a Berkeley DB JE based partition for ADS.

Reason for the change :-  In the Jdbm based Table implementation put() 
and remove() operations return a value
                                           cause JDBM returns the 
existing/previous values (like a HashMap) for put and remove
                                           and these values are returned 
from the above mentioned operations.

                                           But JE doesn't return these 
(existing/previous) values instead returns a special Enum
                                           value stating the success or 
failure of the operation.

However I have observed that the return values of the existing put() and 
remove() methods are not used anywhere  hence I made the above said 
change ( tested this by changing the interfaces and the respective 
implementations and ran all tests ( Note: no functional aspects of the 
implementations was touched except removing or replacing the *return* 
statements) )


P.S :- In the JE based implementation we can still return the 
previous/existing value but this requires a
         lookup in each operation (put and remove) for storing the old 
value but this is not  a desirable 

Kiran Ayyagari

View raw message