48 Commits

Author SHA1 Message Date
kdeme
a48aaf2215
Allow setting max open files in RocksDbInstance init 2019-07-16 15:51:52 +02:00
Jacek Sieka
60faf6af17
std_shims -> stew 2019-07-07 12:11:27 +02:00
Ștefan Talpalaru
234c7d2756
Merge branch 'buildnim' 2019-06-18 18:31:15 +02:00
Ștefan Talpalaru
9d309f07d5
add .appveyor.yml; use build_nim.sh and build_rocksdb.sh 2019-06-18 17:27:18 +02:00
andri lim
22ab21a5ef add readonly option 2019-04-01 11:29:19 +03:00
Ștefan Talpalaru
2e858e6b9a
assert() -> doAssert() 2019-03-14 00:12:27 +01:00
Ștefan Talpalaru
dce00a6ff8 don't allow failures on OSX 2019-01-20 11:45:52 +02:00
Ștefan Talpalaru
65493e8bac enable OSX for Travis 2019-01-20 11:45:52 +02:00
Ștefan Talpalaru
d6018fac5c fix Travis tests on macOS 2019-01-20 11:45:52 +02:00
Ștefan Talpalaru
0860aee591 tests refactoring
- added "--threads:on"
- fixed the Nim API tests and moved them to unittest
- added copyright header
- combined the 2 test file into tests/all.nim and set that as the
  Nimble test target
- had Travis run that
- new "tempfile" dependency to create proper tempfiles + deleting them
  at the end
- copied the error string to RocksDBResult
2019-01-20 11:45:52 +02:00
Bruno Škvorc
f8d6165bd5 License update to respect original repo (#16) 2019-01-03 14:04:11 +01:00
Bruno Škvorc
d9c51b8051
Update README.md 2019-01-02 14:57:34 +01:00
Ștefan Talpalaru
3c0ab43e1e use dynamic linking instead of dlopen on all Linux distros
- also document the need for "librocksdb-dev" on Debian
2018-12-26 23:52:42 +02:00
Jacek Sieka
d8cfc392bc
fix license files 2018-11-14 12:57:17 -06:00
Yuriy Glukhov
e2433f0651 Use native linking on Arch linux. 2018-10-02 21:17:42 +03:00
Yuriy Glukhov
1edab645d9 Distinguish empty values from non existent 2018-09-07 16:30:36 +03:00
Jacek Sieka
68ac74e64f
readme: update license 2018-09-05 12:48:31 -06:00
Jacek Sieka
6e8871f4c7
readme: fix license, badges 2018-09-04 23:02:57 -06:00
Jacek Sieka
c1e11e7f75
remove example from README - linked code is more recent 2018-08-16 13:13:34 -06:00
Yuriy Glukhov
c84ff3309c
Merge pull request #9 from status-im/rocksdb-wrapper-fixes
Rocksdb wrapper fixes
2018-08-16 18:19:29 +03:00
Jacek Sieka
e48a45bd44
reuse read and write options
* fixes segfault in del
* fixes initResource freeing options before they get used
* fixes failing test cases
* avoids reallocating options on every access
* deallocates fields in reverse creation order
2018-08-16 09:13:13 -06:00
Jacek Sieka
e05b1a411d
remove partial ABI version again, turns out travis has 4.x installed! 2018-08-15 20:45:20 -06:00
Jacek Sieka
9a10f01a27
add more version info to linked library - this is better but still wrong 2018-08-15 20:33:38 -06:00
Jacek Sieka
cfb1059f34
compile fixes for second test (why didn't nimble test catch these?) 2018-08-15 20:16:57 -06:00
Jacek Sieka
0f6b9ffe8f
disable optimization that requires snappy
this causes early test failures when rocksdb is compiled without it
2018-08-15 20:08:03 -06:00
Jacek Sieka
4b73bca449
fix error parameter type and memory leak
* error is a pointer to a cstring that the API will allocate on error
* if an error is returned, it must be free'd
* note missing tests for when error happens
2018-08-15 19:56:18 -06:00
Jacek Sieka
d510091a5b
fix string conversion for void results
value does not exist for void
2018-08-15 19:52:53 -06:00
Yuriy Glukhov
4675336fae
Merge pull request #8 from status-im/dry
Dry up types and pragmas
2018-08-02 15:51:25 +03:00
Yuriy Glukhov
291621b828 Mooore type safety 2018-07-30 19:34:36 +03:00
Yuriy Glukhov
55e19b4521 Example updated 2018-07-30 12:57:42 +03:00
Yuriy Glukhov
ca28e4e3cf Test fixup 2018-07-30 12:25:27 +03:00
Yuriy Glukhov
ba0aa8e5db Dry up types and pragmas 2018-07-30 12:12:50 +03:00
Yuriy Glukhov
607af3c1aa Removed header dependency (#7) 2018-07-27 10:55:25 +02:00
Yuriy Glukhov
840d470eb9 Fixed pkg struct (#5) 2018-07-04 14:09:03 +02:00
Yuriy Glukhov
ea32db3c8f
Merge pull request #4 from status-im/fix-tests
Fixed tests
2018-07-04 14:46:52 +03:00
Yuriy Glukhov
c5b8fa823f Fixed tests 2018-07-04 14:41:03 +03:00
Zahary Karadjov
92ac374a55 address review comment 2018-06-25 15:59:23 +03:00
Zahary Karadjov
419b97e132 Add a basic higher-level API
The API is still very basic and suffering from multiple Nim issues
that will be resolved in the near future:

* destructors will handle the resource cleanup better
* converter concepts will enable a wider range of possible types
  to be used as keys and values.

The API currently uses an ErrorResult type to communicate errors,
but RocksDB doesn't seem to have many recoverable failure modes
and I anticipate that the API will be migrated to use exceptions
once we get a bit more experience with RocksDB.

The C interface file was moved to a separate directory to make
nimble happy (`nimble check`).
2018-06-25 15:59:23 +03:00
Mamy Ratsimbazafy
eb2bd02c5a
Fix Travis Continuous Integration + adapt to non null-terminated C string (#1) 2018-02-05 22:19:33 +01:00
mratsim
1af9394d71 Hoping for Travis docker to work 2018-02-04 02:10:08 +01:00
mratsim
130cc07f84 Add Travis CI 2018-02-04 01:05:35 +01:00
mratsim
01077e71a0 Add test suite 2018-02-04 00:55:41 +01:00
mratsim
6a7fa44b99 Add nimble file 2018-01-27 17:18:38 +01:00
mratsim
89b94bc135 Add nim-rocksdb usage example 2018-01-27 17:01:14 +01:00
mratsim
5fea270681 Fix simple import (mangle rules + opaque type definition) 2018-01-27 16:08:45 +01:00
mratsim
19655472eb Add wrapper for RocksDB C API 2018-01-27 15:03:19 +01:00
mratsim
e3c68e3c0a Add RocksDB header (439855a774/include/rocksdb/c.h) 2018-01-27 14:22:56 +01:00
mratsim
9f1e0b5ae1 initial commit 2018-01-27 11:34:54 +01:00