@@ -87,23 +87,23 @@ class PrinterSql(AbcPrinter):
87
87
88
88
single_sql_template = (
89
89
'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 '
91
91
)
92
92
several_sql_template = (
93
93
'Tests count: {current_iteration} | '
94
94
'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 '
98
98
)
99
99
iteration_sql_template = (
100
100
'Test №{current_iteration} | '
101
101
'Queries count: {queries_count_per_iter} | '
102
- 'Execution time: {execution_time_per_iter:.2f }s'
102
+ 'Execution time: {execution_time_per_iter:.6f }s'
103
103
)
104
104
assert_msg_template = '{queries_count} not less than or equal to {assert_q_count} queries'
105
105
106
- sql_template = '№[{ordinal_num}] time=[{time:.3f }]{explain}\n {sql}'
106
+ sql_template = '№[{ordinal_num}] time=[{time:.6f }]{explain}\n {sql}'
107
107
108
108
def print_single_sql (self , dto : SinglePrintDTO ) -> str :
109
109
return self .print_sql (
@@ -125,10 +125,14 @@ def print_several_sql(self, dto: SeveralPrintDTO) -> str:
125
125
'median_all_execution_times' : dto .median_all_execution_times ,
126
126
}
127
127
)
128
+ if self .verbose and not self .advanced_verb and not self .queries :
129
+ print ('\n ' )
128
130
return self .print_sql (self .several_sql_template , dto .queries_log , ** format_kwargs )
129
131
130
132
def iteration_print (self , dto : IterationPrintDTO ) -> None :
131
133
if self .advanced_verb :
134
+ if dto .current_iteration == 1 :
135
+ print ('\n ' )
132
136
print (
133
137
self .iteration_sql_template .format (
134
138
current_iteration = dto .current_iteration ,
@@ -155,17 +159,18 @@ def format_sql(self, queries_log: QueriesLog) -> QueriesLog:
155
159
156
160
def filter_queries (self , queries_log : QueriesLog ) -> QueriesLog :
157
161
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 )
163
163
return queries_log
164
164
165
165
def format_explain (self , queries_log : QueriesLog ) -> QueriesLog :
166
166
for query in queries_log :
167
167
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
169
174
return queries_log
170
175
171
176
def build_output_string (self , queries_log : QueriesLog ) -> str :
@@ -178,4 +183,4 @@ def build_output_string(self, queries_log: QueriesLog) -> str:
178
183
)
179
184
for ordinal_num , query in enumerate (queries_log , start = 1 )
180
185
)
181
- return f'\n \n \n { formatted_queries } \n \n '
186
+ return f'\n \n { formatted_queries } \n \n '
0 commit comments