| buildConstraintTransitionEdits(Map, Collection) |  | 0% |  | 0% | 10 | 10 | 36 | 36 | 1 | 1 |
| collectMutationTableKeysWithoutLock(ConstraintManager.MetastoreConstraintMutation) |  | 0% |  | 0% | 8 | 8 | 34 | 34 | 1 | 1 |
| rebuildForeignKeyReferences() |  | 0% |  | 0% | 9 | 9 | 28 | 28 | 1 | 1 |
| canonicalizeExternalTableName(TableNameInfo, String, boolean, boolean) |  | 0% |  | 0% | 10 | 10 | 19 | 19 | 1 | 1 |
| dropConstraintsReferencingColumnsWithoutLock(TableNameInfo, Collection) |  | 0% |  | 0% | 6 | 6 | 20 | 20 | 1 | 1 |
| renameTablesWithoutLock(Map) |   | 53% |   | 57% | 8 | 14 | 18 | 41 | 0 | 1 |
| cleanupConstraintReferencesOutsideCatalog(String, Constraint, String) |   | 8% |   | 12% | 8 | 9 | 20 | 23 | 0 | 1 |
| validateTableAndColumns(TableNameInfo, Constraint) |  | 0% |  | 0% | 6 | 6 | 24 | 24 | 1 | 1 |
| snapshotConstraintsWithoutLock(Collection) |  | 0% |  | 0% | 4 | 4 | 12 | 12 | 1 | 1 |
| applyMetastoreConstraintMutationWithoutLock(ConstraintManager.MetastoreConstraintMutation) |  | 0% |  | 0% | 7 | 7 | 10 | 10 | 1 | 1 |
| constraintReferencesColumn(Constraint, String) |  | 0% |  | 0% | 7 | 7 | 14 | 14 | 1 | 1 |
| checkNoReferencingForeignKeys(TableNameInfo) |   | 23% |   | 10% | 5 | 6 | 12 | 19 | 0 | 1 |
| acquireFrontendAdmission() |   | 41% |   | 41% | 6 | 7 | 11 | 22 | 0 | 1 |
| dropConstraintInternal(TableNameInfo, String, List, boolean) |   | 63% |   | 62% | 5 | 9 | 7 | 26 | 0 | 1 |
| registerForeignKeyReference(TableNameInfo, ForeignKeyConstraint) |   | 56% |   | 58% | 5 | 7 | 5 | 23 | 0 | 1 |
| resolveTableForValidation(TableNameInfo) |   | 40% |   | 50% | 3 | 4 | 13 | 23 | 0 | 1 |
| findConstraintWithColumn(TableNameInfo, String) |   | 41% |   | 25% | 4 | 5 | 6 | 14 | 0 | 1 |
| migrateFromTable(TableNameInfo, Map) |  | 0% |  | 0% | 3 | 3 | 11 | 11 | 1 | 1 |
| checkConstraintNotExistence(String, Constraint, Map) |   | 44% |   | 66% | 2 | 4 | 4 | 9 | 0 | 1 |
| getCatalogConstraintRelatedTables(String) |  | 0% | | n/a | 1 | 1 | 8 | 8 | 1 | 1 |
| validateDistributionMappingConstraint(TableNameInfo, TableIf, DistributionMappingConstraint) |   | 79% |   | 58% | 5 | 7 | 5 | 30 | 0 | 1 |
| dropAndRenameConstraints(TableNameInfo, TableNameInfo) |   | 76% |   | 68% | 4 | 9 | 5 | 28 | 0 | 1 |
| applyMetastoreConstraintMutation(ConstraintManager.MetastoreConstraintMutation, List) |   | 67% |   | 62% | 3 | 5 | 6 | 20 | 0 | 1 |
| collectConstraintRelatedTables(Map, TableNameInfo, Map) |   | 69% |   | 64% | 4 | 8 | 3 | 14 | 0 | 1 |
| hasRelevantConstraintsWithoutLock(ConstraintManager.MetastoreConstraintMutation) |   | 75% |   | 55% | 3 | 7 | 1 | 9 | 0 | 1 |
| acquireFrontendAdmissionForMapping() |   | 48% |   | 50% | 2 | 3 | 5 | 12 | 0 | 1 |
| validateColumnsExist(TableIf, Collection, String) |   | 50% |   | 75% | 1 | 3 | 1 | 5 | 0 | 1 |
| validateFrontendVersionsForDistributionMappingConstraint() |   | 70% |   | 66% | 2 | 4 | 2 | 11 | 0 | 1 |
| acquireFrontendAdmissionFence() |   | 51% |   | 75% | 1 | 3 | 4 | 9 | 0 | 1 |
| lambda$dropConstraintsReferencingColumnsWithoutLock$10(Map, TableNameInfo, String, Constraint) |  | 0% |  | 0% | 2 | 2 | 5 | 5 | 1 | 1 |
| addConstraint(TableNameInfo, String, Constraint, TableIf, TableIf, boolean) |   | 87% |   | 81% | 4 | 12 | 3 | 29 | 0 | 1 |
| lambda$getCatalogConstraintRelatedTables$13(Map, Map.Entry) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| swapTableConstraints(TableNameInfo, TableNameInfo) |   | 86% |   | 83% | 2 | 7 | 2 | 22 | 0 | 1 |
| dropReplayOrder(Constraint) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| addReplayOrder(Constraint) |  | 0% |  | 0% | 3 | 3 | 3 | 3 | 1 | 1 |
| swapPrimaryKeyForeignTables(PrimaryKeyConstraint, TableNameInfo, TableNameInfo) |   | 71% |   | 37% | 4 | 5 | 2 | 8 | 0 | 1 |
| dropConstraintsReferencingColumns(TableNameInfo, Collection) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| markCatalogConstraintsUntrusted(String) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| removeTableLocalConstraint(TableIf, String) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| namesEqual(String, String, boolean) |  | 0% |  | 0% | 2 | 2 | 1 | 1 | 1 | 1 |
| lambda$renameCatalog$21(String, TableNameInfo) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getConstraint(TableNameInfo, String) |   | 76% |   | 50% | 2 | 3 | 2 | 10 | 0 | 1 |
| swapForeignKeyReference(ForeignKeyConstraint, TableNameInfo, TableNameInfo) |   | 63% |   | 50% | 3 | 4 | 3 | 8 | 0 | 1 |
| resolveTableIfPresent(TableNameInfo) |   | 33% | | n/a | 0 | 1 | 3 | 4 | 0 | 1 |
| copyConstraint(Constraint) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$hasRelevantConstraintsWithoutLock$23(ConstraintManager.MetastoreConstraintMutation, Constraint) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$renameDatabaseWithoutLock$18(String, String, TableNameInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildConstraintTransitionEdits$35(List, ConstraintManager.ConstraintLogEntry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildConstraintTransitionEdits$34(List, ConstraintManager.ConstraintLogEntry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$collectMutationTableKeysWithoutLock$29(String, String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$dropConstraintsReferencingColumnsWithoutLock$9(Map.Entry, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| restoreTableConstraints(TableNameInfo, TableIf) |   | 92% |   | 71% | 4 | 8 | 2 | 21 | 0 | 1 |
| isConstraintReadUntrustedWithoutLock(TableNameInfo) |   | 90% |   | 75% | 4 | 9 | 3 | 16 | 0 | 1 |
| validateResolvedConstraint(TableNameInfo, TableIf, TableIf, Constraint) |   | 90% |   | 80% | 2 | 6 | 1 | 18 | 0 | 1 |
| reconcileUntrustedCatalogConstraints(String) |   | 68% |   | 50% | 1 | 2 | 1 | 5 | 0 | 1 |
| lambda$getCatalogConstraintRelatedTables$12(String, Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| renameCatalog(String, String) |   | 88% |   | 50% | 1 | 2 | 1 | 12 | 0 | 1 |
| lambda$buildConstraintTransitionEdits$33(ConstraintManager.ConstraintLogEntry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildConstraintTransitionEdits$32(ConstraintManager.ConstraintLogEntry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$hasRelevantConstraintsWithoutLock$22(Constraint, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$dropConstraintsReferencingColumnsWithoutLock$11(TableNameInfo, Constraint) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| getConstraintsByType(TableNameInfo, Class) |   | 92% |   | 87% | 1 | 5 | 1 | 14 | 0 | 1 |
| getConstraints(TableNameInfo) |   | 87% |   | 75% | 1 | 3 | 1 | 10 | 0 | 1 |
| lambda$migrateFromTable$36(String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$collectMutationTableKeysWithoutLock$28(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$collectMutationTableKeysWithoutLock$27(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$collectMutationTableKeysWithoutLock$26(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$hasRelevantConstraintsWithoutLock$25(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$hasRelevantConstraintsWithoutLock$24(String, String) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$restoreTableConstraints$3(Map.Entry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| removeForeignKeyFromPK(TableNameInfo, ForeignKeyConstraint) |   | 93% |   | 50% | 5 | 6 | 3 | 17 | 0 | 1 |
| lambda$checkNoReferencingForeignKeys$37(TableNameInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildConstraintTransitionEdits$31(ConstraintManager.ConstraintLogEntry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$buildConstraintTransitionEdits$30(ConstraintManager.ConstraintLogEntry) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| checkForeignKeyReferences(String, Map, Set) |   | 96% |   | 80% | 2 | 6 | 1 | 18 | 0 | 1 |
| getDistributionMappingConstraints(TableIf) |   | 93% |   | 50% | 1 | 2 | 1 | 8 | 0 | 1 |
| findDistributionMappingConstraintWithColumn(TableIf, String) |   | 93% |   | 50% | 1 | 2 | 1 | 10 | 0 | 1 |
| lambda$renameCatalog$20(TableNameInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| lambda$renameDatabaseWithoutLock$17(TableNameInfo) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| cascadeDropForeignKeys(TableNameInfo, PrimaryKeyConstraint) |  | 97% |   | 83% | 1 | 4 | 1 | 11 | 0 | 1 |
| lambda$checkForeignKeyReferences$8(Set, TableNameInfo) |  | 88% |   | 50% | 1 | 2 | 0 | 1 | 0 | 1 |
| checkAndDropTableConstraints(List, boolean) |  | 100% |  | 100% | 0 | 6 | 0 | 20 | 0 | 1 |
| dropConstraintsByPrefix(String) |  | 100% |   | 83% | 1 | 4 | 0 | 15 | 0 | 1 |
| removeFKsReferencingTable(Map, TableNameInfo, PrimaryKeyConstraint) |  | 100% |   | 87% | 1 | 5 | 0 | 13 | 0 | 1 |
| renameDatabaseWithoutLock(String, String, String) |  | 100% | | n/a | 0 | 1 | 0 | 8 | 0 | 1 |
| dropTableConstraintsWithoutLock(String, TableNameInfo) |  | 100% |  | 100% | 0 | 3 | 0 | 8 | 0 | 1 |
| lambda$syncDistributionMappingsToTables$7(String, Map) |  | 100% |  | 100% | 0 | 2 | 0 | 8 | 0 | 1 |
| dropTableConstraintsWithoutLock(TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| ConstraintManager() |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| sameTables(List, List) |  | 100% | | n/a | 0 | 1 | 0 | 7 | 0 | 1 |
| lambda$findDistributionMappingConstraintWithColumn$2(String, Map.Entry) |  | 100% |   | 75% | 1 | 3 | 0 | 4 | 0 | 1 |
| syncDistributionMappingsToTables() |  | 100% | | n/a | 0 | 1 | 0 | 6 | 0 | 1 |
| cleanupConstraintReferences(TableNameInfo, Constraint) |  | 100% |  | 100% | 0 | 3 | 0 | 5 | 0 | 1 |
| dropCatalogConstraints(String) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| renameTableWithoutLock(TableNameInfo, TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 5 | 0 | 1 |
| getCascadeDropTables(Constraint) |  | 100% |  | 100% | 0 | 2 | 0 | 5 | 0 | 1 |
| dropDatabaseConstraintsWithoutLock(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| addConstraint(TableNameInfo, String, Constraint, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| putTableLocalConstraint(TableIf, String, Constraint) |  | 100% |   | 50% | 1 | 2 | 0 | 3 | 0 | 1 |
| submitAddConstraint(TableNameInfo, Constraint) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| submitDropConstraint(TableNameInfo, Constraint) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| dropConstraint(TableNameInfo, String, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| dropCatalogConstraintsWithoutLock(String) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| dropDatabaseConstraints(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| gsonPostProcess() |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| getCascadeDropTablesWithoutLock(Constraint) |  | 100% |  | 100% | 0 | 2 | 0 | 4 | 0 | 1 |
| dropTableConstraints(TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| renameDatabase(String, String, String) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| addConstraintWithResolvedTables(TableNameInfo, String, Constraint, TableIf, TableIf) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| renameTable(TableNameInfo, TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 4 | 0 | 1 |
| write(DataOutput) |  | 100% | | n/a | 0 | 1 | 0 | 3 | 0 | 1 |
| read(DataInput) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| toKey(TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| dropConstraintAndSubmit(TableNameInfo, String, List) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| checkAndDropTableConstraints(TableNameInfo, boolean) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| applyMetastoreConstraintMutation(ConstraintManager.MetastoreConstraintMutation, EditLog.EditLogOperation) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| containsIgnoreCase(Collection, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| awaitEditLog(EditLog.EditLogItem) |  | 100% |  | 100% | 0 | 2 | 0 | 3 | 0 | 1 |
| lambda$isConstraintReadUntrustedWithoutLock$14(TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$syncDistributionMappingsToTables$6(TableIf, String, Constraint) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| readLock() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| readUnlock() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| writeLock() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| writeUnlock() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getPrimaryKeyConstraints(TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getForeignKeyConstraints(TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getUniqueConstraints(TableNameInfo) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| applyMetastoreConstraintMutation(ConstraintManager.MetastoreConstraintMutation) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$validateDistributionMappingConstraint$39(Column) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$syncDistributionMappingsToTables$4(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| isEmpty() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| releaseFrontendAdmissionFence() |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| lambda$validateDistributionMappingConstraint$40(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$containsIgnoreCase$38(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$renameCatalog$19(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$renameDatabaseWithoutLock$16(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$dropConstraintsByPrefix$15(String, String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$syncDistributionMappingsToTables$5(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$findDistributionMappingConstraintWithColumn$1(Map.Entry) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| lambda$addConstraint$0(String) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |