From f8cb208dc47f9f18b79e0d6bcd787ead49157bd4 Mon Sep 17 00:00:00 2001 From: dulin <1909703981@qq.com> Date: Tue, 7 Nov 2023 16:56:23 +0800 Subject: [PATCH] 1. group_concat() not supported in clickhouse, use arrayStringConcat+groupArray instead --- pilot/connections/rdbms/conn_clickhouse.py | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/pilot/connections/rdbms/conn_clickhouse.py b/pilot/connections/rdbms/conn_clickhouse.py index 0433b4b76..a64950877 100644 --- a/pilot/connections/rdbms/conn_clickhouse.py +++ b/pilot/connections/rdbms/conn_clickhouse.py @@ -106,3 +106,13 @@ class ClickhouseConnect(RDBMSDatabase): return [ (table_comment[0], table_comment[1]) for table_comment in table_comments ] + + def table_simple_info(self): + # group_concat() not supported in clickhouse, use arrayStringConcat+groupArray instead; and quotes need to be escaped + _sql = f""" + select concat(TABLE_NAME, \'(\' , arrayStringConcat(groupArray(column_name),\'-\'), \')\') as schema_info + from information_schema.COLUMNS where table_schema=\'{self.get_current_db_name()}\' group by TABLE_NAME; """ + + cursor = self.session.execute(text(_sql)) + results = cursor.fetchall() + return results