Tpt
26f4e2dc98
Allows to have secondary instances in memory
2 years ago
Tpt
5f68cb3746
Cleans up RocksDB wrapper code and implements backup from read-only and secondary instances
2 years ago
Tpt
b2385509a6
Improves read only and secondary test coverage
...
Adds the missing get method
2 years ago
Tpt
855c39146d
Replaces Store::open_with_options with explicit variants
...
Trades enums and structs for methods
2 years ago
Benedikt Seidl
f7637ee5a5
Add option to open database in read-only mode
...
With read-only it's not possible to modify the data. Updates to the data
are possible via a primary instance of oxigraph, but will not be
reflected. The data is frozen at the time the read-only server is
started.
2 years ago
Benedikt Seidl
aa9476b9cc
Add option to open rocksdb in secondary mode
...
The database can be opened once in primary mode, but may be opened
multiple times in secondary mode. It's not possible to write data to the
database in secondary mode.
Secondary mode does not support checkpoints so there might be data
inconsistencies when data is changed while said data is queried. It
might happen that the result data mixes both elements before and after
the change that can not happen in primary mode.
2 years ago
Tpt
1fa0633db3
Library: adds basic WASI support
...
Adds tests for WASM+JS and WASI to the CI
2 years ago
Tpt
854e29ee38
Makes XSD datatypes a standalone crate
...
Allows other crates to reuse Oxigraph XSD datatypes implementation
2 years ago
Tpt
808c9db007
String formatting: uses inline syntax
2 years ago
Tpt
59aea75a30
Uses try_into for slice to array conversions
2 years ago
Tpt
4cea628570
Upgrades to sysinfo 0.26
2 years ago
Tpt
e9bbe8e036
Applies new Clippy suggestions
2 years ago
Tpt
95fd439dc2
Updates dependencies
3 years ago
Tpt
b04bdcceed
Makes the new Clippy happy
3 years ago
Tpt
ad710dc825
Bulk loader: removes dead code
...
There were some dead code and key-values where deduplicated twice
3 years ago
Tpt
c815782631
rlimits: be safe if the nice value is bigger than the hard one
3 years ago
Tpt
cc4e3f8b0f
Bulk loader: avoids to write duplicated values
3 years ago
Tpt
42f316f7db
Limits the number of opened file by RocksDB
...
This was generating too many open file errors
3 years ago
Tpt
3cbde014a6
Limits the bulk loader thread count to 4
...
Allows writing bigger files
3 years ago
Tpt
b5611445eb
Fixes ARM compilation
3 years ago
Tpt
d0b3d76bf1
Bulk loader: use as much memory as possible
3 years ago
Tpt
c5f12f10f6
Better RocksDB error Debug implementation
3 years ago
Tpt
54c6f2c19f
Bulk load: use megabytes as unit
3 years ago
Tpt
9e969cd8eb
Adds methods to configure bulk loader system consumption
3 years ago
Tpt
adea1899e5
Bulk loader: rewrite API and add hook to display progress indicators
3 years ago
Tpt
ac64b58825
Fixes wasm build
3 years ago
Tpt
822dd60596
Fixes invalid database generated from bulk load
...
Adds an invariant validation test
3 years ago
Tpt
ad4bfe35c2
Fixes typos in the documentation
3 years ago
Tpt
203bd4c080
Adds a backup system
...
RocksDB provides a great cheap backup feature thanks to the immutable SST storage.
Sadly it is not compatible with in-memory databases which do not rely on the SST files.
3 years ago
Tpt
b9ef40df07
Avoids freeing null values
3 years ago
Tpt
32d3f0782b
Fixes some new clippy warnings
3 years ago
Tpt
7d58f451bd
Runs LLVM address sanitizer and fixes found bugs
3 years ago
Tpt
fc26fa87a5
Makes a lot of dumb functions inline
3 years ago
Tpt
ec5c7c86be
Improves RDF I/O ParseError
3 years ago
Tpt
f5545f1948
Makes Oxigraph model standalone as oxrdf
...
Allows to reuse it in other crates like spargebra
3 years ago
Tpt
4337349aad
Moves xsd module to root
...
Makes "model" module more stand-alone
3 years ago
Tpt
a91ea89fff
Moves str2id outside of transactions
...
Allows avoiding conflicts and reducing transactional guarantees
3 years ago
Tpt
72a17c4f72
Avoids using std::io::Error where possible
3 years ago
Tpt
a33dbb6d06
Avoids abusing std::io::Error
...
Introduces new specific errors and make them implement Into<io::Error> for compatibility
3 years ago
Tpt
18ec80c362
Exposes more of RocksDB internal Status struct
3 years ago
Tpt
bada850284
Txn conflict: allows the OS to do something else before retrying
3 years ago
Tpt
44d1a5f04c
Makes bulk load partial insertions atomic
...
Ensures that the stores does not end up in an inconsistent state.
3 years ago
Tpt
f64001906c
Minor documentation improvements
3 years ago
Tpt
8d20f65890
Adds back in memory WASM support
3 years ago
Tpt
ed17e86853
Renames write_stt_files to insert_stt_files
3 years ago
Tpt
a3e40556da
Automatically retries transactions on failure
3 years ago
Tpt
eb4fb8254a
Lock the graph name when clearing a named graph
...
Makes sure we conflict if a quad is inserted in the graph while we clear it
3 years ago
Tpt
e99d6f4ad0
Makes bulk loader multithreaded
3 years ago
Tpt
b9d4f912dc
Bulk load: avoid not needed lookup
...
It's fine to have some extra inserts and avoid reading the DB state
3 years ago
Tpt
7bb41e655e
SPARQL: we do not need to ensure strings exist anymore
3 years ago