rocksdb #29

Merged
jeffreypicard merged 93 commits from feature/27/jeffreypicard/rocksdb into master 2022-04-29 17:04:01 +02:00
38 changed files with 159 additions and 79 deletions
Showing only changes of commit cee1aab843 - Show all commits

View file

@ -469,8 +469,8 @@ func ReadWriteRawNCF(db *grocksdb.DB, options *IterOptions, out string, n int) {
lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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.
lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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)
lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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.
lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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)
lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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.
lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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)

lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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.
lyoshenka commented 2022-03-24 22:26:17 +01:00 (Migrated from github.com)
Review

no need to start these with N

no need to start these with N
lyoshenka commented 2022-03-24 22:26:38 +01:00 (Migrated from github.com)
Review

and many of these are unused

and many of these are unused
lyoshenka commented 2022-03-24 22:34:50 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 22:38:01 +01:00 (Migrated from github.com)
Review

typo: Famlies -> Families

typo: Famlies -> Families
lyoshenka commented 2022-03-24 22:41:04 +01:00 (Migrated from github.com)
Review

this can be unexported

this can be unexported
lyoshenka commented 2022-03-24 22:41:39 +01:00 (Migrated from github.com)
Review

still need this?

still need this?
lyoshenka commented 2022-03-24 22:43:06 +01:00 (Migrated from github.com)
Review

typo

typo
lyoshenka commented 2022-03-24 22:43:32 +01:00 (Migrated from github.com)
Review

👀

:eyes:
jeffreypicard commented 2022-03-24 23:32:48 +01:00 (Migrated from github.com)
Review

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.
jeffreypicard commented 2022-03-24 23:39:47 +01:00 (Migrated from github.com)
Review
// 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.

``` // 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.

View file

@ -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 {

View file

@ -59,6 +59,41 @@ const (
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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.
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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 {
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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{
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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.
lyoshenka commented 2022-03-24 19:46:58 +01:00 (Migrated from github.com)
Review

why is this [][]byte and not []byte? all the prefixes are bytes

why is this [][]byte and not []byte? all the prefixes are bytes
jeffreypicard commented 2022-04-11 18:48:20 +02:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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},
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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.
}
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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.
}
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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.
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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{}

lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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.
lyoshenka commented 2022-03-24 19:47:15 +01:00 (Migrated from github.com)
Review

why snake case here?

why snake case here?
lyoshenka commented 2022-03-24 19:50:57 +01:00 (Migrated from github.com)
Review

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
lyoshenka commented 2022-03-24 19:51:47 +01:00 (Migrated from github.com)
Review

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.

View file

@ -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
View file

@ -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
} }

File diff suppressed because one or more lines are too long

View file

@ -1 +0,0 @@
73,9c89283ba0f3227f6c03b70216b9f665f0118d5e0fa729cedf4fb34d6a34f46300102d0a03cf8317b51915dc662e9786b9d4c0c7443652ea58ea91124e2c62dfd3ab23dbd7c9446900102d0d001168ae000700102d0dffffffffffffffff00102d0a
Internal server error - Forgejo: Beyond coding. We forge.

500

Internal server error

Forgejo version: 9.0.2+gitea-1.22.0