Commit Graph

18 Commits

Author SHA1 Message Date
Rene Pfeuffer
ce01cfc602 Add unit tests for micrometer / Wrap data stores with proxies
Squash commits of branch feature/store_metering:

- Wrap jaxb stores with proxies to get micrometer insights

- Handle exceptions from proxy

- User meter for queryable stores, too

- Log change

- Change name for metrics

- Fix imports

- Rename invocation handler

- Change change log

- Replace RuntimeException

- Merge branch 'develop' into feature/store_metering

- Add store type to description of timer

- Fix measuring methods for queryable store

- License

- Simplify usage of wrapper

- Rename class

- Remove unnecessary condition
2025-08-12 20:48:53 +02:00
René Pfeuffer
b060e48233 Synchronize Map in IdFieldFinder tp avoid concurrent exception 2025-06-26 09:44:17 +02:00
Rene Pfeuffer
a2d14e7167 Allow distinct results and projections in queryable stores
Squash commits of branch feature/distinct:

- Try distinct

- Split projection and distinct flag

- Log change

- Support distinct count
2025-06-25 10:45:47 +02:00
Viktor Egorov
a50f82c1ea Fix SQLite connection string 2025-06-24 11:07:12 +02:00
Rene Pfeuffer
7c9aa016d8 Implement read-only check for queryable stores
Squash commits of branch feature/write_protected_queryable_store:

- Bootstrap read-only check for queryable stores

- Use class name instead of static string

- Fix build breaker

- Log change

- Add unit tests

- Clean up

- Merge branch 'develop' into feature/write_protected_queryable_store
2025-06-19 16:19:45 +02:00
Rene Pfeuffer
4b49748561 Introduce HikariCP as connection pool
Squash commits of branch feature/hikari:

- Introduce HikariCP as connection pool

- Log change

- Close maintenance stores correctly

- Do not force minimum number of connections

- Log change

- Assert stores are closed correctly

... and test QueryableStoreDeletionHandler

- Fix license

- Fix unit tests

- Use constants

- Change change log

- Move hikari version to libraries

- Enhance documentation

- Use configuration for pool settings
2025-06-19 09:41:03 +02:00
Rene Pfeuffer
4536af9fcb Implement 'like' condition for string values
Squash commits of branch feature/like_query_for_string:

- Implement 'like' condition for string values

- Log change

- Enhance tests

- Fix JavaDoc

- Add more tests
2025-06-13 12:06:53 +02:00
Rene Pfeuffer
cc48945200 Add auto-increment ids for queryable types
Squash commits of branch feature/auto_increment:

- Bootstrap auto-increment key option

- Fix changelog

- Document stuff

- Fix unit test

- Documentation

- Use id generator in unit test extension

- Do not use mockito for type descriptor in tests

- Clean up

- Fix indentation

- Fix code formatting

- Clean up
2025-06-13 12:00:37 +02:00
Rene Pfeuffer
18821f5301 Add option to order string fields numerically
Squash commits of branch feature/sort_options:

- Add option to order string fields numerically

- Enhance JavaDoc
2025-06-12 13:39:57 +02:00
Till-André Diegeler
60b672cf59 Introduce retain and deleteAll for queryable stores 2025-06-10 15:59:31 +02:00
René Pfeuffer
c262038d22 Fix timestamps in tests for queryable stores 2025-06-10 10:34:29 +02:00
Anna Vetcininova
7b32d6233c Bugfix orderby for an IdQueryField(ID)
Squash commits of branch bugfix/orderby-id:

- Bugfix orderby for an IdQueryField(ID)

- Add changelog for the bugfix ordering by ID field

- Add second unit test to order by name and id
2025-06-04 14:58:37 +02:00
René Pfeuffer
72d4b65539 Enable slf4j logging in storage unit tests 2025-06-04 13:04:14 +02:00
Till-André Diegeler
b0b58d4e4f Add IdField for consistent id assignment
This change is supposed to solve the problem where the same id may occur in both the payload and the actual table column.
2025-06-02 14:37:43 +02:00
Rene Pfeuffer
c8d3e00f16 Do not use mockito for tests with queryable types
Using mockito is fine as long as one does not try to create
a huge amount of data. In this case it might happen, that
mockito needs a lot of memory (probably to track single
calls to methods) and in doing so might spoil load tests
and such.
2025-05-08 13:34:17 +02:00
Rene Pfeuffer
82b7ad16ea Fix export of queryable stores with multiple parent IDs 2025-04-30 11:51:03 +02:00
Rene Pfeuffer
01e8d493d2 Add aggregate functions and streams in queryable store
First, aggregate functions for minimum, maximum, sum and average
have been added to the queryable store API. These can be used
with the query fields, which have been enhanced for this.

Second, an additional stream like API has been added to retrieve
collections to avoid the creation of huge result objects.
2025-04-09 13:12:33 +02:00
Rene Pfeuffer
ada575d871 Add queryable store with SQLite implementation
This adds the new "queryable store" API, that allows complex
queries and is backed by SQLite. This new API can be used
for entities annotated with the new QueryableType annotation.
2025-04-01 16:18:04 +02:00