Error List
So every backend additionally needs a third array that is executed in error scenarios during kdbSet(). Plugins responsible for the cleanup, rollback or error notification are inserted into it.
The resolver plugin requires this error list to do a proper rollback. Another use case is logging after a failure has happened.
Placements
The ordering of plugins inside these three arrays is controlled by elektra-contracts(7). Each of the three arrays has ten slots. These slots have names to be referred to in the contract.
Here you see a table that contains all names:
0 prerollback getresolver setresolver 1 prerollback pregetstorage presetstorage 2 prerollback pregetstorage presetstorage 3 prerollback pregetstorage presetstorage 4 prerollback pregetstorage presetstorage 5 rollback getstorage setstorage 6 postrollback postgetstorage precommit 7 postrollback postgetstorage commit 8 postrollback postgetstorage postcommit 9 postrollback postgetstorage postcommit
how the placement is influenced using infos/placement, infos/ordering and infos/stacking as described in CONTRACT.ini.