Commit Graph

73 Commits (master)

Author SHA1 Message Date
Philippe PITTOLI 401578c77d Index: change `get_key` to either walk the FS or the cached db index. 2024-05-07 14:53:03 +02:00
Philippe PITTOLI bb6d9a26f7 Don't clone data by default. User can clone only when relevant. 2024-05-07 13:05:01 +02:00
Philippe PITTOLI cab18cd26b Call a simpler function. 2024-05-07 01:37:46 +02:00
Philippe PITTOLI b4460e59fa For cached databases: clone the requested value to avoid problems. 2024-05-07 01:34:15 +02:00
Philippe PITTOLI 351df7426f Fix partition implementation. 2024-05-07 00:03:07 +02:00
Philippe PITTOLI b590cb9e0f Only catches "File Not Found" error while deleting a value in dodb.cr. 2024-05-07 00:01:31 +02:00
Philippe PITTOLI 8dfbe28986 Fix cached indexes not working when databases aren't reindexed on start. 2024-05-06 23:52:17 +02:00
Philippe PITTOLI 7404411ec5 MissingEntry -> KeyError 2024-05-06 21:24:34 +02:00
Philippe PITTOLI 8a585a2679 MissingEntry -> KeyError 2024-05-06 20:32:27 +02:00
Philippe PITTOLI 0dc384dd79 Enable "get?" functions for partitions and tags. 2024-05-06 20:20:07 +02:00
Philippe PITTOLI 183432eb32 Cached indexes by default. 2024-05-06 18:31:52 +02:00
Philippe PITTOLI 061e945384 Add cached indexes (index, partition, tag): we are now 500x faster. 2024-05-06 13:02:14 +02:00
Philippe PITTOLI f5c9d1a7f2 Remove ".json" suffix in the generated files. 2024-05-06 11:47:07 +02:00
Philippe PITTOLI 96f290eb40 Add a warning message on directed graphs. 2024-05-06 11:38:22 +02:00
Philippe PITTOLI 197af64c83 Way faster searches by indexes (index, partition, tags) with a cached DB. 2024-05-05 00:43:15 +02:00
Philippe PITTOLI 9fed7145e5 Index: print the symlink path on collision. 2024-05-02 23:41:21 +02:00
Karchnu bcfe5d44d6 Tags should now be working as expected. 2024-04-26 23:26:56 +02:00
Karchnu 7584c3acc0 Rewrite of the tag mechanism. Tests are needed. 2024-04-26 19:35:00 +02:00
Philippe Pittoli 35f5c52cbc O_EXCL is now correctly implemented in std. 2023-05-03 03:52:10 +02:00
Luka Vandervelden 4792d8878f Preserves incoming links on deindex. 2020-10-29 18:03:46 +01:00
Luka Vandervelden db7fddb803 Fixes symlink broken in some situations. 2020-10-29 14:47:52 +01:00
Luka Vandervelden 692e26e816 DirectedGraph fixes. 2020-10-29 14:32:52 +01:00
Luka Vandervelden 909eb776e3 Fixes an indexing issue in DirectedGraph.
The issue was linked to absolute paths being prepended.
2020-10-29 14:27:37 +01:00
Luka Vandervelden 0599e8bfe5 Experimental DODB::DirectedGraph feature. 2020-10-29 04:30:56 +01:00
Karchnu a1d1fd99d4 To many "'". 2020-10-21 23:26:33 +02:00
Luka Vandervelden d0813205e6 Locks and exception-resilience. 2020-07-24 13:31:05 +02:00
Karchnu 4fe2719f31 Merge branch 'master' + DODB::CachedDataBase. 2020-07-21 13:25:48 +02:00
Karchnu 161a6e1f44 Adding cached operations DODB::CachedDataBase(V). 2020-07-21 12:49:32 +02:00
Luka Vandervelden 48cf3c23be Fixes issues related to parallel updates. 2020-07-20 15:04:17 +02:00
Luka Vandervelden 2dd42f3a30 Some tests and extra code for parallelization of DODB. 2020-07-20 14:23:10 +02:00
Luka Vandervelden 9990a3ac1b DODB.no_index, Storage#new_nilable_index.
The APIs are still a bit experimental at this point, but the feature is
very likely to stay.
2020-07-15 17:19:27 +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