@@ -2,6 +2,11 @@ let s:query_instance = {}
22let s: query = {}
33let s: bind_param_rgx = ' \(^\|[[:blank:]]\|[^:]\)\(' .g: db_ui_bind_param_pattern .' \)'
44
5+ let s: query_info = {
6+ \ ' last_query_start_time' : 0 ,
7+ \ ' last_query_time' : 0
8+ \ }
9+
510function ! db_ui#query#new (drawer) abort
611 let s: query_instance = s: query .new (a: drawer )
712 return s: query_instance
@@ -12,12 +17,10 @@ function! s:query.new(drawer) abort
1217 let instance.drawer = a: drawer
1318 let instance.buffer_counter = {}
1419 let instance.last_query = []
15- let instance.last_query_start_time = 0
16- let instance.last_query_time = 0
1720 augroup dbui_async_queries
1821 autocmd !
19- autocmd User *DBExecutePre call s: query_instance . start_query ()
20- autocmd User *DBExecutePost call s: query_instance . print_query_time ()
22+ autocmd User *DBExecutePre call s: start_query ()
23+ autocmd User *DBExecutePost call s: print_query_time ()
2124 augroup END
2225 return instance
2326endfunction
@@ -207,14 +210,10 @@ function! s:query.remove_buffer(bufnr)
207210 return self .drawer.render ()
208211endfunction
209212
210- function ! s: query .start_query () abort
211- let self .last_query_start_time = reltime ()
212- endfunction
213-
214213function ! s: query .execute_query (... ) abort
215214 let is_visual_mode = get (a: , 1 , 0 )
216215 let lines = self .get_lines (is_visual_mode)
217- call self . start_query ()
216+ call s: start_query ()
218217 if ! is_visual_mode && search (s: bind_param_rgx , ' n' ) <= 0
219218 call db_ui#utils#print_debug ({ ' message' : ' Executing whole buffer' , ' command' : ' %DB' })
220219 silent ! exe ' %DB'
@@ -227,19 +226,11 @@ function! s:query.execute_query(...) abort
227226 call db_ui#notifications#info (' Executing query...' )
228227 endif
229228 if ! has_async
230- call self . print_query_time ()
229+ call s: print_query_time ()
231230 endif
232231 let self .last_query = lines
233232endfunction
234233
235- function ! s: query .print_query_time () abort
236- if empty (self .last_query_start_time)
237- return
238- endif
239- let self .last_query_time = split (reltimestr (reltime (self .last_query_start_time)))[0 ]
240- call db_ui#notifications#info (' Done after ' .self .last_query_time.' sec.' )
241- endfunction
242-
243234function ! s: query .execute_lines (db, lines , is_visual_mode) abort
244235 let filename = tempname ().' .' .db#adapter#call (a: db .conn, ' input_extension' , [], ' sql' )
245236 let lines = copy (a: lines )
@@ -405,7 +396,7 @@ endfunction
405396function ! s: query .get_last_query_info () abort
406397 return {
407398 \ ' last_query' : self .last_query,
408- \ ' last_query_time' : self .last_query_time
399+ \ ' last_query_time' : s: query_info .last_query_time
409400 \ }
410401endfunction
411402
@@ -427,3 +418,15 @@ function! s:query.get_saved_query_db_name() abort
427418
428419 return ' '
429420endfunction
421+
422+ function s: start_query () abort
423+ let s: query_info .last_query_start_time = reltime ()
424+ endfunction
425+
426+ function s: print_query_time () abort
427+ if empty (s: query_info .last_query_start_time)
428+ return
429+ endif
430+ let s: query_info .last_query_time = split (reltimestr (reltime (s: query_info .last_query_start_time)))[0 ]
431+ call db_ui#notifications#info (' Done after ' .s: query_info .last_query_time.' sec.' )
432+ endfunction
0 commit comments