summaryrefslogtreecommitdiff
path: root/Userland/DevTools
diff options
context:
space:
mode:
authorTimothy Flynn <trflynn89@pm.me>2023-02-03 10:49:58 -0500
committerAndreas Kling <kling@serenityos.org>2023-02-03 20:34:45 +0100
commite96df1599c74b315acbd1ae61b303f6cc7731d91 (patch)
tree528205c1b5738105f0780760b2c51a21ed1e591a /Userland/DevTools
parent4fe437b4d2fe287a20fba0dac846396f08e82ef4 (diff)
downloadserenity-e96df1599c74b315acbd1ae61b303f6cc7731d91.zip
SQLStudio: Display real column names in the results tab
Diffstat (limited to 'Userland/DevTools')
-rw-r--r--Userland/DevTools/SQLStudio/MainWidget.cpp9
-rw-r--r--Userland/DevTools/SQLStudio/MainWidget.h1
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<GUI::JsonArrayModel::FieldSpec> 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<SQL::SQLClient> m_sql_client;
Optional<SQL::ConnectionID> m_connection_id;
+ Vector<DeprecatedString> m_result_column_names;
Vector<Vector<DeprecatedString>> m_results;
void read_next_sql_statement_of_editor();