Karchnu
eb96444401
bugfix
2020-07-18 00:40:37 +02:00
Karchnu
fd73bc437f
Factoring.
2020-07-18 00:37:29 +02:00
Karchnu
f8c0222593
CachedDB OK
2020-07-18 00:11:11 +02:00
Karchnu
ae2b4801c1
Better requirements handling.
2020-07-17 10:39:40 +02:00
Karchnu
99b8b5e20b
For now, DODB::DataBase::Cached works only without indexes.
2020-07-16 23:37:52 +02:00
Karchnu
ba9d2fb48c
reversed
2020-07-16 20:04:13 +02:00
Karchnu
835537ed83
Send the right exception for missing entry.
2020-07-16 19:50:10 +02:00
Karchnu
5d662e4225
Adding cached.cr to the repository.
2020-07-16 18:40:11 +02:00
Luka Vandervelden
800d139a3d
WIP for lock files and atomic operations.
2020-06-24 21:45:45 +02:00
Luka Vandervelden
b413570d61
Typo in a comment, duh
2020-06-24 21:03:01 +02:00
Philippe PITTOLI
e457a80399
index#update(new_value) : index is automatically retrieved.
2020-04-19 18:18:53 +02:00
Philippe PITTOLI
42f3b4e5c0
Partition#delete "element"
2020-04-08 00:35:39 +02:00
Luka Vandervelden
c4223eabf1
Emergency fix for tags.
...
They’ll work, but they’ll still be super slow.
2020-04-07 23:29:29 +02:00
Luka Vandervelden
f8e4e6c343
Partition#get(unknown_partition) returns []
2020-02-11 19:47:13 +01:00
Luka Vandervelden
10b0061133
Partition#delete(partition_index, &matcher)
2020-02-11 16:53:06 +01:00
Luka Vandervelden
355f85d635
Index#update_or_create(key, value) added.
2020-02-02 14:18:03 +01:00
Luka Vandervelden
364887bde3
WIP for indexing by multiple tags.
...
Basically, DODB::Tags#get(tags : Array(String)).
2020-01-29 16:59:39 +01:00
Luka Vandervelden
6dc3a6d2f7
Fixes reversed: true.
...
Hey crystal, why don’t you have reversed ranges?
2020-01-13 13:48:24 +01:00
Luka Vandervelden
65c607d9fc
#to_h can also be reversed or be provided offsets.
2020-01-12 15:22:39 +01:00
Luka Vandervelden
011348b33a
start_offset, end_offset added in each and to_a.
2020-01-12 15:12:01 +01:00
Luka Vandervelden
1bb5268602
Improved reverse searches a bit.
2020-01-12 14:50:10 +01:00
Luka Vandervelden
863bf369b8
#reverse_each, #reverse_each_with_index added.
2020-01-10 17:20:10 +01:00
Luka Vandervelden
787989b447
Exception message conventions.
2020-01-10 11:15:09 +01:00
Luka Vandervelden
603a65c6f4
Fixes a possible issue with DB reopening.
2020-01-07 16:06:18 +01:00
Luka Vandervelden
52753bce14
DODB::Index(V): #update(String, V) and #delete(String) added.
2020-01-03 09:36:41 +01:00
Luka Vandervelden
10448d6b0b
Finalizes the DataBase(K, V) -> DataBase(V) change.
2019-12-28 03:24:05 +01:00
Luka Vandervelden
14825f4edd
Improves #reindex_everything!.
2019-12-19 04:22:56 +01:00
Luka Vandervelden
3f53034b5a
DataBase(K, V) becomes DataBase(V).
2019-12-18 03:43:09 +01:00
Luka Vandervelden
c4030d4179
Migration test and example.
2019-12-17 18:16:13 +01:00
Luka Vandervelden
4ff5c0c781
Files moved to match name update.
2019-12-12 00:44:05 +01:00
Luka Vandervelden
858d92970d
reindex_everything! method added.
2019-12-12 00:01:02 +01:00
Luka Vandervelden
aec1dc2011
Name change.
...
This time it follows our project conventions.
2019-12-11 23:18:20 +01:00
Luka Vandervelden
474613368a
Crystal specs added.
2019-12-11 22:41:52 +01:00
Luka Vandervelden
675cb1cdd8
Custom exceptions for common errors.
2019-12-11 22:08:26 +01:00
Luka Vandervelden
8ba15394b7
File split, grooming.
2019-12-11 18:10:09 +01:00
Luka Vandervelden
fc21b48870
Name and namespace change.
...
This is very much a breaking change.
2019-12-11 18:05:02 +01:00
Luka Vandervelden
ca712f98ce
API improvements.
...
```
p = hash.new_partition("table-name")
p.get "partition-name"
```
Also works for indices and tags.
2019-12-11 17:58:35 +01:00
Luka Vandervelden
70209f963e
Grooming, lots of internal changes, some API changes.
2019-12-11 04:13:06 +01:00
Luka Vandervelden
1fb7446e4a
Fixes indices. Checks them before adding new elements.
2019-12-10 21:26:15 +01:00
Luka Vandervelden
7079e5ae91
Grooming.
2019-12-10 21:04:00 +01:00
Luka Vandervelden
1a1380d674
Renamed “N-N partitions” to “tags”.
...
Increased version number in shard.yml due to the implied API changes.
2019-12-10 20:50:25 +01:00
Luka Vandervelden
2f00b56f0c
Proper replacement of values.
...
It’s no longer needed to `hash.delete old_data`, `hash[id] = new_data`.
Previously existing data are properly de-indexed, then replaced by the
new data, which are then properly re-indexed. As you’d expect from a
database thingy.
2019-12-10 20:28:49 +01:00
Luka Vandervelden
7a46fa3872
get_nn_partition returns an empty array if no key has been indexed.
2019-11-20 00:32:32 +01:00
Luka Vandervelden
2a92cacbb3
WIP n-n partitions (is that the right name?)
2019-11-20 00:16:34 +01:00
Philippe PITTOLI
f0a766322d
Adding indexes.
2019-07-26 12:34:37 +02:00
Philippe PITTOLI
594906bcc7
corruption prevention
2019-07-24 02:19:57 +02:00
Luka Vandervelden
ac3f94c017
Grooming.
2019-07-12 16:00:56 +02:00
Luka Vandervelden
80fd26fad2
FS::Hash#to_h
2019-01-02 01:36:17 +09:00
Luka Vandervelden
027c7598eb
Missing .to_s added.
...
Index/partition keys can now be non-string without build-time error.
2018-12-17 00:49:45 +09:00
Luka Vandervelden
66fcfb76a1
Updated to become a shard.
2018-11-30 01:22:03 +09:00