📄 changelog
字号:
2003-03-05 root <root@localhost.localdomain> * RTree.java (RTree): Major and sweeping changes! The buffer managment policy has changed. Now I write a node to the disk only when asked to flush or when a node is forced out of the cache. Not yet fully tested, if you want to revert get the code of about 3 days back. Next note would be on the fully tested code.2003-02-28 root <root@localhost.localdomain> * RTree.java (RTree): Changed all the static methods to get root indix to instanciated methods. Root index is not read with i/o but instead read from the internal variable of fileHdr attibute. (adjustTree): Added another parameter - long parentIndex. This is the parent index of the root node. In normal cases this is Node.NOT_DEFINED, but in case of seeded trees this is the index of the slot node under which the tree is being grown.2003-02-26 root <root@localhost.localdomain> * Node.java (insertElement Element[]): This overloaded method is newly added to the class. The advantage of this method over the other method is that this method helps when we have bulk loading. (writeNodeHeader): Added this method that writes to the passed DataOutputStream and not the hard dick file directly.2003-02-19 root <root@localhost.localdomain> * Node.java (splitNode): Changed from linear pick seed to quadratic pick seed.2003-02-14 root <root@localhost.localdomain> * Node.java (nodeIndex): Changed it to long from int (parent): Changed to long as well These are the latest changes on 14/2/1003. The most major change is that all the pointers have been converted to <code>long</code> from <code>int</code>. This has resulted in changing od file header, node header, and element sizes. This is what I wrote everywhere before converting all the pointers(leaf and nonleaf) to long from Object: <pre><code> <i>[1]</i> if(elmtType == LEAF_NODE){ Integer intVal = (Integer)elmts[i].getPtr(); this.elements[i] = new LeafElement(new Rect(elmts[i].getRect()), intVal.intValue()); } else{ Integer intVal = (Integer)elmts[i].getPtr(); this.elements[i] = new NonLeafElement(new Rect(elmts[i].getRect()),intVal.intValue()); } <i>[2]</i> if(elementType == LEAF_NODE){ Integer intVal = (Integer)elements[i].getPtr(); ds.writeInt(intVal.intValue()); } else{ Integer nodePtr = (Integer)elements[i].getPtr(); ds.writeInt(nodePtr.intValue()); } <code></pre> The method getPtr or setPtr no longer returns or set <code>Object</code> but they now deal in <code>long</code> values. Therefore now I simply call <code>getPtr</code> and gets me <code>long</code> <br> There may be places where the non leaf index is directly typecasted into int from long (<code>CachedNodes</code> and skipBytes (here)). This is no problem as we are never going to have so many nodes that the Integer.MAX_VALUE is not enough. 2003-02-13 root <root@localhost.localdomain> * LeafElement.java (recordPtr): changing record pointer to long
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -