Alex Sharov
f1ee8d507e
New Trie db layout - store trie structure info and multiple hashes per record ( #1500 )
...
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* squash
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
* SE
2021-02-21 18:41:59 +00:00
Artem Vorotnikov
5c34713e71
Remove nested transactions ( #1483 )
2021-02-10 17:04:22 +00:00
Alex Sharov
9712e858e2
Method delete to accept second param: allow delete dupsort values ( #1297 )
...
* aloow_delete_dupsort_values
* check canonical receipt
* exclusive lock for mdbx
* readme_load_dump_tables
* readme_load_dump_tables
* readme_load_dump_tables
* Remove IdealBatchSize change
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
2020-10-29 13:19:31 +00:00
Alex Sharov
331dcd45eb
Store receipts separately - one record per tx ( #1271 )
...
* squash
* add --database flag to integration
* clean
* split to 2 buckets
* split to 2 buckets
* split to 2 buckets
* split to 2 buckets
* split to 2 buckets
* save progress
* save progress
* improve test
* improve test
* save progress
* change app logic
* change app logic
* return err from rawdb package
* don't clean automatically
* don't clean automatically
* clean
* clean
* clean
* don't rely on `make clean`
* improve cbor code
* clean
* clean
* clean
* fix tests
* rebase master
* stop on error: headers stage
* make TxDb walk and multiwalk safe
* Fix panics
Co-authored-by: Alexey Akhunov <akhounov@gmail.com>
2020-10-25 08:38:55 +00:00
Alex Sharov
e85b388061
Protect from wrong class use: make ethdb.Tx incompatible with rawdb.DatabaseReader ( #1288 )
...
* protect_from_wrong_class_use
* more cases
2020-10-24 09:09:20 +01:00
Evgeny Danilenko
44562fd07a
Jump tables data race ( #1245 )
...
* initial
* fix
* fmt
* linters
* linters
* debug
* fix data races
* safe close
* remove jump table clonning
* revert fix
2020-10-20 22:23:56 +01:00
Alex Sharov
fd9c7c3b2d
kill bolt ( #1085 )
...
* kill bolt
* kill bolt
* fix test
* clean
2020-09-09 11:09:55 +01:00
Alex Sharov
081d02920d
Remove "Bucket" class from KV abstraction ( #928 )
...
* drop Bucket object from KV abstraction
* add some non-public methods
* rebase master
* rebase master
2020-08-17 08:24:59 +01:00
Alex Sharov
e04c4ebe58
KV: move bucket.Get and bucket.Cursor methods to Tx object ( #914 )
2020-08-14 13:41:18 +07:00
Alex Sharov
e89ad5d6aa
sub tx support ( #895 )
2020-08-11 17:35:59 +07:00
Alex Sharov
f41959f030
drop badger support ( #869 )
...
* drop badger support
* rebase master
2020-08-05 16:33:45 +01:00
Alex Sharov
ecc94a63f0
DupSort for Plain and Hashed state buckets (behind feature flags) ( #854 )
...
* return error from rawdb
* squash
* v14
* improve performance of put
* clean
* clean
* hide feature behind ENV variable
* cleanup
* cleanup
* disable ipc and make Readme less confusing (people thought points are depend on each-other)
* fix test
* cleanup
* cleanup
2020-08-02 12:53:08 +01:00
Alex Sharov
f500148b86
remove BoltDatabase, BadgerDatabase, RemoteDatabase classes (replaced by objectDb) ( #794 )
2020-07-27 22:59:54 +01:00
Alex Sharov
c4a1ffa4f0
Grpc-based remoteDb ( #788 )
2020-07-27 19:15:48 +07:00
Alex Sharov
79a49e9e44
avoid touching closed db ( #789 )
...
* avoid touching closed db
* fix tx rollback
2020-07-27 07:10:50 +01:00
Alex Sharov
e09b386fc3
lmdb support empty values, but not empty keys ( #674 )
2020-06-18 12:20:33 +07:00
Alex Sharov
5b051d9ab3
Lmdb: avoid empty key values in put and seek ( #673 )
...
* avoid 0 length key/values and seek arguments
* less abstractions in .get method, and copy memory from C space without unsafe conversion into go memory
* fix test
2020-06-17 10:57:48 +01:00
Alex Sharov
8d04689041
close db in tests ( #669 )
2020-06-16 12:05:40 +07:00
Alex Sharov
15096f273d
Remove ctx from Open. Stop goroutines on Close. ( #650 )
...
* remove ctx from MustOpen
* remove ctx from Open. Stop goroutines on Close.
* remove ctx from Open. Stop goroutines on Close.
* remove ctx from remote open (we have DialTimeout field to manage connection timeouts)
* enable RawReads and add native implementation of Get/Has methods
2020-06-12 10:31:21 +01:00
Alex Sharov
d8ffd02b4f
Lmdb and Badger tests ( #630 )
...
* try lmddb
* try badger
* try bigger badger
* try lmb
* release
* release
* release
* release
* try badger
* try lmdb low memory
* try lmdb low memory
* lmdb high memory (16Mb not enough for /eth/downloader package)
* badger more memory
* badger more memory
* badger more memory
2020-06-06 11:29:11 +01:00
Alex Sharov
f0bc2b2146
Run tests on lmdb and badger ( #624 )
...
* lmdb tests
* trigger ci
* fix tests
* disable parallelism
* disable parallelism
* cleanup resources
* cleanup resources
* reduce concurency
* try run tests on bolt
* try run tests on bolt
* fix downloader test
* run bolt tests
* rely on interface instead of exact instance
* Rename AbstractKV to KV
* don't use separator for badger
* don't initialize badger cursor - because it not used here
* fix linter
* try reduce badger compactors
* compat with master
* try lmdb
* try lmdb
* try lmdb
* reduce badger's MaxTableSize, reduce badger's minGoMaxProc for inMem option
* allow to close closed db
* release
* release
* ideal batch size for badger
* ideal batch size for badger
2020-06-05 10:25:33 +01:00
Alex Sharov
916a1f8b83
[wip] Lmdb: AbstractKV and DB interfaces ( #589 )
...
* resetIH from scratch if needed
* lmdb
* add AbstractKV to loader, added new Object accessor around AbstractKV
* add lmdb cli flag
* add requirement of k!=nil on error in docs
* add Size method for compatibility
* read after put tests
* fix multiput nils
* simplify loops
* increase mmap size
* better error messages
* better error messages
* fix tests
* better error messages
* cleanup
* avoid bolt usage in test
* move hardcoded bucket name to dbutils
* register more buckets
* register more buckets
* fix test
2020-05-30 09:12:21 +01:00
ledgerwatch
41b5fce078
resolver: merge HashBuilder-s and ResolveSet-s, decouple from ResolveRequest-s ( #540 )
...
* merge hbStorage and hb in resolver
* Fix prepare
* Remove tracing by default
* cleanup
* Fix linter
* Not to include incarnation into the ResolveRequest
* Fix linter
* Fix linter
* Fix test
* Fix linter
* Revert
* Fix for infinite loop
* Fix linter
* Collapse rss into rs
* remove reliance of requests in resolver
* Remove currentReq
* Remove fields from ResolveRequest
* Fix linter
2020-05-11 05:46:07 +01:00
Alex Sharov
535d73be5f
Run CI on bolt with prefix_compression_without_allocation (fixes) ( #380 )
2020-04-11 20:28:15 +07:00
Alex Sharov
c5ffc971c5
[WIP] Badger v2 ( #378 )
...
* badger v2 investigation
* buf pool - use native New method and avoid double checks
* db.Open prototype
* db.Tx/Bucket/Cursor prototypes
* Chained config
* Item concept added
* save changes to test on master
* make hack resumable
* Design document v0
* Cursor concept
* less brackets syntax of cursor builder
* benchmarks
* cleanup fs
* test for context cancelations
* test for context cancelations
* test for cursor.Prefix option
* add ForEachKey method
* add ForEachKey method
* add naming explanation
* experiment of non-pointers cursor/bucket
* .Bucket() and .Cursor() doesn't returns error
* .Bucket() and .Cursor() doesn't returns error
* .Bucket() and .Cursor() doesn't returns error
* remove CursorOpts concept
* more test-cases
* simplify open api
* Tx, Bucket, Cursor - now are interfaces
* Tx, Bucket, Cursor - now are interfaces
* switch to interfaces
* rebase master
Co-authored-by: alex.sharov <alex.sharov@lazada.com>
2020-03-11 11:02:37 +00:00
Andrew Ashikhmin
1c0cf9be72
BadgerDB: MultiWalk & some other APIs, command line flag, scaffolding for testing ( #183 )
...
* BadgerDatabase MemCopy
* fix err shadowing
* BadgerDatabase MultiPut & NewBatch
* Remove goOn from MultiWalk & MultiWalkAsOf
* BadgerDatabase MultiWalk. Scaffolding for testing Badger in blockchain_test
* Badger Flag
* fix error logging
* Split IdealBatchSize between BoltDB and BadgerDB
* NewEphemeralBadger
2019-11-21 16:12:38 +01:00
andrew
0eb9d3915b
Add method stubs to BadgerDatabase so it formally implements the Database interface
2019-11-14 13:00:38 +01:00
andrew
62d36ada39
BadgerDatabase Walk
2019-11-13 17:43:26 +01:00
andrew
e25303a51e
re-enable a check in testParallelPutGet
2019-11-06 11:30:02 +01:00
andrew
069343d5a8
BadgerDatabase DeleteTimestamp
2019-11-06 11:24:48 +01:00
andrew
9be775c8bd
Port my work from badger after the master rebase
2019-11-05 13:28:36 +01:00
Péter Szilágyi
054412e335
all: clean up and proerly abstract database access
2019-03-06 13:35:03 +02:00
Dmitrij Koniajev
6a7695e367
ethdb, rpc: support building on js/wasm ( #17709 )
...
The changes allow building WebAssembly applications which use ethclient.Client.
2018-10-16 00:47:25 +02:00
gary rong
dcdd57df62
core, ethdb: two tiny fixes ( #17183 )
...
* ethdb: fix memory database
* core: fix bloombits checking
* core: minor polish
2018-07-18 13:41:36 +03:00
gary rong
7beccb29be
all: get rid of error when creating memory database ( #16716 )
...
* all: get rid of error when create mdb
* core: clean up variables definition
* all: inline mdb definition
2018-05-09 15:24:25 +03:00
gary rong
73c5aba21f
ethdb: return copied value from MemDatabase.Get ( #14958 )
2017-08-11 12:41:49 +02:00
Egon Elbre
6f8c7b0def
ethdb: add basic and parallel sanity tests ( #14938 )
...
* ethdb: add basic sanity test
* ethdb: test MemDatabase
* ethdb: add parallel tests
2017-08-08 12:32:10 +03:00
Péter Szilágyi
e90958cd29
cmd, eth, ethdb, node: prioritise chaindata for resources, bump cache
2016-03-09 10:33:39 +02:00
Jeffrey Wilcke
1fad8798ec
Merge pull request #1515 from fjl/license-fixes
...
all: fix license headers one more time
2015-07-28 04:29:42 -07:00
Felix Lange
bfbcfbe4a9
all: fix license headers one more time
...
I forgot to update one instance of "go-ethereum" in commit 3f047be5a
.
2015-07-23 18:35:11 +02:00
Jeffrey Wilcke
0cff61beda
Merge pull request #1510 from fjl/license-fixes
...
all: license fixes
2015-07-23 01:43:11 -07:00
Felix Lange
3f047be5aa
all: update license headers to distiguish GPL/LGPL
...
All code outside of cmd/ is licensed as LGPL. The headers
now reflect this by calling the whole work "the go-ethereum library".
2015-07-22 18:51:45 +02:00
Péter Szilágyi
c7e7778f2a
cmd, core, eth, ethdb: cache flag to allocate memory for db internal use
2015-07-22 14:00:52 +03:00
Felix Lange
ea54283b30
all: update license information
2015-07-07 14:12:44 +02:00
Bas van Kervel
95773b9673
removed redundant newlines in import block
2015-05-12 15:20:53 +02:00
Bas van Kervel
b79dd188d9
replaced several path.* with filepath.* which is platform independent
2015-05-12 14:24:11 +02:00
obscuren
7f32a08b60
Queued level db writes and batch writes. Closes #647
2015-04-07 22:19:01 +02:00
Felix Lange
80985f97da
cmd/evm, core, ethdb, state, tests/helper: remove ReadConfig calls
2015-03-10 02:39:53 +01:00
obscuren
76c9c8d653
Compress data on db level. Closes #174
2014-11-03 00:31:15 +01:00
obscuren
f6d1bfe45b
The great merge
2014-02-14 23:56:09 +01:00