Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/amit-davidson/Building-a-NoSQL-database-from-zero
/ functions
Functions
318 in github.com/amit-davidson/Building-a-NoSQL-database-from-zero
⨍
Functions
318
◇
Types & classes
56
↓ 2 callers
Method
getNodes
getNodes returns a list of nodes based on their indexes (the breadcrumbs) from the root p \ a b \ / \ c d e f For [0,1,0] -
Part 7/collection.go:217
↓ 2 callers
Method
getNodes
getNodes returns a list of nodes based on their indexes (the breadcrumbs) from the root p \ a b \ / \ c d e f For [0,1,0] -
Part 5/collection.go:172
↓ 2 callers
Method
getNodes
getNodes returns a list of nodes based on their indexes (the breadcrumbs) from the root p \ a b \ / \ c d e f For [0,1,0] -
Part 6/collection.go:178
↓ 2 callers
Method
getSplitIndex
getSplitIndex should be called when performing rebalance after an item is removed. It checks if a node can spare an element, and if it does then it re
Part 7/dal.go:98
↓ 2 callers
Method
getSplitIndex
getSplitIndex should be called when performing rebalance after an item is removed. It checks if a node can spare an element, and if it does then it re
Part 5/dal.go:98
↓ 2 callers
Method
getSplitIndex
getSplitIndex should be called when performing rebalance after an item is removed. It checks if a node can spare an element, and if it does then it re
Part 6/dal.go:98
↓ 2 callers
Method
getSplitIndex
getSplitIndex should be called when performing rebalance after an item is removed. It checks if a node can spare an element, and if it does then it re
Part 4/dal.go:98
↓ 2 callers
Method
isLeaf
()
Part 3/node.go:32
↓ 2 callers
Method
isOverPopulated
(node *Node)
Part 7/dal.go:120
↓ 2 callers
Method
isOverPopulated
(node *Node)
Part 5/dal.go:120
↓ 2 callers
Method
isOverPopulated
(node *Node)
Part 6/dal.go:120
↓ 2 callers
Method
isOverPopulated
(node *Node)
Part 4/dal.go:120
↓ 2 callers
Method
merge
(bNode *Node, bNodeIndex int)
Part 7/node.go:477
↓ 2 callers
Method
merge
(bNode *Node, bNodeIndex int)
Part 5/node.go:477
↓ 2 callers
Method
merge
(bNode *Node, bNodeIndex int)
Part 6/node.go:477
↓ 2 callers
Method
minThreshold
()
Part 7/dal.go:124
↓ 2 callers
Method
minThreshold
()
Part 5/dal.go:124
↓ 2 callers
Method
minThreshold
()
Part 6/dal.go:124
↓ 2 callers
Method
minThreshold
()
Part 4/dal.go:124
↓ 2 callers
Function
newDal
(path string)
Part 2/dal.go:24
↓ 2 callers
Function
newEmptyMeta
()
Part 7/meta.go:20
↓ 2 callers
Function
newEmptyMeta
()
Part 2/meta.go:14
↓ 2 callers
Function
newEmptyMeta
()
Part 5/meta.go:19
↓ 2 callers
Function
newEmptyMeta
()
Part 6/meta.go:19
↓ 2 callers
Function
newEmptyMeta
()
Part 4/meta.go:19
↓ 2 callers
Function
newEmptyMeta
()
Part 3/meta.go:19
↓ 2 callers
Function
newFreelist
()
Part 7/freelist.go:18
↓ 2 callers
Function
newFreelist
()
Part 2/freelist.go:18
↓ 2 callers
Function
newFreelist
()
Part 5/freelist.go:18
↓ 2 callers
Function
newFreelist
()
Part 6/freelist.go:18
↓ 2 callers
Function
newFreelist
()
Part 4/freelist.go:18
↓ 2 callers
Function
newFreelist
()
Part 3/freelist.go:18
↓ 2 callers
Function
newItem
(key []byte, value []byte)
Part 5/node.go:33
↓ 2 callers
Function
newItem
(key []byte, value []byte)
Part 6/node.go:34
↓ 2 callers
Function
newItem
(key []byte, value []byte)
Part 4/node.go:33
↓ 2 callers
Function
newTx
(db *DB, write bool)
Part 7/tx.go:15
↓ 2 callers
Function
newTx
(db *DB, write bool)
Part 6/tx.go:15
↓ 2 callers
Method
nodeSize
nodeSize returns the node's size in bytes
Part 7/node.go:211
↓ 2 callers
Method
nodeSize
nodeSize returns the node's size in bytes
Part 5/node.go:211
↓ 2 callers
Method
nodeSize
nodeSize returns the node's size in bytes
Part 6/node.go:211
↓ 2 callers
Method
nodeSize
nodeSize returns the node's size in bytes
Part 4/node.go:211
↓ 2 callers
Method
readPage
(pageNum pgnum)
Part 2/dal.go:91
↓ 2 callers
Method
releasePage
(page pgnum)
Part 7/freelist.go:38
↓ 2 callers
Method
releasePage
(page pgnum)
Part 6/freelist.go:38
↓ 2 callers
Method
serialize
(buf []byte)
Part 2/meta.go:18
↓ 2 callers
Method
split
split rebalances the tree after adding. After insertion the modified node has to be checked to make sure it didn't exceed the maximum number of elemen
Part 7/node.go:300
↓ 2 callers
Method
split
split rebalances the tree after adding. After insertion the modified node has to be checked to make sure it didn't exceed the maximum number of elemen
Part 5/node.go:300
↓ 2 callers
Method
split
split rebalances the tree after adding. After insertion the modified node has to be checked to make sure it didn't exceed the maximum number of elemen
Part 6/node.go:300
↓ 2 callers
Method
split
split rebalances the tree after adding. After insertion the modified node has to be checked to make sure it didn't exceed the maximum number of elemen
Part 4/node.go:300
↓ 2 callers
Method
writeFreelist
()
Part 7/dal.go:212
↓ 2 callers
Method
writeFreelist
()
Part 5/dal.go:221
↓ 2 callers
Method
writeFreelist
()
Part 6/dal.go:212
↓ 1 callers
Method
Close
()
Part 6/db.go:28
↓ 1 callers
Method
CreateCollection
(name []byte)
Part 7/tx.go:126
↓ 1 callers
Method
Find
Find Returns an item according based on the given key by performing a binary search.
Part 4/collection.go:92
↓ 1 callers
Method
GetCollection
(name []byte)
Part 7/tx.go:109
↓ 1 callers
Function
NewEmptyNode
()
Part 3/node.go:21
↓ 1 callers
Function
NewNodeForSerialization
NewNodeForSerialization creates a new node only with the properties that are relevant when saving to the disk
Part 7/node.go:27
↓ 1 callers
Function
NewNodeForSerialization
NewNodeForSerialization creates a new node only with the properties that are relevant when saving to the disk
Part 5/node.go:26
↓ 1 callers
Function
NewNodeForSerialization
NewNodeForSerialization creates a new node only with the properties that are relevant when saving to the disk
Part 6/node.go:27
↓ 1 callers
Function
NewNodeForSerialization
NewNodeForSerialization creates a new node only with the properties that are relevant when saving to the disk
Part 4/node.go:26
↓ 1 callers
Method
ReadTx
()
Part 7/db.go:32
↓ 1 callers
Method
Remove
Remove removes a key from the tree. It finds the correct node and the index to remove the item from and removes it. When performing the search, the an
Part 7/collection.go:154
↓ 1 callers
Method
Remove
Remove removes a key from the tree. It finds the correct node and the index to remove the item from and removes it. When performing the search, the an
Part 5/collection.go:113
↓ 1 callers
Method
WriteTx
()
Part 7/db.go:37
↓ 1 callers
Method
createCollection
(collection *Collection)
Part 7/tx.go:153
↓ 1 callers
Method
deleteNode
(pageNum pgnum)
Part 5/dal.go:206
↓ 1 callers
Method
findKey
findKey searches for a key inside the tree. Once the key is found, the parent node and the correct index are returned so the key itself can be accesse
Part 3/node.go:168
↓ 1 callers
Function
findKeyHelper
(node *Node, key []byte, exact bool, ancestorsIndexes *[]int)
Part 7/node.go:239
↓ 1 callers
Function
findKeyHelper
(node *Node, key []byte, exact bool, ancestorsIndexes *[]int)
Part 5/node.go:239
↓ 1 callers
Function
findKeyHelper
(node *Node, key []byte, exact bool, ancestorsIndexes *[]int)
Part 6/node.go:239
↓ 1 callers
Function
findKeyHelper
(node *Node, key []byte, exact bool, ancestorsIndexes *[]int)
Part 4/node.go:239
↓ 1 callers
Function
findKeyHelper
(node *Node, key []byte)
Part 3/node.go:176
↓ 1 callers
Method
findKeyInNode
findKeyInNode iterates all the items and finds the key. If the key is found, then the item is returned. If the key isn't found then return the index w
Part 7/node.go:262
↓ 1 callers
Method
findKeyInNode
findKeyInNode iterates all the items and finds the key. If the key is found, then the item is returned. If the key isn't found then return the index w
Part 5/node.go:262
↓ 1 callers
Method
findKeyInNode
findKeyInNode iterates all the items and finds the key. If the key is found, then the item is returned. If the key isn't found then return the index w
Part 6/node.go:262
↓ 1 callers
Method
findKeyInNode
findKeyInNode iterates all the items and finds the key. If the key is found, then the item is returned. If the key isn't found then return the index w
Part 4/node.go:262
↓ 1 callers
Method
findKeyInNode
findKeyInNode iterates all the items and finds the key. If the key is found, then the item is returned. If the key isn't found then return the index w
Part 3/node.go:198
↓ 1 callers
Method
getNextPage
getNextPage returns page ids for writing New page ids are first given from the releasedPageIDs to avoid growing the file. If it's empty, then maxPage
Part 1/freelist.go:27
↓ 1 callers
Method
getNode
(pageNum pgnum)
Part 4/node.go:63
↓ 1 callers
Method
getNode
(pageNum pgnum)
Part 3/node.go:47
↓ 1 callers
Method
getNode
(pageNum pgnum)
Part 3/dal.go:91
↓ 1 callers
Method
getNodes
getNodes returns a list of nodes based on their indexes (the breadcrumbs) from the root p \ a b \ / \ c d e f For [0,1,0] -
Part 4/collection.go:115
↓ 1 callers
Function
isFirst
(index int)
Part 7/node.go:45
↓ 1 callers
Function
isFirst
(index int)
Part 5/node.go:44
↓ 1 callers
Function
isFirst
(index int)
Part 6/node.go:45
↓ 1 callers
Function
isLast
(index int, parentNode *Node)
Part 7/node.go:41
↓ 1 callers
Function
isLast
(index int, parentNode *Node)
Part 5/node.go:40
↓ 1 callers
Function
isLast
(index int, parentNode *Node)
Part 6/node.go:41
↓ 1 callers
Method
isUnderPopulated
(node *Node)
Part 7/dal.go:128
↓ 1 callers
Method
isUnderPopulated
(node *Node)
Part 5/dal.go:128
↓ 1 callers
Method
isUnderPopulated
(node *Node)
Part 6/dal.go:128
↓ 1 callers
Method
maxThreshold
()
Part 7/dal.go:116
↓ 1 callers
Method
maxThreshold
()
Part 5/dal.go:116
↓ 1 callers
Method
maxThreshold
()
Part 6/dal.go:116
↓ 1 callers
Method
maxThreshold
()
Part 4/dal.go:116
↓ 1 callers
Function
newCollection
(name []byte, root pgnum)
Part 5/collection.go:12
↓ 1 callers
Function
newCollection
(name []byte, root pgnum)
Part 4/collection.go:12
↓ 1 callers
Function
newDal
(path string, options *Options)
Part 7/dal.go:38
↓ 1 callers
Function
newDal
(path string, pageSize int)
Part 1/dal.go:22
← previous
next →
101–200 of 318, ranked by callers