3131
3232#include " base/attr_line.hh"
3333#include " base/humanize.time.hh"
34+ #include " base/injector.hh"
3435#include " base/intern_string.hh"
3536#include " base/string_attr_type.hh"
3637#include " base/time_util.hh"
3738#include " command_executor.hh"
3839#include " db_sub_source.hh"
3940#include " fmt/format.h"
40- #include " lnav .hh"
41+ #include " logfile_sub_source .hh"
4142#include " readline_highlighters.hh"
42- #include " sql.formatter.hh"
4343
4444using namespace lnav ::roles::literals;
4545
@@ -53,22 +53,6 @@ db_status_source::db_status_source()
5353 role_t ::VCR_STATUS_STITCH_TITLE_TO_NORMAL,
5454 role_t ::VCR_STATUS_STITCH_NORMAL_TO_TITLE);
5555 this ->dss_fields [DSF_RELOAD].set_width (3 );
56- this ->dss_fields [DSF_RELOAD].on_click = [](status_field&) {
57- auto query = lnav_data.ld_db_row_source .dls_user_query ;
58- if (query.empty ()) {
59- return ;
60- }
61- std::string alt_msg;
62- auto & ec = lnav_data.ld_exec_context ;
63- auto src_guard = ec.enter_source (intern_string::lookup (" db-reload" ),
64- 1 ,
65- fmt::format (FMT_STRING (" ;{}" ), query));
66- auto result = execute_sql (ec, query, alt_msg);
67- if (result.isErr ()) {
68- auto um = result.unwrapErr ();
69- ec.ec_msg_callback_stack .back ()(um);
70- }
71- };
7256 this ->dss_fields [DSF_QUERY].set_share (3 );
7357 this ->dss_fields [DSF_TIMING].right_justify (true );
7458 this ->dss_fields [DSF_TIMING].set_width (80 );
@@ -77,7 +61,8 @@ db_status_source::db_status_source()
7761bool
7862db_status_source::update_from_db_source ()
7963{
80- const auto & dls = lnav_data.ld_db_row_source ;
64+ static const auto & dls = injector::get<db_label_source&>();
65+ static auto & lss = injector::get<logfile_sub_source&>();
8166 auto changed = false ;
8267
8368 if (dls.dls_user_query .empty ()) {
@@ -111,11 +96,9 @@ db_status_source::update_from_db_source()
11196 .to_string ();
11297 timing_al.append (" ran " ).append (lnav::roles::time_ago (ago));
11398 if (dls.dls_query_touches_log_data ) {
114- auto & lss = lnav_data.ld_log_source ;
11599 bool is_stale
116100 = lss.lss_index_generation != dls.dls_log_gen_at_query
117- || lss.text_line_count ()
118- != dls.dls_log_line_count_at_query ;
101+ || lss.text_line_count () != dls.dls_log_line_count_at_query ;
119102 timing_al.append (" on " ).append (
120103 is_stale ? lnav::roles::warning (" old log data" )
121104 : lnav::roles::ok (" current log data" ));
0 commit comments