All Projects → skovsgaard → exleveldb

skovsgaard / exleveldb

Licence: other
Elixir wrapper around the Erlang module, eleveldb.

Programming Languages

elixir
2628 projects

Labels

Projects that are alternatives of or similar to exleveldb

IronLeveldb
A leveldb implementation in C#
Stars: ✭ 25 (-39.02%)
Mutual labels:  leveldb
indexd
An external bitcoind index management service module
Stars: ✭ 50 (+21.95%)
Mutual labels:  leveldb
lua-leveldb
Lua bindings for google's leveldb library.
Stars: ✭ 50 (+21.95%)
Mutual labels:  leveldb
SwiftStore
Key-Value store for Swift backed by LevelDB
Stars: ✭ 119 (+190.24%)
Mutual labels:  leveldb
leveldb-jna
Java JNA (not JNI) adapter for LevelDB
Stars: ✭ 21 (-48.78%)
Mutual labels:  leveldb
utxodump
dump bitcoin utxo data
Stars: ✭ 17 (-58.54%)
Mutual labels:  leveldb
leveldb-cli
CLI for LevelDB
Stars: ✭ 86 (+109.76%)
Mutual labels:  leveldb
react-native-leveldown
Native bindings to LevelDB for React Native, exposed as leveldown-compatible interface
Stars: ✭ 22 (-46.34%)
Mutual labels:  leveldb
universal-progressive-todos
A Todo list with universal JavaScript & Progressive Enhancement
Stars: ✭ 30 (-26.83%)
Mutual labels:  leveldb
pouchy
A simple, opinionated interface for PouchDB 👝
Stars: ✭ 59 (+43.9%)
Mutual labels:  leveldb
pgrocks-fdw
Bring RocksDB to PostgreSQL as an extension. It is the first foreign data wrapper (FDW) that introduces LSM-tree into PostgreSQL. The underneath storage engine can be RocksDB. The FDW also serves for VidarDB engine, a versatile storage engine for various workloads. See the link for more info about VidarDB engine.
Stars: ✭ 101 (+146.34%)
Mutual labels:  leveldb
rippledb
Embeddable key-value database engine in pure TypeScript, based on LSM-Tree
Stars: ✭ 33 (-19.51%)
Mutual labels:  leveldb
dreamy-db
🔥 Dreamy-db - A Powerful database for storing, accessing, and managing multiple database.
Stars: ✭ 25 (-39.02%)
Mutual labels:  leveldb
ssdb
SSDB - A fast NoSQL database, an alternative to Redis
Stars: ✭ 8,026 (+19475.61%)
Mutual labels:  leveldb
papyrusjs
papyrus.js renders maps of Minecraft: Bedrock Edition worlds using node.js, LevelDB and leaflet.
Stars: ✭ 53 (+29.27%)
Mutual labels:  leveldb
JukeboxMC
A Minecraft Bedrock Editon Server Software
Stars: ✭ 56 (+36.59%)
Mutual labels:  leveldb
electron-react-ts-rxdb-realm-sqlite
Demo of Native Databases with Electron and ReactJS. Realm, SQLite and RxDB ( with LevelDB/IndexedDB/InMemory adapters)
Stars: ✭ 27 (-34.15%)
Mutual labels:  leveldb
public
util toolkit for go.golang 通用函数包
Stars: ✭ 135 (+229.27%)
Mutual labels:  leveldb
LevelDBDumper
Dumps all of the Key/Value pairs from a LevelDB database
Stars: ✭ 23 (-43.9%)
Mutual labels:  leveldb
papyruscs
PapyrusCS renders maps of Minecraft: Bedrock Edition worlds using C#, LevelDB and leaflet.
Stars: ✭ 221 (+439.02%)
Mutual labels:  leveldb

Exleveldb

Apache Licensed Hex Version

This is an Elixir module wrapping the functions exposed by the Erlang module, eleveldb.

Usage

Also available at hexdocs.pm/exleveldb

open/2

Opens a new datastore in the directory called name. If name does not exist already and no opts list was provided, opts will default to [{:create_if_missing, :true}].

Returns {:ok, ""} where the empty string is a reference to the opened datastore or, on error, {:error, {:type, 'reason for error'}}.

The reference to the database appears to be an empty binary but isn't. This is because db_ref is defined as an opaque type in eleveldb.

The best way to use the reference is to pattern match on the pair returned by open/2 and keep the value for use with functions that take a db_ref.

close/1

Takes a reference as returned by open/2 and closes the specified datastore if open.

Returns :ok or {:error, {:type, 'reason for error'}} on error.

get/3

Retrieves a value in LevelDB by key. Takes a reference as returned by open/2, a key, and an options list.

Returns {:ok, value} when successful or :not_found on failed lookup.

put/4

Puts a single key-value pair into the datastore specified by the reference, db_ref.

Returns :ok if successful or {:error, reference {:type, action}} on error.

delete/3

Deletes the value associated with key in the datastore, db_ref.

Returns :ok when successful or {:error, reference, {:type, action}} on error.

is_empty?/1

Checks whether the datastore specified by db_ref is empty and returns a boolean.

fold/4

Folds over the key-value pairs in the datastore specified in db_ref.

Returns the result of the last call to the anonymous function used in the fold.

The two arguments passed to the anonymous function, fun are a tuple of the key value pair and acc.

fold_keys/4

Folds over the keys of the open datastore specified by db_ref.

Returns the result of the last call to the anonymous function used in the fold.

The two arguments passed to the anonymous function, fun are a key and acc.

map/2

Takes a reference as returned by open/2 and an anonymous function, and maps over the key-value pairs in the datastore.

Returns the results of applying the anonymous function to every key-value pair currently in the datastore.

The argument to the anonymous function is i for the current item, i.e. key-value pair, in the list.

map_keys/2

Takes a reference as returned by open/2 and an anonymous function, and maps over the keys in the datastore.

Returns the results of applying the anonymous function to every key in currently in the datastore.

The argument to the anonymous function is i for the current item, i..e key, in the list.

stream/1

Takes a reference as returned by open/2, and constructs a stream of all key-value pairs in the referenced datastore.

Returns a Stream struct with the datastore's key-value pairs as its enumerable.

When calling Enum.take/2 or similar on the resulting stream, specifying more entries than are in the referenced datastore will not yield an error but simply return a list of all pairs in the datastore.

stream_keys/1

Takes a reference as returned by open/2, and constructs a stream of all the keys in the referenced datastore.

Returns a Stream struct with the datastore's keys as its enum field.

When calling Enum.take/2 or similar on the resulting stream, specifying more entries than are in the referenced datastore will not yield an error but simply return a list of all pairs in the datastore.

destroy/2

Remove a database, which implies that the database folder is deleted. Before calling destroy/2 the database has to be closed with close/1. Returns :ok on success and {:type, 'reason for error'} on error.

repair/2

This function takes the path to the leveldb database and a list of options. The standard recomended option is the empty list []. Before calling repair/2, close the connection to the database with close/1. Returns :ok on success and {:type, 'reason for error'} on error.

write/3

Performs a batch write to the datastore, either deleting or putting key-value pairs.

Takes a reference to an open datastore, a list of tuples (containing atoms for operations and strings for keys and values) designating operations (delete or put) to be done, and a list of options.

Returns :ok on success and {:error, reference, {:type, reason}} on error.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].