72 Commits

Author SHA1 Message Date
Dmitriy Ryajov
6c06a3b095
Adding batching capabilities (#37)
* adding batch entry

* add batched put and delete

* add batched tests

* adding batching capabilities to remaining stores

* open db in readonly mode

* make naming consistent

* release prepared statements

* don't use deprecated add

* check file exists on test exit

* remove unused var
2022-09-30 08:24:26 -06:00
Dmitriy Ryajov
308b5c08be
Better fsds path sanitization (#31)
* add better path sanytizing

* rebase master

* Bugfixed and moved all checks into path()

* added check for empty basename in order to avoid bug in isValidFilename
* refactored - all filename checks are moved into path() function that constructs this filename

Co-authored-by: Bulat-Ziganshin <bulat.ziganshin@gmail.com>
2022-09-29 11:56:24 -06:00
Dmitriy Ryajov
f5dadd93be
Adding mounted store (#33)
* adding monted store

* misc spelling

* adding mounted store tests to suite

* split out key

* relaxed key initialization

* always mount and lookup by path

* cleaned up and reorged tests

* test lookup by path

* add re-exports

* more re-exports

* fix warnings and re-exports
2022-09-21 18:13:50 -06:00
Dmitriy Ryajov
446de6f978
Fsds query (#32)
* add basic query capabilities to fsds

* rename common tests

* make query tests common

* sanitize key

* check it's possible to query keys at same level
2022-09-20 18:18:33 -06:00
Dmitriy Ryajov
02167bb69e
Add proper sqlite query support (#30)
* Add query support for sqlite backend

* basic tests with in memory ds

* remove `close` default implementation
2022-09-20 14:41:54 -06:00
Dmitriy Ryajov
8775b2d49a
Merge pull request #29 from status-im/refactor
Refactor datastore to prepare for proper query support
2022-09-20 14:12:08 -04:00
Dmitriy Ryajov
e6430b6b85
close db 2022-09-20 09:51:28 -06:00
Dmitriy Ryajov
a3781edc6a
remove path sanitization for now, address in upcoming pr 2022-09-20 09:16:56 -06:00
Dmitriy Ryajov
bb387650ab
exclude windows from protected dirs checking 2022-09-19 23:19:38 -06:00
Dmitriy Ryajov
a045aa4ef1
close db 2022-09-19 23:11:57 -06:00
Dmitriy Ryajov
b4b90485ef
wip 2022-09-19 23:11:47 -06:00
Dmitriy Ryajov
29577b6dd7
paths are already sanitized, removing allowed 2022-09-19 23:01:10 -06:00
Dmitriy Ryajov
309ac94f21
test invalid char on windows 2022-09-19 22:40:46 -06:00
Dmitriy Ryajov
fc842663bb
implement close method for sqlite 2022-09-19 22:40:01 -06:00
Dmitriy Ryajov
68f3f86cd9
fix invalid identation on nim 1.6.6 2022-09-19 22:31:24 -06:00
Dmitriy Ryajov
1dfc30f64a
more valid chars 2022-09-19 22:28:58 -06:00
Dmitriy Ryajov
5f6acbd88d
add numbers as allowed chars 2022-09-19 22:27:08 -06:00
Dmitriy Ryajov
17c4ff92a4
use proper os separator depending on OS 2022-09-19 22:21:10 -06:00
Dmitriy Ryajov
f9cfab5cbc
commend out query for now 2022-09-19 17:29:32 -06:00
Dmitriy Ryajov
9901e71a88
add basic tests to tired ds 2022-09-19 17:23:19 -06:00
Dmitriy Ryajov
39258e5f73
remove null ds 2022-09-19 17:14:15 -06:00
Dmitriy Ryajov
c60ff35bdd
cleanup tired db tests 2022-09-19 17:14:06 -06:00
Dmitriy Ryajov
1f97a923fa
fix query basic test 2022-09-19 17:13:46 -06:00
Dmitriy Ryajov
c0f6e38fda
cleanup tiered ds 2022-09-19 17:13:34 -06:00
Dmitriy Ryajov
7f9c319b98
export sqlds 2022-09-19 17:13:20 -06:00
Dmitriy Ryajov
ec4015a404
proper query iterator interface 2022-09-19 17:13:11 -06:00
Dmitriy Ryajov
60e0ea5573
get rid of null datastore 2022-09-19 17:12:52 -06:00
Dmitriy Ryajov
2680789884
missing key should return appropriate error 2022-09-19 17:12:34 -06:00
Dmitriy Ryajov
5e30230a9f
default implementation for close 2022-09-19 17:12:16 -06:00
Dmitriy Ryajov
f5c7a3c02b
add common basic tests 2022-09-19 15:54:29 -06:00
Dmitriy Ryajov
86b13495f1
rename tests 2022-09-19 15:54:19 -06:00
Dmitriy Ryajov
36655e318a
cleanup tests 2022-09-19 15:53:38 -06:00
Dmitriy Ryajov
4d43447ef2
add sql top level export 2022-09-19 15:53:24 -06:00
Dmitriy Ryajov
bdc10c27fd
rename tired datastore 2022-09-19 15:53:13 -06:00
Dmitriy Ryajov
9fcf719d0f
rename null datastore 2022-09-19 15:53:00 -06:00
Dmitriy Ryajov
24d161d4b4
more cleanup 2022-09-19 15:52:46 -06:00
Dmitriy Ryajov
437ae2e035
add proper query interface 2022-09-19 15:52:34 -06:00
Dmitriy Ryajov
b380d09d6b
rename fsstore to fsds 2022-09-19 15:52:00 -06:00
Dmitriy Ryajov
c7df334836
rename sql tests 2022-09-16 21:15:43 -06:00
Dmitriy Ryajov
5d29ad905d
add sql backend tests 2022-09-16 21:15:28 -06:00
Dmitriy Ryajov
77807d8948
wip: rework sql store tests 2022-09-16 21:15:08 -06:00
Dmitriy Ryajov
13bc02f595
split out and cleanup sql lite store 2022-09-16 21:14:31 -06:00
Dmitriy Ryajov
acd77c5385
rename and cleanup fs store tests 2022-09-16 21:14:02 -06:00
Dmitriy Ryajov
2390839406
rename and cleanup fs store 2022-09-16 21:13:25 -06:00
Dmitriy Ryajov
f0f979539f
cleanup key tests 2022-09-16 21:13:03 -06:00
Dmitriy Ryajov
b150b2f922
cleanup key 2022-09-16 21:12:49 -06:00
Dmitriy Ryajov
78653d9dd4
wip 2022-09-12 12:30:52 -06:00
Dmitriy Ryajov
07a8734b93
Merge pull request #26 from status-im/simplify-key
simplify key api
2022-09-12 11:46:28 -04:00
Dmitriy Ryajov
ed6842b743
simplify key api 2022-09-10 13:50:05 -06:00
Michael Bradley, Jr
2769ce1de2 refactor Datastore impls so root/basePath creation is user's responsibility 2022-08-08 16:33:54 -05:00