-
Timm Fitschen authoredTimm Fitschen authored
Code owners
Assign users and groups as approvers for specific file changes. Learn more.
To find the state of this project's repository at the time of any of these versions, check out the tags.
CHANGELOG.md 4.32 KiB
Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased]
Added
- Added a
_get_head_iversion
for non-api usage.
Changed
- Added a
versioned
flag to the following procedures:applyBackReference
applyIDFilter
applyPOV
applyRefPOV
makeStmt
calcComplementUnion
calcDifference
calcIntersection
finishSubProperty
getChildren
initEmptyTargetSet
initDisjunctionFilter
initEntity
initQuery
createTmpTable
- Added a
direct
column toarchive_isa
table
Deprecated
Removed
- unused procedures:
initNegationFilter
initConjunctionFilter
finishNegationFilter
Fixed
- Semi-fix in
retrieveEntityParents
. The old implementation was buggy and would return no parent name or even a wrong one for old entity versions in some cases. The semi-fix will allways return the current name of the parent (even if this is historically not always correct). A real fix awaits the implementation of versioned isa-relations which is already planned. - Bug in
retrieveOverrides
function where selecting the datatype of an old version resultet in an error. See corresponding test incaosdb-pyinttest
tests/test_versioning.py::test_datatype_without_name
Security
3.0.0 (2020-09-01)
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 functionis_feature_config
for checking whether thefeature_config
table has a particular value. - New
transactions
table. This is necessary for the ENTITY_VERSIONING feature and will replace thetransaction_log
table in the future. - Feature ENTITY_VERSIONING (experimental)
Switch off this feature with
DELETE FROM feature_config WHERE _key="ENTITY_VERSIONING"
and switch on withINSERT 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, thearchive_*_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 thereference_data
table for storing references to particular versions of an entity. - New
setFileProperties
andretrieveQueryTemplateDef
procedures which reduce server code and let the backend decide which tables to use. Also, this is necessary for the versioning, because these procedures behave differently depending on the ENTITY_VERSIONING feature being enabled or disabled. - Several functions and procedures for the interaction with the
entity_version
table and thetransactions
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.
- New
- New makefile targets for testing with MariaDB instance from Docker image: call
make test-docker
to temporarily start a Docker container with MariaDB which will be used for the unit tests.
Changed
- Removed
getFile
procedure.
Deprecated
- Table
transaction_log
is deprecated. The functionality is being replaced by thetransactions
table.
Fixed
- POV with the 'name' property, e.g.
FIND ENTITY WITH name = something
caosdb-server#51 - Fixed several bugs when an Entity inherits from itself (#18 (closed), caosdb-server #85).
- Bug in
updateEntity.sql
(when updating the primary name without a prior call todeleteEntityProperties
). Same thing fordeleteEntity
. - #21 (closed) Bug which prevented deletion of deeply inheriting entities, if versioning was enabled.