Bug
Duplicate write messes up index
Issue description
When a POST service calls a modifying method of an indexed statement type on the same object twice with different values. The index seems to only reflect the first modification, but not the second one.
Developer comments
Example:
[%$some_thing = Tobject::_get($some_id);
$some_thing->set_flag(false);
$some_thing->set_flag(true);%]
In the failing service, the second call was inside an extractor during an import. Maybe that makes a difference.
Long and difficult fix since regressions appeared. Changes are now strictly applied in their original order. Previously they were grouped by type: first deletions, then insertions, then updates. This caused the error since a %set% call in the api gets translated into a %deleteall% followed by an %add%. Multiple setA calls on one subject thus resulted in multiple statements in the index independently of cardinality restrictions. (since all deletions were preformed first, followed by setA, setA, setA). Since getA retrieves the first A, the oldest A was returned.
|
Work sessions3
Start |
2019-08-12T11:47:11
|
End |
2019-08-12T13:27:26
|
Participant |
Robert Cerny
|
Start |
2019-08-12T19:24:55
|
End |
2019-08-12T22:13:49
|
Participant |
Robert Cerny
|
Start |
2019-08-13T07:20:33
|
End |
2019-08-13T14:53:20
|
Participant |
Robert Cerny
|
|
We are sorry
This page cannot be displayed in your browser. Use Firefox, Opera, Safari, or Chrome instead.