Commit Graph

195 Commits

Author SHA1 Message Date
davidemazzocchi edc9d64744 fix: change mutability to ref while deleting items from catalog 2026-03-09 08:39:14 +01:00
davidemazzocchi 7718daddda chore: rename key parameter to id while checking for existence 2026-03-09 08:39:14 +01:00
davidemazzocchi 46ab14738d fix: update condition types after u64 deprecation from rusqlite update 2026-03-09 08:39:14 +01:00
davidemazzocchi 33e40fb634 fix: avoid init and writig db file during automatic tests 2026-03-09 08:39:14 +01:00
davidemazzocchi 9a10d75304 chore: clean useless conversion after ditching u64 2026-03-09 08:39:14 +01:00
davidemazzocchi 0f79f4adfb chore: sort alphabetically use directives in example 2026-03-09 08:39:14 +01:00
davidemazzocchi 1f9228f31e chore: update method name from load_by_class to load 2026-03-09 08:39:14 +01:00
davidemazzocchi b59cb0fb56 chore: upgrade rusqlite dependency to 0.38.0 2026-03-09 08:39:14 +01:00
davidemazzocchi 3b3e495254 chore: rename list_by_class to list 2026-03-09 08:39:14 +01:00
davidemazzocchi 7847394d13 chore: box structs into modules (catalog, eav, filter) 2026-03-09 08:39:14 +01:00
davidemazzocchi 4010149ea6 doc: document method catalog.ensure_init 2026-03-09 08:39:14 +01:00
davidemazzocchi 98e50faa4e feat: add method ensure_init runnable at will without overhead 2026-03-09 08:39:14 +01:00
davidemazzocchi e316ec83a3 chore: tidy redeclarations in lib.rs 2026-03-09 08:39:14 +01:00
davidemazzocchi 4428cd094f chore: rename load_by_class_and_subclass to load_by_subclass 2026-03-09 08:39:14 +01:00
davidemazzocchi cb0f0cfa31 chore: rename load_by_class to load 2026-03-09 08:39:14 +01:00
davidemazzocchi f86d53e16f chore: delete test database wrongly pushed 2026-03-09 08:39:14 +01:00
davidemazzocchi da74060d51 feat: return a vector of boxed error from catalog.for_each_mut
execution is not interrupted and user can raise any error implementing
Error trait
2026-03-09 08:39:14 +01:00
davidemazzocchi 222864389c chore: add Clone as Trait requirement for EAV 2026-03-09 08:39:14 +01:00
davidemazzocchi 91dc75b07b test: add base test for catalog.for_each_mut 2026-03-09 08:39:14 +01:00
davidemazzocchi e9b136341b doc: add documentation for catalog.for_each and catalog.for_each_mut 2026-03-09 08:39:14 +01:00
davidemazzocchi 34808ccf74 feat: allow predicate to generate an error and return it boxed 2026-03-09 08:39:14 +01:00
davidemazzocchi bbc6105452 test: add tests to catalog.for_each, set FnMut requirement for predicate 2026-03-09 08:39:14 +01:00
davidemazzocchi f8b8d4c9e3 chore: correct wrong category spelling 2026-03-09 08:39:14 +01:00
davidemazzocchi cd0679c20c feat: add catalog.for_each_mut to apply changes to all items iteratively 2026-03-09 08:39:13 +01:00
davidemazzocchi 23a6ccf8fc feat: add catalog.for_each to inspect all items iteratively 2026-03-09 08:39:13 +01:00
davidemazzocchi 20078034c5 feat: add PartialEq trait requirement to EAV 2026-03-09 08:39:13 +01:00
davidemazzocchi 2ecee20145 feat: add catalog.get_by in order to get items given a predicate 2026-03-09 08:39:13 +01:00
davidemazzocchi 2aa1e7cb46 doc: update documentation of catalog.persist 2026-03-09 08:39:13 +01:00
davidemazzocchi 44f548562b doc: update documentation of catalog.upsert 2026-03-09 08:39:13 +01:00
davidemazzocchi 8a23cfc34d doc: update documentation of catalog.load_by_class 2026-03-09 08:39:13 +01:00
davidemazzocchi 7a250201b3 doc: update ducomentation of catalog.load_by_filter 2026-03-09 08:39:13 +01:00
davidemazzocchi 5a15a018ab doc: update documentation of catalog.load_by_id 2026-03-09 08:39:13 +01:00
davidemazzocchi 25a39ce54c doc: update documentation of catalog.insert_many 2026-03-09 08:39:13 +01:00
davidemazzocchi 6a8351b4d6 doc: update documentation of catalog.init 2026-03-09 08:39:13 +01:00
davidemazzocchi dcffe956fd doc: update documentation of catalog.get 2026-03-09 08:39:13 +01:00
davidemazzocchi 14469c7229 chore: add a space for convenient jumping 2026-03-09 08:39:13 +01:00
davidemazzocchi 00d8ebdb38 test: add two more field to struct Item to test i32 and u32 values 2026-03-09 08:39:13 +01:00
davidemazzocchi cfcacefe9a test: add properties to Item struct to improve test code coverage for Entity 2026-03-09 08:39:13 +01:00
davidemazzocchi 54d4d7511a chore: run cargo update to latest minor versions 2026-03-09 08:39:13 +01:00
davidemazzocchi 7446f0db1c fix: call proper method to get entity id 2026-03-09 08:39:13 +01:00
davidemazzocchi 7398de4559 fix: set proper mutability level for with_items call 2026-03-09 08:39:13 +01:00
davidemazzocchi 2fa3e423e5 chore: add warning for missing documentation 2026-03-09 08:39:13 +01:00
davidemazzocchi f7ab450e2c review: make entity fields private; expose id and subclass 2026-03-09 08:39:13 +01:00
davidemazzocchi 6ef36e2068 doc: update documentation to reach higher coverage 2026-03-09 08:39:13 +01:00
davidemazzocchi a38b96a667 test: add test for thread safety; remove mut for upsert and persist 2026-03-09 08:39:13 +01:00
davidemazzocchi 6f6df06be2 wip: add test for thread safety 2026-03-09 08:39:13 +01:00
davidemazzocchi e1178f7126 chore: restore examples after thread safety feature 2026-03-09 08:39:13 +01:00
davidemazzocchi 645e7560b3 chore: restore lib example after thread safety feature 2026-03-09 08:39:13 +01:00
davidemazzocchi bc4ac445c9 feat: set catalog as thread safe
wip: add a thread safe way to access items; change upsert

wip: change catalog.delete to be thread safe

wip: change catalog.load_by_* to be thread safe

wip: add a thread safe way to access items in readonly mode; change
catalog.get

wip: change catalog.persist to be thread safe

wip: disable examples temprarily

wip: remove catalog_new.rs file

wip: ignore result of iteration

wip: disable lib example

wip: enable catalog.delete tests

wip: enable catalog.get tests

wip enalbe catalog.init tests

wip: enable catalog.insert_many tests

wip: enable catalog.load_by_class tests

wip: enable catalog.load_by_id tests

wip: add len() and is_empty() convenience thread safe method to catalog

wip: use convenience methods for len and is_empty checks

wip: enable catalog.load_by_id and catalog.new tests

wip: enable catalog.upsert tests

wip: enable catalog.persist test; add catalog.contains_key

wip: enable catalog.load_by_filter tests

wip: enable sqlite_* tests

wip: enable list_by_class with tests

wip: enable list_by_class_and_subclass with tests

wip: enable integration tests

wip: switch iter to into_iter for tests
2026-03-09 08:39:13 +01:00
davidemazzocchi a2ad264b39 chore: extract tests from sqlite_* files into their own module 2026-03-09 08:39:13 +01:00