digraph G { node [shape=record]; "fle2_cleanup_cmd" [label="fle2_cleanup_cmd\n Locks: sourceDb(=targetDb) IX"]; "fle2_compact_cmd" [label="fle2_compact_cmd\n Locks: sourceDb(=targetDb) IX"]; "oplog_RenameCollection" [label="oplog.cpp renameCollection\n Locks: None"]; "capped_utils.cpp" [label="capped_utils.cpp\n Locks: sourceDb IX, sourceColl X, targetColl X"]; "resharding_data_copy_util.cpp" [label="resharding_data_copy_util.cpp\n Locks: None"]; "rename_collection_participant.cpp" [label="rename_collection_participant.cpp\n Locks: None"]; "rename_collection_cmd.cpp" [label="rename_collection_cmd.cpp\n Locks: None"]; "internal_rename_if_options_and_indexes_match_cmd.cpp" [label="internal_rename_if_options_and_indexes_match_cmd.cpp\n Locks: None"]; "NonShardServerProcessInterface::renameIfOptionsAndIndexesHaveNotChanged" [label="NonShardServerProcessInterface::renameIfOptionsAndIndexesHaveNotChanged\n Locks: None"]; "resharding_data_copy_util.cpp" -> "renameCollection()"; "capped_utils.cpp" -> "renameCollection()"; "fle2_cleanup_cmd" -> "validateAndRunRenameCollection()"; "fle2_compact_cmd" -> "validateAndRunRenameCollection()"; "rename_collection_participant.cpp" -> "validateAndRunRenameCollection()"; "rename_collection_cmd.cpp" -> "validateAndRunRenameCollection()"; oplog_RenameCollection -> "renameCollectionForApplyOps()"; "internal_rename_if_options_and_indexes_match_cmd.cpp" -> "doLocalRenameIfOptionsAndIndexesHaveNotChanged()"; "NonShardServerProcessInterface::renameIfOptionsAndIndexesHaveNotChanged" -> "doLocalRenameIfOptionsAndIndexesHaveNotChanged()"; subgraph cluster_rename_collection_cpp { label="rename_collection.cpp"; "renameCollectionForApplyOps()" [label="renameCollectionForApplyOps()\n Locks: sourceDb IX, sourceColl S, targetDb X"]; "doLocalRenameIfOptionsAndIndexesHaveNotChanged()" [label="doLocalRenameIfOptionsAndIndexesHaveNotChanged()\n Locks: None"]; "validateAndRunRenameCollection()" [label="validateAndRunRenameCollection()\n Locks: None"] "renameCollection()" [label="renameCollection()\n Locks: None"] subgraph cluster_rename_collection_cpp_unnamed { label="rename_collection.cpp (unnamed namespace)"; "renameCollectionWithinDB()" [label="renameCollectionWithinDB()\n Locks: db IX, sourceColl X, targetColl X"]; "renameCollectionAcrossDatabases()" [label="renameCollectionAcrossDatabases()\n Locks: sourceDb IX, sourceColl S, targetDb X, ~targetDb, tmpColl IX, ~sourceColl, ~sourceDb"] "renameCollectionWithinDBForApplyOps()" [label="renameCollectionWithinDBForApplyOps()\n Locks: sourceDb X"] } "doLocalRenameIfOptionsAndIndexesHaveNotChanged()" -> "validateAndRunRenameCollection()"; "validateAndRunRenameCollection()" -> "renameCollection()"; "renameCollection()" -> "renameCollectionWithinDB()"; "renameCollection()" -> "renameCollectionAcrossDatabases()"; "renameCollectionForApplyOps()" -> "renameCollectionWithinDBForApplyOps()"; "renameCollectionForApplyOps()" -> "renameCollectionAcrossDatabases()"; "renameCollectionAcrossDatabases()" -> "renameCollectionWithinDB()"; } }