@@ -59,12 +59,7 @@ def extract(
59
59
self .extract_subquery (subqueries , holder )
60
60
61
61
for segment in segments :
62
- self ._handle_swap_partition (segment , holder )
63
- self ._handle_select_into (segment , holder )
64
- self .tables .extend (
65
- self ._list_table_from_from_clause_or_join_clause (segment , holder )
66
- )
67
- self ._handle_column (segment )
62
+ self ._handle_select_statement_child_segments (segment , holder )
68
63
69
64
if is_set_expression (segment ):
70
65
for idx , sub_segment in enumerate (
@@ -75,19 +70,24 @@ def extract(
75
70
(len (self .columns ), len (self .tables ))
76
71
)
77
72
for seg in list_child_segments (sub_segment ):
78
- self .tables .extend (
79
- self ._list_table_from_from_clause_or_join_clause (
80
- seg , holder
81
- )
82
- )
83
- self ._handle_column (seg )
73
+ self ._handle_select_statement_child_segments (seg , holder )
84
74
85
75
self .end_of_query_cleanup (holder )
86
76
87
77
holder .expand_wildcard (self .metadata_provider )
88
78
89
79
return holder
90
80
81
+ def _handle_select_statement_child_segments (
82
+ self , segment : BaseSegment , holder : SubQueryLineageHolder
83
+ ):
84
+ self ._handle_swap_partition (segment , holder )
85
+ self ._handle_select_into (segment , holder )
86
+ self .tables .extend (
87
+ self ._list_table_from_from_clause_or_join_clause (segment , holder )
88
+ )
89
+ self ._handle_column (segment )
90
+
91
91
@staticmethod
92
92
def _handle_swap_partition (segment : BaseSegment , holder : SubQueryLineageHolder ):
93
93
"""
0 commit comments