github.com/intfoundation/intchain@v0.0.0-20220727031208-4316ad31ca73/core/rawdb/schema_data_prune.go (about) 1 // Package rawdb contains a collection of low level database accessors. 2 package rawdb 3 4 // The fields below define the low level database schema prefixing for data prune. 5 var ( 6 // headDataScanKey tracks the latest know scan header's number. 7 headDataScanKey = []byte("LastDataScanHeight") 8 9 // headDataPruneKey tracks the latest know prune header's number. 10 headDataPruneKey = []byte("LastDataPruneHeight") 11 12 // Data item prefixes (use single byte to avoid mixing data types, avoid `i`, used for indexes). 13 dataPruneProcessPrefix = []byte("p") // dataPruneProcessPrefix + scan num (uint64 big endian) + prune num (uint64 big endian) + dataPruneProcessSuffix -> trie root hash 14 dataPruneProcessSuffix = []byte("n") 15 ) 16 17 // dataPruneNumberKey = dataPruneProcessPrefix + scan (uint64 big endian) + prune (uint64 big endian) + dataPruneProcessSuffix 18 func dataPruneNumberKey(scan, prune uint64) []byte { 19 return append(append(append(dataPruneProcessPrefix, encodeBlockNumber(scan)...), encodeBlockNumber(prune)...), dataPruneProcessSuffix...) 20 }