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
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
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
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
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
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.
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.
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.