From e96df1599c74b315acbd1ae61b303f6cc7731d91 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Fri, 3 Feb 2023 10:49:58 -0500 Subject: [PATCH] SQLStudio: Display real column names in the results tab --- Userland/DevTools/SQLStudio/MainWidget.cpp | 9 ++++++--- Userland/DevTools/SQLStudio/MainWidget.h | 1 + 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/Userland/DevTools/SQLStudio/MainWidget.cpp b/Userland/DevTools/SQLStudio/MainWidget.cpp index 5e4197f50c..43ef8d83a2 100644 --- a/Userland/DevTools/SQLStudio/MainWidget.cpp +++ b/Userland/DevTools/SQLStudio/MainWidget.cpp @@ -253,7 +253,8 @@ MainWidget::MainWidget() }; m_sql_client = SQL::SQLClient::try_create().release_value_but_fixme_should_propagate_errors(); - m_sql_client->on_execution_success = [this](auto) { + m_sql_client->on_execution_success = [this](auto result) { + m_result_column_names = move(result.column_names); read_next_sql_statement_of_editor(); }; m_sql_client->on_execution_error = [this](auto result) { @@ -274,9 +275,11 @@ MainWidget::MainWidget() return; if (m_results[0].size() == 0) return; + Vector query_result_fields; - for (size_t i = 0; i < m_results[0].size(); i++) - query_result_fields.empend(DeprecatedString::formatted("column_{}", i + 1), DeprecatedString::formatted("Column {}", i + 1), Gfx::TextAlignment::CenterLeft); + for (auto& column_name : m_result_column_names) + query_result_fields.empend(column_name, column_name, Gfx::TextAlignment::CenterLeft); + auto query_results_model = GUI::JsonArrayModel::create("{}", move(query_result_fields)); m_query_results_table_view->set_model(MUST(GUI::SortingProxyModel::create(*query_results_model))); for (auto& result_row : m_results) { diff --git a/Userland/DevTools/SQLStudio/MainWidget.h b/Userland/DevTools/SQLStudio/MainWidget.h index d0fc29ba7f..d17d4c4cbd 100644 --- a/Userland/DevTools/SQLStudio/MainWidget.h +++ b/Userland/DevTools/SQLStudio/MainWidget.h @@ -64,6 +64,7 @@ private: RefPtr m_sql_client; Optional m_connection_id; + Vector m_result_column_names; Vector> m_results; void read_next_sql_statement_of_editor();