Commit Graph

150 Commits

Author SHA1 Message Date
Philippe PITTOLI
42f3b4e5c0 Partition#delete "element" 2020-04-08 00:35:39 +02:00
c4223eabf1 Emergency fix for tags.
They’ll work, but they’ll still be super slow.
2020-04-07 23:29:29 +02:00
f8e4e6c343 Partition#get(unknown_partition) returns [] 2020-02-11 19:47:13 +01:00
74aff338ff Partition#delete test added 2020-02-11 19:45:54 +01:00
10b0061133 Partition#delete(partition_index, &matcher) 2020-02-11 16:53:06 +01:00
355f85d635 Index#update_or_create(key, value) added. 2020-02-02 14:18:03 +01:00
eb50b5c433 Adds tests for DODB::Index(V)#update(String, V). 2020-01-30 03:23:02 +01:00
364887bde3 WIP for indexing by multiple tags.
Basically, DODB::Tags#get(tags : Array(String)).
2020-01-29 16:59:39 +01:00
c2aa834a3a Makes the migration test more repeatable. 2020-01-17 13:07:41 +01:00
6dc3a6d2f7 Fixes reversed: true.
Hey crystal, why don’t you have reversed ranges?
2020-01-13 13:48:24 +01:00
65c607d9fc #to_h can also be reversed or be provided offsets. 2020-01-12 15:22:39 +01:00
011348b33a start_offset, end_offset added in each and to_a. 2020-01-12 15:12:01 +01:00
1bb5268602 Improved reverse searches a bit. 2020-01-12 14:50:10 +01:00
863bf369b8 #reverse_each, #reverse_each_with_index added. 2020-01-10 17:20:10 +01:00
787989b447 Exception message conventions. 2020-01-10 11:15:09 +01:00
603a65c6f4 Fixes a possible issue with DB reopening. 2020-01-07 16:06:18 +01:00
6dd5fc4637 README update. 2020-01-05 13:54:03 +01:00
b93130dc99 README fix. 2020-01-04 16:05:01 +01:00
52753bce14 DODB::Index(V): #update(String, V) and #delete(String) added. 2020-01-03 09:36:41 +01:00
375ef6c465 README added. 2020-01-02 12:14:59 +01:00
10448d6b0b Finalizes the DataBase(K, V) -> DataBase(V) change. 2019-12-28 03:24:05 +01:00
14825f4edd Improves #reindex_everything!. 2019-12-19 04:22:56 +01:00
3f53034b5a DataBase(K, V) becomes DataBase(V). 2019-12-18 03:43:09 +01:00
c4030d4179 Migration test and example. 2019-12-17 18:16:13 +01:00
4ff5c0c781 Files moved to match name update. 2019-12-12 00:44:05 +01:00
858d92970d reindex_everything! method added. 2019-12-12 00:01:02 +01:00
aec1dc2011 Name change.
This time it follows our project conventions.
2019-12-11 23:18:20 +01:00
472f173f6e Removed old, manual tests. 2019-12-11 22:44:24 +01:00
474613368a Crystal specs added. 2019-12-11 22:41:52 +01:00
675cb1cdd8 Custom exceptions for common errors. 2019-12-11 22:08:26 +01:00
8ba15394b7 File split, grooming. 2019-12-11 18:10:09 +01:00
fc21b48870 Name and namespace change.
This is very much a breaking change.
2019-12-11 18:05:02 +01:00
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
70209f963e Grooming, lots of internal changes, some API changes. 2019-12-11 04:13:06 +01:00
1fb7446e4a Fixes indices. Checks them before adding new elements. 2019-12-10 21:26:15 +01:00
7079e5ae91 Grooming. 2019-12-10 21:04:00 +01:00
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
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
7a46fa3872 get_nn_partition returns an empty array if no key has been indexed. 2019-11-20 00:32:32 +01:00
4858e5c4dc Test script for n-n partitions added.
Seriously, is that going to be their name? Is this how they *should* be
called? Is this how they *DESERVE* to be named?
2019-11-20 00:22:01 +01:00
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
ac3f94c017 Grooming. 2019-07-12 16:00:56 +02:00
80fd26fad2 FS::Hash#to_h 2019-01-02 01:36:17 +09:00
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
66fcfb76a1 Updated to become a shard. 2018-11-30 01:22:03 +09:00
0ef95ce452 Improved errors. 2018-11-22 22:28:41 +09:00
b3296bd1e5 WIP partitioning. 2018-11-20 07:35:49 +09:00
dd7e493507 Initial commit. 2018-11-20 05:06:36 +09:00