rocksdb #29
4
db/db.go
|
@ -469,8 +469,8 @@ func ReadWriteRawNCF(db *grocksdb.DB, options *IterOptions, out string, n int) {
|
||||||
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
![]() no need to start these with N no need to start these with N
![]() and many of these are unused and many of these are unused
![]() is this really no big deal? seems like an error to me but idk rocksdb is this really no big deal? seems like an error to me but idk rocksdb
![]() typo: Famlies -> Families typo: Famlies -> Families
![]() this can be unexported this can be unexported
![]() still need this? still need this?
![]() typo typo
![]() 👀 :eyes:
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
|
|||||||
value := kv.Value.([]byte)
|
value := kv.Value.([]byte)
|
||||||
keyHex := hex.EncodeToString(key)
|
keyHex := hex.EncodeToString(key)
|
||||||
valueHex := hex.EncodeToString(value)
|
valueHex := hex.EncodeToString(value)
|
||||||
log.Println(keyHex)
|
//log.Println(keyHex)
|
||||||
![]() no need to start these with N no need to start these with N
![]() and many of these are unused and many of these are unused
![]() is this really no big deal? seems like an error to me but idk rocksdb is this really no big deal? seems like an error to me but idk rocksdb
![]() typo: Famlies -> Families typo: Famlies -> Families
![]() this can be unexported this can be unexported
![]() still need this? still need this?
![]() typo typo
![]() 👀 :eyes:
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
![]() no need to start these with N no need to start these with N
![]() and many of these are unused and many of these are unused
![]() is this really no big deal? seems like an error to me but idk rocksdb is this really no big deal? seems like an error to me but idk rocksdb
![]() typo: Famlies -> Families typo: Famlies -> Families
![]() this can be unexported this can be unexported
![]() still need this? still need this?
![]() typo typo
![]() 👀 :eyes:
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
|
|||||||
log.Println(valueHex)
|
//log.Println(valueHex)
|
||||||
![]() no need to start these with N no need to start these with N
![]() and many of these are unused and many of these are unused
![]() is this really no big deal? seems like an error to me but idk rocksdb is this really no big deal? seems like an error to me but idk rocksdb
![]() typo: Famlies -> Families typo: Famlies -> Families
![]() this can be unexported this can be unexported
![]() still need this? still need this?
![]() typo typo
![]() 👀 :eyes:
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
![]() no need to start these with N no need to start these with N
![]() and many of these are unused and many of these are unused
![]() is this really no big deal? seems like an error to me but idk rocksdb is this really no big deal? seems like an error to me but idk rocksdb
![]() typo: Famlies -> Families typo: Famlies -> Families
![]() this can be unexported this can be unexported
![]() still need this? still need this?
![]() typo typo
![]() 👀 :eyes:
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
|
|||||||
file.WriteString(keyHex)
|
file.WriteString(keyHex)
|
||||||
file.WriteString(",")
|
file.WriteString(",")
|
||||||
file.WriteString(valueHex)
|
file.WriteString(valueHex)
|
||||||
|
|
||||||
![]() no need to start these with N no need to start these with N
![]() and many of these are unused and many of these are unused
![]() is this really no big deal? seems like an error to me but idk rocksdb is this really no big deal? seems like an error to me but idk rocksdb
![]() typo: Famlies -> Families typo: Famlies -> Families
![]() this can be unexported this can be unexported
![]() still need this? still need this?
![]() typo typo
![]() 👀 :eyes:
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
![]() no need to start these with N no need to start these with N
![]() and many of these are unused and many of these are unused
![]() is this really no big deal? seems like an error to me but idk rocksdb is this really no big deal? seems like an error to me but idk rocksdb
![]() typo: Famlies -> Families typo: Famlies -> Families
![]() this can be unexported this can be unexported
![]() still need this? still need this?
![]() typo typo
![]() 👀 :eyes:
![]() I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation. I agree the "N" can go. I copied these all over from the Python. where I believe they are similarly unused, because I thought it might be the defacto documentation.
![]()
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this. ```
// Valid returns false only when an Iterator has iterated past either the
// first or the last key in the database.
func (iter *Iterator) Valid() bool {
return C.rocksdb_iter_valid(iter.c) != 0
}
```
If our iterator was to try to go off the end of the db, or the front if we're going backwards, we need to check this.
|
|
@ -102,8 +102,8 @@ func OpenAndFillTmpDB(filePath string) (*grocksdb.DB, [][]string, func(), error)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestResolve(t *testing.T) {
|
func TestResolve(t *testing.T) {
|
||||||
filePath := "../resources/reposted_claim.csv"
|
filePath := "../testdata/W.csv"
|
||||||
db, _, toDefer, err := OpenAndFillTmpDB(filePath)
|
db, _, toDefer, _, err := OpenAndFillTmpDBCF(filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
t.Error(err)
|
t.Error(err)
|
||||||
return
|
return
|
||||||
|
@ -115,7 +115,7 @@ func TestResolve(t *testing.T) {
|
||||||
|
|
||||||
func TestIter(t *testing.T) {
|
func TestIter(t *testing.T) {
|
||||||
|
|
||||||
filePath := "../resources/reposted_claim.csv"
|
filePath := "../testdata/W.csv"
|
||||||
|
|
||||||
db, records, toDefer, handle, err := OpenAndFillTmpDBCF(filePath)
|
db, records, toDefer, handle, err := OpenAndFillTmpDBCF(filePath)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
|
|
|
@ -59,6 +59,41 @@ const (
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
OnesCompTwiddle32 uint32 = 0xffffffff
|
OnesCompTwiddle32 uint32 = 0xffffffff
|
||||||
)
|
)
|
||||||
|
|
||||||
|
func GetPrefixes() [][]byte {
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
return [][]byte{
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ClaimToSupport},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{SupportToClaim},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ClaimToTXO},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{TXOToClaim},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ClaimToChannel},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ChannelToClaim},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ClaimShortIdPrefix},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{EffectiveAmount},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
![]() why is this [][]byte and not []byte? all the prefixes are bytes why is this [][]byte and not []byte? all the prefixes are bytes
![]() Because these need to be strings to actually specify column family names, but bytes when being used as prefixes, so I iterate over the [][]byte and convert the []byte to string for each when opening the full db. Because these need to be strings to actually specify column family names, but bytes when being used as prefixes, so I iterate over the [][]byte and convert the []byte to string for each when opening the full db.
|
|||||||
|
{ClaimExpiration},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ClaimTakeover},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{PendingActivation},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ActivatedClaimAndSupport},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ActiveAmount},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{Repost},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{RepostedClaim},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{Undo},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ClaimDiff},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{Tx},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{BlockHash},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{Header},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{TxNum},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{TxCount},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{TxHash},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{UTXO},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{HashXUTXO},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{HashXHistory},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{DBState},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{ChannelCount},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{SupportAmount},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
{BlockTXs},
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
}
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
}
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
|
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|||||||
type PrefixRowKV struct {
|
type PrefixRowKV struct {
|
||||||
Key interface{}
|
Key interface{}
|
||||||
Value interface{}
|
Value interface{}
|
||||||
|
|
||||||
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
![]() why snake case here? why snake case here?
![]() if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25 if this is a fixed size, should it be an array? or even a chainhash.Hash? https://github.com/lbryio/lbcd/blob/master/chaincfg/chainhash/hash.go#L25
![]() i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address. i suggest using lbcd types as much as possible where it makes sense. if something is a Hash, make it a Hash. if its an Address, make it an Address.
|
|
@ -145,144 +145,152 @@ func testGeneric(filePath string, prefix byte, numPartials int) func(*testing.T)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSupportAmount(t *testing.T) {
|
func TestSupportAmount(t *testing.T) {
|
||||||
testGeneric("../../resources/support_amount.csv", prefixes.SupportAmount, 1)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.SupportAmount)
|
||||||
|
testGeneric(filePath, prefixes.SupportAmount, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestChannelCount(t *testing.T) {
|
func TestChannelCount(t *testing.T) {
|
||||||
testGeneric("../../resources/channel_count.csv", prefixes.ChannelCount, 1)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ChannelCount)
|
||||||
|
testGeneric(filePath, prefixes.ChannelCount, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestDBState(t *testing.T) {
|
func TestDBState(t *testing.T) {
|
||||||
testGeneric("../../resources/db_state.csv", prefixes.DBState, 0)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.DBState)
|
||||||
|
testGeneric(filePath, prefixes.DBState, 0)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBlockTxs(t *testing.T) {
|
func TestBlockTxs(t *testing.T) {
|
||||||
testGeneric("../../resources/block_txs.csv", prefixes.BlockTXs, 1)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.BlockTXs)
|
||||||
|
testGeneric(filePath, prefixes.BlockTXs, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTxCount(t *testing.T) {
|
func TestTxCount(t *testing.T) {
|
||||||
testGeneric("../../resources/tx_count.csv", prefixes.TxCount, 1)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.TxCount)
|
||||||
|
testGeneric(filePath, prefixes.TxCount, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTxHash(t *testing.T) {
|
func TestTxHash(t *testing.T) {
|
||||||
testGeneric("../../resources/tx_hash.csv", prefixes.TxHash, 1)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.TxHash)
|
||||||
|
testGeneric(filePath, prefixes.TxHash, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTxNum(t *testing.T) {
|
func TestTxNum(t *testing.T) {
|
||||||
testGeneric("../../resources/tx_num.csv", prefixes.TxNum, 1)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.TxNum)
|
||||||
|
testGeneric(filePath, prefixes.TxNum, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTx(t *testing.T) {
|
func TestTx(t *testing.T) {
|
||||||
testGeneric("../../resources/tx.csv", prefixes.Tx, 1)(t)
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.Tx)
|
||||||
|
testGeneric(filePath, prefixes.Tx, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHashXHistory(t *testing.T) {
|
func TestHashXHistory(t *testing.T) {
|
||||||
filePath := "../../resources/hashx_history.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.HashXHistory)
|
||||||
testGeneric(filePath, prefixes.HashXHistory, 2)(t)
|
testGeneric(filePath, prefixes.HashXHistory, 2)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUndo(t *testing.T) {
|
func TestUndo(t *testing.T) {
|
||||||
filePath := "../../resources/undo.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.Undo)
|
||||||
testGeneric(filePath, prefixes.Undo, 1)(t)
|
testGeneric(filePath, prefixes.Undo, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBlockHash(t *testing.T) {
|
func TestBlockHash(t *testing.T) {
|
||||||
filePath := "../../resources/block_hash.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.BlockHash)
|
||||||
testGeneric(filePath, prefixes.BlockHash, 1)(t)
|
testGeneric(filePath, prefixes.BlockHash, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestBlockHeader(t *testing.T) {
|
func TestBlockHeader(t *testing.T) {
|
||||||
filePath := "../../resources/header.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.Header)
|
||||||
testGeneric(filePath, prefixes.Header, 1)(t)
|
testGeneric(filePath, prefixes.Header, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClaimToTXO(t *testing.T) {
|
func TestClaimToTXO(t *testing.T) {
|
||||||
filePath := "../../resources/claim_to_txo.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ClaimToTXO)
|
||||||
testGeneric(filePath, prefixes.ClaimToTXO, 1)(t)
|
testGeneric(filePath, prefixes.ClaimToTXO, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestTXOToClaim(t *testing.T) {
|
func TestTXOToClaim(t *testing.T) {
|
||||||
filePath := "../../resources/txo_to_claim.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.TXOToClaim)
|
||||||
testGeneric(filePath, prefixes.TXOToClaim, 2)(t)
|
testGeneric(filePath, prefixes.TXOToClaim, 2)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClaimShortID(t *testing.T) {
|
func TestClaimShortID(t *testing.T) {
|
||||||
filePath := "../../resources/claim_short_id_prefix.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ClaimShortIdPrefix)
|
||||||
testGeneric(filePath, prefixes.ClaimShortIdPrefix, 3)(t)
|
testGeneric(filePath, prefixes.ClaimShortIdPrefix, 3)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClaimToChannel(t *testing.T) {
|
func TestClaimToChannel(t *testing.T) {
|
||||||
filePath := "../../resources/claim_to_channel.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ClaimToChannel)
|
||||||
testGeneric(filePath, prefixes.ClaimToChannel, 3)(t)
|
testGeneric(filePath, prefixes.ClaimToChannel, 3)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestChannelToClaim(t *testing.T) {
|
func TestChannelToClaim(t *testing.T) {
|
||||||
filePath := "../../resources/channel_to_claim.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ChannelToClaim)
|
||||||
testGeneric(filePath, prefixes.ChannelToClaim, 4)(t)
|
testGeneric(filePath, prefixes.ChannelToClaim, 4)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClaimToSupport(t *testing.T) {
|
func TestClaimToSupport(t *testing.T) {
|
||||||
filePath := "../../resources/claim_to_support.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ClaimToSupport)
|
||||||
testGeneric(filePath, prefixes.ClaimToSupport, 3)(t)
|
testGeneric(filePath, prefixes.ClaimToSupport, 3)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestSupportToClaim(t *testing.T) {
|
func TestSupportToClaim(t *testing.T) {
|
||||||
filePath := "../../resources/support_to_claim.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.SupportToClaim)
|
||||||
testGeneric(filePath, prefixes.SupportToClaim, 2)(t)
|
testGeneric(filePath, prefixes.SupportToClaim, 2)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClaimExpiration(t *testing.T) {
|
func TestClaimExpiration(t *testing.T) {
|
||||||
filePath := "../../resources/claim_expiration.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ClaimExpiration)
|
||||||
testGeneric(filePath, prefixes.ClaimExpiration, 3)(t)
|
testGeneric(filePath, prefixes.ClaimExpiration, 3)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClaimTakeover(t *testing.T) {
|
func TestClaimTakeover(t *testing.T) {
|
||||||
filePath := "../../resources/claim_takeover.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ClaimTakeover)
|
||||||
testGeneric(filePath, prefixes.ClaimTakeover, 1)(t)
|
testGeneric(filePath, prefixes.ClaimTakeover, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestPendingActivation(t *testing.T) {
|
func TestPendingActivation(t *testing.T) {
|
||||||
filePath := "../../resources/pending_activation.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.PendingActivation)
|
||||||
testGeneric(filePath, prefixes.PendingActivation, 4)(t)
|
testGeneric(filePath, prefixes.PendingActivation, 4)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestActivated(t *testing.T) {
|
func TestActivated(t *testing.T) {
|
||||||
filePath := "../../resources/activated_claim_and_support.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ActivatedClaimAndSupport)
|
||||||
testGeneric(filePath, prefixes.ActivatedClaimAndSupport, 3)(t)
|
testGeneric(filePath, prefixes.ActivatedClaimAndSupport, 3)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestActiveAmount(t *testing.T) {
|
func TestActiveAmount(t *testing.T) {
|
||||||
filePath := "../../resources/active_amount.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ActiveAmount)
|
||||||
testGeneric(filePath, prefixes.ActiveAmount, 5)(t)
|
testGeneric(filePath, prefixes.ActiveAmount, 5)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestEffectiveAmount(t *testing.T) {
|
func TestEffectiveAmount(t *testing.T) {
|
||||||
filePath := "../../resources/effective_amount.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.EffectiveAmount)
|
||||||
testGeneric(filePath, prefixes.EffectiveAmount, 4)(t)
|
testGeneric(filePath, prefixes.EffectiveAmount, 4)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRepost(t *testing.T) {
|
func TestRepost(t *testing.T) {
|
||||||
filePath := "../../resources/repost.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.Repost)
|
||||||
testGeneric(filePath, prefixes.Repost, 1)(t)
|
testGeneric(filePath, prefixes.Repost, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestRepostedClaim(t *testing.T) {
|
func TestRepostedClaim(t *testing.T) {
|
||||||
filePath := "../../resources/reposted_claim_cf.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.RepostedClaim)
|
||||||
testGeneric(filePath, prefixes.RepostedClaim, 3)(t)
|
testGeneric(filePath, prefixes.RepostedClaim, 3)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestClaimDiff(t *testing.T) {
|
func TestClaimDiff(t *testing.T) {
|
||||||
filePath := "../../resources/claim_diff.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.ClaimDiff)
|
||||||
testGeneric(filePath, prefixes.ClaimDiff, 1)(t)
|
testGeneric(filePath, prefixes.ClaimDiff, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestUTXO(t *testing.T) {
|
func TestUTXO(t *testing.T) {
|
||||||
filePath := "../../resources/utxo.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.UTXO)
|
||||||
testGeneric(filePath, prefixes.UTXO, 1)(t)
|
testGeneric(filePath, prefixes.UTXO, 1)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
func TestHashXUTXO(t *testing.T) {
|
func TestHashXUTXO(t *testing.T) {
|
||||||
filePath := "../../resources/hashx_utxo.csv"
|
filePath := fmt.Sprintf("../../testdata/%c.csv", prefixes.HashXUTXO)
|
||||||
testGeneric(filePath, prefixes.HashXUTXO, 3)(t)
|
testGeneric(filePath, prefixes.HashXUTXO, 3)(t)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
56
main.go
|
@ -1,6 +1,7 @@
|
||||||
package main
|
package main
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"log"
|
"log"
|
||||||
|
@ -49,36 +50,43 @@ func main() {
|
||||||
log.Fatalln(err)
|
log.Fatalln(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
db.ReadWriteRawN(dbVal, options, "./resources/support_amount.csv", 10)
|
db.ReadWriteRawN(dbVal, options, "./testdata/support_amount.csv", 10)
|
||||||
|
|
||||||
return
|
return
|
||||||
} else if args.CmdType == server.DBCmd2 {
|
} else if args.CmdType == server.DBCmd2 {
|
||||||
var rawPrefix byte = prefixes.RepostedClaim
|
pxs := prefixes.GetPrefixes()
|
||||||
|
for _, prefix := range pxs {
|
||||||
|
//var rawPrefix byte = prefixes.ClaimExpiration
|
||||||
|
|
||||||
prefix := []byte{rawPrefix}
|
//prefix := []byte{rawPrefix}
|
||||||
columnFamily := string(prefix)
|
columnFamily := string(prefix)
|
||||||
options := &db.IterOptions{
|
options := &db.IterOptions{
|
||||||
FillCache: false,
|
FillCache: false,
|
||||||
Prefix: prefix,
|
Prefix: prefix,
|
||||||
Start: nil,
|
Start: nil,
|
||||||
Stop: nil,
|
Stop: nil,
|
||||||
IncludeStart: true,
|
IncludeStart: true,
|
||||||
IncludeStop: false,
|
IncludeStop: false,
|
||||||
IncludeKey: true,
|
IncludeKey: true,
|
||||||
IncludeValue: true,
|
IncludeValue: true,
|
||||||
RawKey: true,
|
RawKey: true,
|
||||||
RawValue: true,
|
RawValue: true,
|
||||||
|
}
|
||||||
|
|
||||||
|
dbVal, handles, err := db.GetDBCF("/mnt/d/data/snapshot_1072108/lbry-rocksdb/", columnFamily)
|
||||||
|
if err != nil {
|
||||||
|
log.Fatalln(err)
|
||||||
|
}
|
||||||
|
|
||||||
|
options.CfHandle = handles[1]
|
||||||
|
var n = 10
|
||||||
|
if bytes.Equal(prefix, []byte{prefixes.Undo}) || bytes.Equal(prefix, []byte{prefixes.DBState}) {
|
||||||
|
n = 1
|
||||||
|
}
|
||||||
|
|
||||||
|
db.ReadWriteRawNCF(dbVal, options, fmt.Sprintf("./testdata/%s.csv", columnFamily), n)
|
||||||
}
|
}
|
||||||
|
|
||||||
dbVal, handles, err := db.GetDBCF("/mnt/d/data/snapshot_1072108/lbry-rocksdb/", columnFamily)
|
|
||||||
if err != nil {
|
|
||||||
log.Fatalln(err)
|
|
||||||
}
|
|
||||||
|
|
||||||
options.CfHandle = handles[1]
|
|
||||||
|
|
||||||
db.ReadWriteRawNCF(dbVal, options, "./resources/reposted_claim_cf.csv", 10)
|
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -1 +0,0 @@
|
||||||
73,9c89283ba0f3227f6c03b70216b9f665f0118d5e0fa729cedf4fb34d6a34f46300102d0a03cf8317b51915dc662e9786b9d4c0c7443652ea58ea91124e2c62dfd3ab23dbd7c9446900102d0d001168ae000700102d0dffffffffffffffff00102d0a
|
|
500Internal server error Forgejo version: 10.0.0+gitea-1.22.0 |
no need to start these with N
and many of these are unused
is this really no big deal? seems like an error to me but idk rocksdb
typo: Famlies -> Families
this can be unexported
still need this?
typo
👀