Commit Graph

197 Commits

Author SHA1 Message Date
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
a2ad264b39 chore: extract tests from sqlite_* files into their own module 2026-03-09 08:39:13 +01:00
f5f0f189fa chore: extract tests from catalog.rs into their own module implementation 2026-03-09 08:39:13 +01:00
dedfe7a5d2 chore: move Item outside of catalog test mod 2026-03-09 08:39:12 +01:00
d4ecd1a6cc chore: extract catalog function into their own impl file
also get rid of
- get_by_class_and_attribute
- list_by_class_and_attribute
2026-03-09 08:39:12 +01:00
e362188438 chore: remove useless dependencies used only during early development 2026-03-09 08:39:12 +01:00
0493a2ef66 doc: add an example to showcase how to work with class and subclass 2026-03-09 08:39:12 +01:00
c3594b6a3f feat: add entity.subclass index to db schema 2026-03-09 08:39:12 +01:00
314c9ce323 feat: add class and subclass to filter struct 2026-03-09 08:39:12 +01:00
276d6bd0bb test: add tests for catalog.list_by_class_and_subclass function 2026-03-09 08:39:12 +01:00
baa3fc9147 feat: add subclass to entity struct 2026-03-09 08:39:12 +01:00
c41e806817 doc: improve documentation of publicly available functions, structs and enums 2026-03-09 08:39:12 +01:00
1b10d350cc doc: add crate level documentation with working example 2026-03-09 08:39:12 +01:00
60f3e0023e doc: add filter example with multiple conditions 2026-03-09 08:39:12 +01:00
9ee86c9cde fix: set unique names for attribute table in case of multiple filter conditions 2026-03-09 08:39:12 +01:00
81bed07665 feat: handle comparisons =, >, <, >=, <= for condition real 2026-03-09 08:39:12 +01:00
bc9aee953c review: rewrite match statement for parameter building 2026-03-09 08:39:12 +01:00
95373731d2 feat: handle comparisons "ends with" and "contains" for text condition 2026-03-09 08:39:12 +01:00
ceecdd3912 feat: handle comparison "starts with" for text condition
- rewrite statement generation to handle errors
- align "exactly match" with case insensitiveness of starts with
2026-03-09 08:39:12 +01:00
b26e69b14d feat: handle comparison "is exactly" for text condition 2026-03-09 08:39:12 +01:00
9af3cb27c2 feat: add error handling during filter composition and new filter conditions for text matching 2026-03-09 08:39:12 +01:00
2e42afbb04 feat: handle comparisons =, >, <, >=, <= for unsigned int condition 2026-03-09 08:39:12 +01:00
01a6e2ce48 chore: run cargo format and delete empty lines in catalog.rs 2026-03-09 08:39:12 +01:00
45093a5672 feat: handle comparison "lesser or equal" for signed int contidion 2026-03-09 08:39:12 +01:00
3d6dfef254 feat: handle comparison "greater or equal" for signed int condition 2026-03-09 08:39:12 +01:00
3feb0d464e feat: handle comparison "lesser" for signed int condition 2026-03-09 08:39:12 +01:00
8e8e964e3f feat: handle comparison "greater" for signed int condition 2026-03-09 08:39:12 +01:00
377b232128 test: add test to catalog.load_by_filter function 2026-03-09 08:39:12 +01:00
423cadf821 review: remove useless redundant tests from sqlite_load_by_filter function 2026-03-09 08:39:12 +01:00
b43c705ad6 review: refactor inner join fragment creation using template and helper function 2026-03-09 08:39:12 +01:00
3ee7d97275 review: use INNER JOIN to create filter statement 2026-03-09 08:39:12 +01:00
9ac8cb1249 chore: run cargo format 2026-03-09 08:39:12 +01:00
c385dbf85f review: rewrite sqlite_build_params and remove useless tests 2026-03-09 08:39:11 +01:00
489492ab15 doc: add initial documentation for load_by_filter function in catalog 2026-03-09 08:39:11 +01:00
501ee9013a review: add review comments to sqlite_build_statement function 2026-03-09 08:39:11 +01:00
cca78b2b56 fix: check test assert with correct item 2026-03-09 08:39:11 +01:00
f2c7267b64 feat: add signed integer filter condition with equal comparison 2026-03-09 08:39:11 +01:00
5abdc4e133 feat: add placeholder implementation of comparison enum to allow different comparison operators 2026-03-09 08:39:11 +01:00
20a68aa018 feat: add load_by_filter to catalog with possibility to filter by bool attribute 2026-03-09 08:39:11 +01:00
c865c72c01 review: change trait requirements for EAV implementors 2026-03-09 08:39:11 +01:00
5b0aa07a07 feat: catalog state is changed after persist, in memory state reflects db 2026-03-09 08:39:11 +01:00
58e51f4f47 review: change trait req for entity unwrap* functions to TryFrom<Value> to handle errors 2026-03-09 08:39:11 +01:00
688f16d486 review: replace panic! with generic rusqlite error while mapping attributes 2026-03-09 08:39:11 +01:00
a5dcf7b54a test: add tests to sqlite_persist_catalog function 2026-03-09 08:39:11 +01:00
79fc4272b6 chore: delete test scenarios used during initial implementation 2026-03-09 08:39:11 +01:00
aa1ff02d6d chore: update comments using upsert instead of insert 2026-03-09 08:39:11 +01:00
6e517e5938 fix: change expected entity status in test after changing from insert to upsert 2026-03-09 08:39:11 +01:00
02178c018c test: add tests to sqlite_map_row_to_entity function 2026-03-09 08:39:11 +01:00
f9d2f1c4c0 test: add tests to sqlite_map_row_to_attribute function 2026-03-09 08:39:11 +01:00
3095a78c89 test: add tests to sqlite_load_by_id function 2026-03-09 08:39:11 +01:00