@@ -318,7 +318,9 @@ def get_table_ref(query_tree, db_name=None):
318
318
# 首先识别所有的临时表名
319
319
if "With" in query_tree :
320
320
logger .warning (query_tree ["With" ])
321
- with_definitions = query_tree ["With" ].get ("CTEs" , []) # 假设临时表定义在CTEs键下
321
+ with_definitions = query_tree ["With" ].get (
322
+ "CTEs" , []
323
+ ) # 假设临时表定义在CTEs键下
322
324
for definition in with_definitions :
323
325
temporary_tables .add (definition ["Name" ]["O" ]) # 获取临时表的名称
324
326
@@ -335,11 +337,15 @@ def get_table_ref(query_tree, db_name=None):
335
337
snodes = tree .find_max_tree ("Source" )
336
338
if snodes :
337
339
for snode in snodes :
338
- schema_name = snode ["Source" ].get ("Schema" , {}).get ("O" ) or db_name
340
+ schema_name = (
341
+ snode ["Source" ].get ("Schema" , {}).get ("O" ) or db_name
342
+ )
339
343
table_name = snode ["Source" ].get ("Name" , {}).get ("O" , "" )
340
344
# 检查表名是否为临时表,如果不是则添加到结果中
341
345
if table_name not in temporary_tables :
342
- table_ref .append ({"schema" : schema_name , "name" : table_name })
346
+ table_ref .append (
347
+ {"schema" : schema_name , "name" : table_name }
348
+ )
343
349
# assert: source node must exists if table_refs node exists.
344
350
# else:
345
351
# raise Exception("GoInception Error: not found source node")
@@ -385,12 +391,13 @@ def get_session_variables(instance):
385
391
set_session_sql += f"inception set session { k } = '{ v } ';\n "
386
392
return variables , set_session_sql
387
393
394
+
388
395
def remove_duplicates (table_list ):
389
396
unique_tables = []
390
397
seen = set ()
391
398
for table in table_list :
392
- identifier = (table [' schema' ], table [' name' ])
399
+ identifier = (table [" schema" ], table [" name" ])
393
400
if identifier not in seen :
394
401
seen .add (identifier )
395
402
unique_tables .append (table )
396
- return unique_tables
403
+ return unique_tables
0 commit comments