2929 import bigframes .session
3030
3131
32- def compile_ordered (node : nodes .BigFrameNode ) -> compiled .OrderedIR :
32+ def compile_ordered_ir (node : nodes .BigFrameNode ) -> compiled .OrderedIR :
3333 return typing .cast (compiled .OrderedIR , compile_node (node , True ))
3434
3535
36- def compile_unordered (node : nodes .BigFrameNode ) -> compiled .UnorderedIR :
36+ def compile_unordered_ir (node : nodes .BigFrameNode ) -> compiled .UnorderedIR :
3737 return typing .cast (compiled .UnorderedIR , compile_node (node , False ))
3838
3939
40+ def compile_peak_sql (node : nodes .BigFrameNode , n_rows : int ) -> typing .Optional [str ]:
41+ return compile_unordered_ir (node ).peek_sql (n_rows )
42+
43+
4044@functools .cache
4145def compile_node (
4246 node : nodes .BigFrameNode , ordered : bool = True
@@ -56,17 +60,17 @@ def _compile_node(
5660@_compile_node .register
5761def compile_join (node : nodes .JoinNode , ordered : bool = True ):
5862 if ordered :
59- left_ordered = compile_ordered (node .left_child )
60- right_ordered = compile_ordered (node .right_child )
63+ left_ordered = compile_ordered_ir (node .left_child )
64+ right_ordered = compile_ordered_ir (node .right_child )
6165 return bigframes .core .compile .single_column .join_by_column_ordered (
6266 left = left_ordered ,
6367 right = right_ordered ,
6468 join = node .join ,
6569 allow_row_identity_join = node .allow_row_identity_join ,
6670 )
6771 else :
68- left_unordered = compile_unordered (node .left_child )
69- right_unordered = compile_unordered (node .right_child )
72+ left_unordered = compile_unordered_ir (node .left_child )
73+ right_unordered = compile_unordered_ir (node .right_child )
7074 return bigframes .core .compile .single_column .join_by_column_unordered (
7175 left = left_unordered ,
7276 right = right_unordered ,
@@ -103,7 +107,7 @@ def compile_readgbq(node: nodes.ReadGbqNode, ordered: bool = True):
103107
104108@_compile_node .register
105109def compile_promote_offsets (node : nodes .PromoteOffsetsNode , ordered : bool = True ):
106- result = compile_ordered (node .child ).promote_offsets (node .col_id )
110+ result = compile_ordered_ir (node .child ).promote_offsets (node .col_id )
107111 return result if ordered else result .to_unordered ()
108112
109113
@@ -115,17 +119,17 @@ def compile_filter(node: nodes.FilterNode, ordered: bool = True):
115119@_compile_node .register
116120def compile_orderby (node : nodes .OrderByNode , ordered : bool = True ):
117121 if ordered :
118- return compile_ordered (node .child ).order_by (node .by )
122+ return compile_ordered_ir (node .child ).order_by (node .by )
119123 else :
120- return compile_unordered (node .child )
124+ return compile_unordered_ir (node .child )
121125
122126
123127@_compile_node .register
124128def compile_reversed (node : nodes .ReversedNode , ordered : bool = True ):
125129 if ordered :
126- return compile_ordered (node .child ).reversed ()
130+ return compile_ordered_ir (node .child ).reversed ()
127131 else :
128- return compile_unordered (node .child )
132+ return compile_unordered_ir (node .child )
129133
130134
131135@_compile_node .register
@@ -137,36 +141,36 @@ def compile_projection(node: nodes.ProjectionNode, ordered: bool = True):
137141@_compile_node .register
138142def compile_concat (node : nodes .ConcatNode , ordered : bool = True ):
139143 if ordered :
140- compiled_ordered = [compile_ordered (node ) for node in node .children ]
144+ compiled_ordered = [compile_ordered_ir (node ) for node in node .children ]
141145 return concat_impl .concat_ordered (compiled_ordered )
142146 else :
143- compiled_unordered = [compile_unordered (node ) for node in node .children ]
147+ compiled_unordered = [compile_unordered_ir (node ) for node in node .children ]
144148 return concat_impl .concat_unordered (compiled_unordered )
145149
146150
147151@_compile_node .register
148152def compile_rowcount (node : nodes .RowCountNode , ordered : bool = True ):
149- result = compile_unordered (node .child ).row_count ()
153+ result = compile_unordered_ir (node .child ).row_count ()
150154 return result if ordered else result .to_unordered ()
151155
152156
153157@_compile_node .register
154158def compile_aggregate (node : nodes .AggregateNode , ordered : bool = True ):
155- result = compile_unordered (node .child ).aggregate (
159+ result = compile_unordered_ir (node .child ).aggregate (
156160 node .aggregations , node .by_column_ids , node .dropna
157161 )
158162 return result if ordered else result .to_unordered ()
159163
160164
161165@_compile_node .register
162166def compile_corr (node : nodes .CorrNode , ordered : bool = True ):
163- result = compile_unordered (node .child ).corr_aggregate (node .corr_aggregations )
167+ result = compile_unordered_ir (node .child ).corr_aggregate (node .corr_aggregations )
164168 return result if ordered else result .to_unordered ()
165169
166170
167171@_compile_node .register
168172def compile_window (node : nodes .WindowOpNode , ordered : bool = True ):
169- result = compile_ordered (node .child ).project_window_op (
173+ result = compile_ordered_ir (node .child ).project_window_op (
170174 node .column_name ,
171175 node .op ,
172176 node .window_spec ,
0 commit comments