Commit Graph

22 Commits

Author SHA1 Message Date
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
Ulf Wiger c1d949b47e Merge pull request #6 from arpunk/include-sext
Include sext as dependency
2021-11-17 15:05:59 +01:00
Ulf Wiger 79d6467d26 Expose low-level helpers, fix dialyzer warnings 2020-12-22 10:36:24 +01: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 984d12479d Add test for error store support 2019-11-18 16:43:08 +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 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
arpunk 8662ba331a include sext as dependency 2018-04-02 09:50:49 -05:00
Ulf Wiger dd23a80e27 use only normal iterator function 2018-03-06 22:11:41 +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 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 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