97 Commits

Author SHA1 Message Date
Ulf Wiger
b0bf4b6b9c
Merge pull request #22 from aeternity/gh3553-refactor-plugin-final
Refactor to support column families, direct rocksdb access
2022-07-11 13:53:49 +02:00
Ulf Wiger
93a296f6b9 Debugging direct access API 2022-07-08 11:23:12 +02:00
Ulf Wiger
0da3169a01 Fix typo in mrdb.erl 2022-06-29 12:44:55 +02:00
Ulf Wiger
e351a02175 Fix batch- and tx-handling refs, formatting annot 2022-06-29 12:19:29 +02:00
Ulf Wiger
b70654d0a2 Default to accessing data via the table owner process 2022-04-13 14:24:53 +02:00
Ulf Wiger
0830cecbf9 Add test/mrdb_bench.erl, remove some debug logging 2022-04-07 18:48:24 +02:00
Ulf Wiger
2339232f59 Fix table load bug, fail properly on mnesia-ordered updates 2022-04-06 14:52:58 +02:00
Ulf Wiger
d5dafb5b7e Refactor to support column families, direct rocksdb access
Expose low-level helpers, fix dialyzer warnings

WIP column families and mrdb API

Basic functionality in place

started adding documentation

remove doc/ from .gitignore

