From 7ea87e7ca24f5b2eee9b77f92af63aca55e1a98b Mon Sep 17 00:00:00 2001 From: Keshav Mohta <68001229+keshavmohta09@users.noreply.github.com> Date: Mon, 20 Oct 2025 09:59:23 +0530 Subject: [PATCH] fix: table column description (#23928) --- .../ingestion/source/database/salesforce/metadata.py | 12 +++++++----- .../tests/unit/topology/database/test_salesforce.py | 6 ++++-- 2 files changed, 11 insertions(+), 7 deletions(-) diff --git a/ingestion/src/metadata/ingestion/source/database/salesforce/metadata.py b/ingestion/src/metadata/ingestion/source/database/salesforce/metadata.py index 3730e806a6b..bbd57b98583 100644 --- a/ingestion/src/metadata/ingestion/source/database/salesforce/metadata.py +++ b/ingestion/src/metadata/ingestion/source/database/salesforce/metadata.py @@ -184,9 +184,11 @@ class SalesforceSource(DatabaseServiceSource): ) if filter_by_table( self.config.sourceConfig.config.tableFilterPattern, - table_fqn - if self.config.sourceConfig.config.useFqnForFiltering - else table_name, + ( + table_fqn + if self.config.sourceConfig.config.useFqnForFiltering + else table_name + ), ): self.status.filter( table_fqn, @@ -238,7 +240,7 @@ class SalesforceSource(DatabaseServiceSource): all_column_description = None try: result = self.client.toolingexecute( - f"query/?q=SELECT+Description+FROM+FieldDefinition+WHERE+" + f"query/?q=SELECT+Description, QualifiedApiName+FROM+FieldDefinition+WHERE+" f"EntityDefinition.QualifiedApiName='{table_name}'" ) all_column_description = result["records"] @@ -313,7 +315,7 @@ class SalesforceSource(DatabaseServiceSource): for item in all_column_description: try: if item.get("Description") is not None: - column_name = item["attributes"]["url"].split(".")[-1] + column_name = item["QualifiedApiName"] column_description_mapping.update( {column_name: item["Description"]} ) diff --git a/ingestion/tests/unit/topology/database/test_salesforce.py b/ingestion/tests/unit/topology/database/test_salesforce.py index 6f0b5797b71..4114de0af03 100644 --- a/ingestion/tests/unit/topology/database/test_salesforce.py +++ b/ingestion/tests/unit/topology/database/test_salesforce.py @@ -215,7 +215,7 @@ SALESFORCE_FIELDS = [ ("htmlFormatted", False), ("idLookup", False), ("inlineHelpText", None), - ("label", "Contact Description"), + ("label", "Contact Label"), ("length", 32000), ("mask", None), ("maskType", None), @@ -453,7 +453,9 @@ class SalesforceUnitTest(TestCase): "metadata.ingestion.source.database.salesforce.metadata.SalesforceSource.get_table_column_description" ) def test_table_column(self, get_table_column_description): - get_table_column_description.return_value = None + get_table_column_description.return_value = [ + {"QualifiedApiName": "Description", "Description": "Contact Description"} + ] result = self.salesforce_source.get_columns("TEST_TABLE", SALESFORCE_FIELDS) assert EXPECTED_COLUMN_VALUE == result