On 06/18/2010 11:59 PM, Eranda Sooriyabandara wrote:
Does any one know about the role of the RAFContainer.java?
It's one of the primary classes in the storage subsystem. RAF stands for Random Access File. The data in Derby tables are stored in files in your database directory; when a file is being accessed, the storage subsystem uses the RAFContainer to do the work. The RAFContainer works with "pages", which are segments of data in the file. We divide the total set of bytes in the file into logical units that we call pages; we read and write data from the file in units of pages. So the readPage() and writePage() methods in RAFContainer are particularly important and interesting to students of this class. I think that DERBY-1958 is describing a problem in which the RAFContainer class does not have a useful toString() method, so that when it is passed as an argument to an error message, the container information does not get displayed. I believe that DERBY-1958 could be addressed by writing (and building a test for) a toString() method on RAFContainer that provided some basic identification information such as which file this container is responsible for. Probably, the toString() method could be located in the BaseContainer class, and then RAFContainer would simply inherit it. thanks, bryan