add doc/* files

recognize pre-existing tabs at startup

wip: most of the functionality in place (not yet merge ops)

wip: adding transaction support

wip: add transaction test case (currently dumps core)

First draft, mnesia plugin user guide

Fix note formatting

WIP working on indexing

Index iterators, dialyzer, xref fixes

open db with optimistic transactions

Use rocksdb-1.7.0

Use seanhinde rocksdb patch, enable rollback

Call the right transaction_get() function

WIP add 'snap_tx' activity type

tx restart using mrdb_mutex

Fix test suite sync bugs

WIP instrumented for debugging

WIP working on migration test case

Add migration test suite

Migration works, subscribe to schema changes

WIP fix batch handling

Manage separate batches per db_ref

Add mrdb:fold/3

Add some docs, erlang_ls config

Use seanhinde's rocksdb vsn
2022-03-25 15:48:19 +01:00
seanhinde
c0ce3afe39
Merge pull request #20 from aeternity/new-rocksdb-m1-compatible
Update to rocksdb-1.7.0 which has arm m1 support
2021-11-26 10:15:22 +01:00
Ulf Wiger
c1d949b47e
Merge pull request #6 from arpunk/include-sext
Include sext as dependency
2021-11-17 15:05:59 +01:00
Sean Hinde
e835a611d1 Update to rocksdb-1.7.0 which has arm m1 support 2021-11-16 14:57:03 +01:00
Ulf Wiger
66e5a51634
Merge pull request #17 from aeternity/gh3407-expose-helpers
Expose low-level helpers, fix dialyzer warnings
2020-12-22 14:57:02 +01:00
Ulf Wiger
79d6467d26 Expose low-level helpers, fix dialyzer warnings 2020-12-22 10:36:24 +01:00
Ulf Wiger
32b3cd11e1
Merge pull request #16 from aeternity/uw-use-rocksdb-1.6.0
WIP update deps, fix try-catch warning, for rocksdb 1.6.0
2020-10-23 16:01:46 +02:00
Dincho Todorov
47435acc00 Fix wrong rocksdb buildopts 2020-10-23 15:47:29 +03:00
Dincho Todorov
dfd20b622b Set cmake paralelism 2020-10-23 15:45:31 +03:00
Dincho Todorov
d33d26277e Use medium+ CI executor 2020-10-23 12:42:07 +03:00
Ulf Wiger
2b96f189fd Ensure compression (lz4) support when building from src 2020-10-19 11:26:49 +02:00
Ulf Wiger
35c79aaa32 WIP update deps, fix try-catch warning, for rocksdb 1.6.0 2020-10-19 10:46:02 +02:00
Tino Breddin
8d3079ff25
Merge pull request #15 from aeternity/tb-add-error-store
Add caller error store to error handling
2019-11-21 14:37:32 +01:00
Tino Breddin
15b9965f46
Fix documentation typos
Co-Authored-By: Ulf Wiger <ulf@wiger.net>
2019-11-21 14:29:43 +01:00
Tino Breddin
3054232233
Fix typo
Co-Authored-By: Hans Svensson <hanssv@gmail.com>
2019-11-21 09:00:43 +01:00
Tino Breddin
1cb3d8ddc0 Add documentation 2019-11-18 16:55:13 +01:00
Tino Breddin
984d12479d Add test for error store support 2019-11-18 16:43:08 +01:00
Tino Breddin
0fab952f5d Upgrade rebar3 to v3.12.0 2019-11-18 16:42:40 +01:00
Tino Breddin
a2f863804d Formatting improvements 2019-11-15 16:31:09 +01:00
Tino Breddin
63bae181e3 Add caller error store to error handling
During initialization of the backend the caller may provide a new
configuration to define a target ETS table for storing errors which the
backend encountered at runtime. These errors are written during handling
of write errors.
2019-11-15 16:28:39 +01:00
Ulf Wiger
49ff8bcca0
Merge pull request #13 from aeternity/GH12-check-return-values
Check return values on update operations.
2019-11-04 13:54:11 +01:00
Ivaylo Papazov
7c461b7e34
Add CI configuration (#14) 2019-10-07 09:42:30 +03:00
Ulf Wiger
6f41733461 Add tests for error handling
Document reason for breaking out update functions
2019-09-30 14:02:35 +02:00
Ulf Wiger
f93c1aba93 fix on_write_error options 2019-09-24 16:10:13 +02:00
Ulf Wiger
c8da9ce31b Check return values on update operations.
- put(), write() and delete() wrapped, checking for non-ok returns
- Option {on_write_error, verbose | warning | error | fatal}
  added to the rocksdb_opts user property. The corresponding function
  mnesia_lib:Op(Fmt, Args) will be called if an error return is spotted.
2019-09-24 15:45:07 +02:00
Thomas Arts
ad8e7b63ca
Merge pull request #11 from aeternity/hs-bump-rocksdb
Bump RocksDB version
2018-11-13 16:42:17 +01:00
Thomas Arts
ea6f5f48f6 Upgrade to version 0.24.0 2018-11-12 13:23:36 +01:00
Hans Svensson
a6925ffdc1 Bump rocksdb to 0.18.0 2018-05-24 15:05:40 +02:00
arpunk
8662ba331a
include sext as dependency 2018-04-02 09:50:49 -05:00
Luca Favatella
618870f484
Merge pull request #5 from aeternity/uw-no_keys_only_iterator
use only normal iterator function
2018-03-07 17:33:31 +00:00
Ulf Wiger
dd23a80e27 use only normal iterator function 2018-03-06 22:11:41 +01:00
Ulf Wiger
43b861215a
Merge pull request #4 from aeternity/uw-shortest-prefix-on-select
On select, mnesia_rocksdb would only calculate a key prefix for the
2018-02-16 19:52:52 +01:00
Ulf Wiger
0345e3558b On select, mnesia_rocksdb would only calculate a key prefix for the
first select clause in a multi-clause select pattern. This could give
erroneous results if the first pattern was more specific (on the key)
than following patterns. This change calculates a prefix for all clauses
and keeps the shortest common prefix.
2018-02-16 18:43:59 +01:00
Ulf Wiger
ff823c4ee1
Merge pull request #3 from aeternity/uw-more-renaming
More renaming, ldb -> rdb
2018-02-06 20:05:42 +01:00
Ulf Wiger
af4c6e8fd2 More renaming, ldb -> rdb 2018-02-06 20:03:01 +01:00
Ulf Wiger
d326daf251
Merge pull request #2 from aeternity/uw-use-official-sext
Use official sext instead of copy
2018-02-06 14:32:52 +01:00
Ulf Wiger
3c6f6dfdab
Merge pull request #1 from aeternity/uw-add-rocksdb-app-dep
ensure rocksdb started at backend init
2018-02-06 14:32:32 +01:00
Ulf Wiger
3fccd1cd4f Use official sext instead of copy 2018-02-06 14:30:17 +01:00
Ulf Wiger
a70f84f645 ensure rocksdb started at backend init 2018-02-06 13:58:17 +01:00
Ulf Wiger
6c9f5b565f first version, based on mnesia_eleveldb 2018-02-06 09:43:57 +01:00