From b5b29c93f55673d2794ccc4fcf8bc8b4710dbd95 Mon Sep 17 00:00:00 2001 From: 07Himank <112613760+07Himank@users.noreply.github.com> Date: Tue, 6 Dec 2022 09:13:07 +0530 Subject: [PATCH] Track new primary key (#9145) --- .../ingestion/source/database/sql_column_handler.py | 2 +- .../org/openmetadata/service/util/ChangeEventParser.java | 7 ++++--- .../main/resources/json/data/settings/settingsData.json | 4 +++- 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/ingestion/src/metadata/ingestion/source/database/sql_column_handler.py b/ingestion/src/metadata/ingestion/source/database/sql_column_handler.py index 246f4131739..ad66e6fadd4 100644 --- a/ingestion/src/metadata/ingestion/source/database/sql_column_handler.py +++ b/ingestion/src/metadata/ingestion/source/database/sql_column_handler.py @@ -212,7 +212,7 @@ class SqlColumnHandlerMixin: table_constraints.append( TableConstraint( constraintType=ConstraintType.PRIMARY_KEY, - columns=pk_columns, + columns=[column["name"]], ) ) col_data_length = self._check_col_length(col_type, column["type"]) diff --git a/openmetadata-service/src/main/java/org/openmetadata/service/util/ChangeEventParser.java b/openmetadata-service/src/main/java/org/openmetadata/service/util/ChangeEventParser.java index 565e7fe85c1..f0891710125 100644 --- a/openmetadata-service/src/main/java/org/openmetadata/service/util/ChangeEventParser.java +++ b/openmetadata-service/src/main/java/org/openmetadata/service/util/ChangeEventParser.java @@ -248,7 +248,6 @@ public final class ChangeEventParser { for (FieldChange field : fields) { // if field name has dots, then it is an array field String fieldName = field.getName(); - String newFieldValue = getFieldValue(field.getNewValue()); String oldFieldValue = getFieldValue(field.getOldValue()); EntityLink link = getEntityLink(fieldName, entity); @@ -270,7 +269,6 @@ public final class ChangeEventParser { if (CommonUtil.nullOrEmpty(fieldValue)) { return StringUtils.EMPTY; } - try { // Check if field value is a json string JsonValue json = JsonUtils.readJson(fieldValue.toString()); @@ -288,6 +286,8 @@ public final class ChangeEventParser { } else if (keys.contains(FIELD_NAME)) { // Glossary term references have only "name" field labels.add(item.asJsonObject().getString(FIELD_NAME)); + } else if (keys.contains("constraintType")) { + labels.add(item.asJsonObject().getString("constraintType")); } } else if (item.getValueType() == ValueType.STRING) { // The string might be enclosed with double quotes @@ -415,7 +415,8 @@ public final class ChangeEventParser { if (Entity.FIELD_FOLLOWERS.equals(updatedField)) { message = String.format("Unfollowed %s `%s`", link.getEntityType(), link.getEntityFQN()); } else { - message = String.format(("Deleted " + getBold(publishTo)), updatedField); + message = + String.format(("Deleted " + getBold(publishTo) + ": `%s`"), updatedField, getFieldValue(oldFieldValue)); } break; default: diff --git a/openmetadata-service/src/main/resources/json/data/settings/settingsData.json b/openmetadata-service/src/main/resources/json/data/settings/settingsData.json index f2a36f5a800..97f58ebacfd 100644 --- a/openmetadata-service/src/main/resources/json/data/settings/settingsData.json +++ b/openmetadata-service/src/main/resources/json/data/settings/settingsData.json @@ -51,7 +51,9 @@ "description", "owner", "tags", - "followers" + "followers", + "tableConstraints", + "constraint" ], "exclude": [] },