From 0dfa29bb1780692a11fc90b9b105e9a87e3d4fc8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Erica=20Ren=C3=A9e=20Faulkenberry?= Date: Sun, 21 Jan 2024 15:42:24 -0600 Subject: [PATCH 1/2] handle table names with spaces --- parsons/databases/redshift/rs_table_utilities.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/parsons/databases/redshift/rs_table_utilities.py b/parsons/databases/redshift/rs_table_utilities.py index ae0c8a5c71..775bbb211c 100644 --- a/parsons/databases/redshift/rs_table_utilities.py +++ b/parsons/databases/redshift/rs_table_utilities.py @@ -428,7 +428,8 @@ def get_columns_list(self, schema, table_name): `Returns:` A list of column names. """ - + schema = f'"{schema}"' + table_name = f'"{table_name}"' first_row = self.query(f"select * from {schema}.{table_name} limit 1") return first_row.columns From 2e5f452d5be50a6fce11d4f6f6c618525fe2b44c Mon Sep 17 00:00:00 2001 From: Erica Faulkenberry Date: Tue, 23 Jan 2024 14:13:44 -0600 Subject: [PATCH 2/2] handle instances where quotes already exist --- parsons/databases/redshift/rs_table_utilities.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/parsons/databases/redshift/rs_table_utilities.py b/parsons/databases/redshift/rs_table_utilities.py index 775bbb211c..50457e3166 100644 --- a/parsons/databases/redshift/rs_table_utilities.py +++ b/parsons/databases/redshift/rs_table_utilities.py @@ -428,8 +428,18 @@ def get_columns_list(self, schema, table_name): `Returns:` A list of column names. """ - schema = f'"{schema}"' - table_name = f'"{table_name}"' + schema = ( + f'"{schema}"' + if not (schema.startswith('"') and schema.endswith('"')) + else schema + ) + + table_name = ( + f'"{table_name}"' + if not (table_name.startswith('"') and table_name.endswith('"')) + else table_name + ) + first_row = self.query(f"select * from {schema}.{table_name} limit 1") return first_row.columns