Commit Graph

39 Commits

Author SHA1 Message Date
Mike Haller 97feb53ded Index pattern not always honored
When creating an index with CreateIndex, a pattern is used to specify
the matching keys that should be stored in the index. It is therefore
unexpected that items that do not match the pattern will be presented to
the less function that is also supplied on CreateIndex.  This change
corrects that problem by applying the pattern in two paths previously
not considered:

1. When an item is replaced in the database.
2. When an item is deleted from the database.
2021-06-15 17:26:56 -06:00
tidwall a41516f180 Fix reload calculation incorrect 2021-03-30 15:36:40 -07:00
tidwall d7ed6a747a Ignore incomplete tail commands and allow for null padding
This commit allows for BuntDB to load data files that were
previously considered invalid or corrupted.

Now when the data file ends with an incomplete command, the data
will be truncated at the end of the previously success command.
Also when a null control character is encountered instead of an
asterix, which indicates the start of a command, the null is
ignored and the cursor moves to the next byte. This allows for
null padding at the head and the tail.

Fixes #71
https://github.com/tidwall/tile38/issues/600
2021-03-29 14:06:22 -07:00
tidwall 13599ea482 Added test 2021-01-10 06:54:16 -07:00
tidwall 14666ffbfc Fix go test output 2020-10-26 16:32:22 -07:00
dc0d 9962a94df0 adding OnExpiredSync callback 2018-03-04 12:00:42 +03:30
Josh Baker 0a064e7588 Nearby operation (kNN) 2018-01-12 16:38:11 -07:00
Josh Baker b67b1b8c16 Added AscendEqual and DescendEqual
AscendEqual and DescendEqual return only the items that equal
a specified value.

Closes #26
2017-08-24 07:40:00 -07:00
Josh Baker 74dc10171b exported Begin/Commit/Rollback, fixes #16 2016-12-02 09:37:38 -07:00
Josh Baker 27d3577d74 added case-insensitive matching for indexes, fixes #14 2016-10-14 10:29:34 -07:00
Josh Baker 68706df6a5 go lint/vet fixes 2016-10-06 11:32:22 -07:00
Josh Baker be5b9f115e added grect lib 2016-10-06 07:16:32 -07:00
Josh Baker 6dbb18799b updated buffer writing 2016-10-02 07:14:14 -07:00
Josh Baker 454b94d04a transactional indexes 2016-09-29 15:54:51 -07:00
Josh Baker 6cd540fffb added GetLess and GetRect tx functions 2016-09-05 14:29:50 -07:00
Josh Baker c3fbd8b1d2 more tests 2016-09-03 10:14:09 -07:00
Josh Baker b559e28540 added DeleteAll function 2016-09-02 19:19:17 -07:00
Josh Baker d570a6fba9 Return error when mutating during iteration. Fixes #12 2016-09-02 10:05:14 -07:00
Josh Baker 7cc7ccf899 key pattern iteration 2016-08-30 11:58:39 -07:00
Josh Baker 74368e4f86 import match package 2016-08-30 07:21:50 -07:00
Josh Baker c5d75aaa71 unicode wildcard patterns 2016-08-29 18:45:29 -07:00
Josh Baker 9f0b48341d Load and Save for :memory: databases 2016-08-28 17:35:46 -07:00
Josh Baker 7fb2c48afb track ttl between database reopens, fixes #11 2016-08-23 08:09:19 -07:00
Josh Baker 066fbb7901 descending indexes 2016-08-19 11:56:43 -07:00
Josh Baker 18e872e092 replaced bufferedwriter with bytes.buffer 2016-08-19 10:06:03 -07:00
Josh Baker 9301f51db3 fixed set return value 2016-08-18 13:21:46 -07:00
Josh Baker 1daaa16172 multi value indexes 2016-08-18 09:08:30 -07:00
Josh Baker fe766585d1 fix large buffers 2016-08-14 08:23:04 -07:00
rojazz1999 49f1ba4845 Ascend* & Descend* results should be limited by the item's value when an index is provided 2016-08-09 15:17:44 +08:00
Josh Baker 93806b18dc added JSON indexes 2016-08-02 17:24:56 -07:00
Josh Baker 6330ea23c9 added error check 2016-07-28 19:42:35 -07:00
Josh Baker ff93c0d8e9 new shrink algorithm. better error checks. 2016-07-28 19:38:51 -07:00
Josh Baker 624feadea5 fixed govet golint typos 2016-07-24 10:20:55 -07:00
Josh Baker 270260e081 change Config to ReadConfig and better cleanup code 2016-07-24 10:14:37 -07:00
Josh Baker d121dd81dd optional no-persist with :memory: path. benchmarks 2016-07-23 10:20:38 -07:00
Josh Baker 4622c7d04b added database config options
- SyncPolicy - Adjusts hoe often the data is synced to disk.
This can beNever, EverySecond, or Always. The default is EverySecond.

- AutoShrink - Controls how often the append-only log can grow before
it gets resized. The default is 5x the number of items in the database.
2016-07-20 10:47:41 -07:00
Josh Baker d3df98bcf9 added TTL function 2016-07-20 09:40:09 -07:00
Anthony Olurin d16ddf8b06 go_vet, mispell and golint 2016-07-20 08:57:29 -04:00
Josh Baker 7875d65f2a initial commit 2016-07-19 15:15:00 -07:00