Commit Graph

97 Commits

Author SHA1 Message Date
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