backend |
|
|
backend.rs |
|
1899 |
bin |
|
|
env.rs |
|
11611 |
error.rs |
|
4049 |
helpers.rs |
|
1522 |
lib.rs |
|
10496 |
manager.rs |
|
8250 |
migrator.rs |
A simple utility for migrating data from one RVK environment to another. Notably, this
tool can migrate data from an enviroment created with a different backend than the
current RKV consumer (e.g from Lmdb to SafeMode).
The utility doesn't support migrating between 32-bit and 64-bit LMDB environments yet,
see `arch_migrator` if this is needed. However, this utility is ultimately intended to
handle all possible migrations.
The destination environment should be empty of data, otherwise an error is returned.
There are 3 versions of the migration methods:
* `migrate_<src>_to_<dst>`, where `<src>` and `<dst>` are the source and destination
environment types. You're responsive with opening both these environments, handling
all errors, and performing any cleanup if necessary.
* `open_and_migrate_<src>_to_<dst>`, which is similar the the above, but automatically
attempts to open the source environment and delete all of its supporting files if
there's no other environment open at that path. You're still responsible with
handling all errors.
* `easy_migrate_<src>_to_<dst>` which is similar to the above, but ignores the
migration and doesn't delete any files if the source environment is invalid
(corrupted), unavailable (path not accessible or incompatible with configuration),
or empty (database has no records).
The tool currently has these limitations:
1. It doesn't support migration from environments created with
`EnvironmentFlags::NO_SUB_DIR`. To migrate such an environment, create a temporary
directory, copy the environment's data files in the temporary directory, then
migrate the temporary directory as the source environment.
2. It doesn't support migration from databases created with DatabaseFlags::DUP_SORT`
(with or without `DatabaseFlags::DUP_FIXED`) nor with `DatabaseFlags::INTEGER_KEY`.
This effectively means that migration is limited to `SingleStore`s.
3. It doesn't allow for existing data in the destination environment, which means that
it cannot overwrite nor append data. |
8788 |
readwrite.rs |
|
4070 |
store |
|
|
store.rs |
|
1329 |
value.rs |
|
9096 |