Abbrev. | Description
--- | ---
W | write (explicit transaction)
w | write (implicit transaction)
R | read (explicit transaction)
r | read (implicit transaction)
x | not used
n | used for notifications
D | dynamic list modified
d | dynamic list accessed
I | instance modified
i | instance accessed
S | subscription modified
s | subscription accessed
T | table modified
t | table accessed
+ | management struct modified
| b | read lock on base
B | write lock on base
e | read transaction on eph
E | write transaction on eph
m | read transaction on main
M | write transaction on main

Location | Function | main | eph | base | locking order | notify | Notes
--- | --- | --- | --- | --- | --- | --- | ---
folder.cpp:1466 | copy_folder_internal | W | x | n | M(b) | dynamic_event | notification in transaction
folder.cpp:250 | create_folder | W | x | n | M(b) | folder_creation |
folder.cpp:815 | delete_folder | W | x | n | M(B) | dynamic_event, delete_dynamic, link_deletion, message_deletion, folder_deletion | notification in transaction
folder.cpp:949 | empty_folder | W | x | n | M(B) | dynamic_event, link_deletion, message_deletion | notification in transaction
folder.cpp:1938 | empty_folder_permission | w | x | x |  |  |
folder.cpp:2150 | empty_folder_rule | w | x | x |  |  |
folder.cpp:479 | get_folder_all_proptags | r | x | x |  |  |
folder.cpp:31 | get_folder_by_class | R | x | x |  |  |
folder.cpp:230 | get_folder_by_name | r | x | x |  |  |
folder.cpp:139 | get_folder_class_table | R | x | x |  |  |
folder.cpp:1924 | get_folder_perm | R | x | x |  |  |
folder.cpp:505 | get_folder_properties | r | x | x |  |  |
folder.cpp:2406 | get_public_folder_unread_count | R | x | x |  |  |
folder.cpp:1682 | get_search_criteria | R | x | x |  |  |
folder.cpp:1012 | is_descendant_folder | R | x | x |  |  |
folder.cpp:212 | is_folder_deleted | r | x | x |  |  |
folder.cpp:201 | is_folder_present | r | x | x |  |  |
folder.cpp:1532 | movecopy_folder | W | x | n | M(B) | dynamic_event, folder_movecopy | notification in transaction
folder.cpp:554 | remove_folder_properties | W | x | n | M(b) | folder_modification |
folder.cpp:84 | set_folder_by_class | W | x | x |  |  |
folder.cpp:518 | set_folder_properties | W | x | n | M(b) | folder_modification |
folder.cpp:1777 | set_search_criteria | W | x | n | M(B) | dynamic_event, update_dynamic, delete_dynamic | notification in transaction
folder.cpp:2118 | update_folder_permission | W | x | x |  |  |
folder.cpp:2165 | update_folder_rule | W | x | x |  |  |
ics.cpp:97 | get_content_sync | R | x | x |  |  |
ics.cpp:631 | get_hierarchy_sync | R | x | x |  |  |
instance.cpp:553 | clear_message_instanct | x | x | I |  |  |
instance.cpp:2889 | copy_instance_attachments | x | x | I |  |  |
instance.cpp:2778 | copy_instance_rcpts | x | x | I |  |  |
instance.cpp:1166 | create_attachment_instance | x | x | I+ |  |  |
instance.cpp:1304 | delete_message_instance_attachment | x | x | I |  |  |
instance.cpp:2811 | empty_message_instance_attachment | x | x | I |  |  |
instance.cpp:2576 | empty_message_instance_rcpts | x | x | I |  |  |
instance.cpp:1339 | flush_instance | x | x | I |  |  |
instance.cpp:471 | get_embedded_cn | x | x | i |  |  |
instance.cpp:1589 | get_instance_all_proptags | x | x | i |  |  |
instance.cpp:1887 | get_instance_properties | x | x | i |  |  |
instance.cpp:2847 | get_message_instance_attachment_table_all_proptags | x | x | i |  |  |
instance.cpp:2830 | get_message_instance_attachments_num | x | x | i |  |  |
instance.cpp:2651 | get_message_instance_rcpts | x | x | i |  |  |
instance.cpp:2612 | get_message_instance_rcpts_all_proptags | x | x | i |  |  |
instance.cpp:2595 | get_message_instance_rcpts_num | x | x | i |  |  |
instance.cpp:2552 | is_descendant_instance | x | x | i |  |  |
instance.cpp:1123 | load_attachment_instance | x | x | I+ |  |  |
instance.cpp:390 | load_embedded_instance | W | x | I+ | M(B[)] |  |
instance.cpp:317 | load_message_instance | R | x | I+ | b(m) |  |
instance.cpp:2924 | query_message_instance_attachment_table | x | x | i |  |  |
instance.cpp:1218 | read_attachment_instance | x | x | i |  |  |
instance.cpp:931 | read_message_instance | x | x | i |  |  |
instance.cpp:491 | reload_message_instance | R | x | I | m(B) |  |
instance.cpp:2536 | remove_instance_properties | x | x | I |  |  |
instance.cpp:2433 | set_instance_properties | x | x | I |  |  |
instance.cpp:2989 | set_message_instance_conflict | x | x | I |  |  |
instance.cpp:1515 | unload_instance | x | x | I+ |  |  |
instance.cpp:2722 | update_message_instance_rcpts | x | x | I |  |  |
instance.cpp:1233 | write_attachment_instance | x | x | I |  |  |
instance.cpp:980 | write_message_instance | x | x | I |  |  |
message.cpp:1021 | allocate_message_id | W | x | x |  |  |
message.cpp:1272 | clear_submit | W | x | x |  |  |
message.cpp:483 | delete_messages | W | x | n | M(B[)] | dynamic_event, message_deletion | batch mode
message.cpp:3626 | deliver_message | W | x | n | M(B) | dynamic_event, new_mail, message_creation |
message.cpp:1134 | get_change_pgrp | r | x | x |  |  |
message.cpp:705 | get_message_brief | r | x | x |  |  |
message.cpp:1045 | get_pgm_id | r | x | x |  |  |
message.cpp:869 | get_message_properties | r | x | x |  |  |
message.cpp:852 | get_message_rcpts | R | x | x |  |  |
message.cpp:1408 | get_message_timer | r | x | x |  |  |
message.cpp:830 | is_msg_deleted | r | x | x |  |  |
message.cpp:791 | is_msg_present | R | x | x |  |  |
message.cpp:1314 | link_message | W | x | n | M(B) | dynamic_event, link_creation |
message.cpp:1214 | mark_modified | W | x | x |  |  |
message.cpp:114 | movecopy_message | W | x | n | M(B) | dynamic_event, message_movecopy | notification in transaction
message.cpp:255 | movecopy_messages | W | x | n | M(B[)] | dynamic_event, message_movecopy | batch mode
message.cpp:3869 | read_message | R | x | x |  |  |
message.cpp:925 | remove_message_properties | W | x | n | M(B) | dynamic_event, message_modification |
message.cpp:3897 | rule_new_message | W | x | n | M(B) | dynamic_event, message_creation |
message.cpp:1088 | save_change_pgrp | w | x | x |  |  |
message.cpp:1071 | set_pgm_id | w | x | x |  |  |
message.cpp:890 | set_message_properties | W | x | n | M(B) | dynamic_event, message_modification |
message.cpp:959 | set_message_read_state | W | x | n | M(B) | dynamic_event, message_modification |
message.cpp:1388 | set_message_timer | w | x | x |  |  |
message.cpp:1241 | try_mark_submit | W | x | x |  |  |
message.cpp:1360 | unlink_message | w | x | n | M(B) | dynamic_event, link_deletion |
message.cpp:3788 | write_message_v2 | W | x | n | M(B) | dynamic_event, message_modification, message_creation |
store.cpp:307 | allocate_cn | W | x | x |  |  |
store.cpp:324 | allocate_ids | W | x | x |  |  |
store.cpp:469 | check_contact_address | R | x | x |  |  |
store.cpp:33 | get_all_named_propids | R | x | x |  |  |
store.cpp:97 | get_mapping_guid | r | x | x |  |  |
store.cpp:110 | get_mapping_replid | W | x | x |  |  |
store.cpp:220 | get_mbox_perm | R | x | x |  |  |
store.cpp:71 | get_named_propids | W | x | x |  |  |
store.cpp:87 | get_named_propnames | r | x | x |  |  |
store.cpp:154 | get_store_all_proptags | r | x | x |  |  |
store.cpp:172 | get_store_properties | r | x | x |  |  |
store.cpp:196 | remove_store_properties | W | x | x |  |  |
store.cpp:183 | set_store_properties | W | x | x |  |  |
store.cpp:364 | subscribe_notification | x | x | S+ |  |  |
store.cpp:427 | transport_new_mail | x | x | s |  |  |
store.cpp:413 | unsubscribe_notification | x | x | S+ |  |  |
store2.cpp:480 | purge_datafiles | R | x | x |  |  |
store2.cpp:267 | purge_softdelete | W | x | n | M(B) | folder_deletion | notification in transaction
store2.cpp:538 | recalc_store_size | W | x | x |  |  |
table.cpp:2920 | collapse_table | x | W | t | b(E[)] |  |
table.cpp:2810 | expand_table | x | W | t | b(E[)] |  |
table.cpp:2618 | get_table_all_proptags | R | r | t | m(b) |  |
table.cpp:1039 | load_content_table | R | W | T+ | m(E, B) |  |
table.cpp:209 | load_hierarchy_table | R | W | T+ | E(m), B |  |
table.cpp:1148 | load_permission_table | r | W | T+ | E, B |  |
table.cpp:1318 | load_rule_table | R | W | T+ | E(m), B |  |
table.cpp:2324 | locate_table | x | x | t |  |  |
table.cpp:2557 | mark_table | x | r | t |  |  |
table.cpp:2292 | match_table | R | R | t | b(m) | b(m(e)) |  |
table.cpp:1873 | query_table | R | R | t | b(m) | b(m(e)) |  |
table.cpp:2529 | read_table_row | R | R | t | b(m) | b(m(e)) |  |
table.cpp:1065 | reload_content_table | R | W | n, T+ | B(m(E)) | cttbl_reload |
table.cpp:3284 | restore_table_state | x | W | t | B(E) |  |
table.cpp:3008 | store_table_state | x | R | t | b(e) |  |
table.cpp:284 | sum_content | r | x | x |  |  |
table.cpp:191 | sum_hierarchy | R | x | x |  |  |
table.cpp:1404 | sum_table | x | r | x |  |  |
table.cpp:1382 | unload_table | x | w | T+ | B, e |  |
db_engine.cpp:3870 | cttbl_reload | x | x | t |  |  |
db_engine.cpp:2288 | folder_creation | R | W | n, s, t |  | folder_modification |
db_engine.cpp:2948 | folder_deletion | R | W | s, t |  |  |
db_engine.cpp:3735 | folder_modification | R | W | s, t |  |  |
db_engine.cpp:3817 | folder_movecopy | R | W | n, s, t |  | folder_modification |
db_engine.cpp:2107 | link_creation | R | W | n, s, t |  | folder_modification |
db_engine.cpp:2851 | link_deletion | R | W | n, s, t |  | folder_modification |
db_engine.cpp:2078 | message_creation | R | W | n, s, t |  | folder_modification |
db_engine.cpp:2820 | message_deletion | R | W | n, s, t |  | folder_modification |
db_engine.cpp:3556 | message_modification | R | W | n, s, t |  | folder_modification |
db_engine.cpp:3764 | message_movecopy | R | W | n, s, t |  | folder_modification |
db_engine.cpp:2044 | new_mail | R | W | n, s, t |  | folder_modification |
db_engine.cpp:977 | delete_dynamic | x | x | D+ |  |  |
db_engine.cpp:1160 | dynamic_event | R | x | d, n |  | dynamic_event, link_creation, link_deletion |
db_engine.cpp:950 | update_dynamic | x | x | D+ |  |  |