func NewWithDataFile(dataFile dbio.DataFile) (SimpleJSONDB, error) { if err := core.FormatDataFileIfNeeded(dataFile); err != nil { return nil, err } dataBuffer := dbio.NewDataBuffer(dataFile, BUFFER_SIZE) repo := core.NewDataBlockRepository(dataBuffer) index := core.NewUint32Index(dataBuffer, BTREE_IDX_BRANCH_MAX_ENTRIES, BTREE_IDX_LEAF_MAX_ENTRIES) return &simpleJSONDB{dataFile, dataBuffer, repo, index}, nil }
func createIndex(t *testing.T, totalUsableBlocks, bufferFrames, branchCapacity int, leafCapacity int) core.Uint32Index { fakeDataFile := utils.NewFakeDataFile(totalUsableBlocks + 4) if err := core.FormatDataFileIfNeeded(fakeDataFile); err != nil { t.Fatal(err) } dataBuffer := dbio.NewDataBuffer(fakeDataFile, bufferFrames) index := core.NewUint32Index(dataBuffer, branchCapacity, leafCapacity) index.Init() return index }