Raul Jordan
6ec9d7e6e2
Utilize Indices for Key Lookup and Filtering Attestations in DB ( #3202 )
...
* begin indices approach
* use shard bucket
* continue the indices approach
* eliminate the filter checkers in favor of the single loop of root lookups
* elim extraneous println statement
* continue the indices approach
* intersection for multiple filter types works, but is complex, verbose, and nearly unreadable
* remove unused code
* table drive tests for byte slice intersections
* include all table driven tests
* gazelle imports
* better abstractions
* better comments
* variadic approach working
* transform to variadic
* comments
* comments
* separate bucket for indices for faster range scans
* attestation key as hash tree root of data and different indices buckets
* test pass
* default behavior without filter
* appropriate filter criterion errors if criterion does not apply to type
* better abstractions and prune keys on deletion
* better naming
* fix build
* fix build
* rem extraneous code
2019-08-15 19:57:43 -05:00
Preston Van Loon
eb192049b8
Create a testing db method that can be used with the new database interface ( #3217 )
...
* create a testing db method that can be used with the new database interface
* lint
* lint
* PR feedback
* Update setup_db.go
2019-08-15 17:41:51 -04:00
terence tsao
27319a8990
Implement State DB Methods ( #3193 )
...
* Added state implementation
* Gaze
* Fixed test
* Fixed build file
* Fixed all tests
* Merged with master
* Added comments to save and get from roots
* Make it explicit signing root
* s/./,
* s/marshalled/marshaled
2019-08-13 18:33:31 -04:00
Raul Jordan
655f5830f4
Implement Blocks DB Methods ( #3195 )
2019-08-13 09:49:27 -07:00
Raul Jordan
8d8849feed
Implement Attestations DB Methods ( #3183 )
...
* begin db interface
* define the database interface
* interface definition simplifications
* include latest message proto
* modify pbs
* rem kv folder
* add filter interface
* lint
* ctx package is great
* interface getting better
* ctx everywhere...it's everywhere!
* block roots method
* new kv store initialization
* comments
* gaz
* implement interface
* refactor for proper naming conventions
* add todos
* proper comments
* rem unused
* add schema
* implementation simplicity
* has validator latest vote func impl
* retrieve validator latest vote
* has idx
* implement missing validator methods
* missing validator methods and test helpers
* validator index crud tests
* validator tests
* save attestation implementation
* attestation basic methods
* batch save
* all buckets
* refactor with ok bool
* retrieval by root working
* todo for has attestations
* all tests passing, fmt, imports
* generate key use helper
* most att methods complete
* crud tests passing
* closer and closer to filtering all atts
* default no filter
* filter criteria functioning
* simplified conditional
* filter criteria func
* filter criteria
* filter criteria for atts there
* query filter map strategy
* internal filter api complete
* comments
* complete the passing of all other tests using criteria met
* imports
* fix broken build:
* breaking arg
* import sort groups
* keygen outside tx
* address feedback
2019-08-13 11:04:33 -05:00
Raul Jordan
6bd8ae8f67
Implement Validator DB Methods ( #3172 )
...
* begin db interface
* define the database interface
* interface definition simplifications
* include latest message proto
* modify pbs
* rem kv folder
* add filter interface
* lint
* ctx package is great
* interface getting better
* ctx everywhere...it's everywhere!
* block roots method
* new kv store initialization
* comments
* gaz
* implement interface
* refactor for proper naming conventions
* add todos
* proper comments
* rem unused
* add schema
* implementation simplicity
* has validator latest vote func impl
* retrieve validator latest vote
* has idx
* implement missing validator methods
* missing validator methods and test helpers
* validator index crud tests
* validator tests
* all buckets
* refactor with ok bool
* all tests passing, fmt, imports
2019-08-12 14:33:07 -05:00
terence tsao
715b9cd5ba
Save head block root for new DB refactor ( #3182 )
...
* Save head block root instead of save head state
* Revert state
2019-08-12 12:13:30 -04:00
Raul Jordan
dce9c41094
Define Interface Stubs for New DB Interface ( #3164 )
...
* begin db interface
* define the database interface
* interface definition simplifications
* include latest message proto
* modify pbs
* rem kv folder
* add filter interface
* lint
* ctx package is great
* interface getting better
* ctx everywhere...it's everywhere!
* block roots method
* new kv store initialization
* comments
* gaz
* implement interface
* refactor for proper naming conventions
* add todos
* proper comments
* rem unused
2019-08-10 20:50:10 -04:00