Commit Graph

239 Commits

Author SHA1 Message Date
_VIFEXTech 7dfed14304
[fdb_kvdb]: fix shadow warning (#272)
```bash
FlashDB/src/fdb_kvdb.c: In function ‘read_sector_info’:
FlashDB/src/fdb_kvdb.c:488:23: warning: declaration of ‘sector_cache’ shadows a previous local [-Wshadow]
  488 |         kv_sec_info_t sector_cache = get_sector_from_cache(db, sector->addr);
      |                       ^~~~~~~~~~~~
FlashDB/src/fdb_kvdb.c:421:19: note: shadowed declaration is here
  421 |     kv_sec_info_t sector_cache = get_sector_from_cache(db, addr);
      |                   ^~~~~~~~~~~~
```

Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
2024-01-02 13:55:00 +08:00
_VIFEXTech 760520564c
[fdb_kvdb] fix runtime error (#271)
```bash
FlashDB/src/fdb_kvdb.c:288:83: runtime error: left shift of 255 by 24 places cannot be represented in type 'int'
```

Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
2024-01-01 18:25:13 +08:00
Oleg Hahm 0594fdc957
[kvdb] Initialize only status explicitly (#267)
Co-authored-by: Oleg Hahm <oleg@riot-os.org>
2023-12-08 16:40:45 +08:00
Oleg Hahm 86f5550e60
[fdb] close stream pointer via fclose() (#268)
Co-authored-by: Oleg Hahm <oleg@riot-os.org>
2023-12-08 16:38:51 +08:00
armink c1226f337a [kvdb] update some log level. 2023-12-02 19:26:45 +08:00
armink 8056e17f29 [kvdb] remove unused lock. 2023-12-02 19:25:26 +08:00
armink 441d514da2 [fdb] update the version number to V2.1.0 2023-11-19 12:36:13 +08:00
armink 718f73fbe6 [fdb] Add file access cache in file mode. The GC speed is up 2X. 2023-11-19 12:34:43 +08:00
armink 189b22e0a4 [fdb] Improve the database lock uses in init function. 2023-11-19 12:32:30 +08:00
armink cb84e2c41d [fdb] Improve FDB_ALIGN_DOWN macro. The align input parameter NOT depends on 2^N align number. 2023-11-19 11:34:48 +08:00
armink 5ebf8e6e8f [kvdb] Add kvdb inergrity check API. 2023-11-19 11:32:19 +08:00
armink 7e91b05483 [fdb] Add the lock in database init function. 2023-11-19 11:30:45 +08:00
armink 2dea1b2b88 [kvdb] Add more error logs. 2023-11-19 11:27:23 +08:00
armink a2c442435c [kvdb] Improve the kvdb cache performance. The GC will be 8x faster in file mode. 2023-11-19 11:26:48 +08:00
armink 3dca512285 [kvdb] Improve the GC speed when in recovery mode. 2023-11-19 11:06:12 +08:00
_VIFEXTech dc6121b448
[fdb] fix warning (#258)
Signed-off-by: FASTSHIFT <vifextech@foxmail.com>
2023-11-12 13:27:43 +08:00
Valeriy Kucherenko 0d1b438947
Add ability to append TSDB value at specific timestamp (#256) 2023-11-09 19:27:52 +08:00
shihang-zhang a208b1555b
Fix invalid oldest address assignment (#255)
* fix: fix invalid oldest address assignment after gc the last traversed sector.
* feat: always update oldest address after sector GC.

---------

Co-authored-by: shihang zhang <shihang.zhang.ext@siemens.com>
2023-10-31 10:13:55 +08:00
tinic 7bdef5eab7
[fdb] Support 128bit write granularity for kvdb (#250)
* Support 128bit write granularity

The new stm32h5xx chips can only write quad words, i.e. 128bits.

* Update fdb_tsdb.c to include 128bit option
* Update fdb_cfg.h to include 64bit and 128bit option.
2023-10-17 10:01:43 +08:00
armink 12f3960307 [kvdb] Fix testcase error from #251 2023-10-16 21:25:01 +08:00
Lyon 7b2557f3e7
[kvdb] interrupt iteraotor when read_section_info fails (#251)
* interrupt iteraotor when read_section_info failed

* Update src/fdb_kvdb.c

Co-authored-by: 朱天龙 (Armink) <armink.ztl@gmail.com>

* Update src/fdb_kvdb.c

Co-authored-by: 朱天龙 (Armink) <armink.ztl@gmail.com>

---------

Co-authored-by: 朱天龙 (Armink) <armink.ztl@gmail.com>
2023-10-16 09:06:35 +08:00
armink deae3d1d3f [fdb] Fixed build error. 2023-10-15 15:00:10 +08:00
armink c02f3f8573 [fdb] Update the fdb file mode log. 2023-10-15 14:31:38 +08:00
armink 1c68317574 [tsdb] Improve fdb_tsl_query_count return value. Delete the tsl_append assert check. 2023-10-15 11:49:37 +08:00
armink ab4c69f302 [fdb] Improve the fdb_kv_iterate. Only crc check OK kv will be iterated. 2023-10-15 11:46:28 +08:00
armink 5a8d7d0842 [fdb] Remove sector continuous mode assert check. It may trigger accidentally when db meta info has an error. 2023-10-15 11:36:50 +08:00
armink 1d2fc750f9 [kvdb] update the log 2023-10-15 11:24:56 +08:00
armink c8dd4ebe63 [kvdb] Fixed an issue where KVDB may not be able to automatically recover under extreme circumstances 2023-10-15 11:22:13 +08:00
BecauseItIsThere 09fa698f95
[fdb] Relocate `#include<unistd.h>` (fixed #248) 2023-10-12 17:51:19 +08:00
朱天龙 (Armink) 530cffcab1
Merge pull request #247 from guoweilkd/master
fix db_lock()/db_unlock() not calling in pairs
2023-10-12 13:03:05 +08:00
guoweilkd 4aa2dbc6a4 fix FDB_ALIGN macro expansion errors 2023-10-12 11:01:02 +08:00
guoweilkd d2cae60cff fix db_lock()/db_unlock() not calling in pairs 2023-10-12 10:51:39 +08:00
fzi-haxel 56b658e522
[fdb]Replaced `~0UL` in max value checks (#243)
The actual value of `~0UL` is architecture dependent. The `unsigned long` type must be at least 32 bits, but can be larger.
Especially on 64-bit systems, `unsigned long` usually is 64 bits long, for which `~0UL` will result in `0xFFFFFFFFFFFFFFFF` instead of `0xFFFFFFFF`.
If this is the case, comparisons like `kv->len == ~0UL`, where `kv->len` is of type `uint32_t`, are always false.
This commit replaces `~0UL` with the appropriate max value defines from stdint.h.
2023-10-06 14:35:55 +08:00
DarryZh 3e441f6c26
[inc/fdb_low_lvl] fix An error occurred in FDB_ALIGN(size, align) when align is not 2 to the nth power (#233) 2023-08-17 18:01:48 +08:00
benpicco fab8a16180
[fdb] add missing assert.h include (#229) 2023-08-09 21:46:10 +08:00
benpicco a4e68ae965
[fdb] use native assert if FDB_USING_NATIVE_ASSERT is set (#228) 2023-08-09 19:55:20 +08:00
benpicco d01c0d48aa
[port/fal] add option to use native assert() (#225) 2023-08-08 10:36:07 +08:00
benpicco 07dcd7f035
[fdb] fix comparison of integer expressions of different signedness (#226) 2023-08-08 10:34:54 +08:00
grape-wzy cc1c6f4d9f
[kvdb] update _fdb_kv_load(fdb_kvdb_t db) (#219)
remove function declaration in fdb_low_lvl.h;
add static qualifier in fdb_kvdb.c
2023-06-10 13:30:15 +08:00
PostmanLinux 89796605c7
[kvdb] improve kvdb cache algo when key was first found (#218) 2023-06-05 22:53:41 +08:00
朱天龙 (Armink) 4e56774082 [fdb] add db path info for logs 2023-05-28 19:03:26 +08:00
朱天龙 (Armink) 8608140d88 [fdb] check some read error for file mode 2023-05-28 19:02:04 +08:00
朱天龙 (Armink) 55fd31eeb3 [fdb] update FDB_SECTOR_CACHE_TABLE_SIZE to 8 2023-05-28 19:01:06 +08:00
朱天龙 (Armink) 7451fbbdbe [tsdb] fix testcase heap-use-after-free error 2023-05-20 21:12:24 +08:00
朱天龙 (Armink) 9275b44f46 [kvdb] fix testcase build warning 2023-05-20 09:40:06 +08:00
朱天龙 (Armink) ec95540ebc [tsdb] update testcase only using file mode 2023-05-19 23:03:34 +08:00
朱天龙 (Armink) dab9d2bba9 [kvdb] add db size scale up testcase 2023-05-19 21:58:02 +08:00
朱天龙 (Armink) 3c80fa5679 [kvdb] add align padding for 64bit write granularity mode 2023-05-16 09:50:17 +08:00
朱天龙 (Armink) 53de94f82c [fdb] update the version number to 2.0.0 2023-05-14 22:00:41 +08:00
朱天龙 (Armink) a035ea3b2c [fdb] change some assert to error logs 2023-05-14 21:20:30 +08:00