From 1eb83c2bde6a4bc538d3f8af7e7249e3b35dd57a Mon Sep 17 00:00:00 2001 From: Keshav Mohta <68001229+keshavmohta09@users.noreply.github.com> Date: Thu, 24 Apr 2025 15:40:58 +0530 Subject: [PATCH] fix: string type as get system datatype (#20922) --- .../source/database/bigquery/metadata.py | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/ingestion/src/metadata/ingestion/source/database/bigquery/metadata.py b/ingestion/src/metadata/ingestion/source/database/bigquery/metadata.py index 3e8033d8f8c..88e55c419b2 100644 --- a/ingestion/src/metadata/ingestion/source/database/bigquery/metadata.py +++ b/ingestion/src/metadata/ingestion/source/database/bigquery/metadata.py @@ -154,6 +154,18 @@ def _array_sys_data_type_repr(col_type): ) +def get_system_data_type(col_type): + """ + Get the system data type for the column type + """ + if isinstance(col_type, String): + return "string" + if str(col_type) == "ARRAY": + return _array_sys_data_type_repr(col_type) + + return str(col_type) + + def get_columns(bq_schema): """ get_columns method overwritten to include tag details @@ -170,11 +182,7 @@ def get_columns(bq_schema): "precision": field.precision, "scale": field.scale, "max_length": field.max_length, - "system_data_type": ( - _array_sys_data_type_repr(col_type) - if str(col_type) == "ARRAY" - else str(col_type) - ), + "system_data_type": get_system_data_type(col_type), "is_complex": is_complex_type(str(col_type)), "policy_tags": None, }