@@ -159,41 +159,19 @@ func (tree *BTree) writeRoot() error {
159159 return tree .WriteNodeAtIndex (tree .root , 0 )
160160}
161161
162- func (s * Secretary ) NewBTreeReadHeader (collectionName string ) (* BTree , error ) {
163- temp , err := s .NewBTree (collectionName ,
164- 10 ,
165- 0 ,
166- 0 ,
167- 125 ,
168- 0 ,
169- )
170- if err != nil {
171- return nil , err
172- }
173-
174- headerData , err := temp .nodePager .ReadAt (0 , SECRETARY_HEADER_LENGTH )
175- if err != nil {
176- return nil , err
177- }
178-
179- data := bytes .Trim (headerData , "-" )[len (SECRETARY ):]
180- var deserializedTree BTree
181- err = binstruct .Deserialize (data , & deserializedTree )
182- if err != nil {
183- return nil , err
184- }
185-
186- return & deserializedTree , nil
187- }
188-
189162// func (s *Secretary) NewBTreeReadHeader(collectionName string) (*BTree, error) {
190- // temptree := BTree{CollectionName: collectionName}
191- // nodePager, err := temptree.NewNodePager("index", 0)
163+ // temp, err := s.NewBTree(collectionName,
164+ // 10,
165+ // 0,
166+ // 0,
167+ // 125,
168+ // 0,
169+ // )
192170// if err != nil {
193171// return nil, err
194172// }
195173
196- // headerData, err := nodePager.ReadAt(0, SECRETARY_HEADER_LENGTH)
174+ // headerData, err := temp. nodePager.ReadAt(0, SECRETARY_HEADER_LENGTH)
197175// if err != nil {
198176// return nil, err
199177// }
@@ -205,27 +183,50 @@ func (s *Secretary) NewBTreeReadHeader(collectionName string) (*BTree, error) {
205183// return nil, err
206184// }
207185
208- // tree, err := s.NewBTree(
209- // collectionName,
210- // deserializedTree.Order,
211- // deserializedTree.NumLevel,
212- // deserializedTree.BaseSize,
213- // deserializedTree.Increment,
214- // deserializedTree.CompactionBatchSize,
215- // )
216- // if err != nil {
217- // return nil, err
218- // }
186+ // return &deserializedTree, nil
187+ // }
219188
220- // tree.NodeSeq = deserializedTree.NodeSeq
221- // tree.NumNodeSeq = deserializedTree.NumNodeSeq
189+ func (s * Secretary ) NewBTreeReadHeader (collectionName string ) (* BTree , error ) {
190+ temptree := BTree {CollectionName : collectionName }
191+ nodePager , err := temptree .NewNodePager ("index" , 0 )
192+ if err != nil {
193+ return nil , err
194+ }
222195
223- // // if err := tree.readRoot(); err != nil {
224- // // return nil, err
225- // // }
196+ headerData , err := nodePager .ReadAt (0 , SECRETARY_HEADER_LENGTH )
197+ if err != nil {
198+ return nil , err
199+ }
226200
227- // return tree, nil
228- // }
201+ data := bytes .Trim (headerData , "-" )[len (SECRETARY ):]
202+ var deserializedTree BTree
203+ err = binstruct .Deserialize (data , & deserializedTree )
204+ if err != nil {
205+ return nil , err
206+ }
207+
208+ tree , err := s .NewBTree (
209+ collectionName ,
210+ deserializedTree .Order ,
211+ deserializedTree .NumLevel ,
212+ deserializedTree .BaseSize ,
213+ deserializedTree .Increment ,
214+ deserializedTree .CompactionBatchSize ,
215+ )
216+ if err != nil {
217+ return nil , err
218+ }
219+
220+ tree .NodeSeq = deserializedTree .NodeSeq
221+ tree .NumNodeSeq = deserializedTree .NumNodeSeq
222+
223+ // if err := tree.readRoot(); err != nil {
224+ // fmt.Println("--> ", collectionName, err.Error())
225+ // return nil, err
226+ // }
227+
228+ return tree , nil
229+ }
229230
230231func (tree * BTree ) Height () int {
231232 height := 0
0 commit comments