@@ -87,23 +87,23 @@ class PrinterSql(AbcPrinter):
8787
8888 single_sql_template = (
8989 'Queries count: {queries_count} | '
90- 'Execution time: {execution_time_per_iter:.3f }s | Vendor: {vendor}'
90+ 'Execution time: {execution_time_per_iter:.6f }s | Vendor: {vendor}\n '
9191 )
9292 several_sql_template = (
9393 'Tests count: {current_iteration} | '
9494 'Total queries count: {queries_count} | '
95- 'Total execution time: {sum_all_execution_times:.2f }s | '
96- 'Median time one test is: {median_all_execution_times:.3f }s | '
97- 'Vendor: {vendor}'
95+ 'Total execution time: {sum_all_execution_times:.5f }s | '
96+ 'Median time one test is: {median_all_execution_times:.6f }s | '
97+ 'Vendor: {vendor}\n '
9898 )
9999 iteration_sql_template = (
100100 'Test №{current_iteration} | '
101101 'Queries count: {queries_count_per_iter} | '
102- 'Execution time: {execution_time_per_iter:.2f }s'
102+ 'Execution time: {execution_time_per_iter:.6f }s'
103103 )
104104 assert_msg_template = '{queries_count} not less than or equal to {assert_q_count} queries'
105105
106- sql_template = '№[{ordinal_num}] time=[{time:.3f }]{explain}\n {sql}'
106+ sql_template = '№[{ordinal_num}] time=[{time:.6f }]{explain}\n {sql}'
107107
108108 def print_single_sql (self , dto : SinglePrintDTO ) -> str :
109109 return self .print_sql (
@@ -125,10 +125,14 @@ def print_several_sql(self, dto: SeveralPrintDTO) -> str:
125125 'median_all_execution_times' : dto .median_all_execution_times ,
126126 }
127127 )
128+ if self .verbose and not self .advanced_verb and not self .queries :
129+ print ('\n ' )
128130 return self .print_sql (self .several_sql_template , dto .queries_log , ** format_kwargs )
129131
130132 def iteration_print (self , dto : IterationPrintDTO ) -> None :
131133 if self .advanced_verb :
134+ if dto .current_iteration == 1 :
135+ print ('\n ' )
132136 print (
133137 self .iteration_sql_template .format (
134138 current_iteration = dto .current_iteration ,
@@ -155,17 +159,18 @@ def format_sql(self, queries_log: QueriesLog) -> QueriesLog:
155159
156160 def filter_queries (self , queries_log : QueriesLog ) -> QueriesLog :
157161 if _EXCLUDE :
158- return deque (
159- query
160- for query in queries_log
161- if query ['sql' ].upper () not in self .EXCLUDE # type: ignore[union-attr]
162- )
162+ return deque (query for query in queries_log if query ['sql' ].upper () not in self .EXCLUDE )
163163 return queries_log
164164
165165 def format_explain (self , queries_log : QueriesLog ) -> QueriesLog :
166166 for query in queries_log :
167167 if 'explain' in query :
168- query ['explain' ] = f' explain=[{ query ["explain" ]!r} ]'
168+ explain_count = len (query ['explain' ].split ('\n ' ))
169+ if explain_count > 1 :
170+ explain = f' explain=[\n { query ["explain" ]} \n ]'
171+ else :
172+ explain = f' explain=[{ query ["explain" ]} ]'
173+ query ['explain' ] = explain
169174 return queries_log
170175
171176 def build_output_string (self , queries_log : QueriesLog ) -> str :
@@ -178,4 +183,4 @@ def build_output_string(self, queries_log: QueriesLog) -> str:
178183 )
179184 for ordinal_num , query in enumerate (queries_log , start = 1 )
180185 )
181- return f'\n \n \n { formatted_queries } \n \n '
186+ return f'\n \n { formatted_queries } \n \n '
0 commit comments