Skip to content
Snippets Groups Projects
Verified Commit 5b22d1e5 authored by Timm Fitschen's avatar Timm Fitschen
Browse files

DOC: CHANGELOG

parent fff412fa
No related branches found
No related tags found
No related merge requests found
......@@ -10,8 +10,40 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
### Added ###
* New `feature_config` table for storing configuration of features as key-value
pairs. Currently only used by the ENTITY_VERSIONING feature for switching
versioning on or off. Convenient function `is_feature_config` for checking
whether the `feature_config` table has a particular value.
* New `transactions` table. This is necessary for the ENTITY_VERSIONING feature
and will replace the `transaction_log` table in the future.
* ENTITY_VERSIONING (experimental)
Switch off this feature with `DELETE FROM feature_config WHERE
_key="ENTITY_VERSIONING"` and switch on with `INSERT INTO feature_config
(_key, _value) VALUES ("ENTITY_VERSIONING", "ENABLED")` This feature comes
with a lot of additions to the API. E.g.
* New `entity_version`.
* All `*_data` tables have a new twin, the `archive_*_data` table, where all
old versions of entities are stored. The `*_data` tables only contain the
data of the latest version.
* Additional `archive_isa` for the history entities' parents.
* Additional `_iversion` column for the `reference_data` table for storing
references to particular versions of an entity.
* New `setFileProperties` and `retrieveQueryTemplateDef` procedures which reduce server code and lets the
backend decide which tables to use. Also, this is necessary for the
versioning, because this procedure behaves differently depending on the
ENTITY_VERSIONING feature being enabled or disabled.
* Several functions and procedures for the interaction with the
`entity_version` table and the `transactions` table. E.g.
`insert_single_child_version`, `delete_all_entity_versions`,
`get_iversion`, `get_primary_parent_version`, `get_version_timestamp`,
`get_head_version`, `get_head_relative`, `get_version_history`.
The versions are tracked internally by the `_iversion` field which is an
integer and which should not be used outside of the backend.
### Changed ###
* removed `getFile` procedure.
### Deprecated ###
* Table `transaction_log` is deprecated. The functionality is being replaced by the `transactions` table.
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment